Web Hooks Reference (V1)

Updated on October 22, 2023

Web Hooks can be used by developers as a simple way to get a Web Service notified of real-time events occurring on a Crisp website. The Web Hooks are configured through your Crisp dashboard, in your website settings. They can also be setup for a plugin through the Crisp Marketplace, allowing the plugin to receive Web Hooks for all subscribed plugins.

This reference contains a list of examples returned by each Web Hook, as well as a definition of how they get delivered to you.

Be reminded that Web Hooks can either be setup in the Crisp website settings (for private use), or through the Crisp Marketplace (for use in integrations). Plugins may also use the RTM API to receive the same events over WebSocket.

Delivery

When a Web Hook is delivered to your HTTP endpoint, it will come as an HTTP POST request, containing a JSON body. Certain specific HTTP headers will also be available on each Web Hook delivered to you, for security or debugging/logging purpose.

We strongly recommend using our official NodeJS Library or Golang Library to verify and receive Web Hooks.

The JSON body will be structured as such:

{
  "website_id": "<website_id>",
  "event": "<event_name>",

  "data": {
    /* Event data (same as sent over the RTM API) */
  },

  "timestamp": 0 /* When this event occurred */
}

The following HTTP headers will also come with a Web Hook:

  • X-Crisp-Hook-Origin: the origin of the hook (eg. plugin/rtm 38b411d9377a6a00 production for RTM events sent for a plugin)
  • X-Crisp-Request-Timestamp: the timestamp at which the hook has been emitted
  • X-Crisp-Signature: the security signature of the hook, which can be used to verify it (on plugin hooks only)
  • X-Delivery-Attempt-Limit: the number of times the delivery of the hook will be attempted, if unsuccessful
  • X-Delivery-Attempt-Count: the delivery attempt count for this request

The signature of a Web Hook can be verified as such:

  1. Read the content of the X-Crisp-Request-Timestamp and X-Crisp-Signature headers
  2. Read the full JSON body of the request and make it a string (eg. via JSON.stringify() on NodeJS)
  3. Concatenate values in a string as such: [timestamp;body_as_string] (include the [] and ; wrapping characters)
  4. Compute the HMAC-SHA256 of the concatenated string and your signature secret
  5. Compare provided signature header with your computed signature: if both match then the Web Hook is genuine (if not, you should not process the Web Hook)
Note that upon receiving a Web Hook, you must respond with a 200 HTTP status code. Failing to do so will lead the hook delivery system to think that your server could not process the Web Hook event, for which it will attempt a new delivery later on. If all delivery attempts fail, then we will pause all Web Hook deliveries to your endpoint for about a minute, meaning some events will never be received.

Origins

Web Hooks can be received on behalf of a plugin or Crisp website:

  • Plugin Hooks: configured for a plugin; more advanced users will need to go through the Crisp Marketplace and create a Crisp integration. Setting up a Web Hook endpoint through an integration lets you receive the same event namespaces that are available through the RTM API for plugin token tiers. Those Web Hooks are signed, and if a delivery fails it will be attempted again. Recommended for most users.
  • Website Hooks: configured for a website; they are considered private-use Web Hooks. Those Web Hooks can be configured in a few seconds, but less event namespaces are available for receival. They come handy for teams building simple automations eg. using Zapier. Those Web Hooks are not signed, nor is delivery attempted multiple times in case of a failure.

The following event namespaces can be received through Web Hooks:

Event Namespace Token Scope Token Permission Plugin Hooks? Website Hooks? Reference
session:update_availability website:conversation:sessions read Jump to ⤵️
session:update_verify website:conversation:sessions read Jump to ⤵️
session:request:initiated website:conversation:initiate write Jump to ⤵️
session:set_email website:conversation:sessions read Jump to ⤵️
session:set_phone website:conversation:sessions read Jump to ⤵️
session:set_address website:conversation:sessions read Jump to ⤵️
session:set_subject website:conversation:sessions read Jump to ⤵️
session:set_avatar website:conversation:sessions read Jump to ⤵️
session:set_nickname website:conversation:sessions read Jump to ⤵️
session:set_data website:conversation:sessions read Jump to ⤵️
session:set_segments website:conversation:sessions read Jump to ⤵️
session:set_block website:conversation:actions read Jump to ⤵️
session:set_opened website:conversation:actions read Jump to ⤵️
session:set_closed website:conversation:actions read Jump to ⤵️
session:set_participants website:conversation:participants read Jump to ⤵️
session:set_mentions website:conversation:sessions read Jump to ⤵️
session:set_routing website:conversation:routing read Jump to ⤵️
session:set_state website:conversation:states read Jump to ⤵️
session:sync:capabilities website:conversation:sessions read Jump to ⤵️
session:sync:geolocation website:conversation:sessions read Jump to ⤵️
session:sync:system website:conversation:sessions read Jump to ⤵️
session:sync:network website:conversation:sessions read Jump to ⤵️
session:sync:timezone website:conversation:sessions read Jump to ⤵️
session:sync:locales website:conversation:sessions read Jump to ⤵️
session:sync:pages website:conversation:pages read Jump to ⤵️
session:sync:events website:conversation:events read Jump to ⤵️
session:sync:rating website:conversation:sessions read Jump to ⤵️
session:sync:topic website:conversation:sessions read Jump to ⤵️
session:removed website:conversation:sessions read Jump to ⤵️
message:updated website:conversation:messages read Jump to ⤵️
message:send website:conversation:messages read Jump to ⤵️
message:received website:conversation:messages read Jump to ⤵️
message:removed website:conversation:messages read Jump to ⤵️
message:compose:send website:conversation:messages read Jump to ⤵️
message:compose:receive website:conversation:messages read Jump to ⤵️
message:acknowledge:read:send website:conversation:messages read Jump to ⤵️
message:acknowledge:read:received website:conversation:messages read Jump to ⤵️
message:acknowledge:delivered website:conversation:messages read Jump to ⤵️
message:notify:unread:send website:conversation:messages read Jump to ⤵️
message:notify:unread:received website:conversation:messages read Jump to ⤵️
people:profile:created website:people:profiles read Jump to ⤵️
people:profile:updated website:people:profiles read Jump to ⤵️
people:profile:removed website:people:profiles read Jump to ⤵️
people:bind:session website:people:profiles read Jump to ⤵️
people:sync:profile website:people:profiles read Jump to ⤵️
campaign:progress (none) (none) Jump to ⤵️
campaign:dispatched (none) (none) Jump to ⤵️
campaign:running (none) (none) Jump to ⤵️
browsing:request:initiated website:conversation:browsing write Jump to ⤵️
browsing:request:rejected website:conversation:browsing write Jump to ⤵️
call:request:initiated website:conversation:calls write Jump to ⤵️
call:request:rejected website:conversation:calls write Jump to ⤵️
status:health:changed (none) (none) Jump to ⤵️
website:update_visitors_count website:visitors read Jump to ⤵️
website:update_operators_availability website:operators read Jump to ⤵️
website:users:available website:availability read Jump to ⤵️
bucket:url:upload:generated bucket:url write Jump to ⤵️
bucket:url:avatar:generated bucket:url write Jump to ⤵️
bucket:url:website:generated bucket:url write Jump to ⤵️
bucket:url:campaign:generated bucket:url write Jump to ⤵️
bucket:url:helpdesk:generated bucket:url write Jump to ⤵️
bucket:url:status:generated bucket:url write Jump to ⤵️
bucket:url:processing:generated bucket:url write Jump to ⤵️
email:subscribe website:people:subscriptions read Jump to ⤵️
email:track:view website:people:subscriptions read Jump to ⤵️
plugin:channel (none) (none) Jump to ⤵️
plugin:event (none) (none) Jump to ⤵️
plugin:settings:saved (none) (none) Jump to ⤵️

