Zapier Twitter Integration in 2026: What Still Works
Zapier removed its Twitter integration in 2023 and its X app in March 2026. Get new X posts into any Zap with a Weir monitor, a Catch Raw Hook and Python.
Tarun Khatri
Published · Updated · 7 min read
The Zapier Twitter integration is gone: Zapier removed it again in March 2026, so no Zap can watch X on its own.
You can still get new X (Twitter) posts into your Zaps. A Weir monitor finds them and sends them to a Webhooks by Zapier trigger, and you take it from there with any action. We run Weir.
Register your Zapier hook with Weir in one call:
curl -X POST https://api.weirapp.io/v1/webhooks \
-H "Authorization: Bearer $WEIR_API_KEY" \
-H 'Content-Type: application/json' \
-d '{"name": "Zapier", "url": "https://hooks.zapier.com/hooks/catch/123456/abcdef/"}'
You need a Weir API key, a Zapier plan with webhooks, and a Slack workspace or a Google Sheet.
Step 1: Catch Weir's delivery with Webhooks by Zapier
Build the trigger first, so you have a URL to give Weir.
- Add the triggerIn a new Zap, pick Webhooks by Zapier and the Catch Raw Hook event. Copy its URL.
- Register it with WeirIn the dashboard, open Webhooks, then Add a webhook. Paste the URL and copy the whsec_ secret. It's shown once.
- Send the free testRun the call below, then press Test trigger in Zapier to load the delivery.
curl -X POST https://api.weirapp.io/v1/webhooks/$WEBHOOK_ID/test \
-H "Authorization: Bearer $WEIR_API_KEY"
Pick Catch Raw Hook, not Catch Hook. Zapier's docs say Catch Raw Hook passes the body unparsed and includes the headers. Your signature check needs both.
Step 2: Verify the signature in a Run Python step
Weir signs timestamp.eventId.rawBody with HMAC-SHA256, and Python's standard library can check it. Without this check, the hook URL is your only secret: anyone who learns it can push fake posts into your Zap.
Add Code by Zapier with the Run Python event. Zapier's docs say its Python 3.13 steps include the standard library. Fill in Input Data:
- raw_body: map the raw body from the trigger.
- signature, timestamp, event_id: map the
weir-signature,weir-timestampandweir-event-idheaders. - secret: paste your
whsec_secret. Anyone who can edit the Zap can read it.
Then paste the code:
import hashlib, hmac, json, time
ts, event_id, raw = input_data["timestamp"], input_data["event_id"], input_data["raw_body"]
if abs(time.time() - int(ts)) > 300:
raise Exception("Stale delivery: more than five minutes old")
signed = f"{ts}.{event_id}.{raw}".encode()
expected = hmac.new(input_data["secret"].encode(), signed, hashlib.sha256).hexdigest()
if not hmac.compare_digest(expected, input_data["signature"]):
raise Exception("Bad signature")
event = json.loads(raw)
output = [
{"author": p["author"]["username"], "text": p["text"], "likes": p["likeCount"],
"url": p["url"], "posted": p["createdAt"]}
for p in event["data"].get("results", [])
] or [{"author": "weir", "text": event["type"] + " verified", "likes": 0, "url": "", "posted": event["createdAt"]}]
A bad or stale delivery stops your Zap with an error. A good one returns a list, and Zapier's docs say a list of dictionaries runs your next steps once per item.
Test the step within five minutes of sending your test. You should get one item back, "webhook.test verified", because a test carries no posts.
Step 3: Send each post to Slack, then add a monitor
Add Slack with Send Channel Message, and build your message from the step's author, text and url fields. If you'd rather log posts, a Google Sheets or email action takes the same fields.
Turn your Zap on. An active Zap answers 200. One that's off answers 404, and Weir doesn't retry that.
Now create your monitor. In the Weir dashboard, pick a keyword search or an X account and choose your webhook. Or send this to POST /v1/monitors:
{
"name": "Acme on X",
"target": { "kind": "search", "query": "acme", "sources": ["x"] },
"schedule": "daily",
"webhookId": "<webhook id>"
}
To follow one account instead, use { "kind": "x_user", "handle": "zapier" } as the target. Press Run now on the monitor's page to send real posts through your Zap.
We ran a real search on 22 October 2026 and built a delivery from its three posts, by @zapier and @make_hq. The search cost 4 credits. The Run Python step turned the delivery into three items:
→ search_x {"fromUsers": ["zapier", "make_hq"], "query": "-filter:nativeretweets", "onlyOriginal": true, "limit": 3}
← 3 posts · 4 credits (1 + 3 × 1)
Run Python output: 3 items, so Slack runs 3 times
@zapier 10 likes 2026-10-20 It only takes one connection 🤝
@zapier 17 likes 2026-10-20 Which AI automation should your team build first?
@make_hq 0 likes 2026-10-20 BIG updates for Make from Waves '26 📢
Each run sends you one delivery with up to 25 new posts in data.results. If data.newResults is higher, the rest are free to read from the monitor results endpoint.
Why was the Zapier Twitter integration removed?
Zapier says X's API policy and pricing ended the first integration, and X itself ended the second.
| Date | What Zapier said |
|---|---|
| 31 Aug 2023 | Its Twitter integration stops |
| 20 Feb 2026 | "X (Twitter) is back on Zapier!" |
| 4 Mar 2026 | X removed again |
Zapier's help center says the 2023 integration stopped "due to Twitter's decision to change its API policy and pricing."
The 2026 return asked you to bring your own X Developer App. Then a community manager's update said: "X has let us know that the use case Zapier's integration enables isn't something they support under their API/developer program."
Posting is out of scope here. Weir only reads public data, so it can't replace Zapier's old posting actions.
What it costs
You pay Weir a credit per monitor run plus a credit per new X post. Deliveries and tests cost you nothing.
On Zapier, each Slack message is a task, so a full 25-post delivery uses that many of your tasks. Weir's own rates are on the pricing page.
If it doesn't work
- Nothing reaches Zapier. Check your Zap is on. Weir stops a webhook after 20 failures in a row.
- "Stale delivery" while you build. The sample is over five minutes old. Send a fresh test and retest the step at once.
- "Bad signature". You used Catch Hook, mapped a parsed field, or pasted the wrong secret.
- The same post twice. Delivery is at least once, and a retry keeps its
weir-event-id. Zapier's StoreClient can remember ids you've seen. - Only 25 posts arrived. That's the cap per delivery. You can read the rest from the monitor's results, free.
When not to use Weir
- You need to post or reply on X. Weir is read-only, so pick a tool with write access to your account.
- You need posts within seconds. Your monitor runs hourly at best on paid tiers, and daily on the free tier.
- Price per post matters most. TwitterAPI.io lists $0.15 per 1,000 tweets as of October 2026, less than Weir's smaller packs.
- You want a guarantee. Weir isn't licensed by X, so access can change.
FAQ
Does Zapier still have a Twitter integration?
No. Zapier's X (Twitter) integration was removed on 4 March 2026, soon after a short return. The original Twitter integration stopped in August 2023. You can still feed X posts into a Zap through Webhooks by Zapier.
Is there a Zapier Twitter trigger alternative?
Yes: a webhook. Any service that watches X and posts to a URL can start your Zap. A Weir monitor watches a keyword or one account and sends only posts it hasn't sent before.
Can I post to X from Zapier with Weir?
No. Weir reads public X data and can't post, like or follow. Zapier's own removal notice points to Buffer and Hootsuite for posting.
Do I need a paid Zapier plan?
Yes, for this Zap. Zapier's pricing page leaves webhooks out of Free as of October 2026. Free also stops you at two-step Zaps, and this one has three.
Sources
- Zapier help center, Twitter integration removal (checked 22 October 2026): https://help.zapier.com/hc/en-us/articles/18657531069965
- Zapier app directory, Twitter (checked 22 October 2026): https://zapier.com/apps/twitter/integrations
- Zapier Community, removal notice thread with the 20 February and 3 March 2026 updates (checked 22 October 2026): https://community.zapier.com/troubleshooting-99/notice-twitter-integration-removal-on-august-31-2023-26558
- Zapier help center, trigger Zaps from webhooks (checked 22 October 2026): https://help.zapier.com/hc/en-us/articles/8496288690317
- Zapier, Webhooks by Zapier triggers (checked 22 October 2026): https://zapier.com/apps/webhook/integrations
- Zapier help center, Python code in Zaps (checked 22 October 2026): https://help.zapier.com/hc/en-us/articles/8496326417549
- Zapier help center, StoreClient for Code steps (checked 22 October 2026): https://help.zapier.com/hc/en-us/articles/8496293969549
- Zapier, Slack actions (checked 22 October 2026): https://zapier.com/apps/slack/integrations
- Zapier pricing (checked 22 October 2026): https://zapier.com/pricing
- TwitterAPI.io pricing (checked 22 October 2026): https://twitterapi.io/pricing
- Weir docs, monitors and webhooks: https://docs.weirapp.io/monitors
- Weir billing: https://docs.weirapp.io/billing
- Weir search_x call, run 22 October 2026 (request ed55d104-06e7-495a-ac91-3441ecbb0284)