Breadcrumbs

Webhooks

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

  1. In Salesforce, open GoTallo Configuration.

  2. Navigate to Integrations and Webhooks.

  3. Click Add Service.

  4. Set Type to Webhook.

  5. Enter a Name and your URL.

  6. 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

JSON
{
  // 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

OPEN

Awaiting agent assignment

EXPIRED

Conversation window has expired

AUTO_BOT

Handled by automated bot

CLOSED

Closed by an agent

BLOCKED

Conversation is blocked

Message Types

Value

Description

TEXT

Plain text message

IMAGE

Image file

FILE

Generic file attachment

VIDEO

Video file

AUDIO

Audio file

VOICE

Voice note

GIF

Animated GIF

STICKER

Sticker

LOCATION

Geographic location

CONTACT

vCard contact

BUTTON

Interactive button response

HSM

WhatsApp template message (text)

MEDIA_HSM

WhatsApp template message with media

TEMPLATE

Generic template message

EVENT

Platform event (e.g. read receipt)

STORY_MENTION

Instagram story mention

STORY_REPLY

Instagram story reply

WA_INTERACTIVE

WhatsApp interactive message

IG_SHARE

Instagram share

Message Statuses

Value

Applies to

Description

RECEIVED

Inbound

Message received from customer

PREPARED

Outbound

Message queued for sending

SENT

Outbound

Accepted by the messaging platform

DELIVERED

Outbound

Delivered to the customer's device

READ

Outbound

Read by the customer

FAILED

Both

Delivery or processing failed

DELETED

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 id to deduplicate on your side.