How the flow works
1
Conto looks for a matching workflow
When an agent requests a payment, Conto runs your policies and looks for a matching approval
workflow. If none matches, the policy decision stands.
2
Conto creates an approval request
Conto notifies the workflow’s channels: Slack, email, Telegram, WhatsApp, or a webhook.
3
Reviewers decide
Reviewers approve or reject in the dashboard or from the email link. The request stays pending
until it has the required approvals. If a workflow sets
escalation and the request is still
pending after escalation.afterHours, its escalation targets can decide it too.4
The payment goes ahead or stops
With the required approvals, Conto approves the request and submits the managed payment. Any
rejection denies it. Either way, Conto writes the audit log, sends a webhook, and records the
channel.
How Conto matches a workflow
Conto evaluates active workflows in priority order and picks the first one whose trigger conditions match the payment context. Matching runs for every payment that policy does not deny, so a matching workflow can hold a policy-approved payment until the required approvers decide. If a policy requires approval and no custom workflow matches, Conto creates a one-review request for an Owner, Admin, or Manager. The person or agent that started the payment cannot approve it. The payment response includes the approval request ID and status URL so your integration can track the review to completion.Supported trigger conditions
Workflow settings that matter
Any rejection ends the request. When the final approval is recorded, Conto executes a
managed-wallet payment, and the review shows the transaction hash and explorer URL. If execution
fails, the approval stays recorded and the request shows that execution needs attention. Conto
does not submit payments from external or smart-contract wallets. The agent sends those transfers
and confirms them. For an external wallet, the final approval reserves the amount and rechecks
policy, then the agent sends the transfer and confirms it within 24 hours. See
wallet custody.
approval.approved or approval.denied to your organization
event webhook (see two kinds of webhooks). Notification
channels subscribed to approval.decided get that event instead. Before a managed wallet sends
funds, Conto rechecks current policy and stops the payment if the check denies it or cannot run.
Escalation
Conto checks pending requests every 15 minutes. A request that is still pendingescalation.afterHours after it was created escalates once.
- The escalation roles and members can then approve or reject it in the dashboard, from the approval email, or with the assistant. The workflow’s own approvers can still decide too.
- In a sequential workflow, an escalation target can decide out of turn. Their decision counts as the next step.
- Escalation targets follow the same rules as every approver. They must be members of your
organization with the
OWNER,ADMIN, orMANAGERrole, and the requester cannot approve their own request unlessapprovals.allowRequesteristrue. - Escalation does not extend the request. It still expires
expiresAfterHoursafter it was created. - Channels subscribed to
approval.escalatedsend the request again to every approver who has not decided, including the escalation targets. To email a target their own Approve and Reject links, add their sign-in email to an email channel’s recipients.
Configure workflows through the API
Create and manage workflows with this API or by asking the Conto assistant. The dashboard has no workflow form. For a single review above an amount, set Require Approval Above on a policy rule instead.
Create a sequential two-person review:
steps for sequential review, timeout, escalation targets, enabled state, usage count, and
timestamps.
Use GET /api/organizations/me/members to find reviewer membership IDs. A sequential workflow
requires specific members, and the membershipIds order defines the approval steps. A role-based
workflow uses order: "any_order".
PATCH updates only the fields you send, except triggers, which replaces the current trigger set.
Deletion returns WORKFLOW_HAS_PENDING_REQUESTS until the workflow’s active reviews are resolved.
Notify approvers
Conto sends each approval request to every active notification channel subscribed toapproval.requested. New organizations start with an Owner email channel. Owners and Admins
add channels in Settings > Event Delivery. Email links can approve or reject. Slack, Telegram,
WhatsApp, and webhook messages link to the review in Conto. See
notification channels for channel setup, a test approval,
and troubleshooting.
Subscribe channels to approval.requested, plus approval.escalated if a workflow sets
escalation. On a webhook notification channel, also enable approval.decided and
approval.expired, plus payment.executed if your system marks invoices as paid.
Recommended patterns
Pattern 1: single approval for large payments
Pattern 2: review first-time recipients
Pattern 3: dual control for sensitive transfers
Pattern 4: sequential approval for finance and security
Pattern 5: agent-specific review in a shared organization
Related guides
Notification channels
Channel fields, payloads, and signatures
Trust scoring
Use counterparty trust as an approval trigger
Recommended policy setup
See where approvals fit in a layered policy model
Wallet custody
Diagrams of the managed and external wallet payment flows