If you own or moderate a Discord server, managing your community without automation can be tough.
Thanks to developers and users who like to tinker, there's a massive ecosystem of Discord bots. These user-like apps let you add extra moderation tools, gamification, or a dose of randomness to any server. Discord even launched an app directory to make adding bots to a server easier.
But what if you can't find a bot that suits your needs and don't know how to code? You can create your Discord bot with Zapier in a few clicks.
With our automated workflows called Zaps, you can connect your favorite apps to Discord without any code. We'll show you how you can create your own custom bot to manage your community your way.
New to Zapier? It's an automation tool that helps anyone connect apps and automate workflows—without any complicated code. Sign up for free to use this app, and many others, with Zapier.
Types of Discord bots
There are a few types of Discord bots you might encounter. Since other users or developers often create bots, some may have a separate settings interface where you can manage bot behavior.
Discord bots generally fall into a few groups:
Command bots are triggered by a command often beginning with a slash or exclamation point. For example, the built-in
/tableflipcommand will add the table-flipping text emoticon to your message. Currently, you need an understanding of code (or a willingness to tinker) to build Discord command bots.
Reply bots will respond to specific phrases you set in advance. These are often used for frequently asked questions or rule reminders.
Notification bots alert a channel or specific role, often about events happening in other apps, such as someone starting a Twitch stream. This tutorial will show you how to create a notification bot from a new Google Form submission. You can still follow along if you want to create a notification bot with another app.
Note: Discord forbids "self-bots", which are bots that pose as your account.
Before you begin
To connect a Discord server to Zapier, you need to be the server owner or an administrator with the ability to add bots and create webhooks.
If you don't have one already, create a #testing channel that general members cannot access so you can test your bot without spamming the server.
Since I'm using Google Forms for this tutorial, I need a Google Form with at least one submission to set up this Zap. If you're using a different app, ensure you have something you can test, like a recent pull request from GitHub.
How to make a Discord bot without code
You can create your own Zap from scratch with our point-and-click editor, but we also have quick templates to get you started.
To get started with a Zap template—what we call our pre-made workflows—just click on the button. It only takes a few minutes to set up. You can read more about setting up Zaps here.
Here's how to set it up:
Set up your trigger
First, set up your trigger—the event that starts a Zap.
If you're creating a Zap from scratch, search for and select the app and event that will start your Zap, and click Continue.
Next, connect your app account to Zapier.
If you're following along with our Zap template, the Zap editor will prompt you to select the Google Forms account you want to use. You'll need to connect your account if you haven't connected Google Forms to Zapier before. When you're done, click Continue.
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.
If you're using a different app, follow the prompts for setting up your trigger. Otherwise, select the Google Form you want to use and click Continue.
Now click Test trigger. When you test your trigger, Zapier will look for a recent form response, which will be used to set up the rest of your Zap. Once you see a success message, click Continue.
Connect your Discord account
Now it's time to create your Zap's action, which is the event it will perform once it's triggered.
If you're building a Zap from scratch, search for and select Discord as the app and Send Channel Message as the event, then click Continue.
You will be asked to connect your Discord account to Zapier, and you'll select which server you want to add your bot to.
Then, confirm Zapier's permissions for your server. Make sure you have a check next to Send Messages and Manage Webhooks or else your notification bot won't work.
Once you've confirmed the permissions, click Continue.
Customize your Discord message
Select the channel you want the message to go to, such as a testing channel.
Then customize how you want your message to appear. In this example, I want my notification bot to include the answers from a new Google Form submission. To pass information from one app to another, you need to map field values from your form trigger.
Just click inside the Message Text field. The Zap editor will show a dropdown menu with data from your previous Zap step. Search for and select the data you want to include in your message.
You can include a mix of static text—which will appear the same each time your Zap runs—along with whatever you field map.
In the example below, I included markdown to ensure any bot messages will be formatted correctly in Discord whenever my Zap runs.
Once you've formatted your message how you like, adjust your message settings, such as enabling text-to-speech or alerting anyone mentioned. If you'd like, you can also give your bot a name and provide an image URL for the bot icon.
Once you're done, click Continue.
Optional: How to mention roles or users
When you're customizing your Discord message, you can also include formatting to mention a user or a specific role. Since you need IDs in order to mention a user or a certain role, there are a few ways to achieve this.
To mention the same role each time, send a message in any channel—preferably your testing channel— with
\@ROLENAMEHERE. It will return the role ID, properly formatted for you to copy and paste.
To mention a different role or user based on your Zap trigger, you can use a search step—available on paid Zapier plans—to dynamically search for role or user. Just make sure you have a way to collect user names.
For example, if you're using Google Forms, you can include a question that asks for their actual username and include response validation to force users to follow your instructions.
You can also ask users to provide their IDs, which they can find once they turn on Developer Mode in Discord.
In the example below, I instructed users to provide their user IDs and added response validation for this question to minimize errors.
Test your bot
Finally, test your bot to make sure it's formatted correctly. Zapier will send a message to the specified Discord channel, so make sure you do this in a testing channel or alert your server that you're testing a bot.
If everything is set up correctly, you'll see a success message.
Check your Discord to make sure you're happy with how your message looks.
If everything looks good, return to the Zap editor. If you used a testing channel, go back and select the real channel you want your bot messages to appear, and make sure your Zap is on!
Create your own Discord bot with Zapier
I demonstrated a simple Discord bot you can create with Zapier, but you can make it as complex as you'd like. Chain multiple actions together with multi-step Zaps—available on paid Zapier plans—or check out our guides on using built-in Zapier tools with your favorite apps to create all sorts of Discord bots.
This article was originally published in May 2019 by Justin Pot and was substantially updated in March 2023 by Krystina Martinez.