Webhooks

Overview

Webhooks push out real-time notifications to other services when certain events happen. This is different from an API, which requires a request to pull that information. Most services connected with an API have a 15 minute interval (or more) between requests. Webhooks will send that information immediately without needing a request. They're particularly useful for any situation where real time notification is critical for your awareness or customer communications.

Events that can push a notification include

  • Guide Displayed
  • Web Track Event Received
  • NPS Surveys (Displayed / Submitted)
  • Polls (Displayed / Submitted)
  • When a Visitor is first seen in-app
  • When an Account is first seen in-app
  • (For Customers with Parent Accounts Enabled) When any new combination of parent/child is seen in-app

Webhooks allow you to drive your workflows across your business based on real-time events that occur in Pendo. For example, you might want to

  • Send event information to a provider such as Segment.com to then be routed to other systems
  • Fire workflows in other platforms like AWS Lambdas or Zapier
  • Send real-time updates to CRM platforms with Pendo events, like Zendesk Sunshine
  • Send events to third-party SIEM providers for analysis in real-time
  • Archiving admin events for auditing and compliance

 

Requirements

You will need Pendo Admin permissions to configure and manage Webhooks.

AdminUser.png

Agent Version 2.33.0 or higher is required to use Poll and NPS Events. 

 

Webhook Types

There are two different types of Webhooks.

Segment.com Webhook

Using Segment.com integration, you can create Segment.com Webhooks to send events in Segment's preferred format.

URL Webhook

Webhooks typically send event information through a URL. Most platforms that accept Webhooks use a URL.

The platform you're sending a Webhook notification to will generate a unique URL for each Webhook.

 

Access Webhooks

Webhooks are in the Integrations section in Settings.

mceclip0.png

Click on the Webhooks tab under the Integrations header to see a list of all active or inactive Webhooks.

whtab.png

 

Create a Webhook

Click + Add a Webhook to create a new Webhook.

 _wh.png

Add the details of your Webhook in Webhook Settings.

  • Name your Webhook - Be descriptive! Mention where the Webhook is going and which data are being sent.
  • Select a type - Segment.com or URL
  • Enter the write key or URL

AddWebhook.png

 

Create Segment.com Webhooks

This Webhook type requires a Segment.com account.

Setup Pendo as a Source in Segment to retrieve a Write Key.

Copy your Write Key into the Pendo Webhook from the Overview > Installation section. Read more about Segment write keys.

SegmentWH.png

 

Create URL Webhooks

The platform receiving the Pendo Webhook will generate a unique URL that Pendo will push the notification too. When you have the Webhook URL continue with setup in Pendo.

Add the destination URL. When an event is triggered, information will be sent to this URL.

Click Test to send a sample payload and validate that your destination accepts the event payload.

Secret is a value that can be used to validate that information received by the URL is from the correct trusted source. Your secret can be any value, including special characters, you need and can be as simple or complex as your security protocol requires.

In the webhook POST "X-Pendo-Signature" the value is set to sha256 HMAC of the serialized message using the secret as the key. This is expected to change in each post because the body of the webhook is used in this field. The body changes with each event sent. We followed the experience of Github's Webhook process  here.

 

 

urlwh.png

Warning: Webhook event information may contain personally identifiable information (PII) depending on your installation and data mappings. Be sure to use a destination or service that you trust before testing or enabling your Webhook.

 

Event Category Type

Select the event categories that you want to send in your Webhook.

mceclip0.png

 

Enable or Disable a Webhook

Webhooks are disabled by default and must be enabled to send data.

Toggle the slider to begin sending data.

enablewh.png

A Webhook with a green slider is actively sending data.

activewh.png

Stop sending data at any time by toggling the slider back to deactivate the Webhook. 

 

Edit or Delete Webhook

Hover over a Webhook to display the Edit and Delete buttons.

Edit will open the Webhook Setting page where you can make any changes to the Webhook.

editdeletewh.png

Delete will stop sending data and permanently remove the Webhook after confirming that you want to delete the Webhook. To stop data without losing the Webhook configuration, use the Enabled slider to deactivate the Webhook.

deltewhw.png

 

Frequently Asked Questions

If I receive an error, will Pendo try to send the event again?

If Pendo receives a 429 error or an error message from 500 to 599 range, Pendo will retry up to 5 times.

Will I receive events if a visitor or account is created first via API bulk metadata endpoint?

No, Creating the visitor or account via API does not trigger the Webhook until the visitor is identified in-app.

Will I receive events from Excluded visitors?

No, Pendo will not send an event to your destination if a visitor is excluded.

Can I use Slack as a Webhook destination?

No, when using Slack as a Webhook destination it is looking for the POST to be in a specific format.  You'll need to use a tool such as Zapier to translate the JSON body that Pendo is sending into a format that Slack expects.