What is equivalent
MCP and A2A never receive owner-authored rule text, an OTP, provider credentials, internal IDs, or approval authority. They receive redacted rule diagnostics and the same observable answer and action outcomes. This keeps configuration private while preserving behavioral parity.
Appearance, placement, sounds, session behavior, Custom CSS, and Custom JS are hosted-web presentation concerns. They are intentionally omitted where they have no meaning to a REST, MCP, or A2A caller. Safe visitor-facing presentation metadata remains available from the public Agent REST manifest.
Inspect effective controls
An authenticated workspace client withcontent:read can inspect the complete tenant-scoped control manifest:
403; a resource outside the workspace returns 404 without disclosing the other tenant.
Shared states
The protocol contract currently uses version2026-08-05 and publishes these canonical states:
- Lead capture:
ready,optional,deferred,input_requested,input_required,complete - Handoff:
unavailable,available,offered,waiting_for_human,human_joined - Action:
proposed,awaiting_verification,processing,completed,failed,cancelled,expired - Automation:
matched,proposed,unavailable
TASK_STATE_AUTH_REQUIRED, processing becomes TASK_STATE_WORKING, and terminal action states become their completed, failed, or canceled equivalents.
Idempotency and errors
All REST action proposal, approval, confirmation, and cancellation mutations require anIdempotency-Key. MCP proposal tools require idempotency_key; A2A deduplicates SendMessage by page plus messageId. Repeating the same key and payload returns the existing result. Reusing a key with different input returns a conflict.
Handle errors as follows:
401: authenticate or refresh the token.403: request the missing scope or workspace grant; do not retry unchanged credentials.404: the Agent, page, or action is unavailable in the resolved tenant context.409: refresh capabilities or status; availability, consent, or a version may have changed.422: correct the input against the current schema.429: back off using the response headers.