Tools Index
Total tools: 246.
| Tool ID | Category | HTTP | Scopes | Description |
|---|---|---|---|---|
agent_blueprint.get | workflows | GET /agent-blueprints/:id | artifacts:read | Fetch one agent_blueprint by id, including the full DSL content_json. The id is either a starter slug, a starter's deterministic UUID, or a tenant blueprint UUI |
agent_blueprint.list | workflows | GET /agent-blueprints | artifacts:read | List every agent_blueprint accessible to this business: Amdahl-shipped starters (forkable recipes in code) first, then the tenant's own DB-stored blueprints. Us |
agent_profile.list | workflows | GET /agent-profiles | workflows:read | Registered agent profiles - the specialist profiles an agent can delegate to (researcher, content_writer, orchestrator). Use when deciding whether to delegate a |
agent_run.get | workflows | GET /agent-runs/:id | workflows:read | Fetch a single agent run by UUID, including step_data events, the full conversation log, token usage, and final status. Use when debugging an individual turn, r |
agent_run.list | workflows | GET /agent-runs | workflows:read | List agent runs (individual turn executions) for this business, newest first. Use when rendering per-turn activity, filtering by run status (queued|running|co |
agents.backtest_blueprint | workflows | POST /agent-blueprints/:id/backtest | workflows:delegate | Launch a range-sweep backtest of a saved agent_blueprint: fire a series of as-of runs across a date range at a cadence (monthly|weekly), grouped into one sweep |
agents.cancel | workflows | POST /agents/:session_id/cancel | workflows:write | Cancel an in-flight agent run. Use when the user wants to stop a running agent before it finishes, or abandon a run that has gone sideways. Cascades to any sub- |
agents.fork_blueprint | workflows | POST /agent-blueprints/fork | workflows:delegate | Duplicate a starter or tenant blueprint into the caller's namespace as a new draft artifact. Use when forking an Amdahl-shipped starter to customize it, or dupl |
agents.preview_backtest | workflows | POST /agent-blueprints/:id/backtest/preview | workflows:delegate | Dry-run a range-sweep backtest WITHOUT firing anything: given a blueprint, a date range, and a cadence (monthly|weekly), return the ordered as-of dates the swe |
agents.resume | workflows | POST /agents/:session_id/resume | workflows:write | Resume an agent run that is paused on pending user input. Use when replying to an outline approval prompt, a clarification question, or a continue/finish decisi |
agents.run_blueprint | workflows | POST /agent-blueprints/:id/run | workflows:delegate | Trigger a headless run of a saved agent_blueprint on the Claude Agent SDK. Use when launching a blueprint by id with explicit inputs (optionally as a backtest v |
agents.start | workflows | POST /agents/run | workflows:delegate | Start a new agent run. Use when delegating a bounded, heavy task to a specialist profile (content_writer, researcher) or kicking off a one-shot copilot run. Ret |
author_profile.get | context | - | context:read | Fetch a single author profile by UUID, including the attached writing samples and LinkedIn scraped profiles. Use when the agent already has an id (from list or |
author_profile.list | context | - | context:read | List author profiles for this business (self, team, and external inspirational authors). Use when populating the v2 content creation Author selector, or before |
authors.create | context | - | config:write | Persist a brand-new author_profiles row for the caller's workspace. Call when the settings page collects a name (required) plus optional role title and relation |
authors.delete | context | - | config:write | Permanently remove an author_profiles row owned by the caller's workspace. Call when an operator wants to retire a teammate or an external inspiration entry who |
authors.get | context | - | config:read | Fetch one author_profile row joined to its writing-sample and scraped-profile junctions, returned alongside a voice ResourceStatus envelope. Read when the setti |
authors.linkedin_status | context | - | config:read | Read-only polling surface for a LinkedIn scrape / refresh job. Use when a UI indicator needs to tick without risking a new enqueue — this handler never spawns w |
authors.list | context | - | config:read | Enumerate every author profile registered for the caller's workspace along with per-author junction-row counts (writing samples, scraped LinkedIn profiles, voic |
authors.refresh_linkedin | context | - | config:write | Idempotently re-run a LinkedIn scrape for an existing author_profile_scraped_profiles junction row, keyed by scrapedProfileId. Use when the operator wants to pu |
authors.regenerate_voice | context | - | config:write | Kick off the LLM voice-analysis pipeline for one author, returning a background jobId so the UI can poll progress. Call when an operator clicks Regenerate or af |
authors.scrape_linkedin | context | - | config:write | Idempotently start an async LinkedIn profile scrape and attach it to an author_profile via the author_profile_scraped_profiles junction. Use when adding a new L |
authors.set_scraped_profiles | context | - | config:write | Overwrite the author's scraped-LinkedIn-profile junction rows with the provided author_name list. Invoke when the settings drawer saves a reshuffled source list |
authors.set_writing_samples | context | - | config:write | Overwrite the caller's author-profile writing_samples junction with the exact array of sample UUIDs provided. Invoke when the settings page saves a reshuffled s |
authors.update | context | - | config:write | Patch one or more mutable fields (name, role, relationship) on an existing author_profile row. Invoke when the settings drawer saves an edit to a teammate's tit |
authors.update_scraped_profile_role | context | - | config:write | Flip the content_role on an author_profile_scraped_profiles junction row between author_voice and inspirational. Use when promoting a scraped LinkedIn profile f |
authors.update_writing_sample_role | context | - | config:write | Flip the content_role on an author_profile_writing_samples junction row between author_voice and inspirational. Use when reclassifying an attached writing sampl |
authors.voice_status | context | - | config:read | Return the current voice ResourceStatus for one author without spawning any new work. Use for fast-cadence polling from the settings detail drawer while a voice |
blueprint_backtest.get | workflows | GET /blueprint-backtests/:id | workflows:read | Fetch a single range-sweep backtest by id, with its as-of points resolved against their child blueprint runs (per-point run status) and a rolled-up status summa |
blueprint_backtest.list | workflows | GET /blueprint-backtests | workflows:read | List range-sweep backtests (each a series of as-of blueprint runs across a date range) for this business, newest first. Use when rendering the backtest-history |
blueprint_output.diff | workflows | GET /blueprint-outputs/:id/diff | workflows:read | Compute a line-level unified diff of a living-doc version (:id, the target) against a base version. Use for the version-diff view. Base defaults to the immediat |
blueprint_output.get | workflows | GET /blueprint-outputs/:id | workflows:read | Fetch a single blueprint living-doc version by id, including promotion status, the kb_doc_id it serves, and provenance (source_run_id, as_of, diff_summary, qual |
blueprint_output.list | workflows | GET /blueprint-outputs | workflows:read | List a recurring blueprint's living-doc versions for this business, newest first. Use when rendering the Versions tab, finding the current canonical (each row c |
blueprint_output.list_comments | workflows | GET /blueprint-outputs/:id/comments | workflows:read | List a workflow living-doc version’s review threads for the Workflows Versions tab (:id is the output / knowledge_bank_documents id). Use when a reviewer opens |
blueprint_run.get | workflows | GET /blueprint-runs/:id | workflows:read | Fetch a single blueprint run by id, including step_states, current_step_id, tokens used, and any error message. Use when rendering an individual run timeline or |
blueprint_run.list | workflows | GET /blueprint-runs | workflows:read | List blueprint runs (one per agent_blueprint invocation) for this business, newest first. Use when rendering the run-history timeline, filtering by blueprint_id |
blueprint_schedule.create | workflows | POST /agent-blueprints/:id/schedules | workflows:delegate | Create a recurring CRON schedule that fires a saved agent_blueprint headlessly. An agent can call this to schedule unattended runs (e.g. "run the research-repor |
blueprint_schedule.delete | workflows | DELETE /blueprint-schedules/:id | workflows:delegate | Delete a blueprint cron schedule by id. An agent can call this to remove a scheduled run entirely (to merely pause it, use blueprint_schedule.update with enable |
blueprint_schedule.get | workflows | GET /blueprint-schedules/:id | workflows:read | Fetch a single blueprint cron schedule by id, including its cron, timezone, inputs, enabled flag, and last/next run bookkeeping. Use when rendering or auditing |
blueprint_schedule.list | workflows | GET /blueprint-schedules | workflows:read | List cron schedules (one per scheduled agent_blueprint) for this business, newest first. Use when rendering the schedules surface, filtering by blueprint_id, or |
blueprint_schedule.update | workflows | PATCH /blueprint-schedules/:id | workflows:delegate | Update an existing blueprint cron schedule: change its cron, timezone, inputs, name, or enable/disable it. An agent can call this to retune or pause a scheduled |
blueprints.create | workflows | POST /agent-blueprints | versioning:write | Author and save a brand-new agent_blueprint recipe for this workspace from a v1 DSL body. Use when a user composes a fresh automation in the editor (or asks cha |
blueprints.delete | workflows | DELETE /agent-blueprints/:id | versioning:write | Archive a workspace blueprint so it drops out of the active library while staying recoverable. Use when a user removes a recipe they no longer need; the row is |
blueprints.promote_output | workflows | POST /agent-blueprints/:id/promote | versioning:write | Promote a blueprint version to canonical — the single served document a recurring blueprint's living doc resolves to. Use when a human reviews a proposed versio |
blueprints.unarchive | workflows | POST /agent-blueprints/:id/unarchive | versioning:write | Bring a previously archived workspace blueprint back into the active library. Use when a user undoes a blueprint removal and wants the recipe usable again. Oper |
blueprints.update | workflows | PATCH /agent-blueprints/:id | versioning:write | Save edits to a workspace blueprint the caller already owns. Use when a user modifies an existing recipe and persists the change. The content field is a full re |
blueprints.validate | workflows | POST /agent-blueprints/validate | versioning:write | Dry-run a blueprint DSL body through the full authoring moat without persisting anything. Use when an editor wants author-time feedback on a draft before saving |
business_profile.get | context | - | config:read | Fetch this workspace's business profile with an auto-enqueue guarantee. Returns the ResourceStatus envelope { status, data, jobId, lastUpdated, progress, error |
business_profile.get_schedule | context | - | config:read | Fetch the auto-discovery sync schedule (enabled flag, frequency weekly/biweekly/monthly, freshness threshold in days, refresh-existing-profiles toggle) for this |
business_profile.read | context | - | config:read | Read the signed-in workspace's stored business profile (company, industry, ICP, content themes, and competitors) as a ResourceStatus envelope. Read when an agen |
business_profile.refresh | context | - | config:write | Trigger a profile-only discovery run that rewrites the stored business profile from current web signals. Use when the operator wants to force a fresh regenerati |
business_profile.refresh_sources | context | - | config:write | Kick off a full-discovery pipeline (profile regeneration plus author source inspection + scraping). Use when the operator wants to bring every discovered source |
business_profile.status | context | - | config:read | Read-only polling surface for the business profile refresh job. Use when a progress indicator needs to tick without risking a new enqueue — this handler never s |
business_profile.update | context | - | config:write | Patch the stored business profile with a user-edited partial payload. Use when the operator hand-corrects discovery output (company name, industry, ICP, competi |
business_profile.update_schedule | context | - | config:write | Persist a new auto-discovery sync schedule for this workspace. Use when the operator toggles enabled, changes frequency between weekly / biweekly / monthly, adj |
company.get | data | - | data:read | Fetch the interactions-catalog entry for a single company by name (case-insensitive exact match). Use when the agent already has a company name from input_param |
company.list | data | - | data:read | List distinct company names present in this business's interactions data, ordered by name. Use when populating the v2 ICP / company-focus picker or when the age |
company.search | data | - | data:read | Substring-search companies present in this business's interactions by name. Use when the user types into a company typeahead or when the agent wants to shortlis |
connections.connect | data | POST /connections | connections:write | Establish a new integration for a workspace, routing on the connector type: collect an API key, kick off an OAuth redirect, or track a social handle. Use when a |
connections.disconnect | data | DELETE /connections/:id | connections:delete | Disconnect one established integration by its id, scoped to the workspace. Use when a user wants to stop an integration: the source (a CRM / calls / docs connec |
connections.get | data | GET /connections/:id | connections:read | Fetch one established integration by its id, resolved across both first-party data sources and tracked social accounts and scoped to the caller's workspace. Rea |
connections.get_status | data | GET /connections/:id/status | connections:read | Fetch the live sync state of one integration - its normalized health, the in-flight syncing flag, the last good sync time, and any last error - without pulling |
connections.list | data | GET /connections | connections:read | Read every integration a workspace has actually established, newest first, merging first-party data sources and tracked social accounts into one normalized list |
connections.list_catalog | data | GET /connections/catalog | connections:read | Read the catalog of integrations a workspace can hook up - CRM, calls, comms, docs, support, and social - with each entry's connect flow, ownership, and the dat |
connections.list_runs | data | GET /connections/:id/runs | connections:read | Read the recent sync-run history of one integration - each run's outcome, what triggered it, when it started and finished, how many streams ran or failed, the r |
connections.reconnect | data | POST /connections/:id/reconnect | connections:write | Restore a connection stuck in an error or needs-reauth state, in place on the existing data source so its sync history and id survive (no duplicate row). Use wh |
connections.update | data | PATCH /connections/:id | connections:write | Rename an established connection, or set/clear its owner - the workspace member a personal source (e.g. Gmail, Outlook) belongs to. Use when a user wants to rel |
console.crm_mappings.get | configuration | - | config:read | Read the business's current CRM mappings configuration: deal-stage mappings (raw CRM stage → normalized pipeline stage) and deal-amount tiers, plus version and |
console.data_filters.get | configuration | - | config:read | Read the business's current data-filter configuration: the full rules array plus version and applied_version stamps. Use when the caller needs to inspect which |
console.issues_inbox.list | data | - | data:read | List the business's issues inbox: pipeline-detected data-quality, enrichment, or signal problems surfaced for human review. Each issue has a category (e.g. unkn |
console.review_tasks.list | data | - | data:read | List the pipeline's open review tasks for this business. Each task is a data-quality issue the pipeline flagged for human review: it may suggest merging identit |
context_entries.write | context | POST /context/entries/write | context_entries:write | Create, update, or delete a persisted context entry. Use when saving, patching, or removing brand config / audience insights / campaign themes. action="create" |
context_entry.get | context | - | context_entries:read | Fetch a single persisted context entry by its type id (e.g. brand.colors, voice.default). Use when the caller already knows the entry id and wants the full blob |
context_entry.list | context | - | context_entries:read | List persisted context entries (brand.colors, brand.voice_rules, voice.* profiles, etc.). Use when loading brand metadata before writing content or auditing wha |
context.ask | context | POST /context/ask | context:ask | Get a synthesized natural-language answer over the data already gathered in the current session. An agent searches the accumulated substrate (evidence, clusters |
context.audience_filters | context | - | context:read | Return the per-business audience filter options (funnel stages, account sizes, personas, industries, topics) sourced from the v2 BigQuery catalog. Use when popu |
context.channels | context | - | context:read | Return the canonical channel enum (linkedin, blog, twitter, youtube, email, other) used by content_sessions.channel and the content_writer specialist's input_pa |
context.content_subtypes | context | - | context:read | Return the canonical content-subtype enum (perspective, proof, execution, how_to, announcement, teardown) stored on content_sessions.content_subtype and threade |
context.content_types | context | - | context:read | Return the canonical content-type enum (social, blog, thought_leadership, newsletter, case_study) recognised by the v2 pipeline and the content_writer specialis |
context.query_substrate | context | POST /context/substrate/query | context:query | Intent-driven smart lookup over the session substrate. Returns scored/ranked evidence, clusters, and metrics tailored to an intent. Use this to retrieve grounde |
context.remember | context | POST /context/remember | context:write | Push an external observation (web finding, user note, summary from another tool) into the session substrate so subsequent query_substrate and ask calls surface |
context.review_kit | context | POST /context/review-kit | context_entries:read workflows:read | Use after completing a blueprint run when you want to update the business's long-term context. Returns: the run's audit row (inputs/outputs/step_states/errors), |
context.substrate | context | - | context:read | Session substrate counters: what the agent has learned so far in this run (record counts, entities discovered, data sources consulted). Use when debugging what |
context.summary | context | - | context:read | Business profile summary (company, voice, channel assets) aggregated from the core context tables. Use when the agent is orienting at turn 0 and needs "who am I |
context.time_ranges | context | - | context:read | Return the canonical research time-range enum (last_7d, last_30d, last_90d, last_180d, last_365d, all_time, custom). Use when rendering the research-window filt |
conversation.get | conversations | GET /conversations/:id | workflows:read | Fetch a single agent conversation by UUID along with its ordered turns (agent runs). Use when rendering chat history for a specific thread, resuming UI state af |
conversation.list | conversations | GET /conversations | workflows:read | List agent conversations for this business, newest activity first. Use when rendering recent chat threads, a picker UI, or an audit view. Filter by status (acti |
conversations.create | conversations | POST /conversations | conversations:write | Create a new chat conversation pinned to an agent profile. Use when starting a new multi-turn session with a specific profile (copilot, researcher, etc.). If fi |
conversations.turns.append | conversations | POST /conversations/:id/turns | conversations:write | Append a new user message to an active conversation. Use when continuing an existing chat thread instead of starting a new one. Creates a new agent run, enqueue |
conversations.turns.cancel | conversations | DELETE /conversations/:id/turns/:turn_id | conversations:write | Cancel an in-flight conversation turn. Use when the user hits a stop button on a running chat turn, or wants to abandon a turn that has gone sideways. Cascades |
conversations.turns.resume | conversations | POST /conversations/:id/turns/:turn_id/resume | conversations:write | Resume a paused conversation turn with user input. Use when the user responds to a pending-input prompt on a chat turn (outline approval, clarification, continu |
conversations.update | conversations | PATCH /conversations/:id | conversations:write | Patch a conversation. Use when renaming a chat (title) or archiving it (status=archived). Returns the updated row. The pinned agent profile is immutable and can |
data.ask_sql | data | POST /data/ask | data:read | Use when a caller wants SQL but does not know the schema. Takes a plain-English question plus optional prior turns and returns a read-only SELECT against the `i |
data.cluster_detail | data | GET /data/clusters/:cluster_id | data:read | Full detail for a single pre-computed conversation cluster: label, description, insight, statistical measures (JSD, size anomaly), full feature distribution, re |
data.cluster_search | data | POST /data/clusters/search | data:read | Semantic pattern discovery across pre-computed ML clusters from customer conversations. Use to find recurring themes, pain points, objections, competitive menti |
data.query | data | POST /data/query | data:read | Use when the user wants a count, aggregate, or rows from the interactions table. Read-only SELECT, auto-scoped (never put business_id in WHERE). Explicit co |
data.schema | data | - | data:read | Data inventory for the current business: interactions schema plus sample values, cluster availability, and knowledge base document count. Use when orienting at |
data.search | data | POST /data/search | data:read | Hybrid semantic + keyword search across the business knowledge base: saved research, uploaded documents, and past content outputs. Use when you need qualitative |
external_search_jobs.read_stream | workflows | GET /external-search-jobs/:jobId/stream | external_search:execute | Read when discovering the live SSE event channel for a running external_search job spawned with subscribe_to_events=true. Returns a small JSON descriptor with t |
external_search.execute | data | POST /external-search/execute | external_search:execute | Use when answering market / competitive / industry / topic-positioning questions. Returns a divergence_map flagging where market chatter (web+news+reddit+twitte |
finish | workflows | - | workflows:complete | Signal that the task is complete. Call this as the final tool when you have finished the work. Arguments may include an optional summary and an optional artifac |
inspirational_reference.get | context | - | context:read | Fetch a single inspirational reference by composite id ('writing_sample:<uuid>' or 'scraped_post:<uuid>'). Use when the agent already has the id (from list or i |
inspirational_reference.list | context | - | context:read | List every writing sample + scraped post available as a structural inspirational reference for this business. Use when populating the v2 content creation Inspir |
inspirational_reference.search | context | - | context:read | Substring-search writing samples and scraped posts by title + body. Use when the user asks for an inspirational reference by topic or keyword and the agent need |
knowledge_base.chat | data | POST /knowledge_base/chat | knowledge_base:read | Ask a natural-language question against the knowledge bank and get a synthesized answer. Use when you need a composed answer drawing from multiple documents rat |
knowledge_base.create_comment | data | POST /knowledge-base/:id/comments | versioning:write | Add a review comment to a living-doc version. Use when a reviewer replies to the agent’s rationale or opens a new thread anchored to a changed block. Pass body |
knowledge_base.delete | data | DELETE /knowledge_base/documents/:id | knowledge_base:delete | Remove a knowledge bank document. Use when retiring stale content from the knowledge base. Default mode is a soft archive (sets is_archived=true) so the row, st |
knowledge_base.diff | data | GET /knowledge-base/:id/diff | knowledge_base:read | Compute a line-level unified diff of a knowledge base living-doc version (:id, the target) against a base version (defaults to the immediate predecessor; ?base= |
knowledge_base.get | data | GET /knowledge-base/:id | knowledge_base:read | Fetch a single knowledge bank document by UUID. Use when the caller already has the document id and wants its full metadata + content markdown. Returns null whe |
knowledge_base.get_access | data | GET /knowledge-base/:id/access | knowledge_base:read | Fetch the per-document read ACL for one knowledge bank document by UUID, scoped to this business. Read when you need to see which members and roles a restricted |
knowledge_base.get_content | data | GET /knowledge-base/:id/content | knowledge_base:read | Fetch the converted markdown body of one knowledge bank document by UUID, scoped to this business. Read when you need the full document text itself (to quote, s |
knowledge_base.get_versions | data | GET /knowledge-base/:id/versions | knowledge_base:read | List all versions of a knowledge base document (its version family: current, proposed, superseded), newest first, resolved from the supplied document UUID and e |
knowledge_base.list | data | GET /knowledge-base | knowledge_base:read | List knowledge bank documents (uploads, saved research, style references) for this business. Use when enumerating documents by status, embedding_status, type, o |
knowledge_base.list_comments | data | GET /knowledge-base/:id/comments | knowledge_base:read | List the Level 3 review threads on a living-doc version (:id, a knowledge_bank_documents id). Use when rendering the version-review panel: agent rationale comme |
knowledge_base.make_living | workflows | POST /knowledge_base/documents/:id/make-living | workflows:write knowledge_base:write | Convert a static knowledge base document into a self-refreshing living doc by synthesizing a refresh workflow (an agent_blueprint) bound to the doc version grou |
knowledge_base.resolve_comment | data | POST /knowledge-base/:id/comments/:comment_id/resolve | versioning:write | Mark a living-doc review thread resolved (or reopen it with resolved=false). Use when a reviewer finishes acting on a thread. Operates on the thread root; passi |
knowledge_base.search | data | POST /knowledge_base/search | knowledge_base:read | Hybrid semantic + keyword search across knowledge bank chunks. Use when looking up qualitative evidence, precedent, or supporting quotes from ingested documents |
knowledge_base.star | data | POST /knowledge-base/:id/star | artifacts:write | Pin a knowledge bank document as workspace canon. Read when reviewing reference material (messaging frameworks, brand pillars, market research) the agent should |
knowledge_base.unstar | data | POST /knowledge-base/:id/unstar | artifacts:write | Remove a knowledge bank doc from workspace canon. Use when a previously authoritative reference (messaging deck, brand pillars) is now stale or replaced. The KB |
knowledge_base.update | data | PATCH /knowledge_base/documents/:id | knowledge_base:write | Patch metadata on an existing knowledge bank document. Use when the user asks to rename a doc, retag a doc, archive or unarchive, edit the description or notes, |
knowledge_base.upload | data | POST /knowledge_base/documents | knowledge_base:write | Upload a document into the business knowledge bank (PDF/DOCX/PPTX/markdown). Use when adding an asset the KB should index. Accepts base64 file_content (Datalab |
metrics.evaluate | assets | POST /metrics/:id/evaluate | metrics:read | Use when you need a live numeric value from a registered metric artifact. Pass metric_id; returns the freshly computed value with format and cache hit indicator |
notifications.email_member | team | POST /notifications/email-member | notifications:write | Send an email to one or more teammates in the current workspace. Use when an automation or agent needs to notify specific workspace members - a digest, an alert |
notifications.list_recipients | team | GET /notifications/recipients | notifications:read | Read the current workspace members you are allowed to email, as a recipient picker for sending a member notification (email + display name + user id per member) |
notifications.list_sends | team | GET /notifications/sends | notifications:read | Read the history of emails sent to workspace members (newest first), plus a cap-aware summary of how many sends went out in the trailing hour against the per-wo |
notion_sync.backfill | data | POST /notion-sync/:id/backfill | notion_sync:write | Trigger a full backfill of the outbound Notion sync for a connection: enqueue every current knowledge-base document for (re)mirroring into Notion. Use when firs |
notion_sync.configure | data | POST /notion-sync/:id/configure | notion_sync:write | Configure the outbound Notion knowledge-base sync for a connection: designate the parent Notion page, provision the synced database under it, set the version + |
notion_sync.get | data | GET /notion-sync/:id | notion_sync:read | Fetch the outbound Notion knowledge-base sync configuration for one connection - target database, version policy, include filters, and how many documents are cu |
notion_sync.list_pages | data | GET /notion-sync/:id/pages | notion_sync:read | List the Notion pages the connected integration can access, so a workspace can pick which one the synced knowledge-base database is created under. Read when a N |
notion_sync.list_sends | data | GET /notion-sync/:id/sends | notion_sync:read | List the recent outbound Notion sync ledger for a connection (per-document synced / skipped / failed outcomes), newest-first, with an hourly summary. Read when |
notion_sync.status | data | GET /notion-sync/:id/status | notion_sync:read | Fetch the live status of an outbound Notion sync: enabled, provisioned, the connect-only provisioning state, mirrored-document count, and a recent-activity summ |
notion_sync.unsync | data | POST /notion-sync/:id/unsync | notion_sync:delete | Tear down the outbound Notion sync for a connection: disable it and clear the mapping ledger so a later reconfigure starts clean. Use when a workspace wants to |
operation.get | observability | GET /operations/:id | artifacts:read | Fetch metadata for a single operation by its dotted id (e.g. data.cluster_search, artifacts.create, context.summary). Read when a tool picker needs to render th |
operation.list | observability | GET /operations | artifacts:read | List every operation registered in the unified operation registry, grouped by namespace (data, artifacts, context, conversations, etc.). Read when authoring an |
pages.archive | assets | DELETE /pages/:id | pages:write | Soft-archive a page so it leaves the default library list but stays recoverable, a reversible step distinct from a permanent removal. Use when a user wants to r |
pages.create | assets | POST /pages | pages:write | Author a new workspace page from a catalog spec: a designed UI of catalog components (plus an optional Custom sandbox node) mixing narrative, layout, and live t |
pages.delete | assets | POST /pages/:id/hard-delete | pages:delete | Permanently remove a page so it disappears from every view, the destructive counterpart to a reversible archive. Use when a user explicitly wants a page gone fo |
pages.get | assets | GET /pages/:id | pages:read | Fetch one page definition by its id - the TSX source, compiled module, declared data bindings, and last verification verdict - scoped to the workspace and gated |
pages.get_template | assets | GET /pages/templates/:slug | pages:read | Fetch one Amdahl-shipped page template in full - its catalog spec, declared queries, and intent - by slug or deterministic UUID. Fetch when an author has chosen |
pages.list | assets | GET /pages | pages:read | Read the workspace pages the caller is entitled to, newest-updated first, after dropping any the caller lacks read access to. Read when rendering the pages libr |
pages.list_templates | assets | GET /pages/templates | pages:read | Read the catalog of Amdahl-shipped page templates - ready-to-adapt starting points (pipeline health, voice of customer, competitive battlecard) an author turns |
pages.mint_embed_token | assets | POST /pages/:id/embed-token | pages:embed | Mint a short-lived, token-scoped embed link for one page so it can be iframed on an external site. Use when a user or agent wants a shareable live embed of a pa |
pages.render | assets | POST /pages/:id/render | pages:read | Execute a page's declared data bindings live for the current viewer and return the rows the host hydrates the component with, each query tenant- and access-scop |
pages.update | assets | PATCH /pages/:id | pages:write | Revise an existing page in place: swap its catalog spec, declared queries, or metadata. Use when a user or agent wants to change what a published page renders. |
pages.validate | assets | POST /pages/validate | pages:read | Check a page spec through the catalog, prop, binding, and Custom-node code stages without saving it, returning every problem found in one verdict. Use when an e |
prompt.get | workflows | GET /prompt-fragments/:id | artifacts:read | Fetch a single platform prompt fragment by id (full body included). Use when a blueprint llm step's prompt_resources references prompt://<scheme>/<id>; the runn |
prompt.list | workflows | GET /prompt-fragments | artifacts:read | List every registered platform prompt fragment (named, version-controlled chunks of expertise that agent_blueprint llm steps can compose via prompt_resources). |
prompts.artifact.compose_campaign | assets | - | artifacts:write data:read knowledge_base:read | Use when the user asks for a multi-piece campaign (research + blog + LinkedIn) on one topic. Directs the agent to produce a parent research_report, then two chi |
prompts.artifact.draft_weekly_report | assets | - | data:read artifacts:write | Use when the user asks to compile last week into a saved report. Directs the agent to pull a 7-day activity snapshot via data.query and then save a research_rep |
prompts.artifact.embed_artifact | assets | - | artifacts:write | Use when the user asks to embed, share, or publish a single artifact on an external website. Walks the agent through flipping visibility to public AND surfacing |
prompts.artifact.refine_content_piece | assets | - | artifacts:read artifacts:write | Use when the user wants to iterate on an existing content artifact with specific feedback. Directs the agent to read the artifact, rewrite the body against the |
prompts.context.capture_competitive_intel | context | - | context_entries:write | Use when the agent observes something about a named competitor that future sessions should remember (positioning move, pricing change, win/loss signal). Directs |
prompts.context.onboard_me | context | - | context:read data:read knowledge_base:read | Use when a first-time caller asks "what can this do" or wants a guided orientation. Directs the agent to read context://summary, data://schema, and knowledge_ba |
prompts.context.remember_this | context | - | context:write | Use when the user surfaces an observation from outside the normal data pipeline (web find, human note) and wants it to influence future substrate queries. Direc |
prompts.context.review_context | context | - | context_entries:read | Use when the user (or an agent before starting a task) wants a health check of the context_entries long-term memory store. Directs the caller to list entries, g |
prompts.context.save_insight | context | - | context_entries:write | Use when the agent discovers a stable business truth during a conversation that future sessions should remember. Directs the caller to persist the finding as a |
prompts.context.state_of_business | context | - | context:read artifacts:read context:query | Use when the user asks for a high-level current status of the business. Directs the agent to query the substrate for recent themes and read the 10 newest artifa |
prompts.context.update_entry | context | - | context_entries:write | Use when an existing context_entries row needs a targeted change (new evidence, corrected fact, expanded detail). Directs the caller to read the entry first, ap |
prompts.conversation.conversation_recap | conversations | - | workflows:read | Use when the user asks to recap a specific conversation (what was discussed, what was produced). Directs the agent to read conversation://<id>, walk the turns i |
prompts.conversation.resume_work | conversations | - | workflows:read | Use when the user wants to pick back up a conversation that stopped mid-task or is paused. Directs the agent to read the conversation, diagnose what completed v |
prompts.data.account_deep_dive | data | - | data:read | Use when the user asks for a focused briefing on a single named account or company. Produces a three-step investigation plan (interactions, sentiment, recent su |
prompts.data.schema_tour | data | - | data:read | Use when the user asks "what data is available?" or is exploring a business for the first time. Directs the agent to fetch the data://schema resource, read the |
prompts.data.top_companies | data | - | data:read | Use when the user asks which companies drove the most calls or activity recently. Produces a ranked query template and summary directive the agent runs via data |
prompts.data.weekly_pulse | data | - | data:read | Use when the user asks for a weekly or N-day activity snapshot across interaction types (calls, emails, meetings). Produces a histogram query template plus a su |
prompts.knowledge_base.brief_me | context | - | knowledge_base:read | Use when the user wants a short RAG briefing drawn from the knowledge base on a specific topic. Directs the agent to search the KB and compose a grounded summar |
prompts.knowledge_base.find_playbook | context | - | knowledge_base:read | Use when the user asks for a saved playbook, SOP, framework, or procedure on a topic. Directs the agent to search the knowledge base for playbook-style content |
prompts.knowledge_base.prep_for_call | context | - | knowledge_base:read data:read | Use when the user asks to prep for a call with a named account. Directs the agent to blend a KB search (prior notes, docs) with data.query (recent interactions, |
prompts.settings.warm_workspace | configuration | - | config:read | Use when first orienting on a workspace (new session, new tenant, new client). Explains that the slow-to-load background pipelines — business profile discovery, |
prompts.system.account_prep | data | - | data:read | Use when the user is preparing for a scheduled sales call, customer meeting, QBR, renewal review, kickoff, or exec touchpoint with a specific account. Pulls dea |
prompts.system.amdahl_gtm_playbook | data | - | data:read | Use when starting ANY go-to-market task in this workspace (research, enrichment, positioning, messaging, content, sales call prep, win-loss, outbound) and you n |
prompts.system.competitive_positioning | data | - | data:read | Use when the user wants to test, validate, or sharpen current positioning, value prop, or category framing — what we claim vs what buyers echo back, where the m |
prompts.system.getting_started | platform | - | prompts:list | Use when a caller asks how to start or wants an overview of the 3 Amdahl MCP tools. Returns the full getting-started skill content (tool map, recommended workfl |
prompts.system.messaging_check | data | - | data:read | Use when the user wants to test, refine, or audit a specific message, claim, hook, headline, or value-prop line — checking whether buyers echo it back, where it |
prompts.system.research_competitor | data | - | data:read | Use when researching a specific competitor — their positioning, pricing, recent moves, market chatter, and where they show up in our own call transcripts. Pulls |
prompts.system.research_customer | data | - | data:read | Use when the user names a customer, account, or prospect company and asks for context, history, recent signals, or deal stage. Pulls the external company brief |
prompts.system.research_playbook | platform | - | prompts:list | Use when the caller asks how to investigate a topic end to end using the 3-tool surface. Returns the full research playbook (routing rule, recommended flow, sub |
prompts.system.win_loss_analysis | data | - | data:read | Use when the user asks about win or loss patterns, deal outcomes, why deals close or stall, or what separates closed-won from closed-lost — across all deals, a |
prompts.webhook.debug_delivery | configuration | - | webhooks:read | Use when the user reports trouble with a specific webhook subscription and wants a delivery diagnosis. Directs the agent to fetch the webhook config, pull recen |
prompts.webhook.webhook_health_check | configuration | - | webhooks:read | Use when the user asks for a health check across webhook subscriptions. Directs the agent to list every webhook, pull recent failed deliveries for each, and pro |
read_resource | platform | GET /resources | artifacts:read | Read any resource by URI. URIs follow <scheme>://<path>[?query]. Schemes: artifact, conversation, agent_run, agent_profile, context, context_entry, knowledge_ba |
reference_document.list | context | - | knowledge_base:read | List documents eligible as content-creation reference material. Use when populating the v2 Reference Documents picker or when the agent needs a shortlist before |
retrieve_scratchpad | workflows | - | workflows:read | Read a slot from the session scratchpad. Scratchpad slots are populated by prior tool calls when the output was too large to inline. Use when you need a full tr |
social.connect_account | data | POST /social/connections | data:write | Save an already-verified social account as a tracked social connection for the tenant. Use when the user has confirmed the right profile (typically right after |
social.create_subject | data | POST /social/subjects | data:write | Create a tracked subject - a person or org you follow - that groups one or more social handles under one identity. Use when the user wants to start tracking som |
social.delete_subject | data | DELETE /social/subjects/:id | data:write | Delete a tracked subject by id. Use when the user wants to stop tracking a person/org as a grouped identity. The social connections grouped under it are kept - |
social.disconnect_account | data | DELETE /social/connections/:id | data:write | Stop tracking a social account by removing its social connection (soft delete: the row is kept for audit but no longer synced or listed). Use when the user want |
social.get_connection | data | GET /social/connections/:id | data:read | Fetch a single tracked social account (social connection) by its id for the tenant. Use when you already have a connection id and need its current details — han |
social.get_metric_trend | data | GET /social/connections/:id/trend | data:read | Read a bucketed metric trend for one tracked social account: the follower series over time (scope=connection, default) or a single post's engagement trajectory |
social.get_metrics_summary | data | GET /social/connections/:id/summary | data:read | Read aggregate stats for one tracked social account: current followers + growth over the window (both null when the channel does not expose followers — LinkedIn |
social.get_portfolio_summary | data | GET /social/summary | data:read | Read aggregate stats across every active tracked account in the tenant: total followers + growth (null when no in-scope connection reports followers — LinkedIn |
social.get_subject | data | GET /social/subjects/:id | data:read | Read a single tracked subject by id for the tenant, with the social handles grouped under it. Read when you have a subject id and need its details - relationshi |
social.get_subject_summary | data | GET /social/subjects/:id/summary | data:read | Read aggregate stats across every social handle grouped under a tracked subject: total followers (null when no handle reports a count), total engagement, post c |
social.link_handle | data | POST /social/subjects/:subject_id/link | data:write | Group a tracked social connection under a subject by linking it - e.g. attach a person's X account to the subject that already holds their LinkedIn. Use when co |
social.list_channel_capabilities | data | GET /social/capabilities | data:read | Read the per-channel capability map: for each supported social channel (X / Twitter, LinkedIn), which entities (post / profile) it reports on and which metric k |
social.list_connections | data | GET /social/connections | data:read | Return every tracked social account (social connection) for the tenant, newest first, excluding ones that have been disconnected. Use when the user wants to see |
social.list_post_metrics | data | GET /social/connections/:id/metrics | data:read | Read the latest engagement snapshot per post for one tracked social account: likes, reposts, replies, quotes, bookmarks, and views, newest post first, capped at |
social.list_subjects | data | GET /social/subjects | data:read | Read every tracked subject for the tenant, newest first - the people and orgs being followed, each with the social handles grouped under it. Read when showing w |
social.refresh_connection | data | POST /social/connections/:id/refresh | data:write | Kick off a background metrics refresh for one tracked social account: ask amdahl-data to sync its source now and return immediately with a syncing acknowledgeme |
social.unlink_handle | data | POST /social/subjects/:subject_id/unlink | data:write | Ungroup a social connection from its subject by clearing the link - the reverse of linking a handle. Use when a handle was grouped under the wrong subject, or t |
social.update_connection | data | PATCH /social/connections/:id | data:write | Update a tracked social account (social connection) in place: set or clear its nickname, pause or resume tracking, and/or set the per-connection lookback window |
social.update_subject | data | PATCH /social/subjects/:id | data:write | Patch a tracked subject - rename it, retag internal/external, set or clear the workspace member it represents, edit notes or the CRM link. Use when subject deta |
social.verify_connection | data | POST /social/verify | data:read | Resolve a social handle to its live account plus most recent post, or a typed reason it couldn't be confirmed (not_found / no_posts / private / provider_error). |
step_kind.get | workflows | GET /step-kinds/:id | artifacts:read | Fetch metadata for a single step kind by id (tool / llm / loop / branch / parallel / blueprint / transform / assert). Use when rendering a single canvas node or |
step_kind.list | workflows | GET /step-kinds | artifacts:read | List every step kind the agent_blueprint DSL supports (tool, llm, loop, branch, parallel, blueprint, transform, assert). Use when authoring or visualizing a blu |
system.list_prompts | platform | GET /prompts | prompts:list | Enumerate author-blessed prompt templates the current caller can invoke. Each entry carries a name, description, optional scheme (namespace prefix), and optiona |
system.use_prompt | platform | POST /prompts/use | prompts:use | Invoke an author-blessed prompt template by name. The response is a messages array (role + content pairs) you can fold into subsequent reasoning, like expert gu |
team.add_domain | team | - | team:write | Register a new unverified domain for the caller's business so verified-domain users can self-join. Use when an admin wants to onboard a whole company by domain |
team.get_settings | team | - | team:read | Read every allowlisted team setting for the caller's business (e.g. require_invite). Use when rendering the team settings page or deciding whether domain auto-p |
team.invite | team | - | team:write | Create a pending magic-link invitation for a new teammate. Use when inviting someone by email to join the workspace. Persists a business_invitations row with a |
team.list_domains | team | - | team:read | List every verified and pending domain for the caller's business, newest first. Use when rendering the domains panel in team settings, deciding whether "Ask Amd |
team.list_invitations | team | - | team:read | List pending, accepted, expired, or revoked invitations for the caller's business. Use when rendering the team settings invitations panel or auditing who has be |
team.list_members | team | - | team:read | List every member of the caller's business with display name, email, and role. Use when rendering the team settings page, deciding whether the caller is the las |
team.remove_domain | team | - | team:delete | Delete a domain row from the caller's business so future signups with that email domain stop auto-joining. Use when an admin is rotating their primary domain or |
team.remove_member | team | - | team:delete | Remove a member from the caller's business. Use when revoking access for someone who left the team. Refuses self-removal (a dedicated "leave business" flow cove |
team.resend_invitation | team | - | team:write | Rotate a pending invitation's token, reset expires_at to seven days out, and return the refreshed row so the REST handler can re-send the magic-link email. Use |
team.revoke_invitation | team | - | team:delete | Soft-delete a pending invitation so the magic-link stops working. Use when an invited person no longer needs access or the admin sent to the wrong email. Sets s |
team.update_member_role | team | - | team:write | Change a business member's role between admin and member. Use when promoting a teammate to admin or demoting an admin. Enforces three server-side rules: the tar |
team.update_settings | team | - | team:write | Patch one or more allowlisted team settings (e.g. require_invite) for the caller's business. Use when an admin changes domain auto-provisioning behavior or othe |
trigger_kind.get | workflows | GET /trigger-kinds/:id | artifacts:read | Fetch metadata for a single trigger kind by id (manual / schedule / event / webhook). Use when rendering a single trigger configuration card. Returns null when |
trigger_kind.list | workflows | GET /trigger-kinds | artifacts:read | List every trigger kind the agent_blueprint DSL supports (manual today; schedule/event/webhook in later waves). Use when authoring or visualizing a blueprint to |
voice_profile.get | context | - | context:read | Fetch a single author's voice profile by UUID, including the cached voice analysis blob (vocabulary, personality, syntax) and sample counts. Use when the agent |
voice_profile.list | context | - | context:read | List author voice profiles available to this business. Use when populating the content creation voice selector or when the agent needs to pick a cached voice by |
webhook.get | configuration | - | webhooks:read | Fetch a single webhook subscription by UUID. Use when the caller knows the subscription id and wants its configuration (URL, event filters, status). Secrets are |
webhook.list | configuration | - | webhooks:read | List outbound webhook subscriptions for this business. Use when auditing registered subscriptions or checking which endpoints the platform currently fans events |
webhook.list_deliveries | configuration | - | webhooks:read | List delivery attempts for a specific webhook subscription. Use when debugging failures, inspecting retry history, or confirming that recent events reached the |
webhooks.test_fire | platform | POST /webhooks/:id/test | webhooks:write | Fire a signed test delivery at a webhook destination and return the captured response. Use when verifying connectivity to a new subscription, debugging signatur |
webhooks.write | platform | POST /webhooks/write | webhooks:write | Create, update, or delete a webhook subscription. Use when registering a new destination, changing URL / event list / description / active, or removing a subscr |
workspaces.add_member | team | - | workspaces:write | Add someone to a workspace by user id or email. Use when an admin is bringing a teammate onto the tenant directly (no invitation round-trip). By email, a new ac |
workspaces.create | team | - | workspaces:write | Spin up a brand-new workspace owned by the caller, who becomes both its owner and founding admin in one atomic step. Use when a user is starting a fresh tenant. |
workspaces.delete | team | - | workspaces:write | Soft-delete a workspace, retiring the whole tenant. Use when the owner is shutting it down for good. Only the workspace owner may call this (an admin who is not |
workspaces.get | team | - | workspaces:read | Fetch one workspace by id along with the caller's role in it (owner, admin, editor, or viewer). Read when you need a single workspace's name, slug, avatar, and |
workspaces.join_by_domain | team | - | workspaces:write | Join a workspace that your verified email domain is allowed to self-join. Use when a signed-in user picks a workspace from their domain-eligible list (post-sign |
workspaces.leave | team | - | workspaces:write | Remove the calling user from a workspace they belong to. Use when someone is leaving a tenant of their own accord. Any member may leave, except the owner, who i |
workspaces.list | team | - | workspaces:read | List every workspace the calling user belongs to, each with the caller's role and an owner flag. Read when rendering a workspace switcher or deciding which tena |
workspaces.list_joinable_by_domain | team | - | workspaces:read | List workspaces the calling user may self-join because their verified email domain is claimed by the workspace and it opted into domain join. Read when renderin |
workspaces.remove_member | team | - | workspaces:write | Remove a member from a workspace by user id. Use when an admin is removing a teammate from the tenant. The workspace owner is protected and cannot be removed (t |
workspaces.transfer_ownership | team | - | workspaces:write | Hand a workspace to another existing member, who is promoted to admin and becomes the new owner. Use when the current owner is stepping down or handing the tena |
workspaces.update | team | - | workspaces:write | Patch a workspace's display name, avatar image, and avatar background color. Use when an admin renames the workspace, sets its logo, or picks the background col |
workspaces.update_member_role | team | - | workspaces:write | Set a workspace member to admin or member. Use when promoting a teammate to admin or stepping one back down. The workspace owner is pinned as an admin and canno |
writing_samples.archive | context | - | config:write | Soft-archive or restore one writing sample by flipping platform_artifacts.status between archived and draft. Use when an operator wants to hide a sample from th |
writing_samples.create | context | - | config:write | Ingest one new writing sample into the caller's workspace. Invoke when an operator pastes or uploads a piece of reference prose that should inform author voice |
writing_samples.delete | context | - | config:write | Permanently remove one writing sample owned by the caller's workspace. Call when an operator retires a sample that is no longer representative of an author's vo |
writing_samples.get | context | - | config:read | Load one writing_samples row by UUID, scoped to the caller's workspace. Fetch when the settings page opens a sample detail drawer or a split-proposal preview an |
writing_samples.list | context | - | config:read | Enumerate every writing_samples row for the caller's workspace, optionally filtered by author_id (via junction), content_type, channel, or archive status, and r |
writing_samples.propose_split | context | - | config:write | Ask Claude to decompose a long prose document into coherent candidate writing samples so the operator can review and persist the useful ones individually. Invok |
writing_samples.update | context | - | config:write | Apply a partial patch to one writing sample row (content body, title, channel, content_type, source_url, sort_order). Call when an editor corrects metadata from |