Agent capability parity
See what humans, CLI agents, MCP clients, and API workers can do through the same governed Canvass boundary.
Canvass exposes one governed product contract through the UI, CLI, MCP, and authenticated HTTP API.
The transport changes; tenant scope, campaign scope, schemas, policy, approval, idempotency, audit,
adapter delivery, and recovery do not. The live get_catalog or gtm catalog --json response is
always authoritative for one connected registration.
Parity does not mean identical presentation
The UI may provide rich editors, while the CLI uses typed JSON and MCP exposes tools. A capability is considered in parity only when each supported transport reaches the same projection or governed action. Security administration, secret entry, and other deliberate exceptions are listed below rather than being silently omitted.
Covered agent surface
- Workspace health and activity
- Account context and knowledge search
- Knowledge authoring
- ICP mutation lifecycle
- Company and people import/update/suppression
- List authoring and export
- Campaign authoring, readiness, lifecycle, and launch
- Artifact drafting, review, decision, publication, and archival
- Proof and bounded messaging skill requests
- Versioned messaging-policy authoring and lifecycle
- Pending approval discovery and exact draft decisions
- Reply classification and drafting
- Meeting outcome recording
- Provider reply-delivery reconciliation
- Approved paused Instantly activation through campaign pass only; no direct provider bind, pause, or connect
- Operation list, status, wait, and watch
- Tenant-scoped ICP, company, person, list, campaign, artifact, messaging-policy, provider, conversation, and meeting projections with exact name resolution
- Campaign-scoped artifact discovery
- Immediate durable handoff with --no-wait
Enforced surface contract
| Capability family | Kind | UI | API | MCP | CLI | Agents | Workers |
|---|---|---|---|---|---|---|---|
research.web | mixed | Required | Required | Required | Required | Required | Required |
workspace.read | read | Required | Required | Required | Required | Required | Not applicable |
strategy.icp | mixed | Required | Required | Required | Required | Required | Required |
strategy.target-markets | mixed | Required | Required | Required | Required | Required | Required |
signals.monitor | mixed | Required | Required | Required | Required | Required | Required |
records.manage | mixed | Required | Required | Required | Required | Required | Required |
campaign.operate | mixed | Required | Required | Required | Required | Required | Required |
communications.manage | mixed | Required | Required | Required | Required | Required | Required |
providers.operate | mixed | Required | Required | Required | Required | Required | Required |
agents.administer | mixed | Required | Required | Required | Required | Required | Required |
operations.observe | read | Required | Required | Required | Required | Required | Not applicable |
workspace.documents | mixed | Required | Required | Required | Required | Required | Required |
meetings.evidence | mixed | Required | Required | Required | Required | Required | Required |
Workers are the durable execution surface for mutations, not another interactive transport. Read-only capabilities therefore require UI, API, MCP, CLI, and agent evidence; mutation and mixed capabilities also require worker evidence.
Deliberate exceptions
| Capability | Missing surfaces | Commands | Classification | Owner | Expires | Tracking | Why it is not exposed |
|---|---|---|---|---|---|---|---|
| Provider-backed company and person search | api, mcp, cli, agents | companies search, people search | api-gap | GTM Brain record projections | 2026-12-15 | Issue | the external catalog does not yet expose a privacy-safe provider search resource |
| Governed list membership reads | api, mcp, cli, agents | lists members | api-gap | GTM Brain record projections | 2026-12-15 | Issue | the external catalog does not yet have a lifecycle- and suppression-aware membership projection |
| Provider credential entry | api, mcp, cli, agents, workers | providers connect | ui-only | GTM Brain integrations | 2026-12-15 | Issue | requires a secure interactive exchange; secrets are forbidden in CLI arguments and durable inputs |
| Authentication, billing, organization membership, and external-agent registration administration | mcp, cli, agents, workers | agents list, agents show, agents connect, agents scope, agents pause, agents resume, agents remove | ui-only | GTM Brain application shell | 2026-12-15 | Issue | control-plane administration is outside a campaign-scoped external registration |
| Rich artifact editing | cli | — | ui-only | GTM Brain artifacts | 2026-12-15 | Issue | the CLI supports versioned JSON artifact mutations but not browser-native rich editing |
| Provider-native Instantly campaign projections | api, mcp, cli, agents | instantly campaigns, instantly show, instantly check, instantly sync | api-gap | GTM Brain projections | 2026-12-15 | Issue | provider-native campaign state does not yet have a durable tenant projection |
| Company deletion, campaign clone, list deletion, provider disconnect, and Instantly bind/pause | api, mcp, cli, agents, workers | companies delete, lists delete, campaigns clone, providers disconnect, instantly bind, instantly pause | action-contract-gap | GTM Brain integrations | 2026-12-15 | Issue | no certified external governed action contract currently exists |
| Workflow cancellation | ui, api, mcp, cli, agents, workers | — | authorization-gap | GTM Brain runtime | 2026-12-15 | Issue | cancellation must first bind the originating registration to the exact workflow and record a governed outcome |
| Operation-ID-only retry | api, mcp, cli, agents, workers | — | recovery-contract-gap | GTM Brain runtime | 2026-12-15 | Issue | the operation projection cannot reconstruct original mutation parameters; unknown submissions retry only with the same idempotency key and input |
| Single approval detail, inbox classify/send aliases, and meeting schedule/update/cancel | api, mcp, cli, agents, workers | approvals show, inbox classify, inbox send, meetings schedule, meetings update, meetings cancel | api-gap | GTM Brain operational projections | 2026-12-15 | Issue | no matching privacy-safe read or certified external governed action currently exists |
| Workspace.documents: external-agent canonical draft authoring, exact draft reads and company research discovery and unsaved strategy proposal recovery | mcp, cli, agents | — | authorization-gap | Canvass company context | 2026-11-09 | Issue | Company draft authoring is currently a reviewed human-assistant capability. The existing canonical save/set actions remain human-only; external agents receive approved context and cannot use these new authoring tools. Scoped external draft authoring needs an explicit action/read contract and review authority before exposure. Evidence on missing surfaces records the denial boundary, not feature availability. The narrow companyWorkspaces selector is a human-authenticated research discovery read over active company names and IDs; external discovery remains within this same scoped draft-read exception, with membership rejection and bounded-field projection tests reviewed on 2026-09-07. STRATEGY07 reuses the existing administrator strategy-generation endpoint to recover private retained proposal output; external model input/output access remains unavailable. Recovery adds no external grant or new action. Reviewed 2026-09-08 against administrator denial and model-record integrity tests. COMPANYCTX01 reviewed 2026-09-14: shared approved company/document reads now have UI/API/MCP/CLI/agent coverage under a new explicit company read grant. Exact working-document reads remain human-author-only; no external draft authoring, research discovery or retained proposal access is granted and the existing expiry is unchanged. Renewed 2026-10-10 for 30 days after current-boundary independent review (docs/reviews/canvass-prepublication-review-2026-10-10.md) and targeted company-document/gateway and Instantly administrator denial tests. Existing missing surfaces and human/administrator restrictions remain; no additional agent authority is granted. |
| Workspace-wide Instantly inbox import, opt-in background sync and sync status | mcp, cli, agents | inbox sync | admin-only | Canvass integrations | 2026-11-09 | Issue | A saved workspace credential can read campaigns outside an external agent grant. Admin UI/API import uses governed provider reads and batch commits; campaign-scoped external sync needs its own reviewed contract. Existing conversation reads retain all surfaces. Reviewed 2026-09-11: conversation-scoped content recovery uses the same workspace read authority, remains administrator-only, and revalidates current membership/administrator role for every worker page. No new external-agent import authority is introduced. Reviewed 2026-09-11: workspace history import uses bounded durable batches, request-bound pause/continue, governed page checkpoints, and current administrator revalidation; external surfaces retain the same workspace-read restriction. Reviewed 2026-09-11: opt-in background sync uses the same administrator-only workspace authority, independently checkpointed creation-time windows, current per-page administrator checks and saved-connection binding. Background settings and progress remain under this exception; no external-agent schedule authority is introduced. Renewed 2026-10-10 for 30 days after current-boundary independent review (docs/reviews/canvass-prepublication-review-2026-10-10.md) and targeted company-document/gateway and Instantly administrator denial tests. Existing missing surfaces and human/administrator restrictions remain; no additional agent authority is granted. |
| Operations.observe: trusted company-context bridge preflight | mcp, cli, agents | — | admin-only | Canvass company context | 2026-11-20 | Issue | The private bridge diagnostic remains human-administrator-only, including while ordinary semantic retrieval is disabled. External agents use the ordinary policy-gated context reader and receive no bridge diagnostic or credential access. Renewed 2026-10-21 for 30 days under issue #338 without adding authority: seven current company-context-preflight-procedure tests pass, covering foreign/non-admin denial, strict input, bounded permission reads, current reader authority, emergency shutdown and concurrency recovery. The completed Codex high release review included this retained restriction and reported no finding on this boundary. Evidence: docs/reviews/canvass-release-review-2026-10-21.md. |
Machine contract
- Parity manifest schema:
2 - CLI contract:
3 - Projection contract:
1 - Runtime authority:
live-external-action-catalog - Manifest last certified against the CLI registry and external catalog:
2026-10-21 - Maximum exception lifetime:
120days - Release rule: Every capability must carry evidence for every required surface or a reviewed, tracked, unexpired exception.
Use gtm commands --json to discover the installed CLI surface, gtm capabilities --json to
compare it with the current registration, and gtm catalog --json to inspect the authority granted
right now. An unavailable command includes its classification and reason; agents must not substitute a
different action or bypass the gateway.
Campaign operating sequence
For a new campaign, use this order and stop whenever the catalog, readiness result, or approval state requires a person:
- Read the live catalog and workspace context.
- Inspect existing ICPs; create a versioned ICP only when the campaign needs a different audience.
- Import or update the companies and people supported by the granted record actions. Provider search remains unavailable until it appears in the live catalog.
- Save and activate the campaign's messaging policy, then save the campaign definition with its exact ICP and policy references.
- Create the brief, audience, sequence, proof, and copy artifacts returned by the catalog. Persist useful work instead of leaving it only in chat.
- Run campaign readiness and a dry run. Resolve missing evidence without changing unrelated campaigns.
- Request the governed launch. Prospect-visible delivery and Instantly activation wait for the exact authorization and human approval returned by Canvass.
- Follow the durable operation to a terminal result and report campaign names first, with IDs only in receipts or when names are ambiguous.
An ICP is versioned campaign context, not a tenant-wide replacement switch. Creating or activating one does not delete, retire, or rebind existing campaigns. A connected agent may act on only the campaigns and actions in its current grant, whether that grant names one campaign or several.