Skip to content
All docs

Guides

Free Discord Welcome Bot. Greet Members Automatically

Set up a Discord welcome bot without code: greet arrivals in a channel or by DM, hand out starting roles, add a welcome image, and post a goodbye when someone leaves.

3 min read

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. NoriaFlow'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

  1. Create a workflow and add a Discord: Member trigger.
  2. 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.
  3. 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.

Setup checks and next steps

  • Check the selected bot, server and destination channel. Role actions also require the bot role to sit above the role it changes.
  • Test with a dedicated channel or member before enabling this automation for everyone.
  • If a step fails, inspect its error and inputs rather than reconnecting every account.

See the extension setup guide for adding and reusing services, the node reference for parameters, and testing and debugging for execution diagnostics.

Frequently asked questions

How do I make a Discord welcome bot without coding?

Add a Discord Member trigger to a NoriaFlow workflow, connect the Welcome & Goodbye node, pick your welcome channel and write the message. Nothing else needs wiring. The node reads who joined straight off the trigger.

Can the bot give a role to everyone who joins?

Yes. List the roles under 'Roles given on arrival' and every new member gets them the moment they join, whether or not you also post a greeting.

Can I send a welcome image or banner?

Yes. Turn on 'Send the welcome as an embed', then add a banner image URL and optionally show the member's own avatar in the corner.

Can the welcome be a private message instead of a public one?

Yes, and you can do both. 'Also welcome them privately' sends the same text as a DM. A member with DMs closed simply doesn't get one. The public greeting still happens.

Can it post a goodbye message when someone leaves?

Yes. Set a goodbye channel and message on the same node. It runs on the Member trigger's leave event, so one node covers both halves.

Can it clean up welcome messages for members who left?

Yes. Turn on 'Remove their welcome when they leave' and the greeting posted when they joined is deleted, so a welcome channel only ever shows members who are still around.

Will the bot greet other bots added to the server?

No. 'Ignore bots' is on by default, so a bot joining is neither greeted nor given roles. Turn it off if you want bots handled like everyone else.