Medallia Experience Cloud is a platform built for action; after all, the wealth of signals our platform collects is only as useful as what you do with it. Because actions take place across a broad suite of enterprise software, Experience Cloud can trigger external workflows in near-real time, connecting to almost any stateless REST API.

Common use cases for webhooks include the following:

  • Send survey links to the external system for customized delivery (such as via a branded application or website or email campaign software).
  • Send survey answers to the external system when the survey record is submitted.
  • Update survey records with information from a third-party system (such as a point-of-sale) through a pull-based workflow.
1164

Example data flow of a Webhook

Triggers

Webhooks are evaluated when the signal record is created/updated.

The records are sent through a condition filter to decide whether the record should be sent through the webhook. If they pass the filter, they are then added to the processing queue.

For each event in the queue, the webhook follows a chain of events:

  • Grouping records into a batch as specified by the webhook’s batching properties
  • Authentication (if required, such as OAuth 2.0 or HTTP Basic Auth)
  • Request handling, including making the HTTP request and generating the attributes required (URL, headers, and body payload)
  • Response processing, including updating the record with any data received in the response payload

Request

Webhook requests are extremely flexible in how the HTTP request can be generated. The URL, headers, and payload can be either static or dynamically generated. When dynamically generated, details from the record (such as customer identifier, survey id, survey answers, etc.) can be injected into the values.

The payload format is flexible and conforms to the structure that the downstream API uses, in JSON, XML, or plaintext formats.

The webhook will retry the request based on its configured properties. An exponential back-off policy is used.

Response

Any response with an HTTP status code of 2xx (200-299) is considered “successful” and passed on for further processing. When OAuth 2.0 is configured as the login type, a status code of 401 (unauthorized) will trigger a token refresh attempt. All other status codes are marked as an error events.

The response body is passed through Medallia’s ETL layer, allowing it to be unpacked, transformed, flattened, and further processed to update a survey record with the received information.