Webhooks

Getting started with webhooks

Overview

Webhooks allow your application to receive real-time updates whenever new messages are received through InboxComponents. Once configured, our system will send HTTP POST requests to your specified URL containing event payloads.

Use webhooks to trigger workflows like:

  • Saving incoming messages to your database

  • Notifying users in your app

  • Syncing with third-party tools (e.g., CRMs, ticketing systems)

Setting up a webhook

  1. Go to your dashboard at app.inboxcomponents.com

  2. Navigate to the Webhooks section

  3. Click Create Webhook

  4. Enter your endpoint URL (e.g., https://yourdomain.com/webhooks/inbox)

  5. Choose which events to subscribe to

Once saved, we'll send webhook events to your endpoint as they occur.

Supported events

Event Name
Description

message.sent

A new message was sent

message.received

A message was received

More events will be added as the platform evolves. Please get in touch with us if you need more event types.

Example payloads

{
  "id": "0195f17d-0031-7b10-ac8b-454e0f57a85d",
  "event": "message.received",
  "data": {
    "conversation_id": "0195f0b1-5f4c-7bbe-8826-de31472446d0",
    "id": "0195f17d-0031-7b10-ac8b-454e0f57a85d",
    "modified_at": 1743513255,
    "date": 1743513245,
    "type": "whatsapp",
    "metadata": [],
    "attachments": [],
    "is_sent": false,
    "is_hidden": false,
    "is_event": false,
    "event_type": null,
    "account_id": "01951e90-1435-7169-8388-37827397b7a2",
    "inline_attachments": [],
    "body": "test",
    "from": [
      {
        "name": "Micheal Scott",
        "profilePicture": "example.com/picture.jpg"
      }
    ],
    "snippet": "test",
    "is_supported": true,
    "reactions": [],
    "quote": null,
    "deleted": false,
    "provider_id": "rhfds2435rasdd",
    "custom": []
  },
  "idempotency_key": "ae74038cfaa2ead7095ef0517ead67f58eeca1abeb8dc60fa7a39b3bdfb04793"
}

Best practices

  • ✅ Use HTTPS for all webhook endpoints

  • ✅ Respond with 200 OK quickly to acknowledge receipt

  • ✅ Retry logic: We retry failed requests up to 5 times with exponential backoff

  • ✅ Use idempotency to prevent duplicate processing

Troubleshooting

I'm not receiving events

  • ✅ Make sure your webhook endpoint is publicly accessible over HTTPS.

  • ✅ Double-check that you're subscribed to the correct event types in the dashboard.

  • ✅ Inspect your webhook logs in the dashboard to see if we attempted delivery.

I'm receiving duplicate events

  • Implement idempotency in your webhook handler.

  • Use unique identifiers like id to detect and ignore already-processed events.

The webhook stopped working

  • Make sure you applied the best practices.

  • Check the webhook status in the Webhooks section in your dashboard.

  • Re-enable the webhook manually from your dashboard after resolving the issue(s).

Last updated

Was this helpful?