com.getfreedomos/freedom-mcp
REMOTE · TWULUXMOOGNLWTMAOQGO.SUPABASE.CO · SCANNED AUG 4
Business-ops MCP for FreedomOS — finance, OKRs, customer scoring, AI agents, content. 250+ tools.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →
Endpoint Security89
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation is enforced on tool calls, but the challenge carries no valid RFC 9728 metadata, so a client cannot discover where to get a token. See how to fix → View diagnostics → Fail
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability29
- AI-judged instruction clarity (poor).Fail
- Context-footprint check failed: tool/resource definitions use about 47688 tokens (~200/item across 238 items; 238 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management30
- Stability observed for 9 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 99% of tool parameters carry a description.Partial
Capabilities20
- Spec-recency check failed: implements MCP spec 2024-11-05; the latest is 2026-07-28. See how to fix → Fail
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
remote · twuluxmoognlwtmaoqgo.supabase.co
claude mcp add --transport http com-getfreedomos-freedom-mcp https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
[mcp_servers.com-getfreedomos-freedom-mcp] url = "https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"com-getfreedomos-freedom-mcp": {
"type": "remote",
"url": "https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp",
"enabled": true
}
}
} openclaw mcp add com-getfreedomos-freedom-mcp --url https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp --transport streamable-http
mcp_servers:
com-getfreedomos-freedom-mcp:
url: "https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp" {
"mcpServers": {
"com-getfreedomos-freedom-mcp": {
"type": "http",
"url": "https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 4 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 27 to 30. That category is still filling its 30-day observation window: 8 days of observed history at the previous scan, 9 at this one. The score rises as the window fills, whether or not the server changes.
- 2 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.
- 1 Aug 26 +1
- Tool “run_tactic” rewrote its description, which is the text the model reads security
- New tool “create_play_from_activity” functional
- “run_tactic” added an optional parameter “suggest_only” cosmetic
- “run_tactic” reworded the description of “tactic_title” cosmetic
- “run_tactic” reworded the description of “tactic_id” cosmetic
- 31 Jul 26 +17
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 30 Jul 26 −10
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 29 Jul 26 0
- Tool “submit_product_request” rewrote its description, which is the text the model reads security
- Tool “report_feedback” rewrote its description, which is the text the model reads security
- “submit_product_request” reworded the description of “kind” cosmetic
- “hire_agent_with_context” reworded the description of “first_72_hours” cosmetic
- “hire_agent_with_context” reworded the description of “obsession” cosmetic
- 28 Jul 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.
- 27 Jul 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 4 Aug 2026 · Probed https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=supabase.co | CN=WE1,O=Google Trust Services,C=US | 28 Jun 2026 | 26 Sept 2026 | ECDSA 256 | ECDSA-SHA256 | 1d2d53f65d874dfb0eead7aab0301afd |
| SANs: supabase.co, *.supabase.co | ||||||
| CN=WE1,O=Google Trust Services,C=US (CA) | CN=GTS Root R4,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | ECDSA 256 | ECDSA-SHA384 | 7ff31977972c224a76155d13b6d685e3 |
| CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 15 Nov 2023 | 28 Jan 2028 | ECDSA 384 | SHA256-RSA | 7fe530bf331343bedd821610493d8a1b |
DNSSEC insecure
Validation of twuluxmoognlwtmaoqgo.supabase.co. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| co. | present | 7786 | 8 | Verified |
| supabase.co. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication Challenged, unverified
The endpoint asked for a token, but we could not retrieve and validate the RFC 9728 metadata that tells a client how to obtain one.
| Result | Challenged, unverified |
|---|---|
| Enforced | On tool calls |
| HTTP status | 200 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=31536000; includeSubDomains; preload |
Protected resource metadata
| Retrieved | No |
|---|---|
| Problem | no_resource_metadata |
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp | Verified | 200 | |
| http (plaintext) | http://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp | HTTPS enforced | 301 | https://twuluxmoognlwtmaoqgo.supabase.co/functions/v1/freedom-mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
posthog_query_funnel ~156
Build and run a funnel analysis in PostHog. Shows step-by-step conversion rates (e.g., signup → onboard → purchase). Only works if PostHog is connected.
| Name | Type | Req | Description |
|---|---|---|---|
| companyId | string | yes | FreedomOS company id to act within (you must be a member). Required for company-scoped tools. |
| date_from | string | — | Start date (default: -30d) |
| date_to | string | — | End date (default: now) |
| events | array | yes | Funnel steps (minimum 2). Each: { id: "event_name", name: "Display Name" } |
| funnel_window_days | number | — | Days a user has to complete the funnel (default: 14) |
No output schema declared.
No examples provided.
posthog_query_trends ~177
Query event trends from PostHog (pageviews, signups, DAU, etc. over time). Returns time-series data. Only works if PostHog is connected.
| Name | Type | Req | Description |
|---|---|---|---|
| companyId | string | yes | FreedomOS company id to act within (you must be a member). Required for company-scoped tools. |
| date_from | string | — | Start date: "-7d", "-30d", "-90d", "2024-01-01" (default: -7d) |
| date_to | string | — | End date (default: now) |
| events | array | — | Events to query. Each: { id: "$pageview", name: "Page Views", math: "total" }. Defaults to $pageview. |
| interval | string | — | Grouping interval (default: day) |
No output schema declared.
No examples provided.
preview_meta_ad ~102
Get a facebook.com preview link for a drafted Meta ad, so the user can see exactly what it will look like before deciding to activate. Use after create_meta_ad_draft or when the user asks to see a drafted ad.
| Name | Type | Req | Description |
|---|---|---|---|
| ad_id | string | yes | Numeric ad id (from create_meta_ad_draft output) |
| companyId | string | yes | FreedomOS company id to act within (you must be a member). Required for company-scoped tools. |
No output schema declared.
No examples provided.
promote_corpus_to_content ~220
Mint the NEXT content angle(s) from the company's corpus into content_ideas + Command Center cards. Default count is 1 — do NOT bulk-fill the queue. For day-to-day drafting, prefer list_knowledge / read_knowledge (or list_corpus_inventory) to pull one chapter/passage JIT — that avoids re-tokenizing the whole book. Use promote only when a human-facing card is needed (weekly queue, Held post, operator asked). Faith grain: angles only. Never invent from empty corpus. [write-tier — first use may require a manager's approval; a from-now-on approval makes future calls seamless, a just-once approval re-asks next time.]
| Name | Type | Req | Description |
|---|---|---|---|
| companyId | string | yes | FreedomOS company id to act within (you must be a member). Required for company-scoped tools. |
| count | number | — | How many angles (1-3, default 1). Prefer 1. |
| theme | string | — | Optional focus (e.g. "Harness principles", "pharmacy USP") |
No output schema declared.
No examples provided.
propose_work ~241
Create a new shared work-graph item (lab_work_items) so it is visible and coordinated across sessions and agents. Set depends_on to gate this item behind others (it starts blocked until they complete). Optionally pre-assign to an agent OR a user. [write-tier — first use may require a manager's approval; a from-now-on approval makes future calls seamless, a just-once approval re-asks next time.]
| Name | Type | Req | Description |
|---|---|---|---|
| assignee_agent_id | string | — | Optional linnet_agents UUID to assign (agent owner). |
| assignee_user_id | string | — | Optional auth user UUID to assign (human owner). Cannot be combined with assignee_agent_id. |
| companyId | string | yes | FreedomOS company id to act within (you must be a member). Required for company-scoped tools. |
| depends_on | array | — | Optional array of lab_work_items UUIDs this item is blocked by. |
| kind | string | — | Kind of work (e.g. task, review, content). Default "task". |
| payload | object | — | Optional structured detail for the item. |
| title | string | yes | Short title of the work item. |
No output schema declared.
No examples provided.
publish_pipeline_item ~283
Publish approved INTERNAL content to configured output. ROUTING: team_update sends to all team members via Freedom OS, report sends to specified team member emails, customer_newsletter requires user Email MCP connection (Mailchimp, Resend, etc.), changelog publishes to public changelog page. ⚠️ SOCIAL POSTS (x/linkedin/instagram/facebook/threads) never send from this tool: declare the pipeline destination via update_pipeline and submit via submit_content_to_pipeline — the post queues for operator approval and publishes through the single gated owner on approve (in FreedomOS app chat, send_to_user with intent "publish" queues the same approval). Use when an approved non-social item — changelog, team update, report, or newsletter — is ready to send. [outbound-tier — first use may require a manager's approval; a from-now-on approval makes future calls seamless, a just-once approval re-asks next time.]
| Name | Type | Req | Description |
|---|---|---|---|
| companyId | string | yes | FreedomOS company id to act within (you must be a member). Required for company-scoped tools. |
| item_id | string | yes | ID of the approved pipeline output to publish (get from get_pending_approvals, must be approved status) |
| recipients | array | — | Optional. Specific team member emails to send to (must be in company_members). If not specified, sends to all team members. |
No output schema declared.
No examples provided.
query_lead_journey ~119
Reconstruct the full journey of a lead — what they did on the site, what they signaled, what we have already sent them. Returns structured data that downstream synthesis or drafting tools consume. Use this as the first step before synthesizing a hypothesis about why a lead behaved a certain way or drafting outreach to them.
| Name | Type | Req | Description |
|---|---|---|---|
| companyId | string | yes | FreedomOS company id to act within (you must be a member). Required for company-scoped tools. |
| lead_id | string | yes | UUID of the lead in the leads table. |
No output schema declared.
No examples provided.
query_sme ~332
Query an external Subject Matter Expert (SME) AI for verified domain knowledge. The SME's answers are grounded in verified rules and go through a rigorous verification pipeline — this is NOT a general search, it's consulting a domain expert. Use this when: - You need factual, verified information for content creation (social media, blog posts, newsletters) - You want to fact-check a claim before publishing - You need talking points grounded in domain expertise - You're creating content about a domain the SME covers Available SME sources: - "conduit" — Pharmaceutical compounding compliance expert (USP 795/797/800, state regulations) Routing: pharma / USP 795·797·800 / sterile·non-sterile compounding / BUD / board-of-pharmacy compliance fact you must get right → call query_sme (the verified Conduit SME) to fact-check it BEFORE escalating to a human or deriving the rule yourself; cite its sources
| Name | Type | Req | Description |
|---|---|---|---|
| companyId | string | yes | FreedomOS company id to act within (you must be a member). Required for company-scoped tools. |
| context | string | — | Optional context about why you're asking — helps the SME give a more relevant answer. E.g., "I'm creating a social media post about cleanroom best practices" |
| question | string | yes | The question to ask the subject matter expert. Be specific and clear. |
| sme_source | string | — | Which Expert to consult, by key. "conduit" (pharmaceutical compounding compliance) is always available; your company may have additional Experts configured. Defaults to "conduit". |
No output schema declared.
No examples provided.
ratify_capability ~226
Persist the operator-CONFIRMED derived features (from derive_capability) into the product capability index as source='derived'. Call ONLY with features the operator has ratified — each then becomes an authoritative capability the marketing agents and the Integrity Gate use. Idempotent (re-ratifying updates in place). Derived can't-do limits are drafted for awareness but authored separately for now. Routing: Operator confirmed the derived features from derive_capability → persist them with this [sensitive-tier — EVERY call needs a manager's approval (per-send human rail): each request queues its own approval card and sends exactly once on approve. There is no standing grant for this tool.]
| Name | Type | Req | Description |
|---|---|---|---|
| companyId | string | yes | FreedomOS company id to act within (you must be a member). Required for company-scoped tools. |
| features | array | yes | The operator-confirmed features to persist. Each needs a title; description/solves/evidence/feature_id optional. |
| scan_hash | string | — | Optional repo commit SHA the derivation came from (recorded for re-scan reconciliation). |
No output schema declared.
No examples provided.
read_google_doc ~68
Read content from an existing Google Doc by its ID.
| Name | Type | Req | Description |
|---|---|---|---|
| companyId | string | yes | FreedomOS company id to act within (you must be a member). Required for company-scoped tools. |
| doc_id | string | yes | Google Doc ID (the long alphanumeric string from the URL) |
No output schema declared.
No examples provided.
read_knowledge ~203
Read a Markdown knowledge file by slug. Slugs are folder-qualified with NO file extension (e.g. "canon/tim-voice-guide", "content-captures/2026-07-06-forgiveness-and-the-debt") — never repo-style paths, never ".md". Returns the full content plus a list of available sections. Use this to load guidelines, SOPs, or strategies before doing work that needs to reference them.
| Name | Type | Req | Description |
|---|---|---|---|
| companyId | string | — | FreedomOS company id to act within (you must be a member). Required for company-scoped tools. |
| scope | string | — | "company" (default) reads a company-shared file; "personal" reads from the current user's private notes. |
| slug | string | yes | Folder-qualified slug with no extension, e.g. "canon/tim-voice-guide" (from list_knowledge or a save_knowledge result). Never a repo-style path, never ".md". |
No output schema declared.
No examples provided.
read_sheet ~81
Read data from a Google Spreadsheet.
| Name | Type | Req | Description |
|---|---|---|---|
| companyId | string | yes | FreedomOS company id to act within (you must be a member). Required for company-scoped tools. |
| range | string | — | A1 notation range (e.g., "Sheet1!A1:D10"). Defaults to all data. |
| spreadsheet_id | string | yes | Spreadsheet ID |
No output schema declared.
No examples provided.
read_web_page ~138
Read a web page and return its content as clean markdown. Use when the user asks to read, analyze, summarize, or extract information from a specific URL. Also useful for competitor research, checking a website, or reading an article. [sensitive-tier — first use may require a manager's approval; a from-now-on approval makes future calls seamless, a just-once approval re-asks next time.]
| Name | Type | Req | Description |
|---|---|---|---|
| companyId | string | — | FreedomOS company id to act within (you must be a member). Required for company-scoped tools. |
| url | string | yes | The full URL to read (must include https:// or http://) |
No output schema declared.
No examples provided.
reassign_reports ~156
Reassign all scheduled reports from one agent to another. Use when user says "reassign reports", "transfer reports to [agent]", "move reports from [agent] to [agent]". Useful after deactivating an agent or hiring a replacement. [write-tier — first use may require a manager's approval; a from-now-on approval makes future calls seamless, a just-once approval re-asks next time.]
| Name | Type | Req | Description |
|---|---|---|---|
| companyId | string | yes | FreedomOS company id to act within (you must be a member). Required for company-scoped tools. |
| from_agent_id | string | yes | UUID of the agent to transfer reports FROM |
| to_agent_id | string | yes | UUID of the agent to transfer reports TO |
No output schema declared.
No examples provided.
recalibrate_agent_jd ~209
Regenerate an agent's JD using fresh company context. Updates mission, expertise, guardrails, success metrics, and optionally activity plans. Works for both hired agents and Linnet. Use when the company has evolved, an agent needs recalibration, or the user wants to refine an agent's direction. [sensitive-tier — first use may require a manager's approval; a from-now-on approval makes future calls seamless, a just-once approval re-asks next time.]
| Name | Type | Req | Description |
|---|---|---|---|
| agent_id | string | yes | UUID of the agent to recalibrate. Use get_team_roster to find IDs. |
| companyId | string | yes | FreedomOS company id to act within (you must be a member). Required for company-scoped tools. |
| focus_areas | string | — | Optional user guidance for recalibration, e.g. "focus more on SEO" or "add financial analysis" |
| regenerate_activities | boolean | — | Also regenerate the activity plan (default: false — preserves evolved activities) |
No output schema declared.
No examples provided.
remove_agent_activity ~223
Retire ONE activity from an agent's plan. Soft-archive (recoverable): the activity is MOVED to jd_content.archived_activities and removed from the live plan, so the agent stops running it. Never hard-deletes. [sensitive-tier — first use may require a manager's approval; a from-now-on approval makes future calls seamless, a just-once approval re-asks next time.]
| Name | Type | Req | Description |
|---|---|---|---|
| activity_index | number | — | 0-based index into the activity plan. Alternative to activity_name. |
| activity_name | string | — | EXACT (case-insensitive) name of the activity to retire. Provide this or activity_index. |
| agent_id | string | — | UUID of the agent. Optional if agent_name is provided. |
| agent_name | string | — | Name of the agent. Provide this or agent_id. |
| companyId | string | yes | FreedomOS company id to act within (you must be a member). Required for company-scoped tools. |
| reason | string | — | Optional reason for retiring (recorded on the archive + audit log). |
No output schema declared.
No examples provided.
remove_background ~233
Remove the background from an existing image, leaving the main subject isolated on a transparent background (PNG). Routing: "isolate the subject", "make background transparent", "remove background" → use this (1 credit) [sensitive-tier — first use may require a manager's approval; a from-now-on approval makes future calls seamless, a just-once approval re-asks next time.]
| Name | Type | Req | Description |
|---|---|---|---|
| artifact_id | string | — | ID of an existing artifact from the MEDIA block. |
| companyId | string | yes | FreedomOS company id to act within (you must be a member). Required for company-scoped tools. |
| folder | string | — | Optional Media gallery folder to file this into (freeform name, e.g. "q3-campaign" or "brand-assets"). Shown as a folder chip on the /media page. Reuse an existing folder name when the work belongs t… |
| folder_name | string | — | Subfolder name for Drive save. |
| image_url | string | — | URL of the raster image to process. |
| save_to_drive | boolean | — | If true, saves to Drive. |
No output schema declared.
No examples provided.
remove_dashboard_widget ~93
Remove a widget from an agent dashboard. [write-tier — first use may require a manager's approval; a from-now-on approval makes future calls seamless, a just-once approval re-asks next time.]
| Name | Type | Req | Description |
|---|---|---|---|
| companyId | string | yes | FreedomOS company id to act within (you must be a member). Required for company-scoped tools. |
| widget_id | string | yes | UUID of the widget to remove |
No output schema declared.
No examples provided.
report_feedback ~397
Report an error, issue, observation, or suggestion you encountered during your work. Use this proactively when you notice something noteworthy — tool failures, recurring problems, quality issues, or improvement ideas. This helps the founder track and act on agent insights over time. Routing: For issues YOU observe doing tenant work (tool failures, quality patterns) — lands in the operator's own observability feed. If the operator is reporting that FreedomOS ITSELF (platform UI/MCP/runtime) is broken or missing a capability, route to submit_product_request instead — FO product inbox only. Do NOT use submit_product_request for the tenant's own app/product/KB/retrieval gaps. [write-tier — first use may require a manager's approval; a from-now-on approval makes future calls seamless, a just-once approval re-asks next time.]
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | yes | Type of feedback. error = something broke. warning = something might break. observation = pattern noticed. suggestion = improvement idea. blocker = cannot complete task. |
| companyId | string | yes | FreedomOS company id to act within (you must be a member). Required for company-scoped tools. |
| context_json | string | — | Optional JSON-encoded structured context (error codes, retry counts, URLs, timestamps, etc.). Example: "{\"status\":429,\"retries\":3}". |
| description | string | yes | Detailed explanation. Include: what happened, what you expected, what you tried, and any error messages or codes. |
| severity | string | — | How urgent this is. Default: medium. Use critical only for data loss or security issues. |
| title | string | yes | Short summary of the issue (1 line). Be specific — "Buffer API returns 429 on image posts" not "API error". |
| tool_name | string | — | The tool that was involved, if applicable (e.g., "generate_image_xai", "post_to_x"). |
No output schema declared.
No examples provided.
request_attention_spawn ~282
Request a NEW local coding session from voice/chat (tab spawn). Queues a sticky for the desk launcher on THIS operator's machine (host must run attention-launcher). Use when they say "start a Grok/Claude on …", "new build for …", "open a session for …". Does not open a cloud IDE — the local launcher opens Terminal + announces + optional first directive. [write-tier — first use may require a manager's approval; a from-now-on approval makes future calls seamless, a just-once approval re-asks next time.]
| Name | Type | Req | Description |
|---|---|---|---|
| companyId | string | — | FreedomOS company id to act within (you must be a member). Required for company-scoped tools. |
| cwd | string | — | Working directory on the operator machine (e.g. /Users/…/GitHub/freedom-ai). Prefer absolute paths they already use. |
| first_instruction | string | — | Optional first work sticky delivered after the new session announces (imperative). |
| goal | string | yes | One-line goal for the new session (1–500 chars). |
| host | string | yes | Which builder to open: grok (Terminal) | claude-desktop (Claude.app Code — preferred) | claude-code (Terminal CLI) |
| session_id | string | — | Optional stable session id; default auto-derived from host + project. |
No output schema declared.
No examples provided.
request_connector ~215
Request that the operator connect an external integration (MCP connector) so you can use its tools. Provide the connector name from search_connector_registry and a short reason for the capability gap it closes. Creates a one-click approval card for the operator. If the connector is NOT on the vetted allowlist, it becomes a "vet this connector" request instead. This does not connect anything by itself and never spends money. [sensitive-tier, initiates a multi-step agent process — first use may require a manager's approval; a from-now-on approval makes future calls seamless, a just-once approval re-asks next time.]
| Name | Type | Req | Description |
|---|---|---|---|
| companyId | string | yes | FreedomOS company id to act within (you must be a member). Required for company-scoped tools. |
| connector | string | yes | Name of the connector to request (from search_connector_registry, e.g. "Amazon Ads"). |
| reason | string | — | Why you need it — the capability gap it closes (e.g. "run the KDP book ad campaign"). |
No output schema declared.
No examples provided.
request_content_revision ~165
Request changes to a content item. Use when user says "revise this", "change the tone", "make it shorter", or provides feedback on pending content. The content will be re-transformed with their feedback. [write-tier — first use may require a manager's approval; a from-now-on approval makes future calls seamless, a just-once approval re-asks next time.]
| Name | Type | Req | Description |
|---|---|---|---|
| companyId | string | yes | FreedomOS company id to act within (you must be a member). Required for company-scoped tools. |
| feedback | string | yes | User's feedback on what to change (e.g., "make it shorter", "more professional tone") |
| item_id | string | yes | ID of the pipeline output to revise (get from get_pending_approvals) |
No output schema declared.
No examples provided.
resolve_brand_guide ~191
Draft a first brand guide (personality tone, visual/positioning dos and donts) EXTRACTED from the company's own canon documents, with a verified receipt (quote + source doc) on every proposed item. Proposes only — never saves anything; the user reviews the receipts and accepts, then the accepted items are applied via update_brand_guidelines. Use when the user accepts an offer to build their brand guide from existing material, or explicitly asks to assemble a brand guide from what is already on file. For a company with no material on file, this returns nothing — ask instead. [sensitive-tier — first use may require a manager's approval; a from-now-on approval makes future calls seamless, a just-once approval re-asks next time.]
| Name | Type | Req | Description |
|---|---|---|---|
| companyId | string | yes | FreedomOS company id to act within (you must be a member). Required for company-scoped tools. |
No output schema declared.
No examples provided.
resolve_work ~176
Mark a shared work-graph item resolved — verified (default), published, or cancelled. In the full system, resolving an item cascades to unblock items that depend on it, so this is a process-initiator. Optionally record a verified_outcome. [sensitive-tier, initiates a multi-step agent process — first use may require a manager's approval; a from-now-on approval makes future calls seamless, a just-once approval re-asks next time.]
| Name | Type | Req | Description |
|---|---|---|---|
| companyId | string | yes | FreedomOS company id to act within (you must be a member). Required for company-scoped tools. |
| outcome | object | — | Optional structured verified_outcome to record. |
| status | string | — | Terminal status (default "verified"). |
| work_item_id | string | yes | UUID of the lab_work_items row to resolve. |
No output schema declared.
No examples provided.
retire_feature ~204
Archive (retire) a feature so it stops showing to readers and agents, or restore a previously retired one. Safe-archive ONLY — never hard-deletes; retiring is fully reversible. Use when a feature is no longer accurate, was replaced, or the user says "remove this feature", "retire X", or "un-retire X". [write-tier — first use may require a manager's approval; a from-now-on approval makes future calls seamless, a just-once approval re-asks next time.]
| Name | Type | Req | Description |
|---|---|---|---|
| companyId | string | yes | FreedomOS company id to act within (you must be a member). Required for company-scoped tools. |
| feature_id | string | yes | The feature_id slug (e.g., "ai-content-pipeline") or UUID. |
| reason | string | — | Optional note on why this feature is being retired. |
| restore | boolean | — | Set true to un-retire (restore) a previously archived feature. Default false. |
No output schema declared.
No examples provided.
revoke_agent_tool ~192
Remove ONE specific tool from an agent's loadout (tool_access). Use when an operator says "take <tool> away from <agent>" — or to clean a phantom/stale name out of a loadout (unresolvable names ARE removable here, unlike grant). Reports honestly when the name was not present, and when the tool is a universal base tool the runtime keeps available regardless. [write-tier — first use may require a manager's approval; a from-now-on approval makes future calls seamless, a just-once approval re-asks next time.]
| Name | Type | Req | Description |
|---|---|---|---|
| agent_id | string | yes | UUID of the agent. Use get_team_roster to find IDs. |
| companyId | string | yes | FreedomOS company id to act within (you must be a member). Required for company-scoped tools. |
| tool_name | string | yes | Exact loadout entry to remove (phantom/stale names allowed). |
No output schema declared.
No examples provided.
run_quality_check ~227
Evaluate content or media against your ICP persona using Gemini 3.1 Pro vision. Actually SEES images and WATCHES videos. Returns quality scores (1-10) across 6 dimensions + specific ICP feedback. Use after generating media or drafting content to validate quality before delivering to the user. [sensitive-tier — first use may require a manager's approval; a from-now-on approval makes future calls seamless, a just-once approval re-asks next time.]
| Name | Type | Req | Description |
|---|---|---|---|
| artifact_id | string | — | ID of a specific artifact to evaluate (from generate_image or generate_video result). If omitted, auto-finds the most recent media artifact. |
| companyId | string | yes | FreedomOS company id to act within (you must be a member). Required for company-scoped tools. |
| content | string | — | Text content to evaluate (X post copy, email draft, newsletter). Can be combined with artifact_id for text + visual evaluation. |
| task | string | — | What this deliverable is for (e.g. "X post about Freedom OS launch"). Gives the ICP evaluator context. |
No output schema declared.
No examples provided.
run_tactic ~281
Run a saved Play (growth_tactics) for the company operator or agent — dispatch the next unit as a one-off draft activity, or dry-run a Play brief with suggest_only. Use when the operator or agent should execute an Agreed play this cycle (same owner as Focus “Run play”), or preview cast/steps/cost without spend. Structured plays require plan Agree before dispatch; suggest_only does not. [sensitive-tier, initiates a multi-step agent process — first use may require a manager's approval; a from-now-on approval makes future calls seamless, a just-once approval re-asks next time.]
| Name | Type | Req | Description |
|---|---|---|---|
| agent_name | string | — | Optional: override which agent runs it (else resolved from the tactic's lane or assignee). |
| companyId | string | yes | FreedomOS company id to act within (you must be a member). Required for company-scoped tools. |
| suggest_only | boolean | — | If true, return Play execution brief only (who / steps / readiness / estimate) — no dispatch, no spend, no Agree required. Use for Chat/MCP dry-run before Run. |
| tactic_id | string | — | UUID of the Play/tactic to run (use this or tactic_title). |
| tactic_title | string | — | Title (or fragment) of the Play/tactic to run (use this or tactic_id). |
No output schema declared.
No examples provided.
save_artifact ~197
Save an artifact (screenshot, analysis, report) to the company archive. Use after browse_url to persist visual evidence, or to save any agent-produced artifact for future reference. [write-tier — first use may require a manager's approval; a from-now-on approval makes future calls seamless, a just-once approval re-asks next time.]
| Name | Type | Req | Description |
|---|---|---|---|
| artifact_type | string | yes | Type of artifact being saved |
| companyId | string | yes | FreedomOS company id to act within (you must be a member). Required for company-scoped tools. |
| description | string | — | What this artifact shows or contains |
| metadata_json | string | — | Optional JSON-encoded metadata (scores, analysis results, etc.). |
| source_url | string | — | URL the artifact relates to (if applicable) |
| storage_path | string | — | Storage path where the file was uploaded |
| title | string | yes | Short descriptive title for the artifact |
No output schema declared.
No examples provided.
save_knowledge ~451
Save a Markdown knowledge file. Use for guidelines, SOPs, strategies, playbooks, meeting notes, contact lists, trackers, or any reference material that agents read and update over time. Pass scope="personal" to save private notes visible only to the current user (e.g., notes tied to their commitments). [write-tier — first use may require a manager's approval; a from-now-on approval makes future calls seamless, a just-once approval re-asks next time.]
| Name | Type | Req | Description |
|---|---|---|---|
| companyId | string | — | FreedomOS company id to act within (you must be a member). Required for company-scoped tools. |
| content | string | yes | The knowledge content in Markdown format. FORMATTING RULES: Use ## headers for sections (NOT **bold**). Put a blank line between every paragraph and before/after lists. Use - for list items. Structur… |
| folder | string | — | Optional folder to save the file in (e.g., "acme-deal", "partners/acme"). Folders are auto-created. Use for organizing related files, especially for deal rooms or shared contexts. |
| override_duplicate_reason | string | — | ONLY after the canon gate refused this save as a duplicate: a specific reason why this file is NOT a duplicate of the canonical file the refusal named. Overrides are logged and visible to the operato… |
| scope | string | — | Where to save: "company" (default) = shared with the whole company; "personal" = private to the current user only. Use "personal" for notes tied to a specific person (e.g., context for the user's com… |
| slug | string | — | Optional custom slug for the filename. If omitted, auto-generated from the title. |
| title | string | yes | Descriptive title for this knowledge file (e.g., "Acme Mascot Guidelines", "Content Strategy Q1") |
No output schema declared.
No examples provided.
scan_product_signals ~254
Scan a company for product-system bugs and unlocks (failed/timed-out activity runs, blocked_on_you cards, open error agent_feedback) and return ranked product-request candidates for the FreedomOS product team. Use when the product team is hunting class bugs/unlocks across a portfolio tenant (dry-run by default; set file_top_n to file up to 5 bug cards). Does NOT invent feature fantasy — bias is bugs/unlocks only. For FreedomOS product-inbox members only. [write-tier — first use may require a manager's approval; a from-now-on approval makes future calls seamless, a just-once approval re-asks next time.]
| Name | Type | Req | Description |
|---|---|---|---|
| companyId | string | — | FreedomOS company id to act within (you must be a member). Required for company-scoped tools. |
| company_id | string | yes | Tenant company_id to scan (e.g. …_the-optimal-company- or a portfolio co). |
| file_top_n | number | — | If >0, file the top N signals as product_request decision cards (max 5). Default 0 = dry-run only. |
| lookback_days | number | — | How far back to look (1–60, default 14). |
No output schema declared.
No examples provided.
search_ad_targeting ~112
Search Meta's ad-interest targeting catalog (returns interest ids + audience sizes). Use when designing a Meta ad draft and you need valid {id, name} targeting pairs for create_meta_ad_draft — e.g. search "pharmacy" or "compounding".
| Name | Type | Req | Description |
|---|---|---|---|
| companyId | string | yes | FreedomOS company id to act within (you must be a member). Required for company-scoped tools. |
| query | string | yes | Interest keyword, e.g. "pharmacy", "healthcare compliance" |
No output schema declared.
No examples provided.
search_connector_registry ~143
Search the vetted connector registry for an external integration (MCP connector) you need but that is not yet connected. Returns ONLY FreedomOS-allowlisted connectors (e.g. ad platforms, analytics) — never the open internet. Use this when you hit a capability gap, then call request_connector with the name to ask the operator to connect one.
| Name | Type | Req | Description |
|---|---|---|---|
| companyId | string | yes | FreedomOS company id to act within (you must be a member). Required for company-scoped tools. |
| query | string | — | Optional keyword to filter by name or capability (e.g. "ads", "amazon", "analytics"). Omit to list the whole vetted catalog. |
No output schema declared.
No examples provided.
search_conversations ~136
Search past conversations with the user. Use when the user says "remember when we talked about...", "haven't we discussed X before?", "what did we decide about...", or references any prior conversation. Returns matching conversations with relevant message snippets. Does NOT return the current conversation.
| Name | Type | Req | Description |
|---|---|---|---|
| companyId | string | yes | FreedomOS company id to act within (you must be a member). Required for company-scoped tools. |
| limit | number | — | Max conversations to return (default: 5, max: 10) |
| query | string | yes | Search terms — keywords, topics, or phrases from the conversation the user is referencing |
No output schema declared.
No examples provided.
search_transactions ~82
Search transactions by description. Use when user asks about specific vendors, expenses, or payments.
| Name | Type | Req | Description |
|---|---|---|---|
| companyId | string | yes | FreedomOS company id to act within (you must be a member). Required for company-scoped tools. |
| limit | number | — | Max results (default: 10) |
| query | string | yes | Text to search for in transaction descriptions |
No output schema declared.
No examples provided.
segment_leads ~267
Organize, select, or clear a lead segment on the Leads tab by its exact source tag (e.g. 'csv:apc-cch-2024'). Validates the tag against the company's live segment tags and returns the exact-token filter plus a server-computed lead count (excluding do-not-contact, archived, and test leads). Read-only: the Leads tab applies the action; this tool changes no data and CANNOT enroll anyone — enrollment only happens via the Enroll button on the Leads tab. Use when the operator wants to focus the Leads tab on one segment or event — group it, select all its leads for enrollment, or clear that selection. Routing: CRM/sales → select or organize leads by segment/event tag → use this
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | 'organize' = group Leads tab by this segment; 'select' = select all leads in it; 'clear' = clear that selection. |
| companyId | string | yes | FreedomOS company id to act within (you must be a member). Required for company-scoped tools. |
| segment_tag | string | yes | Exact segment tag token from crm_leads.source, e.g. 'csv:apc-cch-2024'. No substring matching — must match a live tag exactly. |
No output schema declared.
No examples provided.
send_email ~654
Send an outbound email via the company's Resend connection. Resolves the per-company Resend API key + from identity, then sends to a single recipient. Honors the do_not_contact suppression list (crm_leads): if the recipient is marked do_not_contact, the send is refused. RECIPIENT RULE: when emailing a CRM LEAD, do NOT type their address yourself — draft with draft_lead_email/draft_outreach and deliver with send_lead_draft, which reads the lead's real email from the database. Only pass `to` directly for a non-lead recipient whose exact address the operator literally provided in this conversation. NEVER guess, infer, or fabricate an email address — a wrong guess sends a real email to a stranger. Use when the operator gives you an exact non-lead recipient address to email; for CRM leads use send_lead_draft instead. Routing: Send an outbound email to an operator-given address → use this; for CRM leads use send_lead_draft (DB-derived recipient, respects do_not_contact) [outbound-tier — EVERY call needs a manager's approval (per-send human rail): each request queues its own approval card and sends exactly once on approve. There is no standing grant for this tool.]
| Name | Type | Req | Description |
|---|---|---|---|
| companyId | string | yes | FreedomOS company id to act within (you must be a member). Required for company-scoped tools. |
| company_id | string | — | Company UUID. Optional — defaults to the caller's company context. Used to resolve the Resend key and scope the do_not_contact check. |
| draft_id | string | — | Optional UUID of the lead_drafts row being sent. If provided, the Resend email id returned by the send is recorded onto that draft (resend_email_id) so engagement webhook events (opens/clicks/replies… |
| from | string | — | Optional explicit from address (e.g. "Jane <[email protected]>"). If omitted, defaults to no-reply@<resolved from_domain>. |
| html | string | — | HTML body of the email. Provide html and/or text (at least one is required). |
| lead_id | string | — | Optional UUID of the crm_leads row this email targets. Used for telemetry/linking; the do_not_contact check is keyed on (company_id, to) regardless. |
| reply_to | string | — | Optional Reply-To address. |
| sequence_id | string | — | Optional UUID of the outreach_sequences row backing an autonomous warm send. Required ONLY on the outreach-autosend path (executionSource=autonomous_warm); the warm-send gate verifies the sequence is… |
| subject | string | yes | Email subject line. |
| text | string | — | Plain-text body of the email. Provide text and/or html (at least one is required). |
| to | string | yes | Recipient email address (single recipient). |
No output schema declared.
No examples provided.
send_lead_draft ~210
Send an approved outreach draft to its lead via the company's Resend connection, then mark the draft 'sent'. This is the manual human-in-the-loop send: it delivers exactly one lead_drafts row (by id) to the lead's email and records sent_at + resend_message_id. Honors the do_not_contact suppression list (the send is refused if the lead is suppressed). Use after an operator approves a draft in the Leads tab. Routing: Operator approved an outreach draft and wants to send it → use this [outbound-tier — first use may require a manager's approval; a from-now-on approval makes future calls seamless, a just-once approval re-asks next time.]
| Name | Type | Req | Description |
|---|---|---|---|
| companyId | string | yes | FreedomOS company id to act within (you must be a member). Required for company-scoped tools. |
| draft_id | string | yes | UUID of the lead_drafts row to send. |
| reply_to | string | — | Optional Reply-To address for the outbound email. |
No output schema declared.
No examples provided.
send_slack_message ~233
Send a message to a Slack channel or direct message to a team member. Use when user asks to "message X on Slack", "send a Slack message", "DM someone on Slack", "post to #channel", etc. [outbound-tier — EVERY call needs a manager's approval (per-send human rail): each request queues its own approval card and sends exactly once on approve. There is no standing grant for this tool.]
| Name | Type | Req | Description |
|---|---|---|---|
| channel_name | string | — | Slack channel name to post to (without #), e.g., "general", "engineering". Use this OR recipient_name, not both. |
| companyId | string | yes | FreedomOS company id to act within (you must be a member). Required for company-scoped tools. |
| message | string | yes | The message text to send (supports Slack markdown: *bold*, _italic_, etc.) |
| recipient_name | string | — | Name of the person to DM (e.g., "Alex", "Jordan"). Will be looked up via linked accounts or Slack directory. |
| thread_ts | string | — | Optional thread timestamp to reply in a thread |
No output schema declared.
No examples provided.
set_attention_budget ~260
Set the founder's attention budget — the maximum pending review cards before they are 'overloaded' (a whole number 1–100; default 7) — for a manager or the founder. Use when the founder (or a manager on their behalf) wants to raise or lower their overload threshold (e.g. "set my overload threshold to 10", "I can handle more pending cards before you flag me", "lower my attention budget to 5"). This is the founder's OWN constraint, so it is gated: an autonomous agent CANNOT change it (surface a recommendation instead); only a human-present company manager can. Always call get_attention_budget first and explain why a change helps the founder. [sensitive-tier — first use may require a manager's approval; a from-now-on approval makes future calls seamless, a just-once approval re-asks next time.]
| Name | Type | Req | Description |
|---|---|---|---|
| companyId | string | yes | FreedomOS company id to act within (you must be a member). Required for company-scoped tools. |
| max_pending_cards | number | yes | The new ceiling: pending review cards before the founder is overloaded (whole number, 1–100). |
| note | string | — | Optional rationale for the change (stored with the budget). |
No output schema declared.
No examples provided.
set_cac_strategy ~220
Change this company's LTV:CAC strategy (the acquisition-spend posture): aggressive (2:1, early-stage growth), standard (3:1, recommended default), conservative (4:1, high churn / mature), or enterprise (5:1, long sales cycles). This governs marketing spend, so it is gated: an autonomous agent CANNOT apply it — surface a recommendation instead. Always call get_cac_strategy first and include a clear rationale when proposing a change. [sensitive-tier — first use may require a manager's approval; a from-now-on approval makes future calls seamless, a just-once approval re-asks next time.]
| Name | Type | Req | Description |
|---|---|---|---|
| companyId | string | yes | FreedomOS company id to act within (you must be a member). Required for company-scoped tools. |
| note | string | — | Optional rationale for the change (stored with the policy). |
| strategy | string | yes | The CAC posture: aggressive (2:1), standard (3:1), conservative (4:1), or enterprise (5:1). |
No output schema declared.
No examples provided.
set_cos_preferences ~129
Replace THIS operator's full CoS preference block (or clear with empty). Use when they want a full rewrite of saved preferences. Per user_id only — not a global product prompt edit. [write-tier — first use may require a manager's approval; a from-now-on approval makes future calls seamless, a just-once approval re-asks next time.]
| Name | Type | Req | Description |
|---|---|---|---|
| companyId | string | — | FreedomOS company id to act within (you must be a member). Required for company-scoped tools. |
| cos_preferences | string | yes | Full preferences text (≤2000 chars). Empty string clears. |
No output schema declared.
No examples provided.
set_grain_policy ~292
Create or update the wisdom-layer publish policy for ONE content grain in the current company. gate_mode 'human_pre_gate' reserves the grain for human approval; 'autonomous' lets an agent publish it directly. A brand-new grain defaults to human_pre_gate (fail-safe). Because this governs an agent's own publishing autonomy, the change routes to operator approval — it does not take effect silently. [sensitive-tier — first use may require a manager's approval; a from-now-on approval makes future calls seamless, a just-once approval re-asks next time.]
| Name | Type | Req | Description |
|---|---|---|---|
| companyId | string | yes | FreedomOS company id to act within (you must be a member). Required for company-scoped tools. |
| curate_only | boolean | — | If true, an agent may only assemble this grain from source_corpus_ref, never originate de-novo content. |
| gate_mode | string | — | 'autonomous' = an agent may auto-publish this grain; 'human_pre_gate' = it must route to a human first. |
| grain | string | yes | The content grain key, lowercase_with_underscores (e.g. faith_values, harness_education, professional). |
| note | string | — | Human-readable note on why this grain has this policy. |
| source_corpus_ref | string | — | For curate_only grains: the corpus an agent may assemble from (e.g. a knowledge collection key). |
No output schema declared.
No examples provided.
set_meta_ad_status ~186
Activate or pause a Meta campaign, ad set, or ad. ACTIVATION STARTS REAL AD SPEND and always requires the human (live chat or an approved card) — agents cannot activate. Pausing stops spend. Use after the user has reviewed a draft and explicitly says to launch, or asks to stop a running ad. [outbound-tier — EVERY call needs a manager's approval (per-send human rail): each request queues its own approval card and sends exactly once on approve. There is no standing grant for this tool.]
| Name | Type | Req | Description |
|---|---|---|---|
| companyId | string | yes | FreedomOS company id to act within (you must be a member). Required for company-scoped tools. |
| object_id | string | yes | Numeric campaign / ad set / ad id |
| status | string | yes | 'ACTIVE' (starts spend — human only) or 'PAUSED' (stops spend) |
No output schema declared.
No examples provided.
set_offer ~263
Author or update the company's grand slam OFFER — the operator-authored positioning agents ground all outbound in (the offer half of the product layer). Sets `offer` (what the company sells + the transformation it promises) and an optional `target_summary` (who it's for). Capability truth — what the product can and can't actually do — lives in feature_index via create_feature, NOT here; do not list features in the offer. [sensitive-tier — first use may require a manager's approval; a from-now-on approval makes future calls seamless, a just-once approval re-asks next time.]
| Name | Type | Req | Description |
|---|---|---|---|
| companyId | string | yes | FreedomOS company id to act within (you must be a member). Required for company-scoped tools. |
| is_regulated | boolean | — | Mark this company/product as operating in a REGULATED category (health, medical, financial). When true, the Integrity Gate treats health/efficacy/financial claims in agent-produced outbound as requir… |
| offer | string | — | The grand slam offer + positioning: what the company sells and the transformation it promises. Operator-authored wisdom-like content. |
| target_summary | string | — | Optional one-line summary of who the offer is for (the target customer). |
No output schema declared.
No examples provided.
set_revenue_channels ~291
Declare where this business makes money — stripe, xero, shopify, amazon, ebay, manual invoicing, "none_yet" (pre-revenue), or other (name it). This is OPERATOR TRUTH an agent cannot derive, so it is gated: an autonomous agent CANNOT declare it — only a human (chat) or a graduated MCP operator can. Once declared, agents stop asking to connect Stripe for businesses that don't use it and are routed to the right revenue tool for this company's actual channel(s). Call get_setup_state first — if "Revenue channels" already shows done, only call this again when the operator says it changed. [sensitive-tier — first use may require a manager's approval; a from-now-on approval makes future calls seamless, a just-once approval re-asks next time.]
| Name | Type | Req | Description |
|---|---|---|---|
| channels | array | yes | Any that apply: stripe, xero, shopify, amazon, ebay, manual, none_yet, other. "none_yet" is exclusive — if the business is pre-revenue, pass ONLY ["none_yet"]. |
| companyId | string | yes | FreedomOS company id to act within (you must be a member). Required for company-scoped tools. |
| other_label | string | — | Required when channels includes "other" — the operator's own words for the revenue channel (e.g. "wholesale invoices"). |
No output schema declared.
No examples provided.
share_commitment ~160
Share a commitment with your spouse or partner so they can see it too. Use when the user says "share this with my wife/husband" or "let [name] see this". [write-tier — first use may require a manager's approval; a from-now-on approval makes future calls seamless, a just-once approval re-asks next time.]
| Name | Type | Req | Description |
|---|---|---|---|
| commitment_id | string | — | The UUID of the commitment to share |
| companyId | string | — | FreedomOS company id to act within (you must be a member). Required for company-scoped tools. |
| share_with_email | string | yes | Email address of the person to share with |
| title_search | string | — | Search by title if ID not known (fuzzy match) |
No output schema declared.
No examples provided.
share_knowledge ~204
Share a knowledge file or folder with a specific user. Creates a per-user access grant. The shared user's agent will also be able to read the files. Front matter is auto-updated with audience metadata so agents know the content is restricted. [write-tier — first use may require a manager's approval; a from-now-on approval makes future calls seamless, a just-once approval re-asks next time.]
| Name | Type | Req | Description |
|---|---|---|---|
| companyId | string | yes | FreedomOS company id to act within (you must be a member). Required for company-scoped tools. |
| path | string | yes | The file or folder path to share. Use trailing "/" for folders (e.g., "acme-deal/"). Use no trailing "/" for files (e.g., "acme-deal/term-sheet"). |
| permission | string | — | Permission level: "read" (default) or "write". |
| user_email | string | yes | Email of the FreedomOS user to share with. |
No output schema declared.
No examples provided.
split_agent_activity ~218
Split ONE oversized activity into smaller activities (intake + finish) without regenerating the rest of the plan. Use when a run hit the continuation safety backstop while still progressing — the activity is bigger than one deliverable. [sensitive-tier — first use may require a manager's approval; a from-now-on approval makes future calls seamless, a just-once approval re-asks next time.]
| Name | Type | Req | Description |
|---|---|---|---|
| activity_name | string | yes | Exact (case-insensitive) name of the oversized activity to split. |
| agent_id | string | — | UUID of the agent. Optional if agent_name is provided. |
| agent_name | string | — | Name of the agent. Provide this or agent_id. |
| companyId | string | yes | FreedomOS company id to act within (you must be a member). Required for company-scoped tools. |
| pieces | array | — | Optional precomputed replacement activities (name, frequency, description, …). When omitted, derived from the source. |
| reason | string | — | Optional reason recorded on the archive + audit log. |
No output schema declared.
No examples provided.
submit_content_to_pipeline ~267
Submit manual content to a pipeline for transformation. Use when user says "add this to my changelog", "create a newsletter from this", "transform this content", or provides content to be processed. Content will be transformed using the pipeline's persona and ICPs. Social pipelines publish to the pipeline's declared destination (x/linkedin/instagram/facebook/threads — set via update_pipeline; undeclared defaults to x) after human approval; instagram items REQUIRE media_artifact_ids. [write-tier — first use may require a manager's approval; a from-now-on approval makes future calls seamless, a just-once approval re-asks next time.]
| Name | Type | Req | Description |
|---|---|---|---|
| companyId | string | yes | FreedomOS company id to act within (you must be a member). Required for company-scoped tools. |
| content | string | yes | Raw content to transform (updates, notes, announcements, etc.) |
| media_artifact_ids | array | — | Optional. Artifact IDs (image or video, from generate_image_xai / generate_video, same company) to attach as media on this post. Required for visual social posts — the post publishes with this media… |
| pipeline_id | string | yes | ID of the pipeline to submit to (get from list_pipelines) |
No output schema declared.
No examples provided.