Skip to main content
Delegrity

Your own actions

Govern an action your organisation defines, not only the built-in ones.

The built-in tools cover a few actions, such as a supplier's bank account. Your organisation can register its own, such as invoice.approve, and your agent proposes them through one general tool.

Register the action

Someone with permission to manage capabilities registers it in the console. A registration says:

Part What it is
Name A dotted lowercase name, such as invoice.approve
Fields The parameters, as a simple JSON Schema with types, limits and lists
Materiality Which fields matter, so a change after approval is caught
Sensitivity Which fields are secret

A few names are reserved for built-in actions; registration tells you if yours is one. Patterns must be simple and start with ^, a field with a pattern needs a maximum length, and an action can have at most 20 fields with a pattern, so one request can't tie up the service.

A field marked secret is swapped for a token before anything is stored. Only the token is kept and shown, so approvers and records never see the value. On an action connected to a system, the value is sealed so that only the bridge can open it, just before the call. See Connect a system.

Propose it

Send propose_action through any way in, with the action's own fields in parameters:

{
  "request_id": "inv-approve-2291",
  "agent": { "agent_id": "<your agent id>", "session_id": "<your session>" },
  "tool": {
    "name": "propose_action",
    "arguments": {
      "action_type": "invoice.approve",
      "resource_type": "invoice",
      "resource_id": "INV-2291",
      "parameters": { "amount": "1200.00" },
      "reason": "Matches the purchase order"
    }
  },
  "context": {
    "instruction": "Approve invoice INV-2291.",
    "timestamp": "2026-11-02T10:00:00Z"
  }
}

An action nobody registered is refused before anything is stored, and so is a parameter its registration doesn't list.

What happens next

  • The request is held for a person by default, unless your own policy says otherwise.
  • It's observed: recorded with its decision, but never run, until your action is connected to a system. See Connect a system.
  • Read the result as for any action. See Wait for a result.

Not yet

  • Running your action against a real system: connecting is still in test.

View as Markdown