MessageHub: Integrations: Supported Events by Webhooks

This article will review the Supported Events you can transfer via Webhooks. Webhooks are HTTP callbacks that can be defined for every account. They are triggered by events like message creation in MessageHub. You can connect more than one Webhook to your MessageHub account.

IMPORTANT

Please keep in mind that our support for Webhooks is limited. If you need additional assistance, please contact a professional developer.


Requirements

  • An active ClickFunnels 2.0 account

  • MessageHub

  • An External Webhook

IMPORTANT

Before you get started with MessageHub, you’ll need to:

  • Configure your Marketing Settings

  • Buy or Configure a Custom Domain

  • Add an Email Address on a Custom Domain and Set up DKIM


Objects

An event can contain any of the following objects as a payload. Different types of objects supported in MessageHub are as follows.

account

The following payload will be returned for an account.

{
  "id": "integer",
  "name": "string"
}

inbox

The following payload will be returned for an inbox.

{
  "id": "integer",
  "name": "string"
}

contact

The following payload will be returned for a contact.

{
  "id": "integer",
  "name": "string",
  "avatar": "string",
  "type": "contact",
  "account": {
    // <...account Object Attributes>
  }
}

user

The following payload will be returned for an agent/admin.

{
  "id": "integer",
  "name": "string",
  "email": "string",
  "type": "user"
}

conversation

The following payload will be returned for a conversation.

{
  "additional_attributes": {
    "browser": {
      "device_name": "string",
      "browser_name": "string",
      "platform_name": "string",
      "browser_version": "string",
      "platform_version": "string"
    },
    "referer": "string",
    "initiated_at": {
      "timestamp": "iso-datetime"
    }
  },
  "can_reply": "boolean",
  "channel": "string",
  "id": "integer",
  "inbox_id": "integer",
  "contact_inbox": {
    "id": "integer",
    "contact_id": "integer",
    "inbox_id": "integer",
    "source_id": "string",
    "created_at": "datetime",
    "updated_at": "datetime",
    "hmac_verified": "boolean"
  },
  "messages": [
    // Array Of message Objects
  ],
  "meta": {
    "sender": {
      // contact Object Attributes
    },
    "assignee": {
      // user Object Attributes
    }
  },
  "status": "string",
  "unread_count": "integer",
  "agent_last_seen_at": "unix-timestamp",
  "contact_last_seen_at": "unix-timestamp",
  "timestamp": "unix-timestamp",
  "account_id": "integer"
}

message

The following payload will be returned for a message.

{
  "id": "integer",
  "content": "string",
  "message_type": "integer",
  "created_at": "unix-timestamp",
  "private": "boolean",
  "source_id": "string / null",
  "content_type": "string",
  "content_attributes": "object",
  "sender": {
    "type": "string - contact/user"
    // user Or contact Object Attributes
  },
  "account": {
    // account Object Attributes
  },
  "conversation": {
    // conversation Object Attributes
  },
  "inbox": {
    // inbox Object Attributes
  }
}

Example Webhook Payload

The following is an example of the final webhook payload that will be returned.

{
  "event": "event_name"
  // Attributes related to the event
}

Events

MessageHub supports the following webhook events. You can subscribe to them while configuring a webhook in the dashboard or using the API.

IMPORTANT

Custom code is case sensitive. It is important to add it exactly as it is shown.

conversation_created

This event will be triggered when a new conversation is created in the account. The payload for the event is as follows.

{
  "event": "conversation_created"
  // <...conversation Object Attributes>
}

conversation_updated

This event will be triggered when there is a change in any of the attributes in the conversation.

{
  "event": "conversation_updated" ,
  "changed_attributes": [
    {
      "<attribute_name>": {
        "current_value": "",
        "previous_value": ""
      }
    }
  ]
  // <...conversation Object Attributes>
}

conversation_status_changed

This event will be triggered when the status of the conversation is changed.

NOTE

If you are using agent bot APIs instead of webhooks, this event is not supported yet.

{
  "event": "conversation_status_changed"
  // <...conversation Object Attributes>
}

message_created

This event will be triggered when a message is created in a conversation. The payload for the event is as follows.

{
  "event": "message_created"
  // <...message Object Attributes>
}

message_updated

This event will be triggered when a message is updated in a conversation. The payload for the event is as follows.

{
  "event": "message_updated"
  // <...message Object Attributes>
}

webwidget_triggered

This event will be triggered when the end user opens the live chat widget.

{
  "id": "integer",
  "contact": {
    // <...contact Object Attributes>
  },
  "inbox": {
    // <...inbox Object Attributes>
  },
  "account": {
    // <...account Object Attributes>
  },
  "current_conversation": {
    // <...conversation Object Attributes>
  },
  "source_id": "string",
  "event": "webwidget_triggered",
  "event_info": {
    "initiated_at": {
      "timestamp": "date-string"
    },
    "referer": "string",
    "widget_language": "string",
    "browser_language": "string",
    "browser": {
      "browser_name": "string",
      "browser_version": "string",
      "device_name": "string",
      "platform_name": "string",
      "platform_version": "string"
    }
  }
}