Skip to main content

🎛️ Reaction Roles

Reaction roles let members pick their own roles from a message the agent posts — by adding an emoji reaction, clicking a button, or choosing from a dropdown menu. You design each message in the webapp, then publish it to a channel with a single action.

Overview

  • Build reaction role messages (panels), each mapping emojis, buttons, or dropdown options to roles
  • Three modes: Emoji reaction, Button (the default), and Dropdown
  • Optional rich embed with a title, description, color, image, and thumbnail
  • Two-step publishing: save the panel first, then post it to Discord
  • Each panel shows its status — Draft, Posted, or Needs update

Configuration

To set up reaction roles:

  1. Open your project in the Fren One webapp.
  2. Select the Discord server you want to configure.
  3. In the sidebar under Agent Configuration, select Role Manager, then the Reaction Roles tab.
  4. Select "New Message" to create a panel, or Edit on an existing one.

Message basics

OptionDescription
EnabledWhen off, the message stops handing out roles. Default: on.
Message nameA name for the panel. Required; default "Reaction Roles".
ModeHow members pick roles: Emoji reaction, Button (default), or Dropdown.
Dropdown placeholderDropdown mode only. The prompt shown in the closed dropdown. Default: "Choose your role".
ChannelWhere the message is posted. Optional while drafting, but required before you can post.
ContentText shown above the message, or as the plain message when the embed is off.
Reaction modeDefault or Reverse. Reverse swaps the action: reacting removes the role and removing the reaction adds it back. Applies to emoji mode only.
Allow multiple rolesWhether members can hold more than one role from this message. In dropdown mode this switches between single- and multi-select. Default: on.

Role mappings

Each mapping is one role members can pick. Select "Add mapping" to add more.

OptionDescription
RoleThe role to grant. Required for every mapping.
LabelThe text shown on the button or dropdown option. Defaults to the role name.
EmojiThe emoji for this mapping — server custom emojis are supported. Required in emoji mode.
Button colorButton mode only. Blurple (default), Grey, Green, or Red.

Rich embed

Toggle "Send as a rich embed" (default: on) to dress the message up as an embed:

OptionDescription
Embed titleUp to 256 characters. Default: "Reaction Roles".
Embed descriptionUp to 4,000 characters.
Embed colorThe embed's accent color.
Embed imageA full-width image shown at the bottom of the embed. Recommended: 1920×1080.
Embed thumbnailA square image, e.g. 512×512.

Posting to Discord

Publishing is a deliberate two-step flow:

  1. Save the panel — panel edits are part of the page's batched save, so select Save in the bar at the bottom first.
  2. Select Post to Discord on the panel's row. The action is blocked while there are unsaved changes ("Save your changes first").

Each panel row shows its status:

  • Draft — saved but not yet posted to a channel.
  • Posted — live in Discord and handing out roles.
  • Needs update — posted, but the saved configuration has changed since; select Re-post to Discord to update the Discord message.

A Disabled pill appears on panels whose Enabled toggle is off.

How it works in Discord

  • Emoji mode uses classic reactions: the agent adds the mapped emojis to the message, and members add or remove a reaction to gain or lose the role. With Reaction mode set to Reverse, the behavior flips — reacting removes the role.
  • Button mode renders the mappings as buttons in the chosen colors — up to 25 buttons per message.
  • Dropdown mode shows a select menu with your placeholder text; Allow multiple roles controls whether it's single- or multi-select.

The agent's role must sit above every mapped role in your server's role list, or the grants will fail.

Saving your changes

This page is a hybrid: panel edits and deletions use the batched save — they stay local until you select Save in the bar at the bottom, and leaving with unsaved changes shows a warning — while Post to Discord is an immediate action, available only once everything is saved.

Best practices

Panels that work
  • Use Button or Dropdown mode for long role lists — they're clearer than a wall of reactions, and dropdowns stay compact.
  • Set custom Labels when role names are technical; the label is what members see.
  • Turn Allow multiple roles off for mutually exclusive choices like a single team or region.
  • After editing a posted panel, remember the second step: save, then Re-post to Discord — a Needs update status means Discord is still showing the old version.
Troubleshooting

The Post to Discord button is disabled?

  • You have unsaved changes — select Save in the bar at the bottom first.
  • A panel also needs a Channel before it can be posted.

Members click but don't get the role?

  • Check the panel's Enabled toggle — when off, the message stops handing out roles.
  • Check the agent's role is above every mapped role in the server's role list.
  • In emoji mode with Reverse reaction mode, reacting removes the role instead of granting it.

I edited the panel but Discord shows the old message?

  • The panel is in Needs update — save your changes, then select Re-post to Discord.