Events

Session Events

Session Update Availability

  • Event: session:update_availability
  • Description: session availability changed (eg. online to offline)
  • Hooks: plugin
  • Scopes: website:conversation:sessions + read
{
  "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
  "event": "session:update_availability",

  "data": {
    "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
    "session_id": "session_36ba3566-9651-4790-afc8-ffedbccc317f",
    "availability": "online"
  },

  "timestamp": 1667412361763
}

Session Update Verify

  • Event: session:update_verify
  • Description: session verification status changed
  • Hooks: plugin
  • Scopes: website:conversation:sessions + read
{
  "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
  "event": "session:update_verify",

  "data": {
    "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
    "session_id": "session_36ba3566-9651-4790-afc8-ffedbccc317f",
    "is_verified": true
  },

  "timestamp": 1667412361763
}

Session Request Initiated

  • Event: session:request:initiated
  • Description: session has been initiated (conversation started)
  • Hooks: plugin
  • Scopes: website:conversation:sessions + read
{
  "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
  "event": "session:request:initiated",

  "data": {
    "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
    "session_id": "session_36ba3566-9651-4790-afc8-ffedbccc317f"
  },

  "timestamp": 1667412361763
}

Session Set Email

  • Event: session:set_email
  • Description: an email has been set for session
  • Hooks: plugin website
  • Scopes: website:conversation:sessions + read
{
  "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
  "event": "session:set_email",

  "data": {
    "email": "crisp@crisp.chat",
    "session_id": "session_36ba3566-9651-4790-afc8-ffedbccc317f",
    "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825"
  },

  "timestamp": 1632401890392
}

Session Set Phone

  • Event: session:set_phone
  • Description: a phone number has been set for session
  • Hooks: plugin website
  • Scopes: website:conversation:sessions + read
{
  "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
  "event": "session:set_phone",

  "data": {
    "phone": "330987654321",
    "session_id": "session_36ba3566-9651-4790-afc8-ffedbccc317f",
    "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825"
  },

  "timestamp": 1632406430584
}

Session Set Address

  • Event: session:set_address
  • Description: an address has been set for session
  • Hooks: plugin website
  • Scopes: website:conversation:sessions + read
{
  "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
  "event": "session:set_address",

  "data": {
    "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
    "session_id": "session_36ba3566-9651-4790-afc8-ffedbccc317f",
    "address": "Whip-Ma-Whop-Ma-Gate, York"
  },

  "timestamp": 1632412640818
}

Session Set Subject

  • Event: session:set_subject
  • Description: a subject has been set for session
  • Hooks: plugin website
  • Scopes: website:conversation:sessions + read
{
  "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
  "event": "session:set_subject",

  "data": {
    "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
    "session_id": "session_36ba3566-9651-4790-afc8-ffedbccc317f",
    "subject": "[IMPORTANT] World Domination Master Plan"
  },

  "timestamp": 1632412640818
}

Session Set Avatar

  • Event: session:set_avatar
  • Description: an avatar has been set for session
  • Hooks: plugin website
  • Scopes: website:conversation:sessions + read
{
  "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
  "event": "session:set_avatar",

  "data": {
    "avatar": "https://upload.wikimedia.org/wikipedia/commons/5/5a/John_Doe%2C_born_John_Nommensen_Duchac.jpg",
    "session_id": "session_36ba3566-9651-4790-afc8-ffedbccc317f",
    "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825"
  },

  "timestamp": 1632407014749
}

Session Set Nickname

  • Event: session:set_nickname
  • Description: a nickname has been set for session
  • Hooks: plugin website
  • Scopes: website:conversation:sessions + read
{
  "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
  "event": "session:set_nickname",

  "data": {
    "nickname": "John Doe",
    "session_id": "session_36ba3566-9651-4790-afc8-ffedbccc317f",
    "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825"
  },

  "timestamp": 1632401910906
}

Session Set Data

  • Event: session:set_data
  • Description: user data has been set for session
  • Hooks: plugin website
  • Scopes: website:conversation:sessions + read
{
  "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
  "event": "session:set_data",

  "data": {
    "data": {
      "key_3": "value_3"
    },

    "session_id": "session_36ba3566-9651-4790-afc8-ffedbccc317f",
    "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825"
  },

  "timestamp": 1632406895238
}

Session Set Segments

  • Event: session:set_segments
  • Description: user segments have been added to session
  • Hooks: plugin website
  • Scopes: website:conversation:sessions + read
{
  "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
  "event": "session:set_segments",

  "data": {
    "session_id": "session_36ba3566-9651-4790-afc8-ffedbccc317f",
    "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",

    "segments": [
      "segment1"
    ]
  },

  "timestamp": 1632407122511
}

Session Set Block

  • Event: session:set_block
  • Description: session was just blocked or unblocked
  • Hooks: plugin website
  • Scopes: website:conversation:actions + read
{
  "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
  "event": "session:set_block",

  "data": {
    "session_id": "session_36ba3566-9651-4790-afc8-ffedbccc317f",
    "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
    "is_blocked": true
  },

  "timestamp": 1632407477178
}

Session Set Opened

  • Event: session:set_opened
  • Description: conversation has been opened by an operator (viewed by)
  • Hooks: plugin
  • Scopes: website:conversation:actions + read
{
  "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
  "event": "session:set_opened",

  "data": {
    "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
    "session_id": "session_36ba3566-9651-4790-afc8-ffedbccc317f",

    "operator": {
      "user_id": "d790bfc4-d818-4bcf-8bc4-fb826df3ee46",
      "avatar": "https://upload.wikimedia.org/wikipedia/commons/5/5a/John_Doe%2C_born_John_Nommensen_Duchac.jpg",
      "nickname": "Baptiste Jamin"
    }
  },

  "timestamp": 1667412361763
}

Session Set Closed

  • Event: session:set_closed
  • Description: conversation has been closed by a viewing operator
  • Hooks: plugin
  • Scopes: website:conversation:actions + read
{
  "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
  "event": "session:set_closed",

  "data": {
    "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
    "session_id": "session_36ba3566-9651-4790-afc8-ffedbccc317f",

    "operator": {
      "user_id": "d790bfc4-d818-4bcf-8bc4-fb826df3ee46",
      "avatar": "https://upload.wikimedia.org/wikipedia/commons/5/5a/John_Doe%2C_born_John_Nommensen_Duchac.jpg",
      "nickname": "Baptiste Jamin"
    }
  },

  "timestamp": 1667412361763
}

Session Set Participants

  • Event: session:set_participants
  • Description: the list of conversation participants has been updated
  • Hooks: plugin
  • Scopes: website:conversation:participants + read
{
  "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
  "event": "session:set_participants",

  "data": {
    "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
    "session_id": "session_36ba3566-9651-4790-afc8-ffedbccc317f",

    "participants": [
      {
        "target": "john.doe@gmail.com",
        "type": "email"
      }
    ]
  },

  "timestamp": 1667412361763
}

Session Set Mentions

  • Event: session:set_mentions
  • Description: an operator mentioned another operator
  • Hooks: plugin
  • Scopes: website:conversation:sessions + read
{
  "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
  "event": "session:set_mentions",

  "data": {
    "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
    "session_id": "session_36ba3566-9651-4790-afc8-ffedbccc317f",

    "mentions": [
      "9ce29796-7b1a-47f9-8d73-c41a357325ff"
    ]
  },

  "timestamp": 1667412361763
}

Session Set Routing

  • Event: session:set_routing
  • Description: a routing identifier was set on conversation
  • Hooks: plugin
  • Scopes: website:conversation:routing + read
{
  "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
  "event": "session:set_routing",

  "data": {
    "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
    "session_id": "session_36ba3566-9651-4790-afc8-ffedbccc317f",
    "routing_id": "9ce29796-7b1a-47f9-8d73-c41a357325ff"
  },

  "timestamp": 1667412361763
}

Session Set State

  • Event: session:set_state
  • Description: session state changed (eg. to resolved)
  • Hooks: plugin website
  • Scopes: website:conversation:state + read
{
  "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
  "event": "session:set_state",

  "data": {
    "session_id": "session_36ba3566-9651-4790-afc8-ffedbccc317f",
    "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
    "state": "unresolved"
  },

  "timestamp": 1632396233579
}

Session Sync Capabilities

  • Event: session:sync:capabilities
  • Description: user device just advertised its capabilities on session (eg. browser support for calls)
  • Hooks: plugin
  • Scopes: website:conversation:sessions + read
{
  "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
  "event": "session:sync:capabilities",

  "data": {
    "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
    "session_id": "session_36ba3566-9651-4790-afc8-ffedbccc317f",

    "capabilities": [
      "browsing",
      "call"
    ]
  },

  "timestamp": 1667412361763
}

Session Sync Geolocation

  • Event: session:sync:geolocation
  • Description: current geolocation was just pushed for session
  • Hooks: plugin website
  • Scopes: website:conversation:sessions + read
{
  "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
  "event": "session:sync:geolocation",

  "data": {
    "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
    "session_id": "session_36ba3566-9651-4790-afc8-ffedbccc317f",

    "geolocation": {
      "country": "GB",
      "region": "ENG",
      "city": "London",

      "coordinates": {
        "latitude": 51.5074,
        "longitude": -0.1196
      }
    }
  },

  "timestamp": 1632409600386
}

Session Sync System

  • Event: session:sync:system
  • Description: current device system was just pushed for session
  • Hooks: plugin website
  • Scopes: website:conversation:sessions + read
{
  "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
  "event": "session:sync:system",

  "data": {
    "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
    "session_id": "session_aac42ca6-80f9-49fa-b43d-36a8be4f3744",

    "system": {
      "os": {
        "name": "macOS",
        "version": "10.15.7"
      },

      "engine": {
        "name": "Blink",
        "version": "93.0.4577.63"
      },

      "browser": {
        "name": "Chrome",
        "version": "93.0.4577.63",
        "major": "93"
      },

      "useragent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36"
    }
  },

  "timestamp": 1632405174447
}

Session Sync Network

  • Event: session:sync:network
  • Description: current device network was just pushed for session
  • Hooks: plugin website
  • Scopes: website:conversation:sessions + read
{
  "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
  "event": "session:sync:network",

  "data": {
    "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
    "session_id": "session_36ba3566-9651-4790-afc8-ffedbccc317f",

    "network": {
      "ip": "23.106.56.52"
    }
  },

  "timestamp": 1632409600387
}

Session Sync Timezone

  • Event: session:sync:timezone
  • Description: current device timezone was just pushed for session
  • Hooks: plugin website
  • Scopes: website:conversation:sessions + read
{
  "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
  "event": "session:sync:timezone",

  "data": {
    "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
    "session_id": "session_aac42ca6-80f9-49fa-b43d-36a8be4f3744",

    "timezone": {
      "offset": 300
    }
  },

  "timestamp": 1632405174443
}

Session Sync Locales

  • Event: session:sync:locales
  • Description: current device locales was just pushed for session
  • Hooks: plugin website
  • Scopes: website:conversation:sessions + read
{
  "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
  "event": "session:sync:locales",

  "data": {
    "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
    "session_id": "session_36ba3566-9651-4790-afc8-ffedbccc317f",

    "locales": {
      "locales": [
        "en",
        "en-GB"
      ]
    }
  },

  "timestamp": 1632396148676
}

Session Sync Pages

  • Event: session:sync:pages
  • Description: a page was just browsed by user on session
  • Hooks: plugin
  • Scopes: website:conversation:pages + read
{
  "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
  "event": "session:sync:pages",

  "data": {
    "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
    "session_id": "session_36ba3566-9651-4790-afc8-ffedbccc317f",

    "pages": [
      {
        "page_url": "https://nike.com/",
        "page_title": "Homepage",
        "timestamp: 1640800162400"
      }
    ]
  },

  "timestamp": 1667412361763
}

Session Sync Events

  • Event: session:sync:events
  • Description: events were just pushed from user on session
  • Hooks: plugin website
  • Scopes: website:conversation:events + read
{
  "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
  "event": "session:sync:events",

  "data": {
    "events": [
      {
        "text": "product_bought",

        "data": {
          "price": "$200",
          "name": "iPhone 6S"
        },

        "color": "red",
        "timestamp": 1632409219371
      }
    ],

    "session_id": "session_36ba3566-9651-4790-afc8-ffedbccc317f",
    "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825"
  },

  "timestamp": 1632409224403
}

Session Sync Rating

  • Event: session:sync:rating
  • Description: a user rating was just submitted for session
  • Hooks: plugin website
  • Scopes: website:conversation:sessions + read
{
  "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
  "event": "session:sync:rating",

  "data": {
    "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
    "session_id": "session_36ba3566-9651-4790-afc8-ffedbccc317f",

    "rating": {
      "stars": 5,
      "comment": "The support was super quick and very helpful! Thanks! "
    }
  },

  "timestamp": 1632410645994
}

Session Sync Topic

  • Event: session:sync:topic
  • Description: a topic was just generated from the session messages
  • Hooks: plugin website
  • Scopes: website:conversation:sessions + read
{
  "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
  "event": "session:sync:topic",

  "data": {
    "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
    "session_id": "session_36ba3566-9651-4790-afc8-ffedbccc317f",
    "topic": "Refund Requests"
  },

  "timestamp": 1698071757145
}

Session Removed

  • Event: session:removed
  • Description: session has been removed (ie. conversation was deleted)
  • Hooks: plugin website
  • Scopes: website:conversation:sessions + read
{
  "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
  "event": "session:removed",

  "data": {
    "session_id": "session_ab097597-c3a1-4274-926c-f0dee322cecf",
    "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825"
  },

  "timestamp": 1632409808497
}

Message Events

Message Updated

  • Event: message:updated
  • Description: a message has been updated
  • Hooks: plugin website
  • Scopes: website:conversation:messages + read
{
  "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
  "event": "message:updated",

  "data": {
    "fingerprint": 163240180126629,
    "content": "This is an edited message!",
    "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
    "session_id": "session_36ba3566-9651-4790-afc8-ffedbccc317f"
  },

  "timestamp": 1632401830425
}
{
  "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
  "event": "message:updated",

  "data": {
    "fingerprint": 163413612446728,
    "content": {
      "id": "call-date",
      "text": "Pick your date!",

      "choices": [
        {
          "value": "1",
          "label": "Today, 1:00PM.",
          "selected": false
        },
        {
          "value": "2",
          "label": "Tomorrow, 3:45PM.",
          "selected": true
        }
      ]
    },

    "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
    "session_id": "session_36ba3566-9651-4790-afc8-ffedbccc317f",
    "routing_ids": []
  },

  "timestamp": 1634136128511
}

Message Send

  • Event: message:send
  • Description: a message has been sent from a visitor (received by operators)
  • Hooks: plugin website
  • Scopes: website:conversation:messages + read
{
  "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
  "event": "message:send",

  "data": {
    "type": "text",
    "origin": "chat",
    "content": "Hello Crisp, this is a message from a visitor!",
    "timestamp": 1632396148646,
    "fingerprint": 163239614854320,
    "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
    "session_id": "session_36ba3566-9651-4790-afc8-ffedbccc317f",
    "from": "user",

    "user": {
      "nickname": "visitor607",
      "user_id": "session_36ba3566-9651-4790-afc8-ffedbccc317f"
    },

    "stamped": true
  },

  "timestamp": 1632396148743
}

Message Received

  • Event: message:received
  • Description: a message has been sent from an operator (received by a visitor)
  • Hooks: plugin website
  • Scopes: website:conversation:messages + read
{
  "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
  "event": "message:received",

  "data": {
    "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
    "type": "text",
    "from": "operator",
    "origin": "chat",
    "content": "Hello! This is a message from an operator!",
    "fingerprint": 163239623329114,

    "user": {
      "nickname": "John Doe",
      "user_id": "012d1926-8753-4af6-9957-4853bb6fa294"
    },

    "mentions": [],
    "timestamp": 1632396233539,
    "stamped": true,
    "session_id": "session_36ba3566-9651-4790-afc8-ffedbccc317f"
  },

  "timestamp": 1632396233588
}

Message Removed

  • Event: message:removed
  • Description: a message has been removed
  • Hooks: plugin website
  • Scopes: website:conversation:messages + read
{
  "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
  "event": "message:removed",

  "data": {
    "fingerprint": 163240180126629,
    "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
    "session_id": "session_36ba3566-9651-4790-afc8-ffedbccc317f"
  },

  "timestamp": 1632401830425
}

