GoTallo can push real-time message events to an endpoint you configure. When a message is sent or received on a connected platform, GoTallo will deliver it to your webhook URL as an HTTP POST request with a Content-Type: application/json body.
Enabling
-
In Salesforce, open GoTallo Configuration.
-
Navigate to Integrations and Webhooks.
-
Click Add Service.
-
Set Type to
Webhook. -
Enter a Name and your URL.
-
Click Save.
Once saved, GoTallo will start delivering message events to the configured URL.
Message Webhook
Fires for every inbound or outbound message on platforms where message forwarding is enabled. Use this to mirror conversations in your own system in real time.
Payload
{
// Message fields
"id": "uuid",
"ext_identifier": "string", // Platform-native message ID
"conversation_id": "uuid",
"tenant_id": "uuid",
"agent_id": "uuid",
"agent": { // null if no agent assigned
"id": "uuid",
"name": "string"
},
"timestamp": "2024-01-15T10:30:00Z",
"modified_timestamp": "2024-01-15T10:30:01Z",
"type": "TEXT", // See Message Types below
"status": "RECEIVED", // See Message Statuses below
"outbound": false, // true = agent → customer
"text": "string or null",
"file": { // null for non-media messages
"secure_url": "https://..."
},
"file_type": "string or null",
"mime_type": "string or null",
"media_title": "string or null",
"auxiliary_data": {}, // Platform-specific metadata
"custom_data": {},
"metadata": {},
"transcribe_enabled": false,
"transcribe_in_progress": false,
"count_as_inbound": true,
"quote": null, // Quoted message object (same shape), or null
"template": null, // HSM template details, or null
// Additional context fields
"platform": "WHATSAPP", // Platform type name
"platform_id": "uuid",
"conversation_state": "OPEN", // See Conversation States below
"tenant": {
"id": "uuid",
"name": "string",
"org_id": "string or null"
},
"chat_user": {
"id": "uuid",
"username": "string",
"first_name": "string",
"last_name": "string",
"phone_number": "string or null",
"gender": "string or null",
"profile_picture": {} // null or object with secure_url
}
}
Reference
Conversation States
|
Value |
Description |
|---|---|
|
|
Awaiting agent assignment |
|
|
Conversation window has expired |
|
|
Handled by automated bot |
|
|
Closed by an agent |
|
|
Conversation is blocked |
Message Types
|
Value |
Description |
|---|---|
|
|
Plain text message |
|
|
Image file |
|
|
Generic file attachment |
|
|
Video file |
|
|
Audio file |
|
|
Voice note |
|
|
Animated GIF |
|
|
Sticker |
|
|
Geographic location |
|
|
vCard contact |
|
|
Interactive button response |
|
|
WhatsApp template message (text) |
|
|
WhatsApp template message with media |
|
|
Generic template message |
|
|
Platform event (e.g. read receipt) |
|
|
Instagram story mention |
|
|
Instagram story reply |
|
|
WhatsApp interactive message |
|
|
Instagram share |
Message Statuses
|
Value |
Applies to |
Description |
|---|---|---|
|
|
Inbound |
Message received from customer |
|
|
Outbound |
Message queued for sending |
|
|
Outbound |
Accepted by the messaging platform |
|
|
Outbound |
Delivered to the customer's device |
|
|
Outbound |
Read by the customer |
|
|
Both |
Delivery or processing failed |
|
|
Both |
Message was deleted |
Delivery Behaviour
-
Delivery order: Not guaranteed — messages are dispatched asynchronously.
-
Duplicates: Under high load or worker restarts, the same event may be delivered more than once. Use
idto deduplicate on your side.