Skip to content

Octo's tools

Download .md

Octo exposes 278 tools. They are part of the one Omni Octo MCP server, /mcp (see Connect), which lists four tools and reaches every tool here through them: find_tools searches, describe_tool returns a tool’s input schema and how it is approved, run_tool runs it, and confirm_action approves a risky one when the app has no approval form. The same server also reaches the API tools and the docs search (search_docs, get_doc). Where a name is both an Octo tool and an API tool (marked on /mcp: the API tool below), /mcp runs the API tool. It takes an MCP sign-in or an API key.

75 of 278 tools cannot just run: a person approves each call. Over /mcp, an app that shows approval forms (MCP elicitation) asks the person there and run_tool returns the outcome; otherwise run_tool returns a summary and a code, and confirm_action runs it once the person has approved. In the dashboard chat, on messaging channels and in a stateful /v1 conversation (/v1/responses, or /v1/chat/completions with conversation), Octo parks them for a human YES and then continues. A stateless /v1/chat/completions call (no conversation) runs safe tools only and does not offer them.

RiskMeaning
saferuns immediately
spends_moneyspends money — confirmation required
mass_messagemessages many people — confirmation required
destructivedestructive — confirmation required
mutates_live_deploymentchanges a live deployment — confirmation required
ToolRiskWhat it does
create_agentsafeCreate a new AI agent from a validated YAML blueprint.
create_api_keymutates_live_deploymentGenerate a new API key for the organization.
create_campaignmass_messageCreate and launch an outbound campaign.
create_campaign_templatesafeSave a new campaign template with a name, type, and configuration.
create_contactsafeCreate a new contact in the workspace. (on /mcp: the API tool)
create_contact_listsafeCreate a new contact list and optionally add contacts to it. (on /mcp: the API tool)
create_filemass_messageWrite content YOU wrote — a summary, a report, notes, a list — as a file of this conversation, so it can be sent with send_file.
create_list_from_campaignsafeMake a contact list from an SMS campaign’s recipients, filtered by delivery status, whether they clicked the tracked link, and whether they replied; filters …
create_mock_channelsafeCreate a mock channel for simulation testing.
create_segmentsafeCreate a saved contact segment from a filter. (on /mcp: the API tool)
create_whatsapp_templatesafeCreate a new WhatsApp message template and submit it to Meta for approval.
create_widgetsafeCreate a new webchat widget deployment for an agent.
create_workspace_invite_linkmutates_live_deploymentCreate a shareable invite link for the current workspace, valid for 7 days.
ToolRiskWhat it does
delete_agentdestructiveSoft-delete an agent.
delete_api_keydestructiveRevoke an API key by ID.
delete_campaigndestructivePermanently delete a campaign and all its records.
delete_campaign_templatedestructivePermanently delete a campaign template.
delete_campaignsdestructivePermanently delete MANY campaigns and their records at once.
delete_channeldestructiveDelete a configured channel and all its agent deployments.
delete_channelsdestructivePermanently delete MANY configured channels at once, including all their agent deployments.
delete_contactdestructivePermanently delete a contact and all of its channels, addresses, and DNC records (cascaded by FK).
delete_contact_listdestructivePermanently delete a contact list. (on /mcp: the API tool)
delete_contactsdestructiveSoft-delete MANY contacts at once (recoverable by support; hidden everywhere).
delete_conversationsdestructivePermanently delete MANY conversations at once (and their messages, cascaded).
delete_field_definitiondestructiveDelete a custom field definition.
delete_whatsapp_templatedestructiveDelete a WhatsApp template from both Meta and our system.
delete_widgetdestructiveDelete (deactivate) a webchat widget deployment.
ToolRiskWhat it does
crawl_websitesafeCrawl a website URL and add it as a knowledge base source for an agent.
web_fetchsafeFetch a SINGLE public web page and return its main content as clean markdown — for reading one page’s docs or other public content.
web_searchsafeSearch the web for a query and return a list of real, citable results (title, url, snippet) plus a short synthesized answer when available.
ToolRiskWhat it does
send_emailmass_messageSend a brand-new email (creates a new thread; no reply-to context).
send_filemass_messageSend a file from THIS conversation back to the person — a cleaned CSV or markdown from prepare_attachment, a file from create_file, a preview image, or a fil…
send_file_to_contactmass_messageSend a file from THIS conversation (a file from create_file or prepare_attachment, or one the person sent) to a CONTACT — a customer, a supplier, anyone who …
send_instagram_messagemass_messageSend one free-form Instagram DM to an existing conversation, right now.
send_instructionsafeSend an instruction to agents in a session.
send_messagesafeSend a message to an active call as the end user. (on /mcp: the API tool)
send_message_to_contactmass_messageSend a one-off SMS or free-form WhatsApp message to a contact.
send_voice_dtmfsafeSend DTMF digits (touch-tone) to an active voice call.
send_whatsapp_templatemass_messageSend a WhatsApp template message to a single recipient.
ToolRiskWhat it does
add_addresssafeAdd a postal/physical address to a contact (e.g., shipping or billing).
add_channelsafeAdd a new communication channel (phone, email, WhatsApp, etc.) to an existing contact.
add_contact_tagssafeAdd one or more tags to a contact (e.g., ‘VIP’, ‘q2-leads’).
add_contact_to_listsafeAdd a single contact to a contact list (e.g., a campaign target list).
answer_callsafeAnswer a ringing call simulation.
answer_live_questionsafeAnswer, skip, or defer a question one of the CURRENT user’s live calls is waiting on (listed in your context under ‘Questions from the user’s live calls’).
billing.auto_recharge_getsafeReturns the workspace’s current auto-recharge configuration: enabled flag, threshold (credits), top-up amount (cents — 2000/10000/50000 for $20/$100/$500), f…
billing.list_purchasessafeCursor-paginated history of the workspace’s payments (topup, subscription) and credit grants (grant).
billing.list_usagesafeCursor-paginated list of recent usage_events rows.
billing.open_portalsafeCreate a Stripe Customer Portal session URL — used when the customer needs to update their card, view invoices, or manage billing email.
billing.outstanding_balancesafeReturns the workspace’s current outstanding (unpaid) balance from Stripe — the amount of credit grants reserved against unbilled usage, plus a blocked flag…
billing.set_auto_rechargespends_moneyEnable/disable auto-recharge OR change its threshold + top-up amount.
billing.start_subscriptionspends_moneyStart a Stripe Checkout Session for first-time subscribers.
billing.summarysafeReturns the workspace’s current billing snapshot: credit balance (and paid-vs-cycle-bonus split), suspension state with reason, plan + subscription status, a…
billing.topupspends_moneyTop up the workspace’s credit balance.
billing.usage_breakdownsafePer-surface usage aggregate for the workspace’s current billing cycle — answers ‘where did my credits go this month?’.
billing.usage_chart_dailysafePer-(day, surface-category) credit totals for the usage chart.
bulk_add_to_listsafeAdd many contacts to a contact list in one call.
bulk_remove_from_listsafeRemove many contacts from a contact list in one call.
bulk_tag_contactssafeAdd tags to many contacts in one call.
bulk_untag_contactssafeRemove tags from many contacts in one call.
can_send_instagram_messagesafeCheck whether an Instagram DM can be sent to someone RIGHT NOW, and get the token needed to send it.
cancel_campaignsafeCancel a campaign permanently.
cancel_campaignssafeCancel MANY in-flight campaigns at once — stops all their pending messages.
comment_automation.cancel_rehearsalsafeClose an open Instagram rehearsal window immediately, before it expires on its own.
comment_automation.check_rehearsalsafeReport what a rehearsal of an Instagram comment automation actually did — whether the test comment was seen, whether the keyword matched, whether the public …
comment_automation.get_resultssafeGet results for Instagram comment automations: how many comments matched, how many DMs were sent, how many people tapped the button, and how many clicked a t…
comment_automation.list_leadssafeList the individual people who engaged with an Instagram comment automation, with how far each got (DM sent, tapped, replied) and whether they can still be m…
comment_automation.start_rehearsaldestructiveOpen a bounded, expiring rehearsal window so the operator can test an Instagram comment automation for real, by commenting the keyword on their OWN post from…
configure_channelmutates_live_deploymentConfigure a messaging channel for the organization.
configure_email_channelmutates_live_deploymentUpdate an email channel’s settings: default reply mode (autonomous / draft / human_only), agent binding, signature, or name.
conversation.mark_request_handledsafeMark a customer’s request on a Live signal handled — e.g.
define_custom_fieldsafeRegister a new custom field definition for the workspace (e.g., ‘shirt_size’ as a select with options).
describe_email_channelsafeDescribe one email channel in detail: provider_kind (gmail | microsoft), mailbox address, inbox type, alias / group / delegated-mailbox / connected-user-addr…
dialog_insight.analyze_batchspends_moneyRun a Dialog Insight over many existing conversations in the background.
dialog_insight.attachmutates_live_deploymentAttach a Dialog Insight to an agent (its DEFAULT — used by inbound calls and by outbound calls with no campaign override) or to a campaign (an OVERRIDE that …
dialog_insight.batch_statussafeShow the progress of a Dialog Insight batch job started with dialog_insight.analyze_batch, or by attaching an insight to an agent with the option to analyse …
dialog_insight.createsafeFIRST: if the user wants to capture something MORE from an agent that already has a Dialog Insight, do NOT use this — an agent runs only ONE, so attaching a …
dialog_insight.deletedestructivePermanently delete a Dialog Insight.
dialog_insight.generatesafeRead an agent’s system prompt and PROPOSE Dialog Insight fields from the questions it asks.
dialog_insight.getsafeFetch one Dialog Insight with its full field definitions (key, label, type, allowed values, extraction guidance, whether the finding becomes a label) and its…
dialog_insight.listsafeList the Dialog Insights in this workspace.
dialog_insight.set_live_signalmutates_live_deploymentTurn Live detection on or off for ONE yes/no field of a Dialog Insight.
dialog_insight.templatessafeList the built-in Dialog Insight templates.
dialog_insight.testsafeTest a Dialog Insight against one real past conversation and show what it would extract.
dialog_insight.updatesafeUpdate a Dialog Insight’s name, description, or fields.
dismiss_duplicate_contactssafeRecord that two contacts flagged as duplicates are NOT the same person.
draft_call_plansafeDraft a Call plan: turn the user’s errand into a draft campaign that calls businesses and asks them questions, such as venue availability and price.
draft_email_replysafeSave a draft reply to an email thread (does NOT send).
end_voice_callsafeEnd (hang up) an active voice call.
extract_site_brandingsafeFetch a website and extract its branding for widget setup — primary color, candidate brand colors, logo URL, site name, and language.
find_businessessafeFind real businesses to call near a place (Google Places): name, phone, address, website, rating, distance, open now, time zone.
find_contact_by_channelsafeLook up an existing contact by an exact channel address (e.g.
forget_factsafeDelete one About me fact of the CURRENT user (by id or key from list_my_facts).
generate_iconsafeGenerate custom SVG icon variants for a webchat widget using AI.
generate_preview_htmlsafeGenerate a downloadable HTML preview page that shows the webchat widget embedded on a simulated website.
generate_test_linksafeGenerate a shareable test link for an agent.
hangup_allsafeHang up all active calls in a session.
hangup_callsafeHang up a single call by conversation ID.
import_contactssafeAdd contacts to an existing contact list, upserted by phone number (existing contacts are updated, new ones created).
instagram.list_recent_mediasafeList the newest posts on the user’s connected Instagram account (newest first): caption snippet, comment count, post date, media type, permalink and a thumbn…
integration.add_approved_addressmutates_live_deploymentApprove one more address an integration may send its key or signature to (its “Approved addresses”).
integration.add_toolsafeAdd an API tool to an API integration (the agent can then use it once it is attached with update_agent integrationTools.add).
integration.callmutates_live_deploymentRun one of the workspace’s API tools now and return its answer (snake_case: ok, data, truncated, error, call_id).
integration.createsafeStart a new integration.
integration.describesafeGet one integration in detail by id (ig-…, an older cn-…, or UUID): status, attention codes, usedBy, approved origins, its credentials (label, isDefault, own…
integration.import_openapisafeImport tools from an API’s OpenAPI (Swagger) file into an API integration.
integration.listsafeList the workspace’s integrations (Slack / Gmail sign-ins, HTTP and MCP services, workflow keys, signing secrets, model keys (LLM providers, or ElevenLabs fo…
integration.refresh_mcp_toolsmutates_live_deploymentRead an MCP server integration’s tool list from the server again now, after the user confirms on a card.
integration.remove_tooldestructiveDelete an API tool (tool: name or it-… id).
integration.set_agent_accessmutates_live_deploymentChoose which key an agent uses for every tool of one integration: agent_id, integration_id, account (a key’s label from integration.describe; omit for the in…
integration.set_tool_visibilitymutates_live_deploymentChoose who may use the tools of one integration: agents (AI agents can be given and offered the tool) and / or workflows (a workflow step can call it).
integration.testsafeTest an integration’s key with a live call to its provider and record the result.
integration.test_toolmutates_live_deploymentCheck one of the workspace’s API tools and record the result on it (like Check on the dashboard).
integration.update_toolmutates_live_deploymentChange an API tool: pass tool (name or it-… id) and only the fields to change (title, description, method, path, query, headers, body, inputs, risk, channels…
invite_workspace_membermutates_live_deploymentInvite a user to the current workspace by email address.
kb_add_manualsafeAdd a knowledge-base document by pasting Markdown content directly.
kb_delete_documentdestructivePermanently delete a knowledge-base document.
kb_delete_gapdestructiveDismiss (delete) a knowledge-base ingestion gap — the reminder for a URL/file that couldn’t be extracted.
kb_delete_sourcedestructivePermanently delete a KB source AND all of its documents and ingest gaps (cascades).
kb_get_documentsafeFetch a single knowledge-base document in full, including its markdown content, quality flags, and metadata.
kb_ingestmutates_live_deploymentIngest selected web pages and/or uploaded files into an agent’s knowledge base.
kb_list_documentssafeList the documents in an agent’s knowledge base (newest first), or just the documents from a single source.
kb_list_site_urlssafeList a website’s sitemap URLs ranked by likely knowledge-base value (high-value pages like /docs, /pricing, /faq first; blog/tag/dated pages demoted), groupe…
kb_list_sourcessafeList the sources (crawled sites, uploaded files, manual text) in an agent’s knowledge base, with a per-source document count and how many of those documents …
kb_recrawlsafeRe-crawl a website source — re-fetches and re-extracts each previously-discovered page, REPLACING the source’s existing documents with the fresh result (so a…
kb_recrawl_documentsafeRe-crawl a SINGLE knowledge-base document — re-fetch and re-extract just its source URL, replacing that one document.
kb_review_qualitysafeReview the quality of an agent’s knowledge base: a summary of how many documents are clean vs.
kb_searchsafeSearch an agent’s knowledge base for passages relevant to a query (PGroonga full-text over per-document chunks, ranked by relevance, deduplicated by chunk co…
kb_update_documentsafeEdit a knowledge-base document — change its title and/or replace its markdown body.
llm.check_budgetsafeInspect the current workspace’s monthly LLM budget and month-to-date spend.
llm.list_usagesafeList LLM usage breakdown by provider+model for a given month (defaults to current month).
llm.set_budgetsafeSet or clear the workspace’s monthly LLM budget.
manage_notification_prefssafeGet or change the CALLING user’s own proactive-notification preferences for this workspace (digest cadence/channel, alert channel, quiet hours, timezone, web…
merge_contactsdestructiveMerge two contact records that are the same person.
merge_safe_duplicatesdestructiveMerge every duplicate pair the platform itself verified — the same phone number that sent a message on two records (for example a WhatsApp message from a num…
messages.searchsafePostgres FTS keyword search over conversation message content using PGroonga (CJK-friendly: handles English, Chinese, Japanese, Korean transparently).
mute_voice_callsafeMute or unmute the agent’s microphone on an active voice call.
octo.get_channelssafeRead how the user can reach Octo from OUTSIDE the app: Octo’s own email address for this workspace (derived per environment — use it verbatim, never type an …
octo.link_slacksafeBuild the Slack install link — the SH-11 ‘Add to Slack’ chip.
octo.link_whatsappdestructiveMint the user’s WhatsApp connect link — the SH-11 ‘Link my WhatsApp’ chip.
onboarding.session_receiptsafeBuild the SH-10 Session Receipt for the user’s current session as finished markdown, from real records only, and (by default) email a copy to them from Octo’…
outbound_compliancesafeRead or record this workspace’s Outbound Calling Compliance acknowledgment — the one-time attestation an owner/admin must accept before the workspace places …
pause_campaignsafePause a running campaign. (on /mcp: the API tool)
prepare_attachmentmass_messageReshape messy data into something target accepts, by writing and running a small Python script over it.
preview_image_cropsafeMake a preview of an image from THIS conversation, prepared for the workspace logo or the webchat widget icon.
preview_whatsapp_campaignsafePreview a WhatsApp campaign before launching.
propose_factmutates_live_deploymentPropose saving a fact about the CURRENT user to About me (e.g.
publish_widget_imagemutates_live_deploymentPublish an image as the chatbot widget’s icon or avatar on a PUBLIC URL and set it on the widget in the same confirmed step — no update_widget call is needed…
read_attachmentsafePreview an uploaded attachment by its object path (from the attachment manifest).
register_webhookmutates_live_deploymentRegister the webhook URL with the messaging platform so it sends inbound messages to our server.
remove_addresssafeRemove a postal/physical address from a contact.
remove_channelsafeRemove a channel from a contact.
remove_contact_from_listsafeRemove a single contact from a contact list.
remove_contact_tagsafeRemove a single tag from a contact.
remove_workspace_memberdestructiveRemove a member from the current workspace.
reply_to_email_threadmass_messageReply to an existing email thread.
respond_to_inputsafeRespond to a pending input request from an agent during a voice call.
respond_to_voice_inputsafeSend an operator’s response to a pending input_request from the voice agent.
resume_campaignmass_messageResume a previously paused campaign. (on /mcp: the API tool)
return_conversation_to_aimutates_live_deploymentHand a paused (handed_off) conversation back to the AI — exactly what the inbox’s “Return to AI now” button does.
save_my_phone_numbersafeSave a phone number on the CURRENT USER’s own profile — the person you are talking to.
save_voicemail_recordingsafeSave an uploaded audio file (mp3/m4a/ogg — NOT wav) as a reusable voicemail recording (vm-…) for voice campaigns.
set_custom_fieldsafeSet or update a single custom field value on a contact (e.g., ‘shirt_size’).
set_dncsafeMark a contact’s channel as opted-out (do-not-contact).
set_email_thread_ai_pausedsafePause or unpause AI replies on a single email thread.
set_phone_number_limitssafeSet a phone number’s outbound sending rate limits (per-number override).
set_primary_channelsafeMark one of a contact’s channels as primary.
set_workspace_logomutates_live_deploymentSet the WORKSPACE logo (shown in the dashboard) to a preview you made with preview_image_crop(target: ‘workspace_logo’).
sms.get_number_requestssafeList this workspace’s requests for an SMS (texting) number, newest first: status (new = request received, contacted = the team is in touch and has sent the p…
sms.request_numbermass_messageAsk the Omni Octo team for an SMS (texting) number — the same request as Phone numbers → ‘Request an SMS number’.
start_campaignmass_messageLaunch a draft campaign. (on /mcp: the API tool)
start_simulationsafeStart a text-based call simulation for a voice agent.
start_voice_callmass_messagePlace an outbound voice call.
summarize_email_threadsafeReturn the rolling LLM summary stored on the email thread, plus participants and message count.
support.request_helpmass_messageRoute a request to the Omni Octo team — ONLY at the two moments the copy names: SH-04’s $150 concierge at the Meta business verification wall (`concierge_met…
switch_workspacesafeSwitch which workspace the user’s WhatsApp line operates in.
sync_whatsapp_templatessafePull all WhatsApp templates from Meta for a channel and upsert them into our DB.
test_channelmass_messageSend a test message through a configured channel to verify it works end-to-end.
triage_conversationssafeTrigger auto-triage of conversations using LLM analysis.
trial.bind_agentmutates_live_deploymentTurn on the SHARED Omni Octo trial number for this workspace’s outbound calls, naming the DEFAULT agent (the one that dials when start_voice_call gets no `…
trial.check_call_quotasafeRead the workspace’s TRIAL CALLING allowance: how many calls it has made today, how many it has made in total, and how many of each remain.
trial.get_numbersafeCheck whether this workspace can use a SHARED TRIAL PHONE NUMBER for outbound calls, and which agent (if any) is its default caller.
trial.release_numbermutates_live_deploymentStop this workspace’s agent from placing outbound calls from the shared Omni Octo trial number.
undeploy_agentmutates_live_deploymentRemove an agent’s deployment from a channel.
undeploy_agentsmutates_live_deploymentRemove MANY agent deployments at once — the affected agents stop receiving messages from those channels.
unmerge_contactsdestructiveUndo a contact merge.
unset_dncsafeRemove a do-not-contact mark from a contact’s channel (mark as opted-in).
validate_channelsafeTest that a configured channel’s credentials are valid by making a health-check API call to the platform.
vector.searchsafeCosine-similarity ANN search over the workspace’s pgvector store.
vector.storesafeStore a text + metadata vector in the workspace-scoped pgvector store.
verify_email_channelsafeRun the email channel’s round-trip verification probe.
view_attachmentsafeLook again at an image or PDF from THIS conversation — one the person sent earlier, or a preview you made with preview_image_crop.
voice.check_minute_budgetsafeInspect the workspace’s DAILY voice-minute budget: the cap, minutes already used, minutes HELD by queued or scheduled campaigns (and which ones), and minutes…
voice.set_minute_budgetsafeSet the workspace’s DAILY voice-minute cap (cost safety).
whatsapp.get_statussafeRead the WhatsApp lane’s facts in one call: connected numbers and whether each is ANSWERING (answering — a channel with no deployment is connected and mute…
whatsapp.record_verification_eventdestructiveRecord what happened to this workspace’s Meta business check.
workflow.add_stepsafeInsert a new step into an existing workflow’s blueprint at the requested position.
workflow.archivesafeArchive a workflow.
workflow.draftsafeDraft a workflow blueprint from a natural-language intent using the validator-driven LLM loop.
workflow.dry_runsafeSimulate a workflow run end-to-end with a sample trigger payload.
workflow.getsafeFetch a single workflow with its active blueprint and a plain-English summary.
workflow.get_runsafeFetch a single workflow run with its trigger payload, status, run-level error (if any), and the per-step trace (started/completed/failed/skipped events with …
workflow.ingest_openapisafeParse an OpenAPI 3.0 spec and persist a generated step-kind catalog to an integration (integration takes its ig-… / cn-… id or UUID).
workflow.listsafeList workflows in the current workspace.
workflow.list_runssafeList recent runs for a workflow.
workflow.pausesafePause a workflow.
workflow.remove_stepsafeRemove a step from an existing workflow’s blueprint.
workflow.reorder_stepssafeReorder the top-level steps in an existing workflow’s blueprint.
workflow.resumesafeResume a paused workflow back to active.
workflow.run_oncemass_messageRun a saved workflow once, now, with a trigger payload you give or the payload of an earlier run of it.
workflow.savesafePersist a validated blueprint as a new workflow OR as the next version of an existing workflow.
workflow.stopsafeCancel every currently-running run for the given workflow via Temporal cancellation.
workflow.update_fieldsafeSurgically update a single field in an existing workflow’s blueprint.
ToolRiskWhat it does
buy_phone_numberspends_moneyBuy (provision) a phone number for the workspace.
deploy_agentmutates_live_deploymentDeploy an AI agent to a configured channel so end users on that platform can interact with it.
ToolRiskWhat it does
get_agentsafeGet an agent by ID or name. (on /mcp: the API tool)
get_agent_deploymentssafeList all channel deployments for an agent.
get_agent_knowledgesafeList knowledge base sources for an agent — source type, URL, file name, indexing status, and a per-source document count (plus how many of those documents ha…
get_analyticssafeGet basic analytics for an agent (conversation count, label distribution).
get_call_presetsafeGet a call-config preset’s full configuration by ID.
get_call_statussafeGet the current status of a call simulation including phase, transcript, knowledge base, and extracted data.
get_campaignsafeGet full details about a campaign: config, schedule, retry policy, rate limits, stats, Temporal workflow ID, agent name, channel name, contact list name, and… (on /mcp: the API tool)
get_campaign_resultssafeGet campaign results — either a summary of all records, or full details for a single call. (on /mcp: the API tool)
get_campaign_templatesafeGet the full configuration of a specific campaign template by ID.
get_channelsafeGet a single channel by ID.
get_channel_setup_urlsafeGet the connect page for an Instagram or Messenger channel.
get_contact_list_memberssafeGet all contacts in a specific contact list, including their phone number, name, email, tags, and when they were added to the list.
get_conversationsafeGet full conversation detail with messages, sender info, flags, and extracted data. (on /mcp: the API tool)
get_conversationssafeRetrieve recent conversations in the workspace.
get_current_user_phone_numbersafeRead the phone number saved on the CURRENT USER’s own profile — the person you are talking to, whose turn this is (in onboarding, the workspace owner).
get_custom_fieldssafeGet all custom field values on a contact.
get_dnc_historysafeRead the full audit log of opt-in/opt-out events for a contact.
get_email_channel_setup_urlsafeBuild a dashboard URL the user can open to set up a new email channel (mode=‘new’) or re-authorise an existing one (mode=‘reconnect’).
get_last_contact_interactionsafeGet the most recent inbound + outbound interaction times for a contact, per channel (whatsapp, sms, voice).
get_sms_campaign_resultssafeResults of an SMS campaign: the delivery pipeline (Not yet sent, Sending, Sent, awaiting receipt, Delivered, Not delivered, Failed, Unconfirmed, Skipped), en…
get_sms_delivery_summarysafeQuick SMS campaign overview: the same report as get_sms_campaign_results without the recipient list.
get_voice_conversationsafeFetch a single voice conversation by ID.
get_whatsapp_templatesafeFetch a single WhatsApp template by UUID or short ID (wt-xxxxxxxxxx).
get_widgetsafeGet the configuration of a webchat widget deployment by its ID.
get_widget_assetssafeList the PUBLIC widget branding assets (logos/icons) published for an agent — each with its public_url and whether it is currently publicly reachable.
get_workspacesafeGet the current workspace.
list_agentssafeList AI agents in the organization. (on /mcp: the API tool)
list_api_keyssafeList all API keys for the organization.
list_call_presetssafeList available call-config presets for common voice call use cases.
list_campaign_templatessafeList user-saved campaign templates in the workspace (rows in the campaign_templates table).
list_campaignssafeList outbound campaigns for the organization. (on /mcp: the API tool)
list_configured_channelssafeList channels configured for this organization, with status, the ONE agent that ANSWERS each one (answering_agent_id, or null when nobody does — a normal sta…
list_contact_listssafeList contact lists in the workspace. (on /mcp: the API tool)
list_contactssafeList contacts in the workspace, optionally filtered by tags, WhatsApp presence, channel types, or a free-form search term. (on /mcp: the API tool)
list_deploymentssafeList the webchat widget deployments for an agent, newest first (up to 200).
list_dncsafeList all do-not-contact statuses for a contact, one row per channel.
list_duplicate_contactssafeList pairs of contacts that look like the same person: the same phone number (in any form) or the same email.
list_email_aliasessafeList the “Send mail as” / “Send As” addresses the channel can send from.
list_email_channelssafeList every email channel configured in the workspace — Gmail and Outlook / Microsoft 365 — with mailbox address, provider_kind (gmail | microsoft), inbox typ…
list_email_threadssafeList the email threads in a mailbox with enough to NAME each one: subject, who it is with, how old, whether the last message we can see is theirs, and whethe…
list_field_definitionssafeList all custom field definitions for the workspace.
list_ivr_treessafeList all available IVR trees.
list_my_factssafeList what Octo remembers about the CURRENT user (About me): label, value, share level.
list_phone_numberssafeList workspace phone numbers — UUIDs, pn-… short ids, and the E.164 string for each, plus each number’s voice and SMS channel.
list_segmentssafeList saved contact segments in the workspace. (on /mcp: the API tool)
list_supported_channelssafeList the deployment channel types THIS Omni Octo platform supports for the user’s OWN agents (e.g.
list_voice_conversationssafeList voice conversations (inbound and outbound calls) in the workspace.
list_voicemail_recordingssafeList the workspace’s saved voicemail recordings (vm-… reusable audio assets) for voice campaigns. (on /mcp: the API tool)
list_voicessafeList the voices an agent can speak with, from the platform’s voice catalog.
list_whatsapp_templatessafeList WhatsApp message templates for the current workspace.
list_workspace_memberssafeList all members of the current workspace, including their user ID, role, name, email, and join date.
list_workspacessafeList all workspaces the current user is a member of, along with their role in each workspace.
search_phone_numberssafeSearch available phone numbers to buy for the workspace (voice/SMS).
ToolRiskWhat it does
update_addresssafeUpdate a contact’s postal/physical address text or label.
update_agentmutates_live_deploymentUpdate one or more fields of an existing agent. (on /mcp: the API tool)
update_campaign_draftsafePatch a draft (or paused) campaign with a partial set of mutable fields. (on /mcp: the API tool)
update_channelmutates_live_deploymentUpdate a channel’s name, credentials, or config.
update_channel_addresssafeUpdate the address of an existing channel.
update_contactsafeUpdate an existing contact’s profile fields (name, company, notes, birthday, tags). (on /mcp: the API tool)
update_segmentsafeUpdate a saved segment’s name and/or filter. (on /mcp: the API tool)
update_whatsapp_numbersafeStart linking or changing the WhatsApp number the CURRENT user talks to Octo on.
update_widgetsafeUpdate the configuration of an existing webchat widget deployment.
update_workspacesafeUpdate the current workspace name and/or logo URL.