Message Compose Send

  • Event: message:compose:send
  • Description: a message is being composed (MagicType from visitor)
  • Hooks: plugin
  • Scopes: website:conversation:messages + read
{
  "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
  "event": "message:compose:send",

  "data": {
    "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
    "session_id": "session_36ba3566-9651-4790-afc8-ffedbccc317f",
    "excerpt": "I am typing someth",
    "timestamp": 1640852923184,
    "type": "start"
  },

  "timestamp": 1667412361763
}
{
  "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
  "event": "message:compose:send",

  "data": {
    "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
    "session_id": "session_36ba3566-9651-4790-afc8-ffedbccc317f",
    "timestamp": 1640852923184,
    "type": "stop"
  },

  "timestamp": 1667412361763
}

Message Compose Receive

  • Event: message:compose:receive
  • Description: a message is being composed (MagicType from operator)
  • Hooks: plugin
  • Scopes: website:conversation:messages + read
{
  "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
  "event": "message:compose:receive",

  "data": {
    "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
    "session_id": "session_36ba3566-9651-4790-afc8-ffedbccc317f",
    "excerpt": "I am typing someth",
    "timestamp": 1640852923184,
    "type": "start",

    "user" : {
      "nickname": "Baptiste Jamin",
      "user_id": "012d1926-8753-4af6-9957-4853bb6fa29"
    }
  },

  "timestamp": 1667412361763
}

Message Acknowledge Read Send

  • Event: message:acknowledge:read:send
  • Description: messages sent by visitor were read by an operator
  • Hooks: plugin website
  • Scopes: website:conversation:messages + read
{
  "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
  "event": "message:acknowledge:read:send",

  "data": {
    "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
    "origin": "chat",

    "fingerprints": [
      163239614854320
    ],

    "session_id": "session_36ba3566-9651-4790-afc8-ffedbccc317f"
  },

  "timestamp": 1632396219082
}

Message Acknowledge Read Received

  • Event: message:acknowledge:read:received
  • Description: messages sent by operators were read by visitor
  • Hooks: plugin website
  • Scopes: website:conversation:messages + read
{
  "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
  "event": "message:acknowledge:read:received",

  "data": {
    "origin": "chat",

    "fingerprints": [
      163239623329114
    ],

    "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
    "session_id": "session_36ba3566-9651-4790-afc8-ffedbccc317f"
  },

  "timestamp": 1632396602165
}

Message Acknowledge Delivered

  • Event: message:acknowledge:delivered
  • Description: visitor client acknowledged delivery of an operator message
  • Hooks: plugin
  • Scopes: website:conversation:messages + read
{
  "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
  "event": "message:acknowledge:delivered",

  "data": {
    "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
    "session_id": "session_36ba3566-9651-4790-afc8-ffedbccc317f",
    "origin": "chat",

    "fingerprints": [
      163239614854320
    ]
  },

  "timestamp": 1667412361763
}

Message Notify Unread Send

  • Event: message:notify:unread:send
  • Description: messages sent by visitor were not read in due time by an operator
  • Hooks: plugin website
  • Scopes: website:conversation:messages + read
{
  "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
  "event": "message:notify:unread:send",

  "data": {
    "session_id": "session_36ba3566-9651-4790-afc8-ffedbccc317f",
    "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825"
  },

  "timestamp": 1632397209692
}

Message Notify Unread Received

  • Event: message:notify:unread:received
  • Description: messages sent by operators were not read in due time by visitor
  • Hooks: plugin website
  • Scopes: website:conversation:messages + read
{
  "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
  "event": "message:notify:unread:received",

  "data": {
    "session_id": "session_36ba3566-9651-4790-afc8-ffedbccc317f",
    "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825"
  },

  "timestamp": 1632396353781
}

People Events

People Profile Created

  • Event: people:profile:created
  • Description: a people profile was created
  • Hooks: plugin website
  • Scopes: website:people:profiles + read
{
  "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
  "event": "people:profile:created",

  "data": {
    "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
    "people_id": "46dae0e8-02c6-41f0-98ae-590b6272d99a",
    "email": "jane@crisp.chat"
  },

  "timestamp": 1632410466975
}

People Profile Updated

  • Event: people:profile:updated
  • Description: a people profile was updated
  • Hooks: plugin website
  • Scopes: website:people:profiles + read
{
  "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
  "event": "people:profile:updated",

  "data": {
    "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
    "people_id": "1b603e2a-c204-481c-98ec-3241fd8e4aaf",
    "email": "crisp@crisp.chat",

    "update": {
      "updated_at": 1632410257914,

      "person": {
        "geolocation": {
          "country": "GB",
          "region": "ENG",
          "city": "London",

          "coordinates": {
            "latitude": 51.5074,
            "longitude": -0.1196
          }
        },

        "locales": [
          "en",
          "en-GB"
        ],

        "nickname": "Crisp",
        "timezone": -60,
        "phone": "330987654321",
        "avatar": "https://upload.wikimedia.org/wikipedia/commons/5/5a/John_Doe%2C_born_John_Nommensen_Duchac.jpg",

        "employment": {
          "domain": "crisp.chat",
          "name": "Crisp",
          "role": "Software Engineer",
          "title": "CTO"
        },

        "address": "Whip-Ma-Whop-Ma-Gate, York",
        "website": "crisp.chat",
        "gender": "male"
      }
    }
  },

  "timestamp": 1632410257925
}

People Profile Removed

  • Event: people:profile:removed
  • Description: a people profile has been removed
  • Hooks: plugin website
  • Scopes: website:people:profiles + read
{
  "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
  "event": "people:profile:removed",

  "data": {
    "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
    "people_id": "46dae0e8-02c6-41f0-98ae-590b6272d99a",
    "email": "jane@crisp.chat"
  },

  "timestamp": 1632410506122
}

