Skip to main content
Act begins with the exact capability revision selected through Search. It returns a stable actionId that remains the handle while work runs, pauses, resumes, or stops.

Six Act components

Communicate

Exchange information through Darwin Proxy. This does not approve, pay, grant account access, or prove a claim.

Onboard

Create a new destination-provider account. This does not grant access to an existing account or accept unrelated terms.

Authenticate

Grant bounded access to an existing provider account. This does not create an account, approve, pay, or verify.

Pay

Complete a purchase bound to exact commercial terms. This does not approve changed terms or widen provider access.

Approve

Bind a decision to the exact review shown. This does not approve another revision, payload, or interaction.

Verify

Establish whether a specific claim is supported. This does not grant permission to act, spend, or access an account.
The components compose without collapsing into one another. An Action may communicate before it asks a user to sign up, authenticate, pay, approve, or verify something, but each authority-bearing step remains explicit.

Start from the selected revision

Create one stable requestId for this logical mutation. Reuse it only when retrying the identical request.
The credential needs agent:write. Starting work does not grant standing permission for later signup, authentication, payment, approval, or verification decisions.

Store the Action ID

Persist actionId immediately. Keep it with the original query, selected capability revision, and your own record identifier.

Read the current state

Render status, summary, actionRequired, availableActions, and any typed interaction as supplied. Do not infer completion from elapsed time, a redirect, or a closed popup.

Route the next step

Always route from availableActions. A status label alone does not grant permission to mutate the Action.

Follow long-running work

Persist actionId, poll Get action with bounded backoff while the Action is running, and pause automatic polling when a person must act. Resume from the same Action after the bound interaction is confirmed. The current public contract does not expose an Action subscription, webhook, or server-sent event stream. If event delivery is added later, treat it only as a signal to read the latest Action again; availableActions remains authoritative. Next, open the component that matches the Action’s current need. Start with Communicate when the Action is asking for information.
Last modified on September 22, 2026