Create a fully-custom bot in minutes

Use the flow editor to fully control your bot's behavior. No code required.

The inventor.bot flow editor showing a welcome flow

Step 1

Start by picking a trigger

Everything in inventor.bot starts with a trigger.

Triggers are things like Message Sent, Member Joined, or Slash Command.

When the trigger happens, your bot will perform some actions...

Triggers

AutoMod Action Executed

Triggers when an auto moderation rule action is executed (e.g. message blocked, alert sent, user timed out).

AutoMod Rule Created

Triggers when an auto moderation rule is created.

AutoMod Rule Updated

Triggers when an auto moderation rule is updated.

AutoMod Rule Deleted

Triggers when an auto moderation rule is deleted.

Button Click

Triggers when a user clicks a button.

Channel Created

Triggers when a new channel is created.

Channel Update

Triggers when a channel is updated.

Channel Deleted

Triggers when a channel is deleted.

Channel Pins Update

Triggers when a channel's pins are updated.

Voice State Update

Triggers when a member joins, leaves, or moves voice channels.

User Context Menu

Triggers when a user runs a context menu command on a user.

Message Context Menu

Triggers when a user runs a context menu command on a message.

Schedule

Run a flow on a recurring schedule.

Dropdown Submit

Triggers when a user submits a dropdown/select interaction.

Server Joined

Triggers when your bot joins a new server.

Server Update

Triggers when a server is updated.

Server Left

Triggers when your bot leaves or is removed from a server.

Webhook Update

Triggers when a webhook is updated.

Audit Log Entry Created

Triggers when an audit log entry is created.

Invite Created

Triggers when an invite is created.

Invite Deleted

Triggers when an invite is deleted.

Member Join

Triggers when a member joins a server.

Member Leave

Triggers when a member leaves a server.

Member Update

Triggers when a member is updated.

Member Ban

Triggers when a member is banned from a server.

Member Unban

Triggers when a member is unbanned from a server.

Typing Start

Triggers when a user starts typing in a channel.

Role Added

Triggers when a role is added to a member.

Role Removed

Triggers when a role is removed from a member.

Message Sent

Triggers when a message is sent.

DM Message Sent

Triggers when a direct message is sent to the bot.

Message Sent by Bot

Triggers when a message is sent by a bot.

Message Edited

Triggers when a message is edited.

Message Edited by Bot

Triggers when a message is edited by a bot.

Message Deleted

Triggers when a message is deleted.

Message Delete Bulk

Triggers when messages are deleted in bulk.

Poll Vote Added

Triggers when a user votes in a poll.

Poll Vote Removed

Triggers when a user removes their vote in a poll.

Modal Submit

Triggers when a user submits a modal.

Reaction Added

Triggers when a reaction is added to a message.

Reaction Removed

Triggers when a reaction is removed from a message.

All Reactions Removed

Triggers when all reactions are removed from a message.

Role Created

Triggers when a role is created.

Role Update

Triggers when a role is updated.

Role Deleted

Triggers when a role is deleted.

Guild Scheduled Event Create

Triggered when a guild scheduled event is created.

Guild Scheduled Event Update

Triggered when a guild scheduled event is updated.

Guild Scheduled Event Delete

Triggered when a guild scheduled event is deleted.

Guild Scheduled Event User Add

Triggered when a user subscribes to a guild scheduled event.

Guild Scheduled Event User Remove

Triggered when a user unsubscribes from a guild scheduled event.

Slash Command

Triggers when a user runs a slash command.

Stage Instance Created

Triggered when a stage instance is created.

Stage Instance Updated

Triggered when a stage instance is updated.

Stage Instance Deleted

Triggered when a stage instance is deleted.

Thread Created

Triggers when a new thread is created.

Thread Update

Triggers when a thread is updated.

Thread Deleted

Triggers when a thread is deleted.

(scroll to see all 57 triggers)

Step 2

Add some blocks

Blocks make things happen in your flow. You can drag & drop to reorder them.

inventor.bot has blocks like Assign Role, Send a Message, and HTTP Request.

Message Sent

A message is sent in any channel your bot can see.

Blocks

Get AutoMod Rule

Get details of an auto moderation rule.

Get AutoMod Rules

List all auto moderation rules for a server.

Create AutoMod Rule

Create an auto moderation rule.

Modify AutoMod Rule

Modify an existing auto moderation rule.

Delete AutoMod Rule

Delete an auto moderation rule.

Get Channel

Retrieve a Discord channel's information by its ID.

Create Channel

Create a text/voice/stage/etc channel or channel category in a server.

Modify Channel