People Bind Session

  • Event: people:bind:session
  • Description: a people profile was bound to a session
  • Hooks: plugin website
  • Scopes: website:people:profiles + read
{
  "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
  "event": "people:bind:session",

  "data": {
    "session_id": "session_36ba3566-9651-4790-afc8-ffedbccc317f",
    "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
    "people_id": "6939c10e-4245-4b37-a254-f036058281b9"
  },

  "timestamp": 1632401890388
}

People Sync Profile

  • Event: people:sync:profile
  • Description: people profile was synchronized for session (ie. full data synchronization)
  • Hooks: plugin website
  • Scopes: website:people:profiles + read
{
  "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
  "event": "people:sync:profile",

  "data": {
    "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
    "session_id": "session_36ba3566-9651-4790-afc8-ffedbccc317f",
    "people_id": "1b603e2a-c204-481c-98ec-3241fd8e4aaf",

    "identity": {
      "person": {
        "geolocation": {
          "country": "GB",
          "region": "ENG",
          "city": "London",

          "coordinates": {
            "latitude": 51.5074,
            "longitude": -0.1196
          }
        },

        "locales": [
          "en",
          "en-GB"
        ],

        "nickname": "Crisp",
        "timezone": -60,
        "phone": "330987654321",
        "avatar": "https://upload.wikimedia.org/wikipedia/commons/5/5a/John_Doe%2C_born_John_Nommensen_Duchac.jpg",

        "employment": {
          "domain": "crisp.chat",
          "name": "Crisp",
          "role": "Software Engineer",
          "title": "CTO"
        }
      },

      "company": {
        "description": "Give your customer experience a human touch.",
        "domain": "crisp.chat",

        "geolocation": {
          "country": "FR",
          "city": "Nantes"
        },

        "legal_name": "Crisp",
        "name": "Crisp",
        "url": "https://crisp.chat/"
      }
    }
  },
  "timestamp": 1632409862950
}

Campaign Events

Campaign Progress

  • Event: campaign:progress
  • Description: campaign delivery is progressing (eg. campaign is 10% sent)
  • Hooks: website
{
  "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
  "event": "campaign:progress",

  "data": {
    "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
    "campaign_id": "d6e9d2ca-8ee0-4b43-bbce-88fe8a0e73ce",
    "progress": 100
  },

  "timestamp": 1632478337650
}

Campaign Dispatched

  • Event: campaign:dispatched
  • Description: the campaign was dispatched
  • Hooks: website
{
  "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
  "event": "campaign:dispatched",

  "data": {
    "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
    "campaign_id": "d6e9d2ca-8ee0-4b43-bbce-88fe8a0e73ce"
  },

  "timestamp": 1632478336621
}

Campaign Running

  • Event: campaign:running
  • Description: the campaign running state has changed (either false or true)
  • Hooks: website
{
  "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
  "event": "campaign:running",

  "data": {
    "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
    "campaign_id": "d6e9d2ca-8ee0-4b43-bbce-88fe8a0e73ce",
    "running": false
  },

  "timestamp": 1632478337648
}

Browsing Events

Browsing Request Initiated

  • Event: browsing:request:initiated
  • Description: MagicBrowse request initiated by visitor browser
  • Hooks: plugin
  • Scopes: website:conversation:browsing + write
{
  "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
  "event": "browsing:request:initiated",

  "data": {
    "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
    "browsing_id": "browsing_85424ecf-f59c-4ada-910f-90f86f18b4c2",
    "browsing_token": "1231ddad3frcf7c77",
    "session_id": "e56e3f73-5f34-4329-a5f7-75aa289d0272"
  },

  "timestamp": 1667412361763
}

Browsing Request Rejected

  • Event: browsing:request:rejected
  • Description: MagicBrowse request rejected by visitor browser (eg. browser has privacy settings)
  • Hooks: plugin
  • Scopes: website:conversation:browsing + write
{
  "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
  "event": "browsing:request:rejected",

  "data": {
    "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
    "session_id": "e56e3f73-5f34-4329-a5f7-75aa289d0272"
  },

  "timestamp": 1667412361763
}

Call Events

Call Request Initiated

  • Event: call:request:initiated
  • Description: call was initiated (accepted by user)
  • Hooks: plugin
  • Scopes: website:conversation:calls + write
{
  "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
  "event": "call:request:initiated",

  "data": {
    "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
    "session_id": "e56e3f73-5f34-4329-a5f7-75aa289d0272",
    "call_id": "c038c3c4-8daa-44c1-a4b9-02b1ee4ca477"
  },

  "timestamp": 1667412361763
}

Call Request Rejected

  • Event: call:request:rejected
  • Description: call was rejected (declined by user)
  • Hooks: plugin
  • Scopes: website:conversation:calls + write
{
  "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
  "event": "call:request:rejected",

  "data": {
    "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
    "session_id": "e56e3f73-5f34-4329-a5f7-75aa289d0272",
    "call_id": "c038c3c4-8daa-44c1-a4b9-02b1ee4ca477"
  },

  "timestamp": 1667412361763
}

Status Events

Status Health Changed

  • Event: status:health:changed
  • Description: the status page health has changed (either: healthy, sick or dead)
  • Hooks: website
{
  "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
  "event": "status:health:changed",

  "data": {
    "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
    "health": "dead",

    "nodes": [
      {
        "label": "Primary load balancers",
        "replica": "tcp://edge-3.pool.net.crisp.chat:80"
      }
    ]
  },

  "timestamp": 1506985696616
}

Website Events

Website Update Visitors Count

  • Event: website:update_visitors_count
  • Description: website visitor counter changed (eg. a visitor came online)
  • Hooks: plugin
  • Scopes: website:visitors + read
{
  "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
  "event": "website:update_visitors_count",

  "data": {
    "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
    "visitors_count": 10
  },

  "timestamp": 1667412361763
}

Website Update Operators Availability

  • Event: website:update_operators_availability
  • Description: website operator availability changed, ignores availability schedule (eg. operator is using a Crisp app)
  • Hooks: plugin
  • Scopes: website:operators + read
{
  "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
  "event": "website:update_operators_availability",

  "data": {
    "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
    "user_id": "7bef5d48-0e4a-4f49-ac58-a82d132a9f05",

    "availability": {
      "type" : "online"
    }
  },

  "timestamp": 1667412361763
}

