Trigger Zaps from webhooks

Webhooks are automated messages sent between apps—a type of notification that includes detailed information about new items in apps. You can use webhooks to trigger your Zaps.

This article explains how to set up a Catch Hook or Catch Raw Hook trigger. If you'd like to set up a Retrieve Poll trigger, read Trigger Zaps from polling webhooks.

miscEye icon Note
  • To use this feature, you’ll need to be familiar with sending HTTP requests, APIs, and reading API documentation.
  • Our Support team is able to provide basic troubleshooting for this feature, but they cannot troubleshoot the API you use.
 

 

1. Add a webhook trigger

  • In the Zap editor, click the Trigger step. A dialog box will open.
  • Search for and select Webhooks by Zapier.
  • Click the Event dropdown menu and select either:
    • Catch Hook: Select for GET, PUT or POST API endpoints. The request body will be parsed.
    • Catch Raw Hook: Select for GET, PUT or POST API endpoints. The request body will be unparsed (max 2MB) and also include headers.
  • Click Continue.

For most webhooks, the Catch Hook trigger will be the best option. It works by giving you a unique URL that your trigger app can make POST requests to. 

If you want Zapier to make a GET request of an external URL to check for new entries, use a Retrieve Poll trigger. For information on how to set up a Retrieve Poll trigger, read Trigger Zaps from polling webhooks.

ratingStar icon Tip

If you want access to the raw request data, use the Catch Raw Hook trigger.

 

2. Set up the webhook trigger

Catch Hook trigger Catch Hook Raw trigger

The Catch Hook trigger will return parsed data from the trigger app.

  • Pick Off A Child Key: this is the specific key you want Zapier to use from the request you make to the webhook URL. This is useful if you only need a subset of the data that is sent to the webhook.
  • Click Continue.
  • In the Test tab, you’ll see your webhook URL appears. Click Copy to copy the URL to your clipboard.

 

3. Add the webhook URL to your app

  • Open the app you want to connect to Zapier, and find its webhooks settings page. You'll often find it in your app's settings or options page. If you’re unable to find it, check your app's help and support documentation.
  • In your app's webhook settings, add a new webhook connection.
  • Paste the webhook URL you copied from Zapier, and select any options that the app offers—including which data you want to receive via the webhook.
  • Save your changes.

 

4. Send data to your webhook

The app that's connected to your Zapier webhook URL will send data to it whenever something new is added. To test a webhook trigger, you must first add something new to your app. For example, if you're connecting to an email marketing app such as MailChimp, you could add a new subscriber to Mailchimp.

  • After you send data from your connected app to the Webhook URL, return to your Zap's Test tab.
  • Click Test trigger.

Zapier will separate each field in your webhook data, which lets you use them (e.g. email addresses, names, project info) in later steps in your Zap.

If you do not receive any data when you test the trigger, try to add a new item to your trigger app again and see if the Zap receives it. If the data still does not come in, check the webhook settings in your trigger app to ensure that Zapier's webhook URL was added correctly. More information in Zap isn’t receiving webhooks.

Once you’ve set up your webhook trigger, you’re ready to continue setting up the rest of your Zap.

 

Webhook response behavior

For Catch Hook and Catch Raw Hook triggers, if your Zap is turned off or deleted, Zapier will return a 404 response for any incoming webhooks responses directed at a Zap. There may be a brief delay after a Zap is turned off and the Zap will briefly return a 200 response. Once the Zap is turned back on, it will resume returning a 200 response.


To find out if a URL is live, visit the Zap editor and look at the webhook URL. If the URL is live, you'll see a 200 response. Although it's not possible to customize this response, you can remove it completely by using silent mode using the Catch Raw Hook trigger.


Webhooks may delay passing on data to other steps if there are a lot of requests coming at the same time. For details on webhook throttling, read Webhooks by Zapier rate limits.

 

Webhook Zap ownership

Zaps that use Catch Hook and Catch Raw Hook triggers use a unique URL to receive webhooks. The URL only changes if the Zap is transferred to another user. This is because the URL contains the owner's Zapier ID. 


To ensure that the Zap continues receiving webhook requests if a Zap is transferred to a new owner, you must update the URL in the app where it's used. Otherwise, the Zap won’t trigger.

 

Optional: Sending more than one event per webhook request

Webhook triggers can receive more than one event in a single webhook request. You can send an array of properly formed JSON objects, and Zapier will trigger the Zap once for each object in the array.

For example, if you POST this payload to a Webhook endpoint:

[
{
    "first_name": "River",
    "last_name": "Green",
    "age": 27
},
{
    "first_name": "Alex",
    "last_name": "Smith",
    "age": 67
},
{
    "first_name": "Carter",
    "last_name": "Taylor",
    "age": 43
}
]

Zapier will trigger the actions three times, once for every object in the array.

 

Optional: Trigger multiple Zaps with webhooks

If you have multiple webhooks you want to trigger from the same event in your app, you can combine their URLs into a single URL. For example, if you have three Zaps, the URLs would look like this:

https://hooks.zapier.com/hooks/catch/123456/zbB61

https://hooks.zapier.com/hooks/catch/123456/kzXC4

https://hooks.zapier.com/hooks/catch/123456/2Ajjn

You can take the last part of each URLs and combine them into a single URL like this:
https://zapier.com/hooks/catch/123456/zbB61,kzXC4,2Ajjn

Requests sent to this URL will trigger all three webhook URLs at once.

miscEye icon Note

Combining webhooks only works for webhooks that are owned by the same user. If you're using multi-user accounts (Zapier for Teams and Zapier for Companies), ensure that all webhooks belong to the same user. You can see the user ID in the URL of the webhook, after /catch/.

Was this article helpful?
24 out of 42 found this helpful