How to get Twitter notifications on Discord (2026)
Quick answer: To get Twitter notifications on Discord you have three routes — a webhook you create in the channel and drive yourself, a general-purpose automation bot, or a dedicated X tracker you add to the server. All three deliver through the same mechanism: a webhook, a URL that belongs to one channel and lets anything holding it write there, created in Channel Settings → Integrations → Webhooks → New Webhook. The difference is who creates it — with a bot you invite, the bot can make its own in the channel you run the command in, so you never touch that screen. The parts that go wrong later are the ones nobody explains: which permission you actually need, why role pings silently fail to notify, why one webhook per channel matters, and what happens to your setup when someone deletes the channel.
Which method should I pick?
A webhook plus your own script. Free, and the message format is entirely yours. It costs you a machine that stays online, a source of X data of your own, and maintenance every time X changes something. Sensible if you already run infrastructure, a poor trade if you do not.
A general-purpose automation bot. IFTTT- and Zapier-style connectors need no code, but they poll on their own schedule and their X coverage has been shrinking — Zapier's X integration has not worked since August 2023. Replies and quoted posts, when they arrive at all, usually arrive stripped of the parent post that made them worth reading.
A dedicated X tracker. It does the polling, parsing and routing, so you supply a handle and choose which activities count. You give up some control over formatting in exchange for coverage of replies, quotes, profile changes and contract addresses. In X-Relay the webhook field is optional — leave it empty and the bot creates one for itself in the channel you ran the command in, so the whole webhook screen below is something you can skip. X-Relay is free for two accounts on Discord, and how it compares with the alternatives is set out on best Twitter tracker for Discord.
Creating the webhook
- Open the channel you want posts to land in. Not the server settings — the channel's own settings, via the gear icon next to its name.
- Go to Integrations → Webhooks → New Webhook.
- Give it a name and, optionally, an avatar. These are what appear as the author of every message it posts, so name it after the feed rather than after yourself.
- Click Copy Webhook URL.
- Paste it into your tracker. In X-Relay that is the
webhookfield on/add, alongside the handle you want to follow — and it is optional, so leaving it empty sends alerts to the channel you are typing in instead.
You can also reach the same screen from Server Settings → Integrations → Webhooks, which is more convenient when you are creating several at once, because it lists every webhook on the server in one place. Discord documents the same path in its support article Intro to Webhooks, which is worth a glance if your client's menus look different from the descriptions here.
The permission you actually need
To create or view a webhook you need Manage Webhooks in that channel. That is the only permission involved, and it is worth being precise about what it does not require:
- The bot does not need to be in your server. A webhook is a channel-level endpoint, not a bot. Anything that can make an HTTPS request can post through it, from anywhere.
- You do not need Administrator. Manage Webhooks can be granted on a single channel to a single role. If you are setting this up for a server you do not own, that is the minimum ask.
- The webhook does not inherit your permissions. It is its own identity with its own limited abilities.
Treat the URL as a password. It contains an ID and a token, and anyone holding it can post into your channel under the webhook's name and avatar — impersonating your alert feed convincingly. Do not paste it into a public channel, a screenshot, a support ticket or a GitHub repository. If it leaks, delete the webhook and make a new one; that instantly invalidates the old URL.
Embed or plain message?
A webhook can post two kinds of message and the choice affects readability more than people expect.
A plain message is just text. It is compact, it renders link previews the way Discord normally does, and twenty of them in a row are hard to scan.
An embed is the bordered card with an optional colour stripe, author line, title, description, fields, thumbnail and footer. It is what makes a channel of alerts skimmable, because the coloured left border and the author line give your eye something to lock onto. Embeds also carry structure — a contract address can sit in its own field with price and liquidity beside it rather than being buried in a paragraph.
Discord's limits on embeds are worth knowing before you design a format, and they are stated in the webhook resource documentation:
- Up to 10 embeds in one message.
- 6000 characters total across a single embed, counting every field.
- 4096 characters in the description, 256 in the title, and up to 25 fields.
A long X post plus quoted context plus market data fits comfortably. A whole thread pasted into one embed does not, which is why threads generally arrive as separate messages.
Routing: one webhook per channel, on purpose
A webhook is bound to exactly one channel, chosen when you create it. That constraint is the routing feature. Rather than fighting it, use it:
- #alpha — a handful of high-conviction accounts with replies on. Low volume, high attention.
- #news — project and exchange accounts, posts only. Read when convenient.
- #contracts — contract detection only. Most posts never reach it, which is exactly what makes it worth watching.
- #noise — the chatty accounts you want on record but do not want interrupting you.
Four channels, four webhooks, and each tracker points at the one that fits. The alternative — everything into one channel — produces a feed nobody reads within a week, and an unread channel is functionally the same as no alerts at all.
There is a practical reason to split as well: Discord rate-limits each webhook individually, commonly around 30 messages a minute. A single webhook carrying every tracker during a busy hour can be throttled, and throttled messages arrive late. Spreading trackers across several webhooks spreads that ceiling.
If the channels above are for a public community rather than your own trading setup, the routing conventions that hold up at that size are collected in our notes for Discord communities.
Pinging a role without the ping silently failing
This is the single most common thing people get wrong. Putting @traders as literal text in a message does nothing — it renders as grey text and notifies no one. A real mention needs the role's numeric ID in the form <@&123456789>, and the sending application has to explicitly allow that mention type. Many tools default to suppressing mentions so they cannot accidentally spam a server.
Practical advice regardless of tool:
- Use a dedicated role, self-assignable, rather than pinging everyone. People who opt in do not mute the channel.
- Ping selectively. A ping on every post from a busy account trains the server to ignore pings. Reserve it for the channel where every message matters — usually contracts.
- Test once. Send a test alert and confirm the role members actually got a notification, not just that the text turned blue.
What happens when the webhook dies
Webhooks disappear more often than you would think. Someone deletes the channel — which deletes its webhooks with it. Someone tidies up the integrations list. A server is restructured. In each case the URL starts returning 404 Unknown Webhook, and here is the problem: the failure is entirely invisible from inside Discord. Your channel simply goes quiet, and a quiet channel looks exactly like a quiet market.
This is the most damaging failure mode in the whole category, because it produces no error where anyone can see it, and it can run for weeks.
Two things are worth demanding from any tool you use:
- It should tell you. X-Relay probes each Discord webhook about once an hour with a read-only request — Discord answers with the webhook's details if it is alive and 404 if it is gone. Nothing is posted into your channel by the probe; sending a "test message" into someone's server to check on it is intrusive, so it does not.
- It must not delete your trackers. When a webhook 404s, X-Relay parks the trackers on it: sending stops, nothing is removed, and everything resumes the moment you point a live webhook at it. A tool that deletes on the first 404 will wipe a setup because someone re-created a channel an hour later, and that has happened.
If you rebuild a channel, just create a new webhook and update the tracker. Your handle list, activities and filters are untouched.
Troubleshooting
- Nothing arrives at all — re-copy the URL. A truncated paste is the usual cause, and it fails identically to a deleted webhook.
- It worked and then stopped — check the webhook still exists in Channel Settings → Integrations. If the channel was deleted and remade, the old URL is dead even though the channel name is identical.
- Messages arrive but pings do not notify — the mention is text, not a role ID, or mentions are suppressed by the sender.
- Alerts arrive in bursts, late — you are likely hitting the per-webhook rate limit. Split trackers across more channels.
- Posts appear but replies do not — that is a tracker setting, not a Discord one. Worth checking, because a tracker without reply coverage also drops the second and later parts of threads.
Which tracker to put behind the webhook
The webhook is the easy part and every tool uses the same one. What differs is what gets sent through it — reply coverage, contract detection, refresh interval and price. We compare the field, including our own product, on best Twitter tracker for Discord, and there are more setup walkthroughs in our guides and comparisons.
To set up X-Relay specifically: add it to your server, go to the channel you want alerts in, and run /add with the handle and the activities you want. The webhook field is optional — leave it empty and the bot makes its own webhook in that channel, or paste a URL you copied above if you want to name the destination yourself. Two accounts are permanently free on Discord, so you can have a working channel before deciding anything. The step-by-step version, with permissions and pricing, is on free Twitter notification bot for Discord.
FAQ
How do I get Twitter notifications on Discord?
There are three routes: a webhook you create in the channel and drive yourself, a general-purpose automation bot, or a dedicated X tracker you add to the server. All three deliver through a channel webhook; what differs is who creates it. Doing it by hand means Channel Settings → Integrations → Webhooks → New Webhook, copy the URL, and give it to whatever is watching X along with the handle you want to follow. A tracker you invite can create that webhook itself in the channel you run the command in, so you only supply the handle.
What permission do I need to create a Discord webhook?
Manage Webhooks, on that channel. You do not need Administrator, and the tool posting through it does not need to be a member of your server.
Is a Discord webhook URL secret?
Yes. Anyone holding it can post into your channel under the webhook's name and avatar. If it leaks, delete the webhook — that invalidates the URL immediately — and create a new one.
Can one webhook post to several channels?
No. A webhook belongs to one channel, fixed when you create it. Use several webhooks to route different accounts to different channels, which also spreads Discord's per-webhook rate limit.
Why does my role ping not notify anyone?
Because the message contains the role name as plain text rather than the role's ID, or the sender is suppressing mentions. A real mention uses the numeric role ID and must be explicitly permitted by the sending application.
What happens if someone deletes the channel?
The webhook is deleted with it and the URL returns 404, silently, with nothing in Discord to indicate it. X-Relay probes hourly and tells you, and parks the affected trackers rather than deleting them, so nothing is lost when you point a new webhook at them.
Do Twitter-to-Discord bots still work in 2026?
Maintained tools do. Many unmaintained free bots broke after X's API pricing changes, and some routes people remember are gone entirely — Zapier's X integration has not worked since August 2023, despite headlines suggesting otherwise.
Best Twitter tracker for Discord → · For Discord communities → · vs TweetShift → · Guides and comparisons → · Pricing →