How to Set Up Zapier Automation with Twitter Monitoring (Step-by-Step)
What You'll Build
By the end of this guide, you'll have a working Zapier automation that:
- Receives a webhook from Twigest every time a new AI digest is generated
- Formats the summary inside Zapier
- Posts the digest to a Slack channel automatically
The same pattern applies to any other app in Zapier's library — HubSpot, Notion, Google Sheets, Salesforce — swap the final action and you're done.
Time required: 10 minutes
Requirements: A Twigest Pro or Business account + a free Zapier account
Step 1: Create a Zap with a Webhook Trigger
- Log in to Zapier and click + Create Zap
- In the trigger search box, type Webhooks by Zapier and select it
- Choose Catch Hook as the trigger event
- Click Continue — Zapier will generate a unique webhook URL like:
```
https://hooks.zapier.com/hooks/catch/1234567/abcdefg/
```
Copy this URL. You'll paste it into Twigest in the next step.
Step 2: Configure the Webhook in Twigest
- Log in to your Twigest dashboard
- Go to Settings → Webhooks in the left sidebar
- Click Add Webhook Endpoint
- Paste your Zapier webhook URL into the Endpoint URL field
- Under Events, check the events you want to receive:
- digest.created — triggers when a new AI digest is ready
- spike.detected — triggers when unusual volume is detected on a keyword
- lead.found — triggers when a tweet with purchase intent is detected
- Click Save
Twigest automatically generates an HMAC signing secret and displays it. Save this — you can use it in Zapier to verify that requests genuinely come from Twigest.
Test the Connection
Click Send Test Payload next to your new endpoint. Twigest sends a sample digest.created event to your Zapier URL immediately. Switch back to Zapier — you should see "We found a request!" appear on screen.
Click Continue with found data to move on.
Step 3: Inspect the Webhook Payload
When Zapier catches the test payload, it parses all the fields automatically. For a digest.created event, you'll see fields like:
| Field | Description |
|---|---|
event | digest.created |
keyword | The tracked keyword that triggered the digest |
summary | The AI-generated summary text |
sentiment_score | Overall sentiment (-1 to 1) |
dominant_emotion | joy, anger, fear, surprise, neutral |
top_tweets | Array of the most relevant tweets |
period_start / period_end | Date range covered by this digest |
created_at | Timestamp of digest generation |
These field names are what you'll use in subsequent Zapier steps to build your message.
Step 4: Add the Slack Action
Now add the destination step.
- Click the + button below the trigger to add an action
- Search for Slack and select it
- Choose Send Channel Message as the action event
- Connect your Slack account if you haven't already
- Configure the message:
Channel: #brand-monitoring (or whichever channel you prefer)
Message Text — click inside the field and use Zapier's data pills to build a formatted message:
```
📊 New Digest: {{keyword}}
{{summary}}
| Sentiment: {{sentiment_score}} | Emotion: {{dominant_emotion}} |
|---|
Period: {{period_start}} → {{period_end}}
```
Replace {{keyword}}, {{summary}}, etc. with the actual data pills from the webhook payload (they appear as blue chips when you click the field).
- Click Continue, then Test action — your message should appear in Slack within seconds
Step 5: Turn On the Zap
- Review your Zap: Webhook trigger → Slack action
- Click Publish (top right)
- Toggle the Zap On
That's it. Every time Twigest generates a digest for one of your tracked keywords, Zapier automatically posts it to Slack. No dashboards to check, no manual copy-pasting.
Variations: Other Automation Ideas
The same setup works for any Zapier action. Here are three more common patterns:
Leads → HubSpot CRM
Trigger: lead.found
Action: HubSpot → Create Contact
Map the fields:
- Contact email → leave blank (or extract from
author_urlif available) - Notes →
tweet_text+intent_type+tweet_url
Potential customers are captured in your CRM the moment they signal buying intent on Twitter.
Digest → Notion Database
Trigger: digest.created
Action: Notion → Create Database Item
Map the fields:
- Name →
keyword+created_at - Summary →
summary - Sentiment →
sentiment_score - Tags →
dominant_emotion
Build a searchable archive of all your Twitter intelligence, automatically organized in Notion.
Spike → Google Sheets Log
Trigger: spike.detected
Action: Google Sheets → Append Row
Columns: keyword, current_volume, baseline_volume, spike_percentage, detected_at
Track every volume anomaly in a spreadsheet for later analysis.
Verifying Webhook Signatures (Optional but Recommended)
If you add a Code by Zapier step before your action, you can verify the HMAC signature to ensure the webhook genuinely came from Twigest.
Every Twigest webhook includes two headers:
```
X-Twigest-Event: digest.created
X-Twigest-Signature: sha256=<hmac_hash>
```
To verify in a Zapier Code step (JavaScript):
```javascript
const crypto = require('crypto');
const secret = 'your_signing_secret_here';
const signature = inputData.twigest_signature; // from webhook header
const body = inputData.raw_body;
const expected = 'sha256=' + crypto
.createHmac('sha256', secret)
.update(body)
.digest('hex');
output = [{ valid: crypto.timingSafeEqual(
Buffer.from(signature),
Buffer.from(expected)
)}];
```
If valid is false, add a Filter by Zapier step to stop the Zap from running on invalid requests.
Troubleshooting
Zapier says "No new data found" when testing
→ Go back to Twigest → Webhooks and click Send Test Payload again. Make sure the webhook status shows as "Active."
I see the test but live events aren't coming through
→ Check that the Zap is turned On (green toggle). Free Zapier accounts only run Zaps every 15 minutes — upgrade to Starter if you need real-time delivery.
The `summary` field is empty
→ This can happen if the digest was generated before your keyword had enough data. Twigest digests require at least 5 matching tweets in the period. Wait for the next digest cycle.
I want to filter by keyword
→ Add a Filter by Zapier step immediately after the trigger. Set the condition: keyword contains your_keyword_name. This lets you run different Zaps for different keywords.
What's Next
Once you have the basics working, explore more advanced setups:
- Multi-step Zaps: Send to Slack AND log to Notion in a single Zap
- Filters: Only notify on digests with
sentiment_scorebelow -0.5 (negative sentiment alerts) - Formatter: Use Zapier's Formatter step to truncate long summaries or reformat dates
- Make (formerly Integromat): Prefer more visual flows? The same webhook URL works in Make — see our full webhooks guide for a comparison
Get Started
- Sign up for Twigest — webhooks are available on Pro and Business plans
- Add 2–3 keywords you want to monitor (brand name, competitor, industry term)
- Follow this guide to connect Zapier
- Your first automated digest will arrive within 24 hours
Stop checking dashboards. Let Twigest push insights directly to the tools your team already uses.
Related reading: