The Webhooks by Zapier Retrieve Poll trigger periodically requests data from a REST API endpoint using a GET request.
Unlike the Catch Hook trigger, which waits for another app's POST request, Retrieve Poll requests the data itself, using a GET request.
This article will explain how to set up a Retrieve Poll trigger.
Available on plans:
Free
Professional
Team
Enterprise

- 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 appear.
- Search for and select Webhooks by Zapier.
- Click the Event dropdown menu and select Retrieve Poll.
- Click Continue.
2. Configure the API request details
For your Zap to trigger correctly, the API endpoint must return a JSON response or XML/HTML (which must be parsed using XPath). The response must be an array of objects (dictionaries) in reverse chronological order (newest first).
In the Configure tab:
- Enter the API endpoint into the URL field. This directs Zapier to the data retrieval location. The endpoint should return data in one of these formats:
- A JSON array of objects in reverse chronological order:
[{"id":1234},{"id":1235}]
. - An XML/HTML document (if using XPath field).
- A JSON object containing an array (if using the Key field).
- A JSON array of objects in reverse chronological order:
- The URL will be automatically trimmed of any leading or trailing whitespace.
(Optional) Add query parameters
You can add query parameters to the URL to refine the data retrieval, such as by limiting pagination.

To retrieve the 100 most recent status updates for a specific object in Asana, add the &limit=100
query parameter to the end of the API endpoint URL. Replace ID
with the object’s unique identifier.
https://app.asana.com/api/1.0/status_updates?parent=ID&limit=100
Check your app's API documentation to find out what query parameters are available.
(Optional) Enter a child key
If the array of objects that triggers your Zap is nested within another object, enter the nested array’s key in the Key field. This field supports dot notation for arrays nested within multiple levels.
(Optional) Enter a deduplication key
Zapier needs to know which items are new. If present, Zapier uses the “id” key to deduplicate records. If there is no “id” key, you have two options:
- Specify an alternative unique key in the Deduplication Key field. It accepts integer or string values.
- If no alternative key is specified, the Zap uses to the shortest key containing “id”.
Learn more about data deduplication in Zaps.
(Optional) Using HTTP headers
If your API requires specific HTTP headers, you can add them into the Headers fields. Headers are key-value pairs that help with API authentication, data formatting, or other request specifications.
Each header consists of:
- Header name (key): The name of the header (e.g., “Content-Type”, “Authorization”).
- Header value: The corresponding value for that header.
To add headers:
- Enter the header name in the left field.
- Enter the header value in the right field.
- To add multiple headers, click + Add value set and repeat the steps above.

Common examples for HTTP headers:
- Content-Type: application/json
- Authorization: Bearer your-token
- Accept: application/json
(Optional) Additional API parameters
- If the API returns content in XML or HTML format, you can use the Xpath field to specify the path to the data you want to extract. The trigger will then monitor this specified XPath and trigger whenever it changes.
- If the API requires Basic authentication, enter your credentials in the format
username|password
into the Basic Auth field.
3. Test the API request
- Click Continue.
- Click Test trigger to load a test record from the API.
- One or more test records will appear.
- If Zapier has trouble finding test data, try adding new data in your app, then re-test your trigger.
- Review and select a record.
- Click Continue with selected record to complete the step.

Webhooks may delay passing on data to other steps if there are a lot of requests coming at the same time. Learn more about webhook rate limits.