To build reactive integrations (like updating active tickets inside your CRM, sending transactional notifications, or triggering external automated sequences), you can subscribe to outbound Webhooks in your AISoule panel.
The AISoule event pipeline dispatches webhooks for the following events:
message.received: A customer sends a new message to your WhatsApp number.message.sent: Your message is pushed to Meta's servers.message.delivered: The message is successfully received by the customer's mobile device.message.read: The customer opens/reads your message.message.failed: The message delivery fails (e.g. invalid number, billing issue).message.received)Fired when a customer initiates a text query:
{
"event": "message.received",
"timestamp": 1780369298,
"data": {
"message_id": "msg_90a82b7194689c1",
"waba_number": "15550199999",
"sender": "918856879188",
"recipient": "15550199999",
"type": "text",
"body": "Hi there! I need pricing info."
}
}
message.read)Fired when the double grey checkmarks turn blue:
{
"event": "message.read",
"timestamp": 1780369320,
"data": {
"message_id": "msg_90a82b7194689c1",
"waba_number": "15550199999",
"sender": "15550199999",
"recipient": "918856879188",
"status": "read"
}
}
# Simulate receiving a text message webhook locally
curl -X POST "http://localhost:8080/webhook" \
-H "Content-Type: application/json" \
-H "X-AISoule-Signature: sha256=MOCK_SIGNATURE" \
-d '{
"event": "message.received",
"timestamp": 1780369298,
"data": {
"message_id": "msg_90a82b7194689c1",
"sender": "918856879188",
"type": "text",
"body": "Hi there! I need pricing info."
}
}'