Receive an inbound whatsapp message into the inbox
A customer sends a WhatsApp message to a connected number; the platform receives it via Meta's webhook, verifies it, and delivers it into the shared Inbox as a new or continuing conversation.
When this happens: Customer sends a WhatsApp message to the connected number.
How it works
- EasyCRM sends Hi, do you have this in blue? to *+373 69 …* on WhatsApp.
- Delivers a signed webhook POST to
/api/webhooks/channels/whatsapp(one callback URL per Meta App). - EasyCRM verifies
X-Hub-Signature-256, resolves the tenant from the connection, and stores the message as aChannelWebhookEventkeyed on the provider's message id; returns200 OK. ChannelInboundProcessJobidentifies the sender, finds or creates the conversation (FR-14 rules), appends theMessage, routes it (FR-24), and refreshesCustomerWindowExpiresAt.- EasyCRM notifies the routed Operator of a new message (FR-10 UC-10.5) and updates the Inbox in real time.
Other paths
Message arrives on a resolved conversation within the reopen window
If the customer's last conversation on this number was Resolved within the company's reopen window. EasyCRM reopens it instead of starting a new one (FR-14).
If something goes wrong
Invalid signature
If signature verification fails. EasyCRM returns 400, logs a security event, and stores nothing.
Unknown connection key
The payload's phone_number_id matches no active ChannelConnection (e.g. The number was disconnected and later deleted). EasyCRM returns 200 OK with no processing, so Meta stops retrying.
Good to know
- Duplicate delivery of the same provider message id is a no-op.
- A message is accepted regardless of the connection's health
State— a broken connection never loses inbound messages, only outbound sending is blocked.