Desk.com Events

Cloud Elements currently supports events via polling or webhooks depending on the endpoint.

  • Polling is a mechanism where Cloud Elements executes the configured query every n minutes and captures the changed information.
  • Webhooks are when the provider lets Cloud Elements know what information has changed. Note that additional endpoint setup may be required prior to creating your Element Instance.
Note: Cloud Elements normalizes only the objectId, objectType, and eventType event data. Event data also contains raw data, which the provider returns. The raw data varies based on the endpoint.

If you would like to see more information on our Events framework, please see Events Overview.

In order to enable polling, add these extra configurations to your instance JSON:

"event.notification.enabled": "true",
"event.notification.callback.url": "<INSERT_YOUR_APPS_CALLBACK_URL>",
"event.poller.configuration": "<SEE_BELOW>"

NOTE: The objects in the event.poller.configuration are the default configurations we support. Feel free to remove any objects that do not fit your needs.

instance JSON with events enabled:

{
  "element": {
    "key": "desk"
  },
  "providerData": {
    "oauth_token": "<OAUTH_TOKEN_RETURNED_IN_OAUTH_EXCHANGE>",
    "oauth_verifier": "<OAUTH_VERIFIER_RETURNED_IN_OAUTH_EXCHANGE>",
    "secret": "<SECRET_RETURNED_IN_OAUTH_EXCHANGE>"
  },
  "configuration": {
    "oauth.api.key": "<INSERT_DESK_API_KEY>",
    "oauth.api.secret": "<INSERT_DESK_API_SECRET>",
    "oauth.callback.url": "<INSERT_CALLBACK_URL>",
    "event.notification.enabled": "true",
    "event.notification.callback.url": "<INSERT_YOUR_APPS_CALLBACK_URL>",
    "event.poller.configuration": {
      "incidents": {
        "url": "/hubs/helpdesk/incidents?where=updated_at>'${date:yyyy-MM-dd'T'HH:mm:ssXXX}'",
        "idField": "id"
      },
      "contacts": {
        "url": "/hubs/helpdesk/contacts?where=updated_at>'${date:yyyy-MM-dd'T'HH:mm:ssXXX}'",
        "idField": "id"
      }
    }
  },
  "tags": [
    "<INSERT_TAGS>"
  ],
  "name": "<INSERT_INSTANCE_NAME>"
}