create_webhook_endpoint
Create a webhook: name, public HTTPS URL, events (inbound.received, inbound.action.requested, inbound.action.completed, inbound.pages_ready, inbound.keywords_matched) and optional keyword rules (literal terms, any/all, exclusions).
Instructions
Create a webhook: name, public HTTPS URL, events (inbound.received, inbound.action.requested, inbound.action.completed, inbound.pages_ready, inbound.keywords_matched) and optional keyword rules (literal terms, any/all, exclusions). Active on save. Returns the whsec_ signing secret once; hand it only to the operator's secure configuration, never logs or mail content. Requires explicit user intent for the URL. Agent keys must use their own agent_id and environment; member keys may use agent_id:null for account scope. Requires webhook.manage. Uses the same bounded control plane and tenant/agent/Live-Sandbox authorization as /api/v1/webhooks/endpoints. Reuse the exact idempotency_key and input after an uncertain mutation. Webhook docs: https://mailbox.bot/docs/webhooks.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public HTTPS URL on port 443 (no credentials, fragment or private host) that receives the signed POSTs. Set or change it only on the operator's explicit instruction. | |
| name | Yes | Label shown in the dashboard and delivery log. | |
| rules | Yes | Up to 10 keyword rules, each with a unique id: source (envelope, letter for the contents, or any), match (any or all), 1–20 terms and optional exclude_terms. inbound.keywords_matched fires when a rule matches. | |
| agent_id | Yes | Agent keys: your own agent id. Member keys: an agent id, or null for account scope. | |
| environment | Yes | live or test. Agent keys must use their own environment; an endpoint only receives events from its environment. | |
| event_types | Yes | Events to deliver (1–16, unique): inbound.received, inbound.action.requested, inbound.action.completed, inbound.pages_ready, inbound.keywords_matched. | |
| idempotency_key | Yes | A new UUID for this one intent; reuse it only to retry the identical request. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |