Webhooks & hooks
JoAi has two related “HTTP callback” surfaces — do not confuse them.
1) Webhooks integration (outbound)
Install Webhooks under Integrations / Apps. Agent output events POST to your HTTPS URL.
Typical triggers: agent.action, agent.message, user.message.
Configure URL, secret, retries, headers in the Webhooks integration UI. Installer guide: Webhooks integration.
2) Agent settings → Automations → Hooks
Under Agent settings → Automations → Hooks:
| Source | Behavior |
|---|---|
| internal | JoAi event (e.g. contact.created) → run a warp |
| web | Agent output event → POST to an external URL |
| inbound | POST /agents/{uuid}/hooks?source= → map payload → run a warp |
Hooks are stateless: one event → map fields → one warp now. They are not the Automations native app (no enrollment, wait, or drip journey).
The Automations native app can use a webhook trigger: JoAi upserts a system-owned Hook whose next enrolls the mapped contact into that automation (joai-automation-enroll). Multiple automations may share the same inbound source — each keeps its own Hook, and every matching Hook runs on a POST. Disabling an automation deactivates its Hook. Use Hooks for fire-and-forget warps; use Automations when the contact journey needs time, branches, or multiple steps.
MCP: list_hooks, create_hook, toggle_hook, delete_hook (Board-gated). Journey tools (create_automation, …) require the Automations app — see Automations.
3) Inbound lifecycle hooks (runtimes)
External agent runtimes can POST to:
POST /agents/{agentUuid}/hooks with Authorization: Bearer <agentAuthKey>
Supported type values include:
session.start— returns curated context (character + memories)permission.request— waits for JoAi approval (UI or signed link)
Also used for board auto-execution callbacks and Claude stop-hook adapters. Full contract: SKILL.md.
Related
- Webhooks integration — installer / outbound setup
- Automations — contact journeys with webhook enroll
- Shortcuts — Agent settings → Automations tabs
- Integrations
- Agents
- Board
- API
- MCP