PPact
MCP & AI agents

MCP tool reference

The full catalog of tools Pact's MCP server exposes, grouped by module, with read/write access and required scope.

Pact's MCP server (https://api.pact.place/mcp) exposes 179 tools across 35 modules — 98 read tools and 81 write/action tools. Every read is consent-filtered, contact PII is BYOK-decrypted per tenant, and every call is audited and cost-attributed. Each tool declares a required OAuth scope; a key or token only sees the tools its scopes allow.

Note

The typed TypeScript and Python clients wrap each tool as a method that returns its structured output directly — you rarely call a tool by raw name. Write and action tools are marked Write below; they follow the same consent, audit, and cost rules as reads.

Access legend: Read = read-only (no side effects); Write = creates, updates, or runs an action.

Core CRM & workspace

Query accounts, contacts, deals, pipeline health, and ask the workspace.

ToolAccessScopeWhat it does
ask_workspaceRead—Ask a natural-language question across the tenant's workspace (accounts, contacts, deals, activity) and get a grounded, cited…
compute_pipeline_metricsRead—Compute pipeline dimensions over the unified data layer: time-in-stage histogram, stage conversion + win rate, deal velocity…
get_metric_explanationRead—Explain why a KPI moved, grounded in the deals that advanced, slipped, won, or lost in the window (the metric-explainer agent).
get_traceRead—Fetch the full span tree for a past MCP trace_id — every tool, every sub-tool, every cost, every citation.
list_agentsRead—List the Pact AI agents that can be run via fire_agent.
predict_costRead—Estimate cents-per-call and tokens for one Pact MCP tool BEFORE you fire it, so an agent or UI can budget.
query_accountsRead—Search the tenant's CRM accounts (companies).
query_activity_ledgerRead—Read the unified activity log for an entity: emails, calls, meetings, notes, agent fires, syncs, documents, signatures — with…
query_contactsRead—Search the tenant's CRM contacts (people).
query_dealsRead—Search the tenant's pipeline deals.
query_pipeline_healthRead—Aggregate pipeline metrics for the tenant: open pipeline value, weighted value, deal count, average deal size, win rate, and a…
query_stage_historyRead—Read the deal/account stage-transition log: every move with from/to stage, why (reason_code), days spent in the…
read_briefingRead—A daily briefing for the calling user, composed from the live pipeline snapshot, the last week's deal activity, and a grounded AI…
fire_agentWrite—Execute a Pact AI agent (see list_agents) and return its output, confidence, and citations.
replay_traceWrite—Re-fire the root tool of a past trace with the same arguments and return a diff (latency / cost / citations) vs the original.

Core CRM writes

Create and update the core CRM records.

ToolAccessScopeWhat it does
add_noteWritewrite:activitiesAppend a timestamped note (or call/email/meeting/visit log entry) to an account's activity history.
create_accountWrite—Create a CRM account (company) in the caller's tenant.
create_contactWritewrite:contactsCreate a CRM contact.
create_dealWritewrite:dealsCreate a pipeline deal on an account.
update_accountWritewrite:accountsUpdate fields on an existing account, addressed by public_id (or legacy integer id).
update_contactWritewrite:contactsUpdate fields on an existing contact, addressed by public_id.
update_dealWritewrite:dealsUpdate fields on an existing deal by integer deal_id (from query_deals or create_deal).

API monetization

API usage, tier, and forecast.

ToolAccessScopeWhat it does
current_tierRead—Return the caller's current tier slug, name, monthly unit allowance, RPS limit, and feature flags.
forecast_usageRead—Project the caller's month-end API unit consumption from the trailing-7d daily average.
query_usageRead—Return per-class API usage for the caller's tenant in the supplied period (default: current UTC month).

Audio & video

Audio/video (Wave) tools.

