Scoped execution
Keys can be limited by tool, action, environment, agent, workflow, and resource.
OAuth scopes say what an app may access. Invoke policy says what a specific agent may do, in which workflow, against which resource, and what must be checked before execution.
Keys can be limited by tool, action, environment, agent, workflow, and resource.
Risky actions can pause with a frozen execution snapshot before the side effect runs.
Unknown outcomes are checked against live state before retrying the tool.
Invoke blocks writes when the resolved customer, account, issue, or payment target drifts.
The important boundary is not only provider OAuth. It is whether this agent can perform this action in this environment for this customer, invoice, repository, or channel.
{
"agent_id": "billing_agent",
"env": "prod",
"workflow": "refund_review",
"allowed_tools": ["stripe.refund", "crm.update_customer"],
"resources": ["customer:cust_123"],
"rules": [
{
"when": "tool == stripe.refund",
"effect": "reconcile_before_retry"
},
{
"when": "amount > 500 or env == prod",
"effect": "require_approval"
}
]
}| Failure | Damage | Invoke control |
|---|---|---|
| Tool timeout | Unknown whether side effect happened | Mark unknown_effect and reconcile |
| Duplicate retry | Duplicate charges, issues, messages | Idempotency key and replay |
| Stale approval | Human approves old state | Freeze, thaw, revalidate, requeue |
| Wrong entity | Wrong customer or account touched | Entity resolution check |
| Webhook inconsistency | Agent acts on event that did not land | Verify source-of-truth state |
Invoke is in early access. Production terms, data processing, and security documentation are being finalized with design partners. Today, do not send secrets or regulated production data into demos unless you have a direct agreement with us.