iMessage Webhooks — Real-Time Message Status & Delivery Events

Get instant callbacks for every message event: sent, delivered, read, failed, and incoming. Build real-time messaging workflows with Sendblue webhooks.

How Webhooks Work

Sendblue pushes events to your server in real time. No polling, no delays. When a message status changes or a new message arrives, your webhook endpoint receives an HTTP POST with the full event payload.

There are two types of webhooks: status callbacks for outbound message lifecycle events, and incoming message webhooks for messages you receive from contacts.

Status Callback Payload

// Outbound message status update
POST https://yourapp.com/webhook/status
{
  "accountEmail": "you@company.com",
  "message_id": "msg_abc123",
  "number": "+19998887777",
  "content": "Hey! Just following up.",
  "is_outbound": true,
  "status": "DELIVERED",
  "date_sent": "2025-01-15T14:28:00.000Z",
  "date_updated": "2025-01-15T14:28:02.000Z"
}

Incoming Message Payload

// Inbound message received
POST https://yourapp.com/webhook/incoming
{
  "accountEmail": "you@company.com",
  "number": "+19998887777",
  "content": "Sounds great, let's do it!",
  "is_outbound": false,
  "date_sent": "2025-01-15T14:35:00.000Z",
  "media_url": null,
  "group_id": null
}

Key Capabilities

Per-Message Callbacks

Set a unique status_callback URL for each message. Route different campaigns or conversations to different endpoints.

Automatic Retries

If your endpoint returns a non-200 status, Sendblue retries with exponential backoff. Never miss a status update.

Incoming Messages

Receive inbound messages in real time. Build two-way conversations, chatbots, and automated response flows.

Full Payload

Every webhook includes message ID, phone number, content, status, timestamps, media URLs, and group IDs. Everything you need to process the event.

Use Cases

CRM Integration

Push message events into your CRM in real time. Update contact records, trigger workflows, and log conversations automatically.

Chatbot Responses

Process incoming messages and generate automated replies. Build conversational AI flows that respond instantly.

Analytics Pipelines

Stream message events into your data warehouse. Build dashboards for delivery rates, read rates, and response times.

Failure Handling

Detect failed messages instantly and retry, escalate to SMS, or alert your team. Zero-delay failure recovery.

Build Event-Driven Messaging

Webhooks are the foundation of any production messaging system. They enable two-way conversations, real-time analytics, and automated workflows that respond to message events as they happen.

Combine webhooks with read receipts for engagement tracking, typing indicators for natural response timing, and group messaging for multi-party conversations. Explore the full Sendblue API or get started quickly with the CLI and MCP server.

Get real-time message events

Webhooks for every status change. Free sandbox, no credit card required.

Get API Access

Frequently Asked Questions

What events trigger webhooks?

Sendblue fires webhooks for: message sent, message delivered, message read, message failed, and incoming message received. Each event includes the full message payload with status, timestamp, and content.

How do I set up webhooks?

Include a status_callback URL in your send-message API call for outbound status updates. Configure your incoming message webhook URL in the Sendblue dashboard for inbound messages.

Are webhooks retried on failure?

Yes. If your endpoint returns a non-200 status code, Sendblue retries the webhook with exponential backoff. This ensures you never miss a critical status update.

Can I use different webhook URLs for different messages?

Yes. The status_callback parameter is set per message, so you can route different messages to different endpoints. Incoming message webhooks are configured at the account level.