Configuration

Webhooks can be enabled in the "Integrations" tab of your user settings. It takes the following fields:

active - True if enabled
url - URL used to post event information
subscribedEvents - The event types you'd like to be posted
authHeader - Secret set as the Authorization header in HTTPS requests (Optional)

Webhook POST Request

Payload Overview

Header

Content-Type: application/json
Authorization: {{ SECRET }} # Only on HTTPS requests, if configured

Body (All possible values)

{
  "time": "{{ timestamp }}",
  "eventId": "{{ event id }}",
  "campaignId": "{{ campaign id }}",
  "type": "{{ ACTTIVE: open|variant|interaction|submit DEPRECATED: click|unsubscribe|duration|hook }}",
  "interaction": String, (Only interaction types)
  "meta": Object, (Only interaction types)
  "variant": String, (Only variant types)
  "click": String, (Only click types DEPRECATED)
  "duration": Number, (Only duration types DEPRECATED)
  "submit": Object, (Only submit types)
  "hook": String, (Only hook types DEPRECATED)
}

Open Events

These events fire when an email recipient opens an email

Value Types

{
  "campaignId": String,
  "time": String,
  "to": String,
  "type": String
}

Example Object

{
  "campaignId": "5b0d9cc4aa5bf605cc547d23",
  "time": "2018-05-29T20:59:35.603Z",
  "to": "recipientID",
  "type": "open"
}

Variant Events

These events fire when an email recipient opens an email in an email client that support interactivity. The variant key has one of two values, interactive or limited, depending on what email client is opening the message.

We use variant events in combination with open events to determing the total percentage of opens that render an interactive experience:
(interactive variant total count + limited variant total count)/open total count

Value Types

{
  "campaignId": String,
  "time": String,
  "to": String,
  "type": String,
  "variant": String
}

Example Object

{
  "campaignId": "5b0d9cc4aa5bf605cc547d23",
  "time": "2018-05-29T20:59:35.603Z",
  "to": "recipientID",
  "type": "variant",
  "variant": "interactive"
}

Interaction Events

These events fire when an email recipient interacts with an element in an email.

The interaction value is pipe delimited string that describes where the interaction occured. For example, if a user clicks on the first image of the second gallery in an email then the string will equal gallery||1||thumbnail||0.

The meta value is supported as an optional value on the quiz module. It allows users to include a hashed object to include additional information in an interaction event. If you want more details on the meta value, please contact your support rep.

Value Types

{
  "campaignId": String,
  "time": String,
  "to": String,
  "type": String,
  "interaction": String,
  "meta": String *optional*
}

Example Object

{
  "campaignId": "5b0d9cc4aa5bf605cc547d23",
  "time": "2018-05-29T20:59:35.603Z",
  "to": "recipientID",
  "type": "interaction",
  "interaction": "gallery||1||thumbnail||0"
}

Submit Events

These events fire when an email recipient clicks a submission CTA inside of an email message. Submits only occur on campaigns that contain form elements.

A submit is an object, it will contain all of the fields that a user has filled out in an email, and the submitUrl which is set by a customer. Additionally any customer can include hidden fields in a form, this allows you to pass along values in a submit that a customer doesn't see in the message.

For example, if you are sending a reviews email and you already know the name of the reviewer. If you want their name to be included in the submission without them having to enter it again, you can include it as a hidden field. This will add it to the submit, but keep it hidden inside the email.

Value Types

{
  "campaignId": String,
  "time": String,
  "to": String,
  "type": String,
  "submit": Object
}

Example Object

{
  "campaignId": "5b0d9cc4aa5bf605cc547d23",
  "time": "2018-05-29T20:59:35.603Z",
  "to": "recipientID",
  "type": "variant",
  "submit": {
    "field": "value",
    "hidden_field": "hidden_value"
    "submitUrl": "http://gorebel.com/form_action"
  }
}

Deprecated Events

The following event types are deprecated in our system, click, unsubscribe, duration, hook. They represent pieces of functionality that are no longer a piece of our core offering. However, if you are a legacy customer they may fire off from time to time, and we will continue sending these events if for all older message.