A working Discord onboarding flow has a strict order: a new member sees the rules before they can post anywhere else, verification is the gate that proves they read that far, and the welcome message comes after, greeting someone who has already passed the gate rather than someone who might leave without reading anything. Get the order backwards — welcome before verification, or verification with no rules step before it — and you either annoy people with a locked server before they know why, or let unverified accounts post before you have filtered anything. This covers how to sequence it, not just how to configure each piece; for the how-to on verification itself, see setting up Discord verification.

A new member presses Verify, the gate opens, and they pass through with a Member role. Verify Member

The three pieces and what each one is actually for

  • A rules / info channel — visible to unverified members (or everyone), explaining what the server is and what verification unlocks. This is a plain Discord channel with permission overrides, not a bot feature.
  • Verification — a button-based panel that grants a role when clicked. It needs a channel to post in and a role to give, and the bot's role must sit above the role it grants or Discord silently refuses the change.
  • Welcome message — posts automatically on join, independent of verification. It fires the moment someone joins the server, not the moment they verify.

That last point matters for sequencing: welcome and verification are two separate systems that do not talk to each other. A new member gets the welcome message immediately on join, and can pass through verification at their own pace afterward — the welcome message cannot be configured to wait for verification first.

Designing the permission gate correctly

The actual gate is a Discord permission setup, not a bot setting: the @everyone role (or an "unverified" role everyone starts with) should be denied View Channel on every channel except rules and the verification panel's channel. The verify role, once granted, should be the role that unlocks everything else — either by being added to every other channel's permission overrides, or more simply by making every regular channel visible to "everyone except the unverified role." Noxyr's verification only handles the button-click-to-role-grant half; the channel visibility structure around it is standard Discord server permissions.

A sequence that works for most servers

  1. New member joins. They land in whatever channel is visible to an unverified account — usually just rules and the verify panel's channel.
  2. The welcome message fires in your chosen welcome channel regardless of verification status — if that channel is meant to be public-facing, make sure it is visible to unverified accounts too, or the welcome message posts somewhere they cannot even see yet.
  3. They read the rules, then go to the verification channel and click the button.
  4. The verify role is granted, which (through your permission structure) opens every other channel.
  5. Optional: a second, more detailed "start here" message or channel becomes visible only after verification, for onboarding details that would be wasted on someone who has not committed to joining properly yet.

Common design mistakes

  • Welcome channel is not visible to unverified members. Then the welcome message posts into a void as far as the new member is concerned — they see it only after verifying, by which point it reads oddly out of order.
  • No rules channel before the verify button. Verification proves someone clicked a button, not that they read anything. Put the actual rules somewhere the button-click naturally follows.
  • Bot role positioned below the verify role. The single most common "verification doesn't work" report — Discord refuses the role grant silently, with no error shown to the member or in the bot's logs beyond a failed action. Move the bot's role above it in Server Settings → Roles.
  • Too many steps before the gate. A rules channel, a captcha, an age-check question and a verify button in sequence loses people. One clear rules read and one click is the right amount of friction for most communities.

Where a review or FAQ channel fits

If the server sells anything, put the storefront and review channels behind the verify gate too, not in front of it — an unverified account browsing a shop before it has agreed to any rules is backwards, and it also means anti-spam is watching a channel full of people who have not been through any filter yet. Ticket support is usually fine to leave open pre-verification, since someone needing help before they can even see the server properly is a real, if rare, case.

Common questions

Does verification stop spam bots from joining? It stops them from posting anywhere until they click a button, which filters out simple join-and-spam bots that never interact further. It is not a captcha and does not detect automated clicking — pair it with anti-spam for message-based abuse from accounts that do click through.

Can I require verification before someone can even read the rules? No — verification grants a role after a click, so the rules (or whatever explains why they should click) has to be visible before that click happens, not after.

What if a member's highest role already outranks the bot? Then the bot cannot grant them the verify role either, for the same hierarchy reason it cannot act on them for moderation. This mostly comes up with very senior staff roles created before the bot was set up — double check role order after any bot reinstall.

Should the welcome message mention verification? Yes, if welcome posts somewhere unverified members can see — a line like "verify in #welcome-gate to unlock the rest of the server" turns the welcome message into part of the funnel instead of a dead end.

Can I change the verify role or channel later without breaking existing verified members? Yes — changing the panel's role or channel only affects future clicks; members who already hold the old verify role keep it and are not re-checked retroactively.

Set up the panel itself on the Verify page of your server dashboard, and read the verification and welcome docs for every field's exact behavior.