Website Users Available

  • Event: website:users:available
  • Description: website availability changed (eg. support went offline)
  • Hooks: plugin
  • Scopes: website:availability + read
{
  "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
  "event": "website:users:available",

  "data": {
    "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
    "available": true
  },

  "timestamp": 1667412361763
}

Bucket Events

Bucket URL Upload Generated

  • Event: bucket:url:upload:generated
  • Description: an upload URL was generated for a file upload (signed URL, usable once)
  • Hooks: plugin
  • Scopes: bucket:url + write
{
  "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
  "event": "bucket:url:upload:generated",

  "data": {
    "from": "operator",
    "id": "1640854425557",
    "identifier": "b9a1ca05-d2e1-477a-9c1a-b4691f0f591b",

    "resource": {
      "type": "website",
      "id": "b9a1ca05-d2e1-477a-9c1a-b4691f0f591b"
    },

    "policy": {
      "size_limit": 12000000
    },

    "type": "upload",

    "url": {
      "resource": "https://storage.crisp.chat/users/upload/operator/12grgrae444ede/screenshot-2021-11-30-at-11551_10f1s7p.png",
      "signed": "https://storage.crisp.chat/users/upload/operator/12grgrae444ede/screenshot-2021-11-30-at-11551_10f1s7p.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=LANNS8LAY5I17G5BIGCJ%2F20211130%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=2021130T085345Z&X-Amz-Expires=900&X-Amz-Signature=12d54bd6ad0edea06babe0bde927cg86f8eef9b4241daeb4facdbf8a423a2068&X-Amz-SignedHeaders=host"
    }
  },

  "timestamp": 1667412361763
}

Bucket URL Avatar Generated

  • Event: bucket:url:avatar:generated
  • Description: an upload URL was generated for an avatar upload (signed URL, usable once)
  • Hooks: plugin
  • Scopes: bucket:url + write
{
  "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
  "event": "bucket:url:avatar:generated",

  "data": {
    "from": "operator",
    "id": "1640854425557",
    "identifier": "b9a1ca05-d2e1-477a-9c1a-b4691f0f591b",

    "resource": {
      "type": "website",
      "id": "b9a1ca05-d2e1-477a-9c1a-b4691f0f591b"
    },

    "policy": {
      "size_limit": 12000000
    },

    "type": "upload",

    "url": {
      "resource": "https://storage.crisp.chat/users/upload/operator/12grgrae444ede/screenshot-2021-11-30-at-11551_10f1s7p.png",
      "signed": "https://storage.crisp.chat/users/upload/operator/12grgrae444ede/screenshot-2021-11-30-at-11551_10f1s7p.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=LANNS8LAY5I17G5BIGCJ%2F20211130%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=2021130T085345Z&X-Amz-Expires=900&X-Amz-Signature=12d54bd6ad0edea06babe0bde927cg86f8eef9b4241daeb4facdbf8a423a2068&X-Amz-SignedHeaders=host"
    }
  },

  "timestamp": 1667412361763
}

Bucket URL Website Generated

  • Event: bucket:url:website:generated
  • Description: an upload URL was generated for a website upload (signed URL, usable once)
  • Hooks: plugin
  • Scopes: bucket:url + write
{
  "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
  "event": "bucket:url:website:generated",

  "data": {
    "from": "website",
    "id": "1640854425557",
    "identifier": "b9a1ca05-d2e1-477a-9c1a-b4691f0f591b",

    "resource": {
      "type": "website",
      "id": "b9a1ca05-d2e1-477a-9c1a-b4691f0f591b"
    },

    "policy": {
      "size_limit": 12000000
    },

    "type": "upload",

    "url": {
      "resource": "https://storage.crisp.chat/users/upload/operator/12grgrae444ede/screenshot-2021-11-30-at-11551_10f1s7p.png",
      "signed": "https://storage.crisp.chat/users/upload/operator/12grgrae444ede/screenshot-2021-11-30-at-11551_10f1s7p.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=LANNS8LAY5I17G5BIGCJ%2F20211130%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=2021130T085345Z&X-Amz-Expires=900&X-Amz-Signature=12d54bd6ad0edea06babe0bde927cg86f8eef9b4241daeb4facdbf8a423a2068&X-Amz-SignedHeaders=host"
    }
  },

  "timestamp": 1667412361763
}

Bucket URL Campaign Generated

  • Event: bucket:url:campaign:generated
  • Description: an upload URL was generated for a campaign file upload (signed URL, usable once)
  • Hooks: plugin
  • Scopes: bucket:url + write
{
  "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
  "event": "bucket:url:campaign:generated",

  "data": {
    "from": "website",
    "id": "1640854425557",
    "identifier": "b9a1ca05-d2e1-477a-9c1a-b4691f0f591b",

    "resource": {
      "type": "website",
      "id": "b9a1ca05-d2e1-477a-9c1a-b4691f0f591b"
    },

    "policy": {
      "size_limit": 12000000
    },

    "type": "upload",

    "url": {
      "resource": "https://storage.crisp.chat/users/upload/operator/12grgrae444ede/screenshot-2021-11-30-at-11551_10f1s7p.png",
      "signed": "https://storage.crisp.chat/users/upload/operator/12grgrae444ede/screenshot-2021-11-30-at-11551_10f1s7p.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=LANNS8LAY5I17G5BIGCJ%2F20211130%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=2021130T085345Z&X-Amz-Expires=900&X-Amz-Signature=12d54bd6ad0edea06babe0bde927cg86f8eef9b4241daeb4facdbf8a423a2068&X-Amz-SignedHeaders=host"
    }
  },

  "timestamp": 1667412361763
}