ToolAccessScopeWhat it does
query_sentiment_trendRead—Return the rolling-window sentiment trend (average, slope, direction, points) for one contact or one account.
query_survey_responsesRead—Return survey responses (NPS / CSAT / CES) filtered by survey type, account, contact, or score band ('promoter' / 'passive' /…
trigger_surveyWrite—Schedule a one-off survey invitation for a contact, bypassing the lifecycle scanner.

Call actions

AI-extracted call follow-up actions.

ToolAccessScopeWhat it does
list_call_actionsReadread:activitiesList AI-extracted follow-up actions from completed calls (newest first): tasks, decisions, deal-stage-change proposals, follow-up…
apply_call_actionWritewrite:activitiesApply ONE extracted call action by public id: create the task, pin the decision, or apply the deal-stage change (stage changes…
extract_call_actionsWritewrite:activitiesEnqueue AI extraction of follow-up actions for one completed call (idempotent — re-running yields the same actions with the same…

Context & memory

Conversation context and memory.

ToolAccessScopeWhat it does
classify_intentRead—Map a user question to one of Pact's context-engine intents (pipeline_health, deal_inspection, account_360, forecast,…
get_context_bundleRead—Run the full Pact context engine: classify the question, resolve the bundle, fetch every source (consent-gated), and return a…
preview_contextRead—Classify a question to an intent, resolve the bundle (override or built-in), and return a cost estimate WITHOUT firing the LLM or…
define_bundleWrite—Create a tenant-defined context bundle (or version-bump an existing slug).

Customer portal

Customer-facing portal operations.

ToolAccessScopeWhat it does
portal_list_change_requestsRead—List change-requests proposed by the tenant CRM to portal users on a given account, with optional status filter (pending |…
portal_list_feedbackRead—List feedback submissions filed by portal users across the tenant (kinds: feature | problem | praise | nps_followup).
portal_list_renewalsRead—List renewal / expansion / cancel / change-terms requests filed by portal users for a given account, plus an optional status…
portal_team_overviewRead—List portal members + pending invitations for a given account so the CSM can see who on the customer's side has portal access.

Customer success

Customer-success and health tools.

ToolAccessScopeWhat it does
cs_qbr_composeRead—Compose (or fetch cached) a Quarterly Business Review deck for an account+period combo.
cs_renewal_briefRead—Compose (or fetch cached) a CSM-grade renewal brief for a specific deal.
cs_save_coachRead—Return the top-N ranked save plays for one account plus the currently-active save runs.
cs_expansion_scanWrite—Run the deterministic expansion-signal scan and return the live feed.

Data quality

Data-quality checks and fixes.

ToolAccessScopeWhat it does
dq_find_duplicatesRead—Return pending dedupe candidates for one entity type — sorted by confidence descending.
dq_auto_dedupe_runWrite—Run one bounded scan over the entity's records under the active match config.
dq_merge_pairWrite—Apply the tenant's survivorship rules to a candidate pair: the survivor side wins per-attribute under each rule's strategy, the…
dq_scoreWrite—Compute and snapshot per-attribute data quality scores for one entity type.

Data warehouse

Warehouse sync tools.

ToolAccessScopeWhat it does
list_warehouse_connectionsRead—List the tenant's BYOK warehouse sync connections (Snowflake / BigQuery / Databricks / Redshift / Postgres) with status, CDC lag,…
configure_warehouseWrite—Update the non-secret settings of an existing warehouse connection: display name, PII mode (include|drop|hash), synced table…
trigger_warehouse_syncWrite—Run a warehouse sync now.

Deal spaces

Shared deal-space tools.

ToolAccessScopeWhat it does
summarize_spaceRead—Roll up activity, decisions, and commitments in a deal collaboration space over the last day or week.
pin_decisionWrite—Promote an existing message in a deal space to the decisions / facts feed.
post_to_spaceWrite—Insert a message into the deal space tied to a deal.

Decks

Pitch-deck generation tools.

ToolAccessScopeWhat it does
deck_templatesRead—List the tenant's deck templates (master pptx + slide-plan + brand colors + fonts).
generate_deckWrite—Generate a fully-tailored, grounded pitch deck for one deal.
regenerate_slideWrite—Rebuild ONE slide in a deck after the underlying source data (call extractions / content matches / opp record) has moved.

Email (Gmail)

Voice-triggered Gmail inbox tools, gated behind the gmail_voice_integration_enabled flag (default off). Each email is logged as an activity_ledger touch, so these ride the read:activities / write:activities scopes rather than a dedicated pair.

ToolAccessScopeWhat it does
read_unread_emailsReadread:activitiesRead the caller's most recent unread emails, optionally filtered to one sender/account.
summarize_email_threadReadread:activitiesSummarize an email thread in ~30 seconds of spoken-friendly text.
triage_inboxReadread:activitiesReturn what in the inbox needs attention now, ranked.
draft_email_replyReadread:activitiesDraft and surface a reply for review — never sends.
send_email_replyWritewrite:activitiesSend a drafted reply, but only with confirm=True.

Enrichment

Run and manage contact/company enrichment.

ToolAccessScopeWhat it does
account_360Read—Aggregate everything the enrichment platform knows about one account: per-field provenance, structured facts (funding history,…
enrichment_historyRead—For a contact or account, return the per-field provenance trail — which source provided each value, at what confidence, and when.
enrichment_signalsRead—Recent change signals for one account — news, funding rounds, exec moves, tech-stack shifts, hiring surges.
list_recent_signalsRead—Tenant-wide feed of recent change signals — funding rounds, exec moves, hiring surges, tech-stack shifts, news mentions — across…
bulk_enrichWrite—Enroll a set of accounts onto the named tier as Live subscriptions.
configure_signal_actionWrite—Create, update, pause or delete a tenant-wide signal action rule ('when a funding_round over $10M is detected, notify the account…
enrich_accountWrite—Enroll an account on the named tier (standard|pro|deep|live) as a Live subscription with an immediate first refresh.
enrich_contactWrite—Enroll a contact on the named tier (standard|pro|deep|live) as a Live subscription with an immediate first refresh.

Enrichment budget

Read and manage enrichment spend.

ToolAccessScopeWhat it does
list_enrichment_budgetsRead—Every active enrichment budget for the tenant with current-period spend, percent used, threshold config and behavior (alert |…
predict_enrichment_costRead—Estimated cost in cents for enriching count records at the given level (L1-L4), and whether the caller's budgets would allow…
set_enrichment_budgetWrite—Create a budget (omit budget_id) or update one (pass budget_id).

Field workspace

Custom field and schema tools.

ToolAccessScopeWhat it does
field_today_glanceRead—Compose the calling field rep's morning view: route plan, ordered visits with geocoded coords, territory list, and trailing-30d…
field_visit_briefRead—Generate a grounded pre-visit account brief.
field_log_visit_noteWrite—Append the rep's notes (typed + voice-transcript) to a visit and run the grounded post-visit summary.
field_optimize_routeWrite—Greedy nearest-neighbour TSP over the calling rep's plan for the given date (defaults to today).

Identity & access

Users, roles, and access tools.

ToolAccessScopeWhat it does
audit_iam_eventsRead—Most recent IAM-relevant audit events (auth., iam., scim.*).
list_sessionsRead—Recent auth_sessions rows for the tenant.
grant_jit_roleWrite—Elevate a user's role for a bounded duration with auto-revoke.
provision_userWrite—Create or update a single tenant_users row by email.
revoke_sessionWrite—Kill a single auth_sessions row by id (sets ended_at + ended_reason='revoked_by_agent').

Inbound

Inbound message and lead handling.

ToolAccessScopeWhat it does
list_inbound_webhooksRead—Return every inbound webhook endpoint configured for this tenant — the receiver URL the external system POSTs to, the per-source…
fire_test_webhookWrite—Skips signature verification and dispatches a synthesized payload for the endpoint's source.
replay_inbound_eventWrite—Re-fire a previously received webhook event against the CURRENT subscription mapping.
subscribe_inboundWrite—Map an external event_type (or glob pattern, e.g.

Knowledge base

Knowledge-base search and drafting.

ToolAccessScopeWhat it does
search_kbRead—Hybrid semantic + keyword search over the tenant's KB articles — the same engine behind the /kb browser and the agent reply…
create_kb_articleWrite—Persist a new KB article.
record_kb_helpfulnessWrite—Record a helpful / not-helpful vote on a KB article (by public id or slug) as the calling user.

Learning

Enablement and learning tools.

ToolAccessScopeWhat it does
learning_statusRead—Read-only inspection: returns the open drift signals (cost ↑, latency ↑, guardrail blocks ↑, citation overlap ↓, rating ↓) and…
propose_variantWrite—Run the learning-loop analyzer on this agent over the last 7 days, compare to the prior 14-day baseline, and generate up to 3…

Marketing

Marketing workspace operations.

ToolAccessScopeWhat it does
compute_attributionRead—Compute multi-touch attribution for won deals in the lookback window.
search_content_libraryRead—Semantic-search the tenant's content library by free-form query, optionally filtered by kind or persona.
generate_campaign_briefWrite—Generate a structured campaign brief (goal, audience hypothesis, channels, KPIs, draft subjects, key message) from one NL prompt.
simulate_persona_readWrite—Preview an email body as if a specific persona (VP Finance, Head of Engineering, CMO, etc.) read it.

Marketplace seed

Marketplace seed handlers.

ToolAccessScopeWhat it does
pact_meeting_prepRead—Return a one-page briefing for an upcoming meeting on an account or contact: snapshot, deal status, last touchpoints, 3 lead-with…
pact_pipeline_reviewerRead—Scan the caller's active pipeline and return a structured digest of deals at risk — slippage, single-thread exposure, engagement…
pact_rfp_drafterRead—Parse an uploaded RFP / SOW / questionnaire (PDF, DOCX) and return a structured first draft: each extracted question matched…

MCP marketplace

Federated MCP marketplace tools.

ToolAccessScopeWhat it does
marketplace_recommendRead—Recommend marketplace listings for a stated intent (e.g.
marketplace_searchRead—Search the public Pact MCP marketplace by query string and optional category…
marketplace_installWrite—Install a published listing onto the caller's tenant.

Meetings

Meeting (Wave) tools.

ToolAccessScopeWhat it does
best_timeRead—Top-N candidate slots that work for every attendee, considering each one's busy events and stated working hours.
meeting_notesRead—Read structured AI meeting notes — summary, action items, decisions, and citations back to the source rows that fed them.
search_decisionsRead—Search the tenant-wide rolled-up decision log (meeting decisions + deal-room space decisions + workflow decisions).
attendee_briefWrite—Build a tight, honest pre-meeting one-pager for the caller.
draft_follow_upWrite—Draft a follow-up email + recap note for one meeting.
schedule_meetingWrite—Voice-triggered scheduling: resolve the invitee, find a free slot, create a Google Meet event, and send the invite. Gated behind google_cal_voice_integration_enabled.
join_next_meetingWrite—Voice-triggered: find the caller's soonest meeting with a join link and send the Pact AI Notetaker into it. Gated behind google_cal_voice_integration_enabled.
dispatch_meeting_notetakerWrite—Send the Pact AI Notetaker into a meeting by explicit URL or a resolved natural-language time phrase. Gated behind meeting_bot_enabled.

Microsoft 365

Microsoft 365 integration tools.

ToolAccessScopeWhat it does
m365_calendar_meeting_briefRead—Compose a meeting brief from a list of attendee emails — matched profiles, open deals, recent activity.
m365_outlook_matchRead—Match an Outlook counterparty email against Pact's contacts + accounts.
m365_teams_home_panelRead—Render one tab of the Teams personal-app Home — one of 'today', 'pipeline', 'inbox', 'records'.
m365_outlook_compose_assistWrite—Generate an AI subject / body / agenda / Pact-context block for an Outlook compose window.

Push subscriptions

The control plane for Pact's push-based MCP substrate — subscribe to event topics and receive notifications/pact/event frames over /mcp/push/sse.

ToolAccessScopeWhat it does
list_subscriptionsRead—Return every active subscription this MCP client has wired with subscribe().
list_topicsRead—Return the catalog of event topics a client can subscribe to via subscribe(), with per-topic filter examples.
subscribeWrite—Subscribe this MCP client to a Pact event topic so the server pushes a notifications/pact/event JSON-RPC notification every…
unsubscribeWrite—Soft-delete a Pact event-push subscription by its subscription_id.

Quotas & personalization

Quota and personalization controls.

ToolAccessScopeWhat it does
mcp_get_user_preferencesRead—Return the caller's MCP preferences (role, tone, surface, timezone, skill levels) plus the currently-applied adapter set.
mcp_personalization_statusRead—Return the personalization adapters currently applied to the caller — combination of explicit preferences + behavior signals —…
mcp_quota_statusRead—Report current spend + remaining + straight-line forecast for the quotas applicable to the caller.
mcp_request_quota_increaseWrite—File a request to raise a quota cap.
mcp_set_quotaWrite—Upsert one quota subscription — (scope_level, scope_ref, period, cap_cents, behavior).
mcp_update_user_preferencesWrite—Partial-update the caller's MCP preferences.

Recording retention

Call-recording retention controls.

ToolAccessScopeWhat it does
list_recordings_pending_deletionRead—Read-only view of the deletion queue: recordings past the tenant retention window (the next daily sweep soft-deletes them) and…
apply_legal_holdWrite—Place a call recording under legal hold.
release_legal_holdWrite—Release a legal hold.
set_retention_policyWrite—Update the tenant's recording retention window (1-2555 days), toggle call recording on/off, and/or set the consent ack mode…

Sales engineering

RFP drafting, win vault, playbooks, sandboxes, and SE analytics.

ToolAccessScopeWhat it does
get_se_analyticsRead—Return the SE lead's team analytics: RFP win-rate by section, sandbox stage funnel, top prospect objections, playbook…
list_top_objectionsRead—Return the top prospect objection categories mined from the SE's tech-Q&A inbox (open / escalated / deferred rows), with counts…
se_get_battlecardRead—Fetch one battlecard by public_id — the rendered body plus the structured sections (proof from won deals, competitive signal, how…
se_list_battlecardsRead—List the tenant's auto-generated competitor battlecards — competitor, title, current version, and when each was last generated.
se_list_playbook_suggestionsRead—List AI-detected playbook gaps — recurring lost-deal themes with no covering playbook in the SE library.
se_open_rfpsRead—List open RFPs for the caller's tenant — sorted by due date.
se_rfp_prep_sheetRead—Negotiation prep for one scored RFP: per question, the risk band (lose_on/win_on/neutral), objection category, likely objections,…
se_sandbox_compliance_summaryRead—Return the honest compliance description for a regulatory scope (none | hipaa | sox | pci | gdpr) applied to a vertical…
se_suggest_architectureRead—Compose a deterministic architecture palette + Mermaid block from a prospect-shape input (seats, vertical, SSO flag, residency,…
search_playbooksRead—Hybrid semantic + keyword search over the tenant's curated SE playbook library (vertical discovery guides, competitor battle…
search_win_libraryRead—Semantic + lexical search over the tenant's win library (reusable sales evidence distilled from won deals: quotes, ROI figures,…
create_playbookWrite—Add a markdown playbook to the tenant's curated SE library.
extract_evidence_from_dealWrite—Queue a BYOK-LLM extraction of reusable win evidence from a closed-won deal (its notes, quotes, correspondence, transcripts).
record_playbook_usageWrite—Record that an SE playbook was used, dismissed, or contributed to a won deal — feeds the library's usage analytics so playbooks…
request_customer_consent_for_evidenceWrite—Email the quoted customer a one-click request to reuse a verbatim quote from the win library in outward-facing material.
se_accept_playbook_suggestionWrite—Accept a playbook suggestion — creates a real playbook in the SE library and marks the suggestion accepted, linking the two.
se_create_demo_sandboxWrite—Provision a per-prospect demo sandbox.
se_detect_playbook_gapsWrite—Scan LOST deals for recurring themes no playbook covers, and draft a suggestion for each gap.
se_dismiss_playbook_suggestionWrite—Dismiss a playbook suggestion.
se_generate_battlecardWrite—Generate (or regenerate) a battlecard for one competitor from won-deal evidence and competitive signal.
se_score_rfpWrite—Run the SE-7 scoring pass over an RFP: strategic weight, prospect signal, composite score, risk band, and objection category per…
se_suggest_rfp_answerWrite—Run the Wave AX evidence-vault autofill against one RFP.

Sales management

Manager-level pipeline and team tools.

ToolAccessScopeWhat it does
sales_manager_coaching_feedRead—Coaching opportunity feed + per-rep skill scorecards for the manager's direct reports.
sales_manager_gap_analysisRead—Return the gap-to-plan and the smallest set of pipeline-classified deals (ranked by AI commit-confidence × value) that would…
sales_manager_today_glanceRead—Compose the manager's morning glance: per-rep coverage + open value + at-risk + a stage-stuck coaching feed + forecast totals.
sales_manager_oneonone_prepWrite—Generate (or return cached) AI-assisted 1:1 prep for one of the manager's direct reports, keyed by ISO-week.

Support & cases

Triage, route, and work support cases.

ToolAccessScopeWhat it does
get_support_dashboardRead—S-6: the team-wide support analytics payload — ticket volume (today/week/window + daily series), avg first-response and…
list_agent_metricsRead—S-6: per-agent support performance over a trailing window — cases handled/resolved, avg first-response minutes, avg resolution…
list_at_risk_ticketsRead—S-2: open tickets ranked by rolling customer sentiment (EMA over customer messages, -1..+1), bucketed at_risk / recovering /…
list_queuesRead—The tenant's queues (shared lead/support pools) with member counts — the routing-rule targets.
list_sla_at_riskRead—S-3: open tickets with a running SLA clock, tightest deadline first.
list_sla_policiesRead—S-3: the tenant's SLA policy per priority tier (P1–P4 → urgent/high/normal/low).
support_queue_todayRead—Return the agent's ranked support queue for today: urgent / high-tier / SLA-burning / negative-sentiment cases at the top.
support_similar_casesRead—Search past resolved cases that look like the open one (lexical similarity over subject + description).
support_suggest_replyRead—Compose three reply drafts for an open case (empathy / fact / confirmation).
unified_inbox_searchRead—Search support cases across every channel (email / chat / Slack / WhatsApp / SMS / voice) by free text over the subject,…
classify_ticketWrite—Classify a case with the tenant's BYOK LLM — urgency (P1–P4), category, customer sentiment, and language — then apply the verdict…
configure_escalation_rulesWrite—S-2: manage the tenant's sentiment-escalation rules.
configure_sla_policyWrite—S-3: set the tenant's SLA policy for one priority tier (P1–P4).
merge_ticketsWrite—Fold a secondary case into a primary one — the cross-channel merge that unifies a single customer's threads (e.g.
route_ticketWrite—Re-run only the routing step for a case using its stored triage verdict (category / urgency / sentiment) against the tenant's…
send_ticket_replyWrite—Post an agent reply to a case.
support_promote_to_kbWrite—Compose a KB-article body from a resolved case (symptom + resolution + category).

Vertical solutions

Industry vertical tools.

ToolAccessScopeWhat it does
list_verticalsRead—Return the catalogue of pre-built vertical onboarding templates (FinServ, Healthcare, Real Estate, Manufacturing, Professional…
vertical_statusRead—Return the tenant's installed verticals plus the full catalogue (for picking what's next).
apply_vertical_templateWrite—Install the chosen vertical template into the current tenant: creates the pipeline, suggests integrations, seeds compliance…

Voice agents

Voice-agent configuration and runs.

ToolAccessScopeWhat it does
list_voice_agentsRead—List the tenant's configured AI voice agents (receptionist / qualifier / cold_caller) with role, provider, status, budget and…
configure_voice_agentWrite—Create a new AI voice agent (draft) or update an existing one by agent_public_id.
fire_voice_agent_callWrite—Place a net-$0 SIMULATED test call against a voice agent (by agent_public_id) and return the transcript, outcome, sentiment and…

Voice campaigns

Outbound voice campaign tools.

ToolAccessScopeWhat it does
create_call_campaignWrite—Create an outbound call campaign: an ordered sequence of steps (dial | voicemail | sms | wait) with per-step retry/backoff, a…

Voicemail

Voicemail operations.

ToolAccessScopeWhat it does
get_voicemail_transcriptReadread:activitiesFetch one voicemail's full transcript plus its reply drafts and matched contact.
list_voicemailsReadread:activitiesList the tenant's inbound voicemails (newest first): caller number, matched contact, duration, processing status, transcript…
draft_voicemail_replyWritewrite:activities(Re)draft the three AI replies for a voicemail — an empathetic email, a factual email, and a call-back SMS — using the tenant's…