Modify a channel's information by its ID.

Move Channel

Move a channel to a new category.

Move Member to Voice Channel

Move a member from one voice channel to another.

Get Channels

Retrieve a Discord server's channels by its ID.

Delete Channel

Delete a Discord channel by its ID.

Trigger Typing Indicator

Trigger a typing indicator in a channel.

Set Channel Permissions

Set allowed and denied permission overrides for a user or role in a channel. Supports setting both allow and deny in one block, and can either replace existing overrides or update them.

Delete Channel Permission

Delete a channel permission overwrite for a user or role.

Database Lookup (Single)

Find a single row from a database matching your query. Returns the first matching row.

Database Lookup (Iterator)

Find multiple rows from a database and iterate over each one.

Database Create Row

Create a new row in a database with the specified values.

Database Duplicate Row

Duplicate an existing row in a database by its ID.

Database Update Row

Update an existing row in a database with new values.

Update Matching Rows

Find rows matching a query and update them all with the specified values.

Delete Matching Rows

Delete rows matching a query and return how many were deleted.

Database Delete Row

Delete a row from a database by its ID.

Get Emojis

Get all emojis from a server.

Get Emoji

Get an emoji by ID.

Create Emoji

Creates a new emoji in a server.

Modify Emoji

Modifies a given emoji in a server.

Delete Emoji

Deletes a given emoji in a server.

Get Server

Retrieve a Discord server's information by its ID.

Get Servers

Retrieve a list of Discord servers the bot is a member of.

Get Server Vanity URL

Retrieve a server's vanity invite URL.

Update Server

Update a Discord server's information by its ID.

Leave Server

Leave a Discord server by its ID.

Get Server Audit Logs

Retrieve audit log entries for a server.

Respond to Interaction with Text

Send a text response to an interaction (slash command, button, etc.).

Defer Interaction

Acknowledge an interaction and show a loading state. Use this when your response will take a while.

Respond to Interaction with Advanced Message

Send a Components v2 response to an interaction (slash command, button, etc.).

Embed Reply to Interaction

Send an embed response to an interaction.

Get Interaction Message Data

Get message, channel, and server data from an interaction response.

Create Invite

Create an invite for a channel.

Get Invite

Retrieve an invite's information by its code.

Get Channel Invites

Retrieve a list of invites for a channel.

Get Server Invites

Retrieve a list of invites for a server.

Delete Invite

Delete an invite by its code.

Math Operations

Perform addition, subtraction, multiplication, division, modulo and exponent operations.

Math Operations (Float)

Perform addition, subtraction, multiplication, division, modulo and exponent operations with floating point numbers.

Round Number

Round a number using a chosen method (round, floor, ceil, truncate) to a specified number of digits.

Absolute Value

Get the absolute value of a number.

Square Root

Get the square root (sqrt) of a number.

Logarithm

Get the logarithm of a number with a specified base.

Factorial

Calculate the factorial of a number.

Random Number Generator

Generate a random number using specified minimum and maximum values.

Passphrase Generator

Generate a random passphrase with a specified number of words.

If Number is in Range

Check if a number is in a specified range.

If Number is Close to Other Number

Check if a number is close to another number within a specified tolerance.

If Value is Number

Check if a value is a number.

Hex to Int

Convert a hexadecimal number to an integer.

Int to Hex

Convert an integer to a hexadecimal number.

Percentage Math (Integer)

Add or subtract a percentage to/from an integer.

Percentage Math (Float)

Add or subtract a percentage to/from a floating point number.

Send or Edit Text Message

Send or Edit a text-only message

Send TTS Message

Send a text-to-speech message.

Send Advanced Message

Send a Components v2 message.

Send or Edit Embed Message

Send or edit an embed message.

Text

Text component.

Message Container

Holds text, thumbnails, galleries, and other content components.

Section

Holds text alongside an accessory button or thumbnail.

Action Row

Holds up to 5 buttons or a single select component.

Separator

Adds vertical padding between message components, with an optional divider line.

Button

Create a button for users to click on. Triggers with a new flow and Custom ID.

Gallery

Top-level container for 1-10 media items.

Image

Single media item in a gallery or a thumbnail accessory.

Get Message

Fetch a single message by its ID from a channel.

Get Messages

Fetch recent messages from a channel and iterate over them.

Search Server Messages

Search a server's messages and iterate over the matched messages.

Get Pinned Messages

Fetch pinned messages from a channel and iterate over them.

Forward Message

Forward a message into another channel.

Delete Message

Delete a message by its ID from a channel.

Pin Message

Pin a message in a channel.

Unpin Message

