Webhooks & Events

Webhook Events

5 minutes integration Skill: intermediate

Webhook Events & Payloads

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.

Active Event Types

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).

Payload Schemas

1. Message Received (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."
  }
}

2. Message Read Receipt (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"
  }
}

Related Doc Resources

Integration Playground
# 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."
    }
  }'
Replace `YOUR_API_KEY` in the headers with your real dashboard secrets token!