--- title: "Send WhatsApp Template Message Data to Conversational Webhooks" slug: "send-conversational-whatsapp-template-messages-to-chatbot-systems-1" description: "Explains how Insider One forwards WhatsApp template message data to conversational webhooks, including payload fields and identifying the message source." updated: 2026-10-27T13:01:44Z published: 2026-10-27T13:01:44Z canonical: "academy.insiderone.com/send-conversational-whatsapp-template-messages-to-chatbot-systems-1" --- > ## Documentation Index > Fetch the complete documentation index at: https://academy.insiderone.com/llms.txt > Use this file to discover all available pages before exploring further. # Send WhatsApp Template Message Data to Conversational Webhooks > [!NOTE] > This feature is available on request. Please contact the Insider One team to enable it. Insider One can forward WhatsApp template message data to your webhook so your chatbot system can identify which template triggered the interaction. Each time a template message is sent, Insider One forwards the template information to the webhook URL defined in your Conversational API configuration. This allows your system to match chatbot responses with the correct template message. This behavior applies regardless of how the message is triggered, including [WhatsApp Standalone](/v1/docs/whatsapp-overview), [Architect WhatsApp](/v1/docs/architect-whatsapp), [Transactional API](/v1/docs/whatsapp-transactional-api), and [Conversational API](/v1/docs/whatsapp-conversational-api). All template message types are delivered to this webhook endpoint. The webhook payload generally mirrors the original message content sent to Meta, with the following additional fields: - **timestamp**: Indicates the exact time the message was sent to Meta. - **content**: Contains the template message content. ## Sample Webhook Payload The following is a sample webhook payload sent to your system. It contains standard WhatsApp template message data along with Insider-specific fields (timestamp and content) that help you identify which template triggered the chatbot. ```json {  "messaging_product": "whatsapp",  "recipient_type": "individual",  "template": {    "components": [      {        "index": "",        "parameters": [          {            "type": "video",            "video": {              "link": "https://image.insiderone.com/media/whatsapp-business/11210/mfNi3516030.mp4?utm_source=insider&utm_medium=whatsapp_business_api&utm_campaign=sfsdfsad"              }          }        ],        "sub_type": "",        "type": "header"      },      {        "index": "",        "parameters": [],        "sub_type": "",        "type": "body"      },      {        "index": "0",        "parameters": [          {            "text": "?utm_source=insider&utm_medium=whatsapp_business_api&utm_campaign=sfsdfsad&isIns=1&msKey=D9BFn64184zDy4T",            "type": "text"          }        ],        "sub_type": "url",        "type": "button"      }    ],    "content": "Hi, this is a test message! Say welcome new media type, yay!",    "language": {      "code": "en",      "policy": "deterministic"    },    "name": "new_media"  },  "timestamp": 1713518420,  "to": "994558964184",  "type": "template" } ``` ## Sample Request The following is a sample cURL request you can use to simulate how the webhook payload will be delivered to your system. This allows you to test and verify that your webhook is correctly receiving and handling the data. ```bash curl --location 'https://webhook.site/8d7f9c8c-cc02-4725-8630-067ec0587810' \ --header 'Authorization: Bearer test' \ --header 'Content-Type: application/json' \ --data '{  "messaging_product": "whatsapp",  "recipient_type": "individual",  "template": {    "components": [      {        "index": "",        "parameters": [          {            "type": "video",            "video": {              "link": "https://image.insiderone.com/media/whatsapp-business/11210/mfNi3i516030.mp4?utm_source=insider&utm_medium=whatsapp_business_api&utm_campaign=sfsdfsad"              }          }        ],        "sub_type": "",        "type": "header"      },      {        "index": "",        "parameters": [],        "sub_type": "",        "type": "body"      },      {        "index": "0",        "parameters": [          {            "text": "?utm_source=insider&utm_medium=whatsapp_business_api&utm_campaign=sfsdfsad&isIns=1&msKey=D9BFn64184zDy4T",            "type": "text"          }        ],        "sub_type": "url",        "type": "button"      }    ],    "content": "Hi, this is a test message! Say welcome new media type, yay!",    "language": {      "code": "en",      "policy": "deterministic"    },    "name": "new_media"  },  "timestamp": 1713518420,  "to": "994558964184",  "type": "template" }' ``` ## Sample Webhook Response > [!NOTE] > As of September 16, 2026, uuid contains the user's UUID. Previously, it contained the Insider ID. The Insider ID is now sent in the new iid field. If your integration reads uuid as the Insider ID, switch to iid. ```json {  "campaignId": "number",  "campaignName": "string",  "messaging_product": "string",  "original_template": {    "category": "string",    "components": [      {        "buttons": "null | array",        "text": "string",        "type": "string"      }    ],    "language": "string",    "name": "string",    "quality": "string",    "status": "string"  },  "recipient_type": "string",  "template": {    "components": [      {        "index": "null | number",        "parameters": [          {            "type": "string",            "image": {              "link": "string (uri)"            },            "text": "string"          }        ],        "sub_type": "string",        "type": "string"      }    ],    "content": "string",    "language": {      "code": "string",      "policy": "string"    },    "name": "string"  },  "timestamp": "number",  "to": "string",  "type": "string",  "uuid": "3f2b8c1e-7a4d-4e9b-9c2f-1a6d8e5b4c7a",  "iid": "1234567890abcdef",  "wamid": "string" } ``` The following table describes the fields that identify the user. | Parameter | Description | Data Type | | --- | --- | --- | | uuid | The user's UUID. Omitted when the user has no UUID. | String | | iid | The user's Insider ID. Omitted for test or system-generated IDs (IDs starting with test_ or -none-). | String | The same fields are sent for template messages from campaigns, Direct Send, and reply messages. If your send content attributes include keys named uuid or iid, Insider One ignores those attributes so they cannot overwrite the identifiers. ## Identify the Message Source You can identify which Insider One product triggered the WhatsApp message by checking specific fields in the API response. Use the table below to match the response fields with the message source: | Response field | Value | Message source | | --- | --- | --- | | journeyName, journeyId | - | [Architect](/v1/docs/architect-whatsapp) | | campaignId | 429496728 | [Conversational API](/v1/docs/whatsapp-conversational-api) | | campaignId | 429496729 | [Transactional API](/v1/docs/whatsapp-transactional-api) | | campaignId | 429496727 | [Verify API (OTP messages)](/v1/docs/otp-for-whatsapp) | | campaignId | Any other value | [Standalone WhatsApp](/v1/docs/whatsapp-overview) | If **journeyName** and **journeyId** are included in the response, the message was sent through Architect. If **campaignId** is returned, match its value with the table above to determine the message source.