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: