MCP, référence des tools
Le serveur MCP expose 196 tools pour Claude Desktop / Code / web.
Tu connectes le serveur en une commande depuis /settings/mcp dans l'app. Token au niveau workspace
ou accès plateforme pour les super-admins.
Voir aussi les recettes MCP.
Tools plateforme
Opérations cross-workspace. Super-admin uniquement.
agent.*
-
agent.provision_client_completeWRITE-safe AGENTProvision a complete Kernel client workspace: workspace + admin user + Stripe Connect onboarding link + seed data + onboarding email. Returns the new workspace details. Idempotent on slug.
scope: * -
agent.archive_workspaceDESTRUCTIVE AGENTArchive workspace cleanly: dry-run export, cancel Stripe subscription, soft-archive in DB, notify owner. Multi-step with partial-failure surfacing.
scope: *
platform.*
-
list_workspacesREADList all workspaces with billing + member count + last activity. Filter by status (active/archived/past_due/comped/all), plan, or text query on name/slug.
scope: * -
get_workspaceREADGet full workspace detail by slug: owner, billing, Stripe Connect, domains, theme, member count.
scope: * -
list_membersREADList workspace members. If workspace_id is provided, scoped to that workspace; otherwise returns all members across workspaces.
scope: * -
get_memberREADGet a member by user_id + workspace_id, with profile data joined.
scope: * -
list_auditREADList recent kernel_activity entries across or within a workspace. since: ISO date (default last 24h).
scope: * -
get_billing_overviewREADAggregate billing metrics across all workspaces: MRR, ARR, active subscriptions count, past_due count, comped count.
scope: * -
list_domainsREADList custom domains across workspaces.
scope: * -
list_themesREADList active workspace themes.
scope: * -
list_integrationsREADList per-workspace integrations (Stripe Connect, Google, Meta, LinkedIn, TikTok).
scope: * -
get_system_healthREADAggregate system health: pending Apify, failed studio publish, pending JIT approvals, recent error count.
scope: * -
list_plansREADList all billing plans (id, name, monthly_price_cents, currency).
scope: * -
list_billing_accountsREADList Billing Accounts (1 user → 1 BA → N workspaces). Each BA owns one Stripe customer + card and may pay for multiple workspaces. Filter by has_card (BAs with a Stripe customer attached) or text query on owner email.
scope: * -
get_billing_accountREADGet a Billing Account by id or by owner_user_id. Returns the BA row + the Stripe payment method (brand/last4/exp) + every workspace billed by this BA with plan + subscription status.
scope: * -
list_waitlistREADList signups in the waitlist (status, source, created_at).
scope: * -
search_globalREADCross-workspace text search across workspaces, members, contacts (top 5 of each).
scope: * -
create_workspaceWRITE-safeCreate a new workspace via create_workspace_for_owner_v2_with_domains RPC. Requires existing owner user_id.
scope: * -
update_workspace_identityWRITE-safeUpdate workspace name, brand_color, icon_url, logo_url.
scope: * -
set_workspace_planWRITE-safeChange the billing plan for a workspace (updates workspaces.plan only; Stripe subscription change is separate).
scope: * -
add_memberWRITE-safeInvite an existing user as a member of a workspace.
scope: * -
update_member_roleWRITE-safeChange a member role within a workspace.
scope: * -
set_platform_flagWRITE-safeSet a global platform feature flag (Hypervisor-scoped). Affects ALL workspaces.
scope: * -
connect_integrationWRITE-safeMark a workspace integration as connected (stores credentials elsewhere — this only flips status).
scope: * -
add_domainWRITE-safeAdd a custom domain to a workspace (unverified until DNS check passes).
scope: * -
archive_workspaceDESTRUCTIVESoft-archive a workspace (sets archived_at). Reversible. Stripe subscription stays active until manually cancelled.
scope: * -
delete_workspaceDESTRUCTIVEHARD delete a workspace via cascade. Irreversible. Use archive_workspace first.
scope: * -
delete_memberDESTRUCTIVERemove a member from a workspace. Their auth.user row is preserved.
scope: * -
purge_audit_older_thanDESTRUCTIVEHard-delete kernel_activity rows older than the given ISO date. Cannot be undone.
scope: * -
force_billing_cancelDESTRUCTIVEForce-mark a workspace billing as cancelled (workspace_billing.stripe_subscription_status = canceled). Stripe must be cancelled separately.
scope: * -
revoke_tokenDESTRUCTIVERevoke an MCP token by id. Sets revoked_at. Subsequent calls return 401.
scope: * -
replay_webhookDESTRUCTIVEEnqueue a webhook replay for a workspace + provider (Stripe/Meta/...).
scope: * -
platform.media.workspace_statsREADCross-workspace media library usage (count, archived, bytes, AI generated, quota, last upload).
scope: * -
platform.media.orphansREADList media items with zero recorded usage older than N days. Sorted by size desc.
scope: * -
platform.media.set_quotaWRITE-safeSet storage_quota_bytes on a workspace. Pass null to remove the quota (unlimited).
scope: * -
platform.media.purge_workspaceDESTRUCTIVEHard-delete all media_items + storage objects archived more than N days ago for a given workspace. Irreversible.
scope: *
Tools workspace
Scopés à un seul workspace via token OAuth.
ads.*
-
ads.campaigns.listREADList Ads campaigns.
scope: ads:read -
ads.campaigns.get_perfREADGet performance metrics for an Ads campaign (spend, impressions, clicks, leads).
scope: ads:read -
ads.lead_funnelREADEnd-to-end lead-quality funnel for the workspace ads over a configurable window. Returns the aggregated counts at each step: leads submitted, calls booked, contacts who paid, and total revenue in cents. Lets an agent answer "what's my ads ROI" without poking at each table.
scope: ads:read -
ads.launches.listREADList multi-platform launch groups. Each launch fanned a single brief into 2-4 platform campaigns. Returns the launch_group_id, top-level name, abstract objective, platform count, and total daily budget across platforms.
scope: ads:read -
ads.launches.getREADGet a single multi-platform launch group with its sub-campaigns + 7-day aggregated metrics (impressions, clicks, spend, conversions) across all platforms.
scope: ads:read -
ads.campaign.updateWRITE-safeUpdate Ads campaign fields.
scope: ads:write -
ads.campaign.pauseWRITE-safePause an Ads campaign.
scope: ads:write -
ads.campaign.resumeWRITE-safeResume a paused Ads campaign.
scope: ads:write -
ads.campaign.deleteDESTRUCTIVEDelete an Ads campaign.
scope: ads:delete
agent.*
-
agent.weekly_studio_publishWRITE-safe AGENTPublish all approved Studio drafts to the requested channels (LinkedIn / TikTok / Instagram / YouTube). Limits per channel. Continues on partial failure and returns per-channel breakdown.
scope: * -
agent.process_inbound_leadWRITE-safe AGENTProcess an inbound lead (LinkedIn URL or email): enrich via Apollo + Apify, upsert contact, create opportunity deal, run strategic audit, enroll in welcome sequence. Continues on best-effort failures (e.g., Apify timeout).
scope: * -
agent.monthly_invoice_runWRITE-safe AGENTGenerate + send recurring monthly invoices for all active retainer clients in a workspace. Idempotent on (workspace_id, billing_month). dry_run=true returns the list without creating invoices.
scope: * -
agent.send_audit_recapWRITE-safe AGENTSend the audit results summary to a contact via email + log in 360 timeline.
scope: * -
agent.relance_impayesWRITE-safe AGENTFor each overdue invoice : classify severity (1=light, 2=medium, 3=collections), pick template, send relance email.
scope: * -
agent.bulk_enrich_contactsWRITE-safe AGENTEnrich contacts in bulk (Apify queue + Apollo). Filter by lifecycle_stage or list of ids.
scope: * -
agent.replay_failed_dmsWRITE-safe AGENTRe-enqueue failed inbox_outbound_messages for retry (with exponential backoff schedule).
scope: * -
agent.daily_briefingREAD AGENTAggregate yesterday : new contacts/deals/publications/payments/inbox. Returns markdown briefing.
scope: * -
agent.send_dm_in_voiceWRITE-safe AGENTDraft a DM in the user's voice profile (from voice_corpus) and send via inbox.
scope: *
analytics.*
-
analytics.summaryREADCross-channel business summary over a window: ads spend + lead funnel (leads → calls → revenue) + booking outcomes + total revenue. Returns derived ratios (CPL, CAC, close rate, ROAS, blended ROI). The one-call tool to answer 'comment tourne le business ce mois'.
scope: analytics:read
api_keys.*
-
api_keys.listREADList API keys (fos_sk_live_...) for the current workspace. Returns metadata only — plaintext tokens are never readable after creation.
scope: api_keys:read -
api_keys.createWRITE-safeCreate a long-lived API key for the current workspace. The plaintext token is returned ONCE in this response — store it immediately. Scopes default to ["read:*"]; pass ["*"] for full access.
scope: api_keys:write -
api_keys.revokeDESTRUCTIVERevoke an API key by id. Sets revoked_at = now. Subsequent calls with the revoked token return 401. Idempotent.
scope: api_keys:write
billing.*
-
billing.get_subscriptionREADGet the current Kernel SaaS subscription state for this workspace: plan, status, trial_end, period end, cancel_at_period_end.
scope: billing:read -
billing.get_usageREADGet current-period usage summary (service, included quota, used, estimated overage cost) for this workspace.
scope: billing:read -
billing.get_accountREADGet the Billing Account paying for this workspace (1 user → 1 BA → N workspaces). Returns owner, Stripe customer, payment method (brand/last4/exp). The cross-workspace list of workspaces billed by the same BA is only returned to the BA owner (viewer_is_owner=true); guests see only the current workspace.
scope: billing:read -
billing.upgrade_checkoutWRITE-safeCreate a Stripe Checkout session to upgrade this workspace to Pro (14-day trial, CB required). Returns the hosted Checkout URL — open it in a browser to complete the payment.
scope: billing:write -
billing.open_portalWRITE-safeOpen a Stripe Customer Portal session for this workspace (update card, change plan, cancel). Returns the portal URL.
scope: billing:write -
billing.open_user_portalWRITE-safeOpen a Stripe Customer Portal session for the current user's Billing Account (cross-workspace : every subscription paid by the same card is manageable from one portal). Use this when the user wants to update their card once for all workspaces they own.
scope: billing:write
booking.*
-
booking.revenue_attributionREADReturns revenue attribution for bookings over a period: total bookings, completed, cancelled, no-show, attributed revenue from contacts who had a booking + a succeeded transaction in the window. The killer business metric for a freelance dev who lives on calls → sales.
scope: booking:read -
booking.event_types.listREADList bookable event types in the workspace.
scope: booking:read -
booking.bookings.listREADList bookings (filterable by status, since).
scope: booking:read -
booking.bookings.list_detailedREADPaginated detailed list of bookings with invitee name / email / timezone / linked event type / host. Use this when the simple list does not give enough context.
scope: booking:read -
booking.event_type.updateWRITE-safeUpdate a booking event type (name, duration, active state).
scope: booking:write
brand.*
-
brand.save_theme_wizardWRITE-safeSave the workspace's design system in one call: vibe preset + accent color + typography + radius + density. Compiles the full token bundle (color/font/radius/shadow + layout) and writes it to workspace_theme. Mirrors the accent into workspaces.brand_color.
scope: settings:write
contacts.*
-
contacts.listREADList contacts in the current workspace, filterable by lifecycle_stage / source / text query.
scope: contacts:read -
contacts.getREADGet a contact by id (must belong to current workspace).
scope: contacts:read -
contacts.get_360READProspect 360 view: contact + recent conversations + bookings + audits + deals + payments.
scope: contacts:read -
contacts.searchREADSearch contacts by email/name/linkedin substring.
scope: contacts:read -
contacts.paying_customersREADLists contacts who paid in the period, sorted by total amount desc. Joins prospects.email with transactions.email to recover the contact_id when present. Useful for an agent answering 'qui m'a acheté' or for triggering follow-up workflows.
scope: contacts:read -
contacts.upsertWRITE-safeCreate or update a contact (by id, email, or linkedin_url).
scope: contacts:write -
contacts.enrichWRITE-safeQueue an Apify enrichment for a contact (LinkedIn scrape) + Apollo lookup.
scope: contacts:write -
contacts.tagWRITE-safeAdd a tag to a contact.
scope: contacts:write -
contacts.deleteDESTRUCTIVEHard-delete a contact and all related data. Irreversible.
scope: contacts:delete
conversations.*
-
conversations.transcripts.listREADList Fathom conversation transcripts.
scope: conversations:read -
conversations.transcripts.getREADGet full transcript content by id.
scope: conversations:read -
conversations.note.createWRITE-safeAdd a note to a conversation transcript.
scope: conversations:write
counsel.*
-
counsel.quotes.listREADList Counsel quotes (devis).
scope: counsel:read -
counsel.invoices.listREADList Counsel invoices (factures).
scope: counsel:read -
counsel.revenue.summaryREADTotal revenue from succeeded transactions over a window. Breaks down by week and gives the top contributing customers (email + total). Lets an agent answer 'combien j'ai encaissé ce mois' in one call.
scope: counsel:read -
counsel.quote.createWRITE-safeCreate a Counsel quote (devis).
scope: counsel:write -
counsel.quote.sendWRITE-safeSend a Counsel quote to the contact (status → sent).
scope: counsel:write -
counsel.invoice.createWRITE-safeCreate a Counsel invoice (facture).
scope: counsel:write -
counsel.invoice.sendWRITE-safeSend a Counsel invoice (status → sent).
scope: counsel:write -
counsel.invoice.cancelDESTRUCTIVECancel a Counsel invoice (status → cancelled).
scope: counsel:delete -
counsel.payment.refundDESTRUCTIVERefund a Counsel invoice payment via Stripe.
scope: counsel:refund
crm.*
-
crm.segments.listREADList CRM segments in the current workspace.
scope: contacts:read -
crm.segments.getREADGet a CRM segment with its member prospects.
scope: contacts:read -
crm.segments.createWRITE-safeCreate a new CRM segment (manual membership).
scope: contacts:write -
crm.segments.add_membersWRITE-safeAdd contacts to a CRM segment (idempotent — duplicates ignored).
scope: contacts:write -
crm.segments.remove_membersWRITE-safeRemove contacts from a CRM segment.
scope: contacts:write -
crm.segments.deleteWRITE-safeDelete a CRM segment (membership rows cascade).
scope: contacts:write
deals.*
-
deals.listREADList deals in the current workspace, filterable by stage.
scope: deals:read -
deals.getREADGet a deal by id.
scope: deals:read -
deals.createWRITE-safeCreate a new deal for a contact.
scope: deals:write -
deals.updateWRITE-safeUpdate a deal (any field).
scope: deals:write -
deals.move_stageWRITE-safeMove a deal to a new pipeline stage.
scope: deals:write -
deals.deleteDESTRUCTIVEDelete a deal.
scope: deals:delete
email.*
-
email.templates.listREADList every system email template (transactional + marketing) merged with this workspace's overrides. Shows key, label, category, whether it is customised, and whether it is enabled.
scope: email:read -
email.templates.getREADGet one effective email template (subject + HTML body, override or registry default) by key, optionally for a locale (fr/en).
scope: email:read -
email.campaigns.listREADList the workspace email campaigns with their status and headline stats (enrolled/sent/opened/replied).
scope: campaigns:read -
email.campaigns.getREADGet one email campaign by id with its full stats and audience rules.
scope: campaigns:read -
email.templates.updateWRITE-safeCreate or update this workspace's override of an email template. Subject + bodyHtml may use {{variable}} placeholders (see email.templates.get for the allowed variables). Set enabled=false to stop sending this email entirely.
scope: email:write -
email.templates.resetWRITE-safeRemove this workspace's override of a template (for a locale), reverting to the registry default.
scope: email:write -
email.send_testWRITE-safeRender an email template with the provided sample variables and send it to a test address. Uses the workspace verified sender.
scope: email:write -
email.campaigns.createWRITE-safeCreate a DRAFT email campaign (no emails are sent). Pick an existing outbound sequence and optional audience rules. Use email.campaigns.launch to enroll the audience and start sending.
scope: campaigns:write -
email.campaigns.pauseWRITE-safePause, resume, or finish a campaign. action='pause' (active→paused), 'resume' (paused→active), 'done' (active|paused→done). The outbound runner checks status before each send.
scope: campaigns:write -
email.campaigns.launchDESTRUCTIVEActivate a campaign and enroll the matching audience into its outbound sequence. REAL emails will be sent by the outbound runner. Idempotent: re-running enrolls newly matching prospects. Requires approval.
scope: campaigns:write
entitlements.*
-
entitlements.listREADList the resolved entitlements (modules, features, limits) for this workspace based on its current plan + comped state.
scope: billing:read -
entitlements.checkREADCheck whether the workspace can access a feature (module.* or feature.*). Returns allowed + reason + required_plan when denied.
scope: billing:read
inbox.*
-
inbox.threads.listREADList Inbox conversation threads (DMs / comments).
scope: inbox:read -
inbox.get_agent_modesREADGet the per-channel DM agent mode (off | suggested | auto) for Instagram, WhatsApp, LinkedIn, Messenger. LinkedIn 'auto' is forbidden (TOS) and always reported as 'suggested' or 'off'. Also returns the framework, voice prompt, and booking config. Scoped to the calling workspace — returns defaults (all 'off') if no settings row exists for this workspace yet.
scope: inbox:read -
inbox.send_dmWRITE-safeSend a direct message reply in an Inbox thread.
scope: inbox:write -
inbox.set_agent_modeWRITE-safeSet the DM agent mode for a single channel (instagram_dm | whatsapp | linkedin | messenger). Modes: off | suggested | auto. LinkedIn 'auto' is rejected (TOS Microsoft — risk of account ban) and clamped to 'suggested'. The legacy global dm_agent_mode is kept in sync as max(IG/WA/Messenger). Scoped to the calling workspace — refuses if no settings row exists for this workspace yet.
scope: inbox:write
mcp.*
-
mcp.tools.listREADSelf-introspection : returns the catalog of all MCP tools this workspace can call, optionally filtered by module prefix or tier. Useful when an agent needs to discover what actions are available before planning a multi-step workflow.
scope: mcp:read
media.*
-
media.listREADList media items in the current workspace with optional filters (kind, collection, tags, source). Paginated by created_at cursor.
scope: media:read -
media.searchREADFull-text search across alt_text, caption, and generation_prompt. Same filters as media.list.
scope: media:read -
media.getREADGet a single media item with a fresh signed URL (TTL 1h) or public URL for public assets.
scope: media:read -
media.lineageREADReturn parents (refs used to generate this image) and children (images generated from it).
scope: media:read -
media.usagesREADList entities (pages, drafts, ad creatives, etc.) that reference this media item.
scope: media:read -
media.uploadWRITE-safeUpload a media item to the workspace library from base64 data. Auto-dedup on checksum. Returns the persisted row.
scope: media:write -
media.tagWRITE-safeAdd/remove tags, change collection, update alt-text or caption on a media item.
scope: media:write -
media.record_usageWRITE-safeRecord that an entity (page, draft, creative, …) references this media item. Idempotent on (media, entity, field).
scope: media:write -
media.archiveWRITE-safeSoft-archive a media item (sets archived_at). Reversible.
scope: media:write -
media.deleteDESTRUCTIVEHard-delete a media item (DB row + storage bytes). Irreversible. Requires JIT approval.
scope: media:delete
members_app.*
-
members_app.overviewREADSnapshot of the current members-app config for the workspace: active domain (kind=members), count of enabled features, count of menu items.
scope: members_app:read -
members_app.features.listREADFull list of member-app feature toggles (registry + workspace override). Each entry: key, label, href, default_enabled, enabled.
scope: members_app:read -
members_app.menu.listREADList the custom menu items configured for the member app navigation (handle="members"). Returns id, label, url, position, target.
scope: members_app:read -
members_app.features.toggleWRITE-safeEnable or disable a member-app feature for the workspace. Stores an override only when it differs from the registry default (otherwise the row is removed).
scope: members_app:write -
members_app.menu.addWRITE-safeAppend a new menu entry to the member-app navigation. Auto-positions at the end.
scope: members_app:write -
members_app.menu.removeWRITE-safeDelete a menu item by id (must belong to the current workspace).
scope: members_app:write -
members_app.appearance.set_modeWRITE-safeSet the theme mode used by the member app: light, dark, or auto.
scope: members_app:write
pages.*
-
pages.listREADList CMS pages for this workspace.
scope: pages:read -
pages.list_templatesREADList the curated page templates available for pages.create_from_template (id, name, description, suggested slug/title, block count).
scope: pages:read -
pages.create_draftWRITE-safeCreate a new CMS page in draft status.
scope: pages:write -
pages.publishWRITE-safePublish a CMS page (status → published, published_at = now).
scope: pages:write -
pages.create_from_templateWRITE-safeCreate a new draft page from one of the 5 curated templates (landing-coaching, about, pricing-3-tiers, contact, blog-post). Returns the new page id + blocks_count. Use pages.list_templates first to see available ids.
scope: pages:write -
pages.generate_from_promptWRITE-safeCreate a new draft page by asking Claude to generate 6-12 blocks from a natural-language prompt. The same generator the editor Mode IA uses. Returns the new page id + blocks_count.
scope: pages:write -
pages.deleteDESTRUCTIVEDelete a CMS page.
scope: pages:delete
products.*
-
products.listREADList products / offers in the workspace (optionally filter by active state).
scope: products:read -
products.getREADGet a single product with its detail counters (modules, files, active purchases).
scope: products:read -
products.files.listREADList downloadable files attached to a product.
scope: products:read -
products.set_activeWRITE-safeActivate or deactivate (archive) a product.
scope: products:write
programme.*
-
programme.modules.listREADList curriculum modules for a product (programme).
scope: programme:read -
programme.lessons.listREADList lessons inside a curriculum module.
scope: programme:read -
programme.module.set_publishedWRITE-safePublish or unpublish a curriculum module.
scope: programme:write -
programme.lesson.set_publishedWRITE-safePublish or unpublish a curriculum lesson.
scope: programme:write
studio.*
-
studio.drafts.listREADList Studio drafts (content pieces). Filter by status / target_platform.
scope: studio:read -
studio.drafts.getREADGet a Studio draft by id (full content).
scope: studio:read -
studio.publications.listREADList Studio publications (drafts that have been scheduled or already pushed to a channel). Each row carries the scheduled_at / published_at / publish_error fields so an agent can audit what is live vs queued vs failed.
scope: studio:read -
studio.ideas.listREADList Studio ideas (upstream of drafts). Each idea has a title, hook, angle, status and score. Useful when a content agent needs the next batch of inspirations to turn into drafts.
scope: studio:read -
studio.seo_briefs.listREADList SEO briefs (keyword + search intent + target word count). Used by content agents to plan articles aligned with the workspace SEO strategy.
scope: studio:read -
studio.draft.approval_stateREADCheck whether a draft is approved for autopilot publishing, and by whom / when. Returns null if the draft does not exist or is not yet reviewed.
scope: studio:read -
studio.draft.lineageREADResolve where a draft comes from : the competitor post, decoded pattern, and / or source draft that inspired it. Helps an agent retrace why a draft was generated before iterating.
scope: studio:read -
studio.draft.viralityREADLatest virality score for a Studio entity (draft, idea, publication). Returns the Gemini-computed predicted score plus the reasoning breakdown.
scope: studio:read -
studio.inspiration_packs.listREADList inspiration packs (competitor post + decoded structure) available for the workspace to remix into new drafts.
scope: studio:read -
studio.draft.createWRITE-safeCreate a new Studio draft.
scope: studio:write -
studio.draft.updateWRITE-safeUpdate Studio draft fields.
scope: studio:write -
studio.draft.approveWRITE-safeMark a Studio draft as approved-for-publish (publish_approved_at = now).
scope: studio:write -
studio.draft.unapproveWRITE-safeRevoke the publish approval on a Studio draft. Use this when an agent or the user spots a problem after approval and wants to block the next autopilot cycle.
scope: studio:write -
studio.draft.archiveWRITE-safeMove a Studio draft to the archive (soft-hide from default lists). Reversible : the row stays in DB. Prefer this to delete unless the draft is junk.
scope: studio:write -
studio.idea.archiveWRITE-safeArchive a Studio idea so it stops appearing in the active ideation pipeline. Reversible.
scope: studio:write -
studio.draft.deleteDESTRUCTIVEDelete a Studio draft.
scope: studio:delete -
studio.publication.deleteDESTRUCTIVEDelete a Studio publication record (channel push history). Does not retract anything from the actual channel ; only removes the row from the workspace ledger.
scope: studio:delete
team.*
-
team.listREADList workspace team members (workspace_members + profile join). Each row carries user_id, role (owner / admin / staff / member), status (active / invited / suspended), joined_at.
scope: team:read -
team.getREADGet a single workspace member with their profile (display name, avatar, email). Returns null if the user is not a member of the workspace.
scope: team:read -
team.audit_logREADWorkspace audit log : who did what (login, role change, integration connect, etc.). Filter by event type or recency.
scope: team:read -
team.integrations.listREADList third-party integrations connected to the workspace (Stripe, Google, Meta, LinkedIn, TikTok, etc.) with their connection state.
scope: team:read
voice.*
-
voice.list_callsREADList recent voice calls in the current workspace. Returns id, direction, status, duration, prospect_id, disposition slug, created_at.
scope: voice:read -
voice.get_call_detailREADGet the full detail of a single voice call: call row, recording metadata, transcript summary, segments, score (if Tier 3 enabled).
scope: voice:read -
voice.list_call_listsREADList call lists in the current workspace with progress counts (total / completed / positive).
scope: voice:read -
voice.start_callWRITE-safePre-create a voice_calls row so a client (browser dialer or AI Voice Agent) can initiate a call. Returns the callId + caller-id E.164. Does NOT actually dial — the dialing is done by the client via Twilio Voice JS SDK or by the AI Voice Agent provider.
scope: voice:write -
voice.enrich_prospect_phoneWRITE-safeEnrich a prospect (or arbitrary contact data) with phone numbers via Dropcontact. Optionally writes the best phone back to the prospects row when prospect_id is provided. Costs 1 Dropcontact credit per row enriched.
scope: voice:write -
voice.add_to_dncWRITE-safeAdd a phone number to the workspace Do-Not-Call list. The number is blocked pre-dial across the queue runner, MCP voice.start_call, and AI Voice Agent campaigns.
scope: voice:write
webinaires.*
-
webinaires.listREADList webinars in the workspace (featured first, then by scheduled date).
scope: webinars:read -
webinaires.getREADGet a single webinar by id.
scope: webinars:read -
webinaires.set_featuredWRITE-safeMark a webinar as the featured one (unfeatures the others).
scope: webinars:write
workbench.*
-
workbench.tasks.listREADList Workbench tasks.
scope: workbench:read -
workbench.projects.listREADList Workbench projects.
scope: workbench:read -
workbench.milestones.listREADList Workbench milestones with progress + due date. Useful when an agent needs the next deliverables on a project before assigning new tasks.
scope: workbench:read -
workbench.kpisREADWorkbench cockpit KPIs : tasks done in the last 7d (vs prior 7d), currently open / overdue / blocked counts, and the daily completion sparkline.
scope: workbench:read -
workbench.focus_tasks.listREADList the tasks currently assigned to the caller and still open (todo / in_progress / blocked). The user "focus list" — what the operator should do today.
scope: workbench:read -
workbench.active_projectsREADList active projects with their cockpit data (color, deadline, owner, status). Trimmed to what the dashboard widget shows.
scope: workbench:read -
workbench.workload_heatmapREADTeam workload heatmap : open task count per assignee per day for the next ~14 days. Used to spot overloads before assigning new work.
scope: workbench:read -
workbench.recent_activityREADRecent task / project / milestone events in the Workbench audit log (creation, status change, assignment, delete) over the last 24 hours.
scope: workbench:read -
workbench.task.createWRITE-safeCreate a new Workbench task.
scope: workbench:write -
workbench.task.updateWRITE-safeUpdate a Workbench task.
scope: workbench:write -
workbench.task.assignWRITE-safeAssign a Workbench task to a user.
scope: workbench:write -
workbench.task.update_statusWRITE-safeQuick status change on a Workbench task (todo / in_progress / blocked / done / cancelled). Auto-sets completed_at when status becomes done, clears it otherwise. Cheaper than the full update tool when only the status changes.
scope: workbench:write -
workbench.task.follow_upWRITE-safeCreate a follow-up task linked to another entity (e.g. after a Voice call : a task linked to the prospect with a due date and priority).
scope: workbench:write -
workbench.task.deleteDESTRUCTIVEDelete a Workbench task.
scope: workbench:delete