How to Send Trending Topics to Zapier with Webhooks
Step-by-step guide to push TrendsAGI trending topics into Zapier via signed Catch Hook webhooks, with API examples, limits, and troubleshooting.

Zapier trending topics webhook setups let you push live trend data into no-code workflows without a native app. TrendsAGI supports signed outbound webhooks for trend velocity and category events; you create a subscription that POSTs JSON to a Zapier Catch Hook URL, then map the delivered fields into Sheets, Slack, or other actions.
This guide walks through the exact sequence: generate a Catch Hook in Zapier, register it with the TrendsAGI REST API, test and activate the subscription, handle signature verification if needed, and build practical downstream Zaps. All steps use only documented endpoints and Zapier’s Webhooks by Zapier behavior.
Prerequisites
You need a TrendsAGI account with an API key (created in the profile page) and a Zapier account. Webhooks by Zapier is listed as available on Free, Professional, Team, and Enterprise plans. Keep the API key in an environment variable; never hard-code it.
Step 1: Create a Catch Hook in Zapier
In Zapier, start a new Zap and choose Webhooks by Zapier as the trigger. Select Catch Hook (parsed body) for most trend payloads; use Catch Raw Hook only if you need the unparsed body (maximum 2 MB including headers). Zapier generates a unique URL of the form https://hooks.zapier.com/hooks/catch/.... Copy that URL; you will supply it to TrendsAGI.
Catch Hook accepts GET, PUT, or POST and parses the body so later steps can reference individual fields. A single request containing an array of JSON objects causes Zapier to run the subsequent steps once for each object. Payload size limits are 10 MB for triggers and 5 MB for actions. Rate limits are 20,000 requests every 5 minutes per user (and 1,000 every 5 minutes per Zap for legacy routes); exceeding them returns HTTP 429.
Step 2: Register the webhook in TrendsAGI
Use the REST API base URL https://api.trendsagi.com. Authenticate with the header X-API-Key or Authorization: Bearer. Create the subscription with a POST to /api/integrations/webhooks. Required fields include the Zapier URL, trigger_type (trend_velocity or trend_category), delivery_mode (threshold or instant_stream; trend_category requires instant_stream), threshold_value when using threshold mode, keywords (category names for trend_category), and cooldown_seconds.
New subscriptions start paused. The response returns a one-time signing_secret. Store that secret securely; you can later rotate it with POST /api/integrations/webhooks/{id}/rotate-secret.
curl -X POST https://api.trendsagi.com/api/integrations/webhooks \
-H "X-API-Key: $TRENDSAGI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://hooks.zapier.com/hooks/catch/YOUR_CATCH_ID/",
"trigger_type": "trend_velocity",
"delivery_mode": "threshold",
"threshold_value": 100,
"cooldown_seconds": 300
}'Replace the URL and adjust threshold_value and cooldown_seconds to match your alerting needs. For category-based triggers set trigger_type to trend_category, delivery_mode to instant_stream, and supply the category names in the keywords array.
Step 3: Test, inspect fields, then activate
Send a test delivery with POST /api/integrations/webhooks/{id}/test. Zapier’s Catch Hook will receive the JSON body. Open the Zap editor and inspect the sample data Zapier captured. Map whatever fields arrive to your downstream steps; the exact field list is not fixed in documentation, so always base mapping on a real test payload.
Once the mapping looks correct, activate the subscription:
curl -X PATCH https://api.trendsagi.com/api/integrations/webhooks/WEBHOOK_ID \
-H "X-API-Key: $TRENDSAGI_API_KEY" \
-H "Content-Type: application/json" \
-d '{"is_active": true}'List delivery attempts at any time with GET /api/integrations/webhooks/{id}/executions.
Step 4: Verify the signature (optional but recommended)
Every TrendsAGI delivery is a JSON POST that includes the header X-Webhook-Signature. The value is the lowercase hex HMAC-SHA256 of the exact raw request body, keyed with the signing secret. Verify it against the unmodified raw bytes using a constant-time comparison. If you route the webhook through an intermediate service before Zapier, perform the check there. Zapier itself does not automatically validate the signature; treat any unverified payload as untrusted.
Step 5: Build the rest of the Zap
After the Catch Hook trigger, add actions that use the mapped fields. Common patterns include:
- Append a row to Google Sheets for a running log of rising topics.
- Post a formatted message to Slack so the growth or PR team sees the alert immediately.
- Create or update a record in Notion, Airtable, or a CRM.
- Trigger an outbound webhook action (GET, POST, PUT, or Custom Request) to another internal endpoint. Static IP allowlisting for outbound requests is available on Professional, Team, and Enterprise plans.
Because an array payload multiplies Zap runs, keep downstream steps lightweight if you expect high-volume deliveries.
Alternative paths when webhooks are not ideal
If you prefer polling or agent-driven flows, TrendsAGI also exposes a REST API, a Python SDK, and agent tools. The SDK can be installed with pip install trendsagi (0.12.0+). Example retrieval of high-velocity trends:
import os
from trendsagi import TrendsAGIClient
client = TrendsAGIClient(api_key=os.environ["TRENDSAGI_API_KEY"])
trends = client.get_trends(category="Technology", sort_by="velocity", limit=5)
for t in trends:
print(t["id"], t["name"], t.get("volume"))Agent tools (from trendsagi import TrendsAGITools) expose the same capabilities to OpenAI, Anthropic, or LangChain runtimes. These routes are useful for scheduled Zaps that call a small Python or Node step, but they introduce polling latency compared with push webhooks.
Zapier, Make, and n8n can also connect through the same REST API or webhooks; there is no native TrendsAGI app listing for those platforms. Released ad-platform connectors (Google Ads, Meta Ads and Conversions API, TikTok Ads, LinkedIn Ads, Microsoft Ads, Pinterest Ads, Snapchat Ads, Reddit Ads) can be used after a trend alert lands in Zapier if you need to preview and then execute campaign changes.
Practical use cases
- Paid-media teams receive velocity alerts and automatically log the topic plus recommended next steps into a shared Google Sheet that the media buyers already monitor.
- Growth marketers route category spikes into Slack channels so content and community teams can react while the topic is still rising.
- Newsroom or PR operations watch for crisis-related trend events and surface them in existing incident-response Zaps.
- Developers building AI agents keep a watchlist via the API and let TrendsAGI push only the matching high-velocity items into a Zap that updates internal dashboards.
Troubleshooting
If Zapier never receives a delivery, confirm the subscription is active (is_active true) and that a test request was sent after the Catch Hook URL was registered. Check GET /api/integrations/webhooks/{id}/executions for status codes and error messages. A 429 from Zapier indicates the 20,000-request or 1,000-request-per-Zap limit was hit; increase cooldown_seconds or reduce the number of concurrent webhooks.
Payload size errors appear when the body exceeds 10 MB (Catch Hook) or 2 MB (Catch Raw Hook). Signature mismatches occur if any intermediary alters the raw body or if the wrong secret is used. Always compare against the exact bytes that arrived. If fields are missing in the Zap editor, re-send a test delivery; Zapier only exposes fields present in the most recent sample.
Empty or silent responses from TrendsAGI are normal when no trend meets the threshold; the Zap simply does not fire. For multi-object arrays, remember that each object consumes a separate Zap run and counts against rate limits.
Frequently asked questions
How do I create a Catch Hook or Catch Raw Hook in Zapier to receive trending-topic data?
Create a new Zap, choose Webhooks by Zapier as the trigger, and select Catch Hook for parsed bodies or Catch Raw Hook for the unparsed body. Zapier issues a unique https://hooks.zapier.com/hooks/catch/... URL that you paste into the TrendsAGI webhook registration.
What JSON payload structure should a trend platform send so Zapier parses fields correctly?
TrendsAGI sends a JSON body whose exact fields are determined by the delivery. Always send a test delivery, inspect the sample data inside the Zap editor, and map the fields that actually arrive. Do not assume a fixed schema.
Which Zapier plans include Webhooks by Zapier and what are the payload and rate limits?
Webhooks by Zapier is listed for Free, Professional, Team, and Enterprise plans. Trigger payloads are limited to 10 MB (2 MB for Catch Raw Hook); actions are limited to 5 MB. Rate limits are 20,000 requests every 5 minutes per user and 1,000 every 5 minutes per Zap for legacy routes.
How can I connect TrendsAGI (or similar real-time trend APIs) to a Zapier webhook URL?
POST to /api/integrations/webhooks with the Catch Hook URL, the desired trigger_type and delivery_mode, then test and set is_active to true. Authenticate with an API key from the TrendsAGI account profile.
What are the differences between Catch Hook, Catch Raw Hook, and Retrieve Poll for trend data?
Catch Hook parses the body and makes fields available immediately. Catch Raw Hook delivers the unparsed body (max 2 MB). Retrieve Poll is a scheduled pull and is not used for TrendsAGI’s push webhooks; push is preferred for low-latency trend alerts.
How do I test and troubleshoot when Zapier does not receive the webhook from a trend source?
Call the TrendsAGI test endpoint, confirm the subscription is active, and inspect execution history. Verify the URL is correct, check for 429 rate-limit responses, and ensure the raw body was not modified if signature verification is in place.
How we researched this
Prepared by TrendsAGI Research. Facts checked on 16 October 2026 against the sources listed below.
We read the official Zapier documentation listed below. The TrendsAGI steps and code use its documented REST API and Python SDK; confirm the Zapier side against its current documentation, since third-party products change.
| Claim | Applies to | Source |
|---|---|---|
| Webhooks by Zapier supports Catch Hook (parsed body for GET/PUT/POST) and Catch Raw Hook (unparsed body max 2 MB plus headers) triggers that generate a unique URL of the form https://hooks.zapier.com/hooks/catch/.... | All plans | help.zapier.com |
| The maximum webhook payload size is 10 MB for triggers and 2 MB for Catch Raw Hook; actions are limited to 5 MB. | All plans | help.zapier.com |
| Webhooks by Zapier rate limits are 20,000 requests every 5 minutes per user and 1,000 requests every 5 minutes per Zap for legacy routes; exceeding them returns a 429 status. | All plans | help.zapier.com |
| Zapier can receive an array of JSON objects in a single webhook request and will run the subsequent Zap steps once for each object. | All plans | help.zapier.com |
| Outbound webhook actions support GET, POST, PUT, and Custom Request methods; static IP addresses for allowlisting are available on Professional, Team, and Enterprise plans. | Professional, Team, Enterprise | help.zapier.com |
| Webhooks by Zapier is listed as available on Free, Professional, Team, and Enterprise plans in the official trigger documentation. | All plans | help.zapier.com |
We re-research and rewrite this page at least every four months; the updated date only changes when the facts are re-checked.
Sources
- Webhooks by Zapier Integrations — zapier.com
- Trigger Zap workflows from webhooks (Zapier) — help.zapier.com