Unpin a message in a channel.

Publish Message

Publish an announcement message to all channels following the announcement channel.

Suppress Message Embeds

Suppresses link preview embeds on a message by setting the SUPPRESS_EMBEDS flag.

Purge Messages

Bulk-delete messages from a channel.

Poll Answer

A single answer option for a poll.

Send Poll

Send a poll message in a channel.

End Poll

Immediately end a poll on a message.

Get Poll Answer Voters

Fetch users who voted for a specific poll answer and iterate over them.

Show Modal

Show a modal dialog in response to an interaction.

Modal Label

Label wrapper for a text input or select component in a modal.

Text Input

Text input component for modal forms.

String Select Option

Option item for a String Select component.

String Select

String select menu for advanced messages and modals.

User Select

User select menu for advanced messages and modals.

Role Select

Role select menu for advanced messages and modals.

Mentionable Select

Mentionable select menu for advanced messages and modals.

Channel Select

Channel select menu for advanced messages and modals.

Escape JSON Field

Escape a string to be used as a JSON field.

Parse JSON

Retrieve a value from a JSON string.

Format JSON

Indent a JSON string for readability.

Generate Form Body

Generate a HTTP form body from a list of key-value pairs.

Network Request

Send an HTTP request and return the response.

Respond to Incoming Webhook

Respond to an incoming webhook request with a custom status code and response body.

Get Reactions

Get all reactions from a message.

Get Reactions Count

Get number of reactions from a message.

Add Reaction

Add a reaction to a message.

Remove Reaction

Remove your reaction from a message.

Remove All Reactions

Remove all reactions from a message.

Remove User Reaction

Remove a user's reaction from a message.

Regex Match

Check if a string matches a regular expression.

Regex Find Matches List

Find matches of a regular expression in a string.

Regex Find Matches Iterator

Iterate over matches of a regular expression in a string.

Regex Replace

Replace all matches of a regular expression in a string.

Get Roles

Get all roles in the specified server.

Get Role

Get a role in the specified server.

Update Role

Update a role in the specified server.

Create Role

Create a role in the specified server.

Delete Role

Delete a role in the specified server.

Get @everyone Role

Get the @everyone role in the specified server.

Create Scheduled Event

Create a scheduled event.

Get Scheduled Event

Get a scheduled event.

Get Scheduled Events

List scheduled events for a server.

Modify Scheduled Event

Modify a scheduled event.

Delete Scheduled Event

Delete a scheduled event.

String Length

Get the length of a string.

String Split List

Split a string into a list of strings with a delimiter.

Split String Iterator

Iterate over a string separated by a delimiter.

String Contains Count

Count the number of times a substring appears in a string.

String Replace

Replace a substring with a new substring within a string.

String to Lowercase

Convert a string to lowercase.

String to Uppercase

Convert a string to uppercase.

String Trim Prefix

Remove a prefix from a string.

String Trim Suffix

Remove a suffix from a string.

Truncate String

Truncate a string to a certain length.

Base64 Encode

Encode a string to Base64.

Base64 Decode

Decode a Base64 string.

Format Number

Format a number with commas.

Generate UUIDv4

Generate a UUIDv4 (fully-random).

Generate UUIDv7

Generate a UUIDv7 (time-based).

Parse Color

Parse a color string (name or hex code) into a hex string.

URL Query Escape

Encode a string to be used as a URL parameter.

URL Query Unescape

Decode a string used as a URL parameter.

Bcrypt Hash String

Apply a one-way hash to a string using bcrypt.

Bcrypt Compare Hash

Compare a string to a bcrypt hash.

Verify HMAC

Verify a message against an HMAC signature.

MD5 Hash

Generate an MD5 hash of a string.

Sort Lines by Number Prefix or Suffix

Sort lines of text by the number at the beginning or end of each line.

Truncate Split String List

Split a string into groups of a certain number of characters.

Truncate Split String Iterator

Iterate over a string by groups of a certain number of characters.

Scramble String

Scramble the order of characters in a string.

Random String Generator

Generate a random string of a specified length using a chosen character set.

Repeat String

Repeat a string a specified number of times.

Reverse String

Reverse the characters of a string.

Reorder Comma Separated List

Reorder the elements in a comma separated list.

Intersection of Comma Separated Lists

Compare two comma separated lists and find items exclusive to each list and items common to both.

Remap String

Remap or replace values in a string using a set of original-to-replacement pairs.

Start Thread From Message

Start a thread from a message.

Start Thread From Channel

Start a thread from a channel.

Create Forum Thread

Create a thread in a forum channel.

Get Forum Channel Available Tags

