Along with sending messages, and tagging (or untagging) your customers, you can now orchestrate actions and workflows in other apps and systems with webhooks in Series.

With webhooks in Series you can use any event or set of filters in Intercom, to do things like:

  • Keep customer data in sync between multiple systems.

  • Send internal notifications to your team when users reach a milestone in a Series.

  • Trigger fully automated workflows by receiving the webhook with Zapier or IFTTT.

  • Make updates in your own custom app or database.

What is a webhook?

A webhook is a message sent from Intercom when a user matches the criteria you specify (like completing an event). It has a message—or “payload”—and is sent to a unique URL of your choice.

For example, this is a simple series that sends a webhook after a user takes a certain action:

The webhook contains the user’s name, company name, and ID. The webhook payload looks like this:

POST https://examply.io/webhooks
Content-Type: application/json
{
name: “Lonnie Lynn”
company: “CSense Ltd”
company_id: “c0m5en5e”
}

The application that receives the webhook, can then do something (or many things) with the data in the payload. 👌

Note: Sending webhooks with Series is only available on certain Intercom plans. See our plans and pricing here.

How to add a webhook to series

Drag a webhook from the menu on the right, and connect it to your series after any rule block that you’d like to trigger it:

Open the webhook block and give it a title:

Now you can configure exactly what data to send, and where to send it.

Pro tip: If sending a webhook to another application (like Zapier for example) you can usually find the type of request, the webhook URL and any necessary headers in their documentation.

If you’re sending a webhook to your own app, your engineers should be able to provide this information. 👌

Let’s start with the HTTP method and the webhook URL:

For the method, you can choose between PUT or POST, and the URL is for the app that should receive the webhook.

Tip: You can use RequestBin or a similar service when testing.

Next, add any webhook headers as key value pairs:

Only the Content-Type header is required to send a webhook (JSON or URLencoded) however, additional headers may be required to receive the webhook.

For example, you may need to authenticate with the receiving app.

To add new headers, just click “+ Add a key value pair”:

Optionally, select the data to include in the webhook body as key value pairs. In this example, we’re sending the name, company name, and company ID.

For dynamic data, add Intercom attributes with the “{...}” menu:

Testing your webhook

Before setting your series live, we recommend testing your webhook to ensure that it sends and is received as expected. Click “Test”:

Type the name or email address of a test user so you can see their data populated in the webhook’s payload:

Then select them and click “Run test”:

You’ll see the response returned from the recipient app:

Note: You should see a “200” success code, any other code may require some troubleshooting with the recipient app.

What happens if a webhook fails?

If a webhook succeeds, we record a “Sent” statistic. If it fails, we will try to send it 2 more times. After the third retry, the checkpoint will be marked as “Failed”. You can view these results by clicking on the webhook once your series is live. 👍

Did this answer your question?