Bucket URL Helpdesk Generated

  • Event: bucket:url:helpdesk:generated
  • Description: an upload URL was generated for a helpdesk file upload (signed URL, usable once)
  • Hooks: plugin
  • Scopes: bucket:url + write
{
  "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
  "event": "bucket:url:helpdesk:generated",

  "data": {
    "from": "website",
    "id": "1640854425557",
    "identifier": "b9a1ca05-d2e1-477a-9c1a-b4691f0f591b",

    "resource": {
      "type": "website",
      "id": "b9a1ca05-d2e1-477a-9c1a-b4691f0f591b"
    },

    "policy": {
      "size_limit": 12000000
    },

    "type": "upload",

    "url": {
      "resource": "https://storage.crisp.chat/users/upload/operator/12grgrae444ede/screenshot-2021-11-30-at-11551_10f1s7p.png",
      "signed": "https://storage.crisp.chat/users/upload/operator/12grgrae444ede/screenshot-2021-11-30-at-11551_10f1s7p.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=LANNS8LAY5I17G5BIGCJ%2F20211130%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=2021130T085345Z&X-Amz-Expires=900&X-Amz-Signature=12d54bd6ad0edea06babe0bde927cg86f8eef9b4241daeb4facdbf8a423a2068&X-Amz-SignedHeaders=host"
    }
  },

  "timestamp": 1667412361763
}

Bucket URL Status Generated

  • Event: bucket:url:status:generated
  • Description: an upload URL was generated for a status file upload (signed URL, usable once)
  • Hooks: plugin
  • Scopes: bucket:url + write
{
  "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
  "event": "bucket:url:status:generated",

  "data": {
    "from": "website",
    "id": "1640854425557",
    "identifier": "b9a1ca05-d2e1-477a-9c1a-b4691f0f591b",

    "resource": {
      "type": "website",
      "id": "b9a1ca05-d2e1-477a-9c1a-b4691f0f591b"
    },

    "policy": {
      "size_limit": 12000000
    },

    "type": "upload",

    "url": {
      "resource": "https://storage.crisp.chat/users/upload/operator/12grgrae444ede/screenshot-2021-11-30-at-11551_10f1s7p.png",
      "signed": "https://storage.crisp.chat/users/upload/operator/12grgrae444ede/screenshot-2021-11-30-at-11551_10f1s7p.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=LANNS8LAY5I17G5BIGCJ%2F20211130%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=2021130T085345Z&X-Amz-Expires=900&X-Amz-Signature=12d54bd6ad0edea06babe0bde927cg86f8eef9b4241daeb4facdbf8a423a2068&X-Amz-SignedHeaders=host"
    }
  },

  "timestamp": 1667412361763
}

Bucket URL Processing Generated

  • Event: bucket:url:processing:generated
  • Description: an upload URL was generated for a processing/import upload (signed URL, usable once)
  • Hooks: plugin
  • Scopes: bucket:url + write
{
  "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
  "event": "bucket:url:processing:generated",

  "data": {
    "from": "website",
    "id": "1640854425557",
    "identifier": "b9a1ca05-d2e1-477a-9c1a-b4691f0f591b",

    "resource": {
      "type": "website",
      "id": "b9a1ca05-d2e1-477a-9c1a-b4691f0f591b"
    },

    "policy": {
      "size_limit": 12000000
    },

    "type": "upload",

    "url": {
      "resource": "https://storage.crisp.chat/users/upload/operator/12grgrae444ede/screenshot-2021-11-30-at-11551_10f1s7p.png",
      "signed": "https://storage.crisp.chat/users/upload/operator/12grgrae444ede/screenshot-2021-11-30-at-11551_10f1s7p.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=LANNS8LAY5I17G5BIGCJ%2F20211130%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=2021130T085345Z&X-Amz-Expires=900&X-Amz-Signature=12d54bd6ad0edea06babe0bde927cg86f8eef9b4241daeb4facdbf8a423a2068&X-Amz-SignedHeaders=host"
    }
  },

  "timestamp": 1667412361763
}

Email Events

Email Subscribe

  • Event: email:subscribe
  • Description: a user has subscribed or unsubscribed to emails
  • Hooks: plugin website
  • Scopes: website:people:subscriptions + read
{
  "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
  "event": "email:subscribe",

  "data": {
    "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
    "email": "crisp@crisp.chat",
    "subscribed": true
  },

  "timestamp": 1632410259544
}

Email Track View

  • Event: email:track:view
  • Description: a user has opened an email
  • Hooks: plugin website
  • Scopes: website:people:subscriptions + read
{
  "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
  "event": "email:track:view",

  "data": {
    "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
    "type": "session",
    "identifier": "session_657c6ba7-12fa-48e9-ab3c-12c55df87dac",
    "mode": "received"
  },

  "timestamp": 1632477598572
}

Plugin Events

Plugin Channel

  • Event: plugin:channel
  • Description: generic channel for plugins
  • Hooks: plugin
{
  "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
  "event": "plugin:channel",

  "data": {
    "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
    "plugin_id": "3046ebf2-79d7-4075-8833-484a4d4a073e",
    "identifier": "f6e57321-fafc-4af2-9710-a2ced1f75577",
    "namespace": "custom-event",

    "payload": {
      "key_1": "Arbitrary value generated from the plugin"
    }
  },

  "timestamp": 1667412361763
}

Plugin Event

  • Event: plugin:event
  • Description: a plugin event has been fired (eg. used for third-party Web Hooks through the chatbot plugin)
  • Hooks: plugin website
{
  "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
  "event": "plugin:event",

  "data": {
    "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
    "plugin_id": "d2fe8f2b-6fef-46f4-9aff-2d2b55989c87",
    "urn": "urn:crisp.im:bot:0",
    "name": "chatbot-fired",

    "data": {
      "customer-role": "sales",
      "session_id": "session_36ba3566-9651-4790-afc8-ffedbccc317f"
    }
  },

  "timestamp": 1632410858300
}

Plugin Settings Saved

  • Event: plugin:settings:saved
  • Description: plugin settings saved
  • Hooks: plugin
{
  "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
  "event": "plugin:settings:saved",

  "data": {
    "website_id": "42286ab3-b29a-4fde-8538-da0ae501d825",
    "plugin_id": "d2fe8f2b-6fef-46f4-9aff-2d2b55989c87",

    "settings": {
      "access_token": "d177b0ef-458e-46b2-a05c-e279299c0c87",
      "page_name": "Nike"
    }
  },

  "timestamp": 1667412361763
}