Free Discord welcome bot, no code
A Discord welcome bot is usually the first thing a server sets up, and usually the reason people end up paying for one. Noria's Welcome & Goodbye node does the whole job in a single step: greet the arrival, hand them their starting roles, optionally write to them privately, and post a goodbye when they leave.
Why one node instead of five
Built by hand, a welcome flow is a Member trigger, a branch on whether it was a join or a leave, a send-message, a send-DM and a grant-role — five pieces to wire and keep in sync. The recipe node collapses that:
- It knows which half to run. The Member trigger already distinguishes a join from a leave, so the node reads the event rather than making you say it twice. Connect it to one output or to both — either works.
- It knows who joined. Username, nickname, avatar and server name come straight off the trigger, so there is no expression to write.
- Roles are handed out first. They are what a member notices immediately, so they never get skipped because a message failed to send.
Every option, explained
- Server — which server this runs in.
- Ignore bots — on by default. A bot added to the server is neither greeted nor given roles.
- Welcome channel — where arrivals are greeted. Leave it empty to skip the public greeting; a private one and the starting roles still work.
- Welcome message — your own text.
{{user}}becomes a mention,{{username}}their Discord username,{{display_name}}their nickname on the server, and{{server}}the server name. The editor may flag these as unknown variables — that warning is expected and harmless, since the node fills them in itself. - Send the welcome as an embed — post it as an embed card instead of plain text. Required for a banner or the member's avatar.
- Embed title and banner image URL — shown at the top and bottom of the embed.
- Show their avatar — puts the joining member's avatar in the embed's corner.
- Also welcome them privately — sends the same text as a DM alongside the public greeting.
- Roles given on arrival — a starter role, a colour, an opt-in default. Handed out the moment someone joins.
- Goodbye channel and goodbye message — where and what to post when someone leaves.
{{username}},{{display_name}}and{{server}}work here too. A mention is deliberately not offered: Discord renders it as a raw id once the member has gone. - Remove their welcome when they leave — deletes the greeting posted when they joined, so a welcome channel only shows members who are still here.
The node also outputs whether it posted anything and which event it handled, so you can branch after it — for example, an If node that pings a moderator only on departures.
Set it up in three steps
- Create a workflow and add a Discord — Member trigger.
- Connect the Welcome & Goodbye node to the trigger's Member Joined output — or to both Member Joined and Member Left if you want a goodbye too.
- Pick your welcome channel, write the message, and add any roles new members should get. Test it, then activate.
Going further
The recipe covers the common case in one node, but it is not a black box: unpack it and you get the real nodes underneath, which you can then change freely. Two things people usually add next:
- A verification gate — pair the welcome with a role members only get after confirming, so arrivals land in a limited view of the server first.
- A milestone announcement — a Scores node counting joins, plus an If node that celebrates the 100th member.