Subscriptions
Each channel subscribes to a subset of event kinds:| Event | Fires when |
|---|---|
on_action | The agent took an autonomous mutating action (proposed match, filed pending item, mode change, etc.). |
on_escalation | A pending item was filed for human review. |
on_pause | The agent transitioned to PAUSED_COST, PAUSED_RATE, or PAUSED_USER. |
on_cost_threshold | Daily spend crossed the on_cost_threshold_pct line (default 80%). |
PATCH /api/v1/agents/{id}/channels/{cid}.
| Field | Required | Example |
|---|---|---|
type | yes | EMAIL |
target | yes | ops@acme.com |
eventSubscriptions | yes | ["on_escalation", "on_pause"] |
agents@mapping.travel (configurable per workspace at the org level). The subject line is the event kind + agent name; the body links back to the run or pending item.
Slack webhook
- Setup
- Payload
- In Slack, Apps → Incoming Webhooks → Add Configuration.
- Pick the channel, click Add Incoming WebHooks integration.
- Copy the webhook URL (
https://hooks.slack.com/services/T.../B.../...). - In the agent UI, Channels → Add → Slack, paste the URL, pick subscriptions.
- Click Test — a sample message lands in the Slack channel.
Generic HTTPS webhook
Send aPOST to your own endpoint. Auth via Bearer, HMAC-SHA256, or Basic — same scheme as data sinks.
Test endpoint
POST /api/v1/agents/{id}/channels/{cid}/test sends a synthetic event of every subscribed kind. Returns the delivery result (status code, latency, body excerpt).
Related
- Agents overview — channels are part of the trust loop.
- Recipes: Daily coverage report to Slack
- Cost and limits — the 80% warning fires on
on_cost_threshold.