Build a fully-custom bot. Just for your server or for thousands. Custom username, profile picture, status. No coding required.
Get started with our free forever plan.
Keep scrolling to see how it works.
Start by picking a trigger
Your trigger is what causes your flow to run.
Triggers when a slash command is used.
Triggers when a button below a message is clicked.
Triggers when a form/modal is submitted.
Triggers when a message is sent.
Triggers when a message is sent by a bot.
Triggers when a message is edited.
Triggers when a message is edited by a bot.
Triggers when a message is deleted.
Triggers when messages are deleted in bulk.
Triggers when a new channel is created.
Triggers when a channel is updated.
Triggers when a channel is deleted.
Triggers when a channel's pins are updated.
Triggers when a member joins, leaves, or moves voice channels.
Triggers when your bot joins a new server.
Triggers when a server is updated.
Triggers when your bot leaves or is removed from a server.
Triggers when a webhook is updated.
Triggers when a new thread is created.
Triggers when a thread is updated.
Triggers when a thread is deleted.
Triggers when a member joins a server.
Triggers when a member leaves a server.
Triggers when a member is updated.
Triggers when a member is banned from a server.
Triggers when a member is unbanned from a server.
Triggers when a user starts typing in a channel.
Triggers when a role is created.
Triggers when a role is updated.
Triggers when a role is deleted.
Triggers when an invite is created.
Triggers when an invite is deleted.
Triggers when a reaction is added to a message.
Triggers when a reaction is removed from a message.
Triggers when all reactions are removed from a message.
Triggered when a stage instance is created.
Triggered when a stage instance is updated.
Triggered when a stage instance is deleted.
Triggered when a guild scheduled event is created.
Triggered when a guild scheduled event is updated.
Triggered when a guild scheduled event is deleted.
Triggered when a user has subscribed to a guild scheduled event.
Triggered when a user has unsubscribed from a guild scheduled event.
Triggers when an HTTP request is received.
Triggers when an IFTTT event for this flow is received.
Triggers when a new item is added to an RSS feed.
Runs every minute.
Runs every hour.
Runs every day.
Runs every week.
Runs every month.
This trigger is not caused by any actions. You can use it to create a flow that can only be manually run from the dashboard.
52 triggers
Add some blocks
Blocks are run in the order that you place them (drag & drop to
reorder).
Blocks can request data, run actions on Discord, process
information, and a lot more.
A message is sent in any channel your bot can see.
Conditionally run code based on a comparison.
Exit the current flow before it has finished running.
Pause the flow for a specified amount of time.
Break out of the current loop.
Reply or update reply to an interaction with a text message.
Defer an interaction to send a message later.
Defer a component interaction with the intent of updating message later.
Reply or update reply to an interaction with an embed message.
Reply or update reply to an interaction with a text entry modal.
Send or Edit a text-only message
Send a text-to-speech message
Send or Edit an embed message
Delete a message
Get a message with embed details.
Get messages from a channel.
Bulk delete the last messages in a channel.
Pin a message
Unpin a message
Publish an announcement message to all channels following the announcement channel.
Retrieve a Discord user's information by their ID.
Create a DM channel with a user.
Retrieve a Discord server member information by their ID.
Retrieve the position of the highest role of a member in a server.
Retrieve members of a Discord server.
Kick a member from a server.
Ban a member from a server.
Unban a member from a server.
Timeout a member from a server.
Assign a role to a user.
Remove a role from a user.
Change a member's nickname in a server.
Retrieve a Discord server's information by its ID.
Leave a Discord server by its ID.
Retrieve a Discord channel's information by its ID or name.
Create a text/voice/stage/etc channel or channel category in a server.
Modify a channel's information by its ID.
Move a channel to a new category.
Move a member from one voice channel to another.
Retrieve a Discord server's channels by its ID.
Delete a Discord channel by its ID.
Trigger a typing indicator in a channel.
Edit channel permission overwrite for a user or role.
Delete a channel permission overwrite for a user or role.
Create an invite for a channel.
Retrieve an invite's information by its code.
Retrieve a list of invites for a channel.
Delete an invite by its code.
Start a thread from a message.
Start a thread from a channel.
Create a thread in a forum channel.
Join a thread.
Leave a thread.
Add a member to a thread.
Remove a member from a thread.
Archive a thread.
Unarchive a thread.
Create a webhook in a channel.
Get all webhooks in a channel.
Delete a webhook.
Modify a webhook.
Send a message with a webhook.
Get all reactions from a message.
Add a reaction to a message.
Remove a reaction from a message.
Remove all reactions from a message.
Remove a user's reaction from a message.
Get all roles in the specified server.
Update a role in the specified server.
Create a role in the specified server.
Get a role in the specified server.
Delete a role in the specified server.
Get the @everyone role in the specified server.
Creates a scheduled event.
Gets a scheduled event.
Gets a list of scheduled events.
Modifies an existing scheduled event.
Deletes a scheduled event.
Get the current UTC date and time in various formats.
Parse a Unix timestamp into a human-readable date and time.
Convert a Discord snowflake ID into a creation date and time.
Parse a user-provided relative time string into a Unix timestamp.
Add or subtract time from a Unix timestamp.
Get a specific time in the future or past in a variety of formats.
Truncate a Unix timestamp to a given period.
Log an error to the errors dashboard page.
Get the details of an error.
Get the current latency of Inventor's connection to the Discord API.
Change the bot's status.
Get the number of servers the bot is currently a member of.
Loop over a set of blocks a specified number of times.
Exclude the current flow run from analytics.
Set a variable to a value.
Assign a new value to a custom variable retroactively.
Send a HTTPS request to a URL.
Convert HTML to Markdown.
Escape a string to be used as a JSON field.
Retrieve a value from a JSON string.
Generate a HTTP form body from a list of key-value pairs.
Lookup a row in a database by its ID.
Lookup a row in a database by up to 5 column values.
Create a new row in a database.
Lookup a row in a database by a value in a column or create it if it does not exist.
Update or create a database row by a value.
Get the number of rows in a database.
Get a random row from a database.
Get a specified number of random rows from a database.
Get a random row from a database within a search value in a column.
Get a specified number of random rows from a database within a search value in a column.
Get all rows in a database.
Get all rows in a database sorted by a column.
Update a row in a database.
Delete one or more rows in a database that match a value in a column.
Delete a row in a database.
Perform addition, subtraction, multiplication, division, modulo and exponent operations.
Perform addition, subtraction, multiplication, division, modulo and exponent operations with floating point numbers.
Truncate a floating point number to a specified number of decimal places.
Get the absolute value of a number.
Get the square root (sqrt) of a number.
Round a number to the nearest whole number.
Round a number down to the nearest whole number.
Round a number up to the nearest whole number.
Generate a random number using specified minimum and maximum values.
Get the length of a string.
Split a string into a list of strings with a deliminator.
Iterate over a string seperated by a deliminator.
Count the number of times a substring appears in a string.
Replace a substring with a new substring within a string.
Convert a string to lowercase.
Convert a string to uppercase.
Remove a prefix from a string.
Remove a suffix from a string.
Truncate a string to a certain length.
Encode a string to Base64.
Decode a Base64 string.
Format a number with commas.
Generate a UUID (v4).
Parse a color string (name or hex code) into a hex string.
Triggers an IFTTT applet.
141 blocks
You're done
...but that's not all.
We've got databases, control
flow, if statements, loops, and everything on Discord (slash
commands, buttons, etc). If we're ever missing something you
need, just
let us know.
A message is sent in any channel your bot can see.
Message Content equals "meme"
https://reddit.com/api
Random · r/dankmemes
Send a message or embed.
Title: Reddit Post Title
Title Link URL: Reddit Post URL
Image: Reddit Post Image URL
Demonstration flow is slightly simplified.
meme
example meme for example bot
We've got you covered, with a library of pre-built modules that you can use as a starting point.
Welcomer
By magicbotman
Welcome new members to your server!
Simple Giveaway
By magicbotman
Create giveaway with a command, enter with a button. Winner is picked on a timer.
Ping Command
By magicbotman
Get API latency between Inventor and Discord.
Ask ChatGPT
By yumyummityyum
Ask ChatGPT anything from Inventor! Requires an OpenAI API Key.
Rules Set (With sub-triggers)
By kensonplays
Rules (w/ Triggers)
Better Bot Ping
By 8bitoe
Bot ping with 2 ways to detect!
Once added to your bot, modules are fully-customizable and you can even publish your own.