Think inside your AI world.
A Discord message when your AI needs a decision
Discord needed no bot, no gateway connection and no second code path to carry this. It is a webhook URL you paste, exactly like the others, and the reason that is worth saying out loud is that it is the whole design rather than a shortcut taken for Discord.
Direct answer: paste a Discord webhook URL into Unl and the moments that need a person arrive in that channel. The message carries the one-line reason the work stopped, naming the agent, plus a link that opens the item in your own AI with the reasoning pulled live. Discord is reached through the same paste lane as every other endpoint, held to Discord’s own published contract: a 2,000-character body, its own message field, and a success response that returns no content at all.
Why there is no Discord integration to install
Nothing here is built per destination. What you paste is an endpoint, and an endpoint is a thing that accepts a POST and answers. Discord publishes exactly that in its webhook API, so the parts that already existed reached it as they were: the place a pasted URL is recognised, the route that stores it, and the record kept of every attempt to deliver.
The version of this that would have needed a bot is the version where each destination gets its own code. That design is how a product ends up with three transports it supports and a queue of ones it does not.
The trap in the difference, and where it is held
Discord and Slack do not answer the same way, and the difference is the kind that hides. Discord answers a successful webhook execution with 204 No Content, where a great many services answer 200. Any code that quietly decides success means 200 works perfectly against every other destination and fails only here, silently, and in a way that reads as the user’s URL being wrong.
So it is asserted rather than assumed, against the vendor’s own documented behaviour: 204 counts as landed, the message body goes in Discord’s own content field, the cap is 2,000 characters, and a request carrying no content is a request Discord rejects. Those live in a test that runs on every change, which is the only version of knowing that survives the next refactor.
What arrives, and what stays behind the link
One message, judgeable at a glance: the headline reason the work stopped, the name of the agent that stopped, and the single sentence that carries the weight. Where the text must be shortened to fit Discord’s cap, it is the text that shrinks. The link is never truncated and never dropped, because a shortened message with a broken link is worse than no message.
The link carries the item’s address, not its contents. Opening it reaches back and pulls the item with its reasoning, live, so what you read is current at the moment you read it rather than at the moment it was sent. It is opaque, it expires, and it carries no credential, so it can sit in a server channel without disclosing anything to whoever scrolls past it.
Your server, your rules
Each pasted endpoint carries its own routing: which classes of moment are allowed to land there. A finished run and an unanswered question can go to different channels, or one of them nowhere at all, because they are separate switches rather than a single subscription.
The classes Unl raises about itself are off until you switch them on, and nothing waits on your reply. Timeouts, escalation and what counts as blocking are not decided here and not inferred; sending is an emission, never a hold on the work.
Discord is reached through the same paste-any-webhook lane as every other destination, with no bot and no second code path, held to Discord’s own published contract so the one difference that hides, a success that answers 204 rather than 200, is asserted by a test instead of assumed by the code.
Reads through Unl arrive with measured context — in the presence of the decisions you’ve already settled. The reach lane is live: one box, paste anything. If it speaks MCP, Unl can reach it. Readings arrive unprompted, the data beside the criterion; Unl is a courier, not a warehouse, and keeps only your keys and the frame.
Read further
Questions people ask
Do I need to add a bot to my server?
No. A Discord channel webhook URL is the whole connection. You create it in the channel’s own integration settings, paste it into Unl, and that is the integration: no bot user joins your server, no gateway connection is held open, and no permissions are requested beyond what the webhook itself carries.
Why does the 204 response matter enough to mention?
Because it is the difference that hides. Discord returns 204 No Content on a successful webhook execution while many services return 200, so code that treats 200 as the definition of success passes everywhere else and fails only on Discord, reporting a working URL as broken. It is asserted against Discord’s published behaviour rather than left to habit.
What happens to a long message?
It is shortened to fit Discord’s 2,000‑character cap, and the shortening is deliberate about what it sacrifices: the text gives way and the link does not. A message is allowed to arrive shorter than it was written, and is never allowed to arrive with the link cut in half.
Can I send different things to different channels?
Yes. Routing is held per endpoint, so each pasted webhook decides which classes of moment may land on it. Two channels with two webhooks can carry two different sets, and the classes Unl raises about itself stay off until you switch them on.
What this is
Think inside your AI world — you stay in command
Unlimitless (Unl to friends) holds what you've settled, reads what your tools are showing, and catches what's changed out in the world — and hands your AI whatever bears on the work, the moment it's needed, without you asking. The right thing, in front of the model, unprompted, with you in command of the call. So you keep moving toward what you set out to build, on top of everything you've already decided.
It plugs into Claude, Claude Code, ChatGPT and Cursor as an MCP connector. Quick to connect, in a couple of steps.
Unlimitless is open now to invited Alpha. Apply for the Beta waitlist to come in ahead of the full launch:
Alpha is invite-only · free at launch.