Skip to content
AudonDocs
Esc
  • OverviewGet started
  • Free spend auditGet started
  • Provider setupSpend Optimization
  • Fixes and Auto-applySpend Optimization
  • MethodologySpend Optimization
  • Action Control conceptsAction Control
  • Quickstart: SDKAction Control
  • Action Gateway (MCP)Action Control
  • For agents: onboard yourselfAction Control
  • Action catalog and custom actionsAction Control
  • Connectors: Stripe, Shopify and WebhookAction Control
  • Policies and approvalsAction Control
  • Free action auditAction Control
  • Action Control API referenceAction Control
  • REST APIPlatform
  • MCP serverPlatform
  • Security overviewTrust
  • StatusTrust
  • SubprocessorsTrust
  • Terms of ServiceLegal
  • Privacy PolicyLegal
  • Data Processing AddendumLegal
  • Cookie PolicyLegal
  • Acceptable Use PolicyLegal
  • AI Data Use PolicyLegal
  • Billing and Cancellation PolicyLegal
  • Auto-apply Add-on TermsLegal
Documentation menu: Action ControlFor agents

Action Control

For agents: onboard yourself

How an agent registers itself with an enrollment key, gets its own key, asks for actions a person approves, and finds the steps only a person can take.

Every flow in Audon can be done by an agent itself, with one rule: an agent never grants itself permissions. It can register, see what it may do, ask for more and try its actions safely; a person decides what it may do for real.

If you are an agent

Read this page top to bottom. If you have no agent key, ask the person you work for for an enrollment key (they create it under Agents → Self-registration) and the Action Gateway URL https://audon.ai/mcp/actions.

Onboard yourself in four steps

  1. Connect with the enrollment key (Authorization: Bearer aa_enroll_…). It can only call register_agent.
  2. Register: register_agent with your name, what you do (shown to the person who approves) and the actions you need, each with an optional limit. You get your own agent key (aa_agent_…, shown once) and your status. Store the key.
  3. Reconnect with your agent key. You now see one tool per action you may run, plus agent_status, request_actions and send_test_action. Until a person approves you, only test actions run (test ids, simulated).
  4. Wait for the decision: poll agent_status. A person approves or denies your request under Approvals. Limits you asked for become an active policy for you.
Claude Code
claude mcp add --transport http audon-actions https://audon.ai/mcp/actions --header "Authorization: Bearer aa_enroll_…"
MCP client configuration (JSON)
{
  "mcpServers": {
    "audon-actions": {
      "type": "http",
      "url": "https://audon.ai/mcp/actions",
      "headers": {
        "Authorization": "Bearer aa_enroll_…"
      }
    }
  }
}
register_agent arguments
{
  "name": "Support Bot",
  "purpose": "Answers support tickets; refunds small orders",
  "environment": "production",
  "requested_actions": [
    {
      "action_type": "refund.create",
      "max_amount_minor": 20000,
      "currency": "USD"
    },
    {
      "action_type": "email.send",
      "max_count": 50
    }
  ]
}

The same over REST: POST https://audon.ai/v1/agents/register with the enrollment key, then GET /v1/agents/me, POST /v1/agents/me/access-requests and POST /v1/agents/me/test-action with your agent key.

Tools

With an enrollment keyWhat it does
register_agentRegister yourself: name, purpose and requested_actions (with optional limits). Returns your own agent key, once, and your status.
With your agent keyWhat it does
<action tools>One per action you may run, named after its id (refund_create, email_send, crm_contact_delete …). Each checks, decides and, if allowed, executes or hands it back to you.
agent_statusYour status (active, pending, paused), the actions you may run and whether each runs now, test-only actions, your access requests.
request_actionsAsk a person for more actions, with limits and a reason. Grants nothing until a person approves.
send_test_actionRun one of your actions with a test id through the full pipeline. Simulated; no money moves.
list_actionsThe actions you could ask for, by category.
report_outcomeFor decision-only actions: after you executed one Audon allowed, report completed or failed.
action_statusThe current decision and outcome of one of your actions.
action_retryRetry a failed action when retry_safe is true.

The rules you work under

  • You get only the enrollment key’s default actions (usually none). Everything else is an access request a signed-in person decides. You can’t approve your own requests, and no key you can hold can.
  • Send every action through its tool, with one idempotency_key per intent. A denied action is final: tell the person why, don’t look for another way.
  • Decision-only actions come back awaiting_report when allowed: do it yourself, exactly as proposed, then call report_outcome. Your report is recorded as agent-reported evidence, weaker than an outcome Audon verified at the provider.
  • An unknown outcome is being looked up at the provider: never retry it with a new key.

Using the rest of Audon

With an API key a person gives you (scoped to what you need), the Audon MCP server (https://audon.ai/mcp) and REST API offer every product capability: providers, audits, findings and savings, proposals, alerts, budgets, teams, connectors, policies, approvals lists, agents, keys, billing and settings. See MCP server. Steps that need a person return forbidden with human_url (send it to the person) and poll_with (the tool to poll until it’s done); human_steps_list lists them:

OperationWhy a personPoll
integrity.connectors.oauth_startThe Stripe or Shopify install is a consent screen at the provider, in the person’s browser. You can: integrity_connector_connect_link returns the link to send the person.integrity_connectors_list
integrity.connectors.oauth_completeFinishes the provider consent in the person’s browser (callback).integrity_connectors_list
integrity.connectors.updateTurning on protection (execute mode) or replacing a key lets agents move money. You can: Create Webhook connectors and read-only Stripe connectors; rename, test and disable connectors.integrity_connectors_list
integrity.approvals.decideApprovals are decided by a person with the approval’s role; never by an agent. You can: Poll the action; list pending approvals with integrity_approvals_list.integrity_action_status
agents.access_requests.decideGranting an agent actions loosens controls: a person decides, an agent never approves its own request. You can: agent_request_actions creates the request.agent_self_status
integrity.policies.activateA policy applies only after a person reviews its replay and confirms it. You can: Draft, validate and replay policies; save draft versions.integrity_policy_get
integrity.activation.set_modeSwitching monitoring and enforcing changes what blocks.integrity_activation_get
agents.resumeA paused agent (kill switch) is resumed by a person. You can: Pause agents.agent_get
agents.create_keyAgent keys are credentials; a person creates them (agents registering themselves get their own key from register_agent). You can: register_agent on the Action Gateway with an enrollment key.agent_keys_list
agents.enrollment_keys.createEnrollment keys let agents register; a person creates them and sets their defaults. You can: List and revoke enrollment keys.agent_enrollment_keys_list
agents.send_test_actionRuns as the agent on behalf of the person who clicked. You can: An agent sends its own test action with send_test_action on the Action Gateway.agent_get
integrity.actions.confirm_preventedConfirming a prevented loss is a reviewer’s judgement.integrity_action_get
integrity.action_types.restoreRestoring an archived action type loosens controls. You can: Archive action types; create and change types no agent uses yet.integrity_action_type_get
team.inviteAdding people to the organization is a person’s decision.team_list
team.update_memberChanging roles grants access.team_list
team.accept_inviteThe invited person accepts in their browser.team_list
billing.checkoutPayment happens on the provider’s checkout page; card details never pass through Audon or agents. You can: billing_create_checkout_link returns the checkout link for the person (needs billing:write).billing_get_plan
billing.set_addonChanging paid add-ons changes the bill.billing_get_plan
legal.acceptLegal acceptances are confirmed by a signed-in owner or billing admin. You can: legal_accept by an agent records a request a person confirms.legal_required
account.verify_emailEmail verification proves the inbox: the person opens the link.organizations_get
account.deleteOnly the signed-in person deletes their own account.organizations_get
webhooks.createSending data to a new endpoint is a person’s decision.webhook_list
developer.create_keyAPI keys are created by a person in Developers.developer_list_keys
fixes.applyApplying a fix is approved by a person. You can: Pick up approved fixes with fix_next and report with fix_report.fix_get
handover.github_installThe GitHub App install is a consent screen at GitHub.handover_get

Last updated