Get the tags of a forum channel.

Update Forum Thread Tags

Update the tags of a forum thread.

Join Thread

Join a thread.

Leave Thread

Leave a thread.

Add Thread Member

Add a member to a thread.

Remove Thread Member

Remove a member from a thread.

Archive Thread

Archive a thread.

Unarchive Thread

Unarchive a thread.

Lock Thread

Lock a thread.

Unlock Thread

Unlock a thread.

Pin Thread

Pin a thread.

Unpin Thread

Unpin a thread.

Get Current Date and Time

Get the current UTC date and time in various formats.

Get UUIDv7 Creation Time

Get the creation time of a UUIDv7.

Parse Unix Time

Parse a Unix timestamp into a human-readable date and time.

Get Snowflake Timestamp

Convert a Discord snowflake ID into a creation date and time.

Sleep / Wait

Pause the flow for a specified duration.

Parse Relative Time

Parse a user-provided relative time string into a Unix timestamp.

Modify Time

Add or subtract time from a Unix timestamp.

Get Specific Time

Get a specific time in the future or past in a variety of formats.

Truncate Time

Truncate a Unix timestamp to a given period.

Parse Month Name

Parse a month name into a number.

Parse Date and Time

Parse a date and time into a Unix timestamp with a variety of parsing options.

Standard Format Date and Time

Format a Unix timestamp into a standardized date and time string.

Generate Timecode

Generate a Discord timestamp timecode from a Unix time.

Get User

Retrieve a Discord user's information by their ID.

Create DM Channel

Create a DM channel with a user.

Get Server Member

Retrieve a Discord server member information by their ID.

Get Highest Role Position of Member

Retrieve the position of the highest role of a member in a server.

Get Server Members

Retrieve members of a Discord server.

Kick Server Member

Kick a member from a server.

Ban Server Member

Ban a member from a server.

Unban Server Member

Unban a member from a server.

Get Server Bans

Retrieve a list of banned users in a server.

Timeout Server Member

Timeout a member from a server.

Assign Role

Assign a role to a user.

Remove Role

Remove a role from a user.

Change Member Nickname

Change a member's nickname in a server.

Log Error

Log an error to the errors dashboard.

Get Error Details

Retrieve details of a logged error.

Discord API Ping

Measure current patency to the Discord API.

Change Bot Status

Update the bot's presence and status text.

Get Server Count

Get the number of servers the bot is in.

Loop

Run the nested blocks a fixed number of times.

Custom Loop

Loop over a customized range of numbers.

While Loop

Repeat blocks while a condition is true.

If Statement

Compare two values and run different blocks based on the result.

Advanced Conditional

Run different blocks based on grouped comparisons.

Conditional Value

Compare two values and output one of two values based on the result.

Check Permission

Check if a permission exists in a bitfield.

Member/Role Has Permissions

Check if a member or role has specific permissions.

Redact Secret

Redact a secret (e.g. example -> e*****e).

Get Bot Details

Get cached details of the current branch's bot user.

Get Bot Token

Get the current branch's bot token.

Generate Snowflake ID

Generate a unique Snowflake-like ID.

Update Local Variable

Set a local variable to a new value.

Append New Line to Local Variable

Append text to a local variable on a new line.

Comment

Add a note or comment to your flow. This block does nothing when run.

Increment or Decrement Local Variable

Increment or decrement a numeric local variable by a value.

Folder

Organize blocks into a folder. Creates a variable scope.

Break

Stop the current loop and continue with the blocks after it.

Continue

Skip the rest of this loop iteration and move to the next one.

Exit Flow

Stop the entire flow immediately. No further blocks will run.

Call Custom Block

Call a custom block and use its returned outputs.

Return

Return outputs from the current custom block and stop executing it.

Create Webhook

Create a webhook in a channel.

Get Webhooks

Get all webhooks in a channel.

Get Webhook

Get a webhook by its ID.

Get Server Webhooks

Get all webhooks in a server.

Delete Webhook

Delete a webhook.

Modify Webhook

Modify a webhook.

Execute Webhook

Send a message with a webhook.

(scroll to see all 230 blocks)

Step 3

You're done!

Simple flows can be created in minutes, and every change is autosaved as a new version.

More complex flows can use custom blocks, conditionals, error handling, databases, global variables, and more.

Message Sent

A message is sent in any channel your bot can see.

If Statement

Message Content equals "hello"

Send a Message

Send a message or embed.

Message: "Hello, world!"

DiscordUser

hello

InventorBot APP

Hello, world!

Message #general

Ready to build?

Create an account to get started. Your bot can be live in minutes.