CloudChat Webhook Payload

Last updated on Oct 02, 2026

The most up-to-date documentation for Cloud Humans APIs is at docs.cloudhumans.com/api-reference. If this article differs from the reference, the reference prevails.

Payload sent by the CloudChat Webhook

When an automation triggers a webhook, it makes an HTTP POST to the configured URL, sending a JSON with the following main information:

Payload structure (JSON)

FieldDescriptioneventThe type of event that triggered the webhook (e.g.: message_created, conversation_created, etc.)contentThe message contentmessage_typeMessage type (incoming, outgoing, etc.)conversationObject with conversation data, including id, status, etc.senderObject with sender (contact) data, including id, name, email, phone_number, etc.accountObject with account data, including idinboxObject with inbox/channel datacontactData of the associated contact

Practical example (based on the code)

As seen in the Rasa integration example:

chatwoot / implementation-examples / rasa-agent-bot-demo / rasa_flask_router.py

@app.route('/rasa', methods=['POST'])
def rasa():
    data = request.get_json()
    message_type = data['message_type']
    message = data['content']
    conversation = data['conversation']['id']

Events supported for webhooks

As defined in the model:

chatwoot / chatwoot / app / models / webhook.rb

ALLOWED_WEBHOOK_EVENTS = %w[conversation_status_changed conversation_updated conversation_created contact_created contact_updated
                            message_created message_updated webwidget_triggered inbox_created inbox_updated
                            conversation_typing_on conversation_typing_off].freeze

Summary of the typical JSON that arrives at your endpoint:

webhook_payload_example.json

{
  "event": "message_created",
  "message_type": "incoming",
  "content": "Olá, preciso de ajuda!",
  "id": 12345,
  "conversation": {

In summary:

The webhook sends a POST with JSON containing data about the event, the conversation, the contact/sender, the account and the inbox, along with the message content and the message type. This allows the external system (the one receiving the webhook) to know exactly what happened and take the appropriate action.