Webhooks
This guide explains the webhook behavior currently documented for the Irmaya codebase.
Overview
In this implementation, webhooks are primarily inbound endpoints used to receive WhatsApp-related events and messages from channel providers.
The main paths are:
/webhook/webhook/waha/webhook/:tenantId/webhook/:tenantId/waha
Current Webhook Model
Meta Cloud API
The Meta flow uses the /webhook route family for verification and inbound event handling.
This includes:
- verification handling
- inbound event receipt
- message and status processing
- tenant-aware routing
WAHA
The WAHA flow uses:
/webhook/waha/webhook/:tenantId/waha
This is relevant when the workspace relies on WAHA-style session handling instead of the Meta Cloud API path.
Multi-Tenant Behavior
Webhook handling is tenant-aware.
Depending on the flow, tenant context may be resolved through:
- the request path
- subdomain behavior
- webhook payload information
What Happens After Receipt
At a high level, inbound webhook handling follows this sequence:
- verify the request
- resolve tenant context
- extract inbound content or status information
- hand the message into runtime processing
- record health and delivery outcomes
Important Scope Note
These docs describe inbound provider integration behavior. They should not be read as a general event-subscription product for external customers unless that surface is separately documented.