Roles are an essential part of running a community on Discord, and let you control member privileges and permissions, "verify" newcomers to your server, and allow members to self-identify with specific interests.
By default, admins and moderators can assign roles manually through Discord's server settings panel, which can quickly become annoying if you run a large server. The most common workaround is using a bot to enable "reaction roles," which automatically assigns roles when members react to a message with a specific emoji.
If a reaction roles bot intimidates you or you need a custom solution, you can automatically assign Discord roles with Zapier. In this tutorial, we'll show you how to create a Zap—Zapier's automated workflows—that adds reaction roles to your server.
Zapier is a no-code automation tool that lets you connect your apps into automated workflows, so that every person and every business can move forward at growth speed. Learn more about how it works.
Before you begin
In this tutorial, we'll create a simple rules-screening process that verifies members once they react to a message acknowledging they've read the server rules. Community servers have this feature built-in, but you can create your own if your server is private or subscription-only.
You'll need a few things to get started:
Create a
#rules
channel if you don't have one already. If you do, briefly make it private to everyone except admins and moderators. You can privately test your Zap or any Discord bots without spamming the rest of the server before you make it public. (You can also test your Zap in a#testing
channel if you have one.)Create a role that has viewing and posting access to your general channels. It can be something like "Verified" or "Member." Remember to remove that access from
@everyone
and other non-admin roles. Save time by setting permissions by channel category to grant and revoke permissions across multiple channels.Post (and pin) a message with the community rules. It should include instructions for members to react with a specific emoji to show they've read it. In our example, I included the verification instructions within spoiler tags because I'm evil and want to see if people read the instructions. Be sure to react to the message to test your Zap later.
How to assign Discord roles from reactions
You can create your own Zap from scratch with our point-and-click editor, but we also have quick templates to get you started.
Here's how to set it up:
Connect to Discord and customize your reaction trigger
First, set up your trigger—the event starts a Zap. If you're using our Zap template, this is pre-selected for you. If you're building from scratch, select Discord as the app and New Reaction on Message as the event, then click Continue.
Next, connect Discord to Zapier if you have yet to do so. Discord will prompt you to select which server to add Zapier to.
For each app you connect, Zapier will ask for a general set of permissions which allows you to be flexible with your Zaps. The only actions Zapier takes on your app accounts are those a given Zap needs to accomplish what you've set up.
Once you've added Zapier to your server, click Continue in the Zap editor. Next, the editor will prompt for a link to the message you want your Zap to monitor for reactions.
Remember the rules you posted earlier? Toggle back to Discord, click on the three-dot menu next to the message, and click Copy Message Link.
Toggle back to the Zap editor and paste the URL into the Message Link field.
Then, select the emoji reaction that will trigger your Zap and click Continue.
Test your trigger to ensure Zapier can find the message reaction in Discord. If your test is successful, you'll see details about the user who reacted to the message. Click Continue.
Customize your role action and test your Zap
Now let's set up the action, which will be the event your Zap performs when triggered. If you're building from scratch, select Discord as the app and Add Role as the event, then click Continue.
Select the user you want to assign a role to. When you click on the User field, notice that the dropdown menu is static. If you select a user from this list, your Zap would assign a role to the same user every time, which is likely not what you want.
For situations like this, you can use a custom value. Custom values, among other things, allow you to bypass static dropdowns and use static text or values from previous Zap steps.
To use a custom value, click the Custom tab from the User field dropdown.
Then select the ID value from the dropdown menu. This will allow your Zap to assign a role based on the user who reacted.
Under the Role field, select the server role you want to assign, and click Continue.
Finally, let's test this workflow. Click Test action. Zapier will assign the Discord role according to your settings.
If the action is successful, Discord will return a true result.
But let's check the server to be sure. You can click on an individual user profile in your list of server members or check the roles in your server settings.
If everything looks good, your Zap is ready to use. Remember to make your #rules
channel public again if needed. Now you have an automated rules-screening process for your Discord server!
Automatically manage Discord roles with Zapier
Automated reaction roles are just one way you can use Zapier with Discord. Check out other ideas for automating your Discord server so you can focus on growing your community.
New to Zapier? It's workflow automation software that lets you focus on what matters. Combine user interfaces, data tables, and logic with thousands of apps to build and automate anything you can imagine. Sign up for free.
Related content: