createCoAdminTools → POST /workspaces/:workspace_id/co-admin/tools/execute → executeCoAdminTool.
Tool index
get_workspace_overview
When to use
- “Give me a workspace overview”
- “How many open threads?” / “How many unread messages?”
- “How many AI agents do we have?”
- “How big is our team?”
- Morning standup status checks
- Any question needing multiple counts in one call (prefer this over guessing)
Parameters
None.Response shape (key fields)
Notes
- Connected channels =
status === "active"per type. - Thread statuses depend on workspace data (typically
open,resolved, etc.). - Does not list individual channel names — use
list_channelsfor that. - Output may be Headroom-compressed when payload exceeds ~2KB and compression is enabled.
list_channels
When to use
- “Which channels are connected?”
- “List our WhatsApp numbers”
- “Show Instagram channels”
- After overview shows counts but user wants names and identifiers
Parameters
Response shape
Notes
- Multiple WhatsApp channels per workspace are supported.
- Use returned
idaschannel_idforget_channel_analytics(WhatsApp only).
list_webhooks
When to use
- “List our webhooks”
- “Which webhooks are active?”
- “What events are we sending to Zapier?”
Parameters
Response
Returns webhook destinations with URL, platform/source, subscribed events, and active flag (fromwebhookDestination table).
Notes
- Co-Admin cannot create or edit webhooks — point users to Settings → Integrations and
integrations/webhooksdocs. - For setup steps, also call
search_product_docs.
get_channel_analytics
When to use
- “WhatsApp delivery rate last 30 days”
- “How many messages failed this week?”
- “Campaign performance” / “read rate trend”
- Delivery troubleshooting (high failed count)
Parameters
WhatsApp-only detail
UsesgetWhatsappDbAnalyticsSummary — database-backed message stats for WhatsApp.
Typical metrics include: sent, delivered, read, failed, and derived delivery/read rates, often with daily series suitable for line or combo charts.
Non-WhatsApp channels
Ifchannel_id points to Messenger or Instagram, the tool returns:
Comparison with Analytics dashboard
See
analytics/ docs for export row limits and cache behavior.
get_contact_analytics
When to use
- “Look up customer [email protected]”
- “How many messages did +88017… send last month?”
- “Which labels does this contact have?”
- “Who handled this customer?”
- “Estimated cost for outbound to this contact”
Parameters
Critical rule
Name alone is insufficient. If the user only provides a name, Co-Admin must ask for email or phone — never guess a contact.Response sections
Assignee types in conversations
Privacy
Returns aggregates and metadata — not full message transcripts. For message content, users must open Chat.Label filter
Whenlabel is set, stats and threads filter to conversations carrying that label — useful for “how is this VIP tag performing for this customer?”
search_product_docs
When to use
- “How do I connect WhatsApp?”
- “What’s on the Pro plan?”
- “How does AI handover work?”
- “How do agencies use multiple workspaces?”
- Any how-to / what-is / setup question about Vendschat features
When not to use
- “How many channels do I have?” →
get_workspace_overvieworlist_channels - “Our delivery rate?” →
get_channel_analytics - “Lookup john@…” →
get_contact_analytics
Parameters
Search behavior
- If Voyage embeddings configured: hybrid vector + full-text search + rerank (
CO_ADMIN_RAG_HYBRIDnot0). - On failure or no Voyage: FTS-only fallback.
- Only documents with ingest status
readyare searchable.
Response
Answering from hits
Co-Admin should synthesize answers from snippets and cite dashboard paths (Settings → Channels, Chat, etc.). If hits are empty, say so and suggest the closest Settings page or rephrase.Tool selection decision tree
Capabilities API
GET /workspaces/:workspace_id/co-admin/capabilities returns the manifest: can, cannot, tools schemas, and routing groups (live_data vs product_docs).
Useful for debugging; end users do not see this endpoint in the UI.