Webhooks Setup

Configure real-time notifications for your messaging events

Overview

Webhooks provide real-time updates for:

  • Message Status Updates: Delivery confirmations, read receipts, and failures
  • Customer Interactions: Replies, button clicks, suggestion interactions

Webhook Configuration

Setting Up Webhook Endpoints

Step 1: Access Webhook Settings

  1. Log into your Smobi dashboard
  2. Navigate to Settings in the sidebar
  3. Click on your brand name
  4. Find the Webhooks section

Step 2: Configure Endpoints

You can configure multiple webhook endpoints for different purposes:

Message Status Webhook
  • Purpose: Receive message delivery updates
  • URL: Your endpoint for status notifications
  • Events: Message delivered, read, failed, etc.
Inbound Message Webhook
  • Purpose: Receive customer messages and interactions
  • URL: Your endpoint for inbound messages
  • Events: Customer replies, button clicks, etc.

Step 3: Test Your Endpoints

  1. Test URL: Verify your endpoint is accessible
  2. Send Test Event: Trigger a test webhook to verify configuration
  3. Check Logs: Monitor your endpoint for incoming webhooks
  4. Verify Response: Ensure your endpoint returns proper HTTP status codes

Webhook Event Types

Message Status Events

Receive updates about message delivery and status changes:

Message Delivered

1{
2 "smobiMessageId": "123e4567-e89b-12d3-a456-426614174000",
3 "clientRef": "client-ref-123",
4 "to": "15552223333",
5 "from": "Smobi-Dev",
6 "status": "DELIVERED",
7 "channel": "RCS",
8 "timestamp": "2024-01-15T10:30:00Z"
9}

Message Read

1{
2 "smobiMessageId": "123e4567-e89b-12d3-a456-426614174000",
3 "clientRef": "client-ref-123",
4 "to": "15552223333",
5 "from": "Smobi-Dev",
6 "status": "READ",
7 "channel": "RCS",
8 "timestamp": "2024-01-15T10:35:00Z"
9}

Message Failed

1{
2 "smobiMessageId": "123e4567-e89b-12d3-a456-426614174000",
3 "clientRef": "client-ref-123",
4 "to": "15552223333",
5 "from": "Smobi-Dev",
6 "status": "FAILED",
7 "channel": "RCS",
8 "timestamp": "2024-01-15T10:30:00Z"
9}

Customer Interaction Events

Receive notifications about customer responses and interactions:

Note: The messageSource is EXTERNAL for all non-workflow related events.

SMS Message (Customer Reply)

1{
2 "smobiMessageId": "123e4567-e89b-12d3-a456-426614174000",
3 "clientRef": "client-ref-123",
4 "to": "Smobi-Dev",
5 "from": "15552223333",
6 "channel": "SMS",
7 "timestamp": "2024-01-15T10:45:00Z",
8 "messageSource": "EXTERNAL",
9 "payload": "Yes, I'm interested"
10}

RCS Message (Button Click)

1{
2 "smobiMessageId": "123e4567-e89b-12d3-a456-426614174000",
3 "clientRef": "client-ref-123",
4 "to": "Smobi-Dev",
5 "from": "15552223333",
6 "channel": "RCS",
7 "timestamp": "2024-01-15T10:40:00Z",
8 "messageSource": "EXTERNAL",
9 "payload": {
10 "type": "button",
11 "content": {
12 "parentSmobiMessageId": "123e4567-e89b-12d3-a456-426614174000",
13 "parentClientRef": "client-ref-123",
14 "suggestionId": "buy-now",
15 "text": "Buy Now"
16 }
17 }
18}

RCS Message (Text Reply)

1{
2 "smobiMessageId": "123e4567-e89b-12d3-a456-426614174000",
3 "clientRef": "client-ref-123",
4 "to": "Smobi-Dev",
5 "from": "15552223333",
6 "channel": "RCS",
7 "timestamp": "2024-01-15T10:45:00Z",
8 "messageSource": "EXTERNAL",
9 "payload": {
10 "type": "text",
11 "text": "Yes, I'm interested"
12 }
13}

Workflow Interaction Events

Receive notifications about customer responses and interactions, for your workflows:

Note: The messageSource is INTERNAL for all workflow interaction events.

SMS Matched Text

This is sent when a customer replies to a workflow generated message that contained suggestions, and the response was classified as one of the suggestions.

1{
2 "smobiMessageId": "095f6a8a-7bad-446d-82c3-4439ccc10f15",
3 "clientRef": "workflow-3d7838a0-7ccc-40ac-a356-e799a606e1f4",
4 "to": "15552223333",
5 "from": "Smobi",
6 "channel": "SMS",
7 "timestamp": "2025-08-07T17:10:28Z",
8 "messageSource": "INTERNAL",
9 "payload": "Thank you for your order! Your confirmation number is #12345. We'll send you updates on your delivery status.",
10 "context": {
11 "type": "suggestion",
12 "parentSmobiMessageId": "095f6a8a-7bad-446d-82c3-4439ccc10f15",
13 "parentClientRef": "workflow-3d7838a0-7ccc-40ac-a356-e799a606e1f4",
14 "suggestionId": "1734123028123",
15 "text": "menu",
16 "workflowInteractionEventId": "ce522183-7442-46a8-83b3-53202093f479",
17 "classifiedText": "Show Menu"
18 }
19}

RCS Button Click

This is sent when a customer clicks a button in a workflow generated message that contained suggestions.

1{
2 "smobiMessageId": "1a2b3c4d-5e6f-7890-abcd-ef1234567890",
3 "clientRef": "workflow-7f8e9d0c-1b2a-3456-7890-abcd12345678",
4 "to": "15552223333",
5 "from": "Smobi",
6 "channel": "RCS",
7 "timestamp": "2025-08-07T17:10:28Z",
8 "messageSource": "INTERNAL",
9 "payload": {
10 "type": "reply",
11 "content": {
12 "parentSmobiMessageId": "095f6a8a-7bad-446d-82c3-4439ccc10f15",
13 "parentClientRef": "workflow-3d7838a0-7ccc-40ac-a356-e799a606e1f4",
14 "suggestionId": "1734123028123",
15 "text": "Show Menu",
16 "workflowInteractionEventId": "ce522183-7442-46a8-83b3-53202093f479"
17 }
18 }
19}

RCS Matched Text

This is sent when a customer replies to a workflow generated message that contained suggestions, and the response was classified as one of the suggestions.

1{
2 "smobiMessageId": "1a2b3c4d-5e6f-7890-abcd-ef1234567890",
3 "clientRef": "workflow-7f8e9d0c-1b2a-3456-7890-abcd12345678",
4 "to": "15552223333",
5 "from": "Smobi",
6 "channel": "RCS",
7 "timestamp": "2025-08-07T17:10:28Z",
8 "messageSource": "INTERNAL",
9 "payload": {
10 "type": "workflow_response",
11 "content": {
12 "type": "suggestion",
13 "parentSmobiMessageId": "095f6a8a-7bad-446d-82c3-4439ccc10f15",
14 "parentClientRef": "workflow-3d7838a0-7ccc-40ac-a356-e799a606e1f4",
15 "suggestionId": "1734123028123",
16 "text": "Show Menu",
17 "workflowInteractionEventId": "ce522183-7442-46a8-83b3-53202093f479",
18 "classifiedText": "Show Menu"
19 }
20 }
21}

Next Steps