Errors
When an Action fails, it takes its failure port and writes error: error.code, one of the codes below, for a Condition to test; error.message, the message below in the server's language (French for a French server, English otherwise); and error.detail, what Discord answered, as it wrote it. The execution log shows the message in your own language.
Words in braces, such as {parameter}, are filled in with the values of the failure.
Refused by Discord
DISCORD_MISSING_PERMISSIONS
The bot lacks a permission for this.
Discord refused because the bot lacks a permission, on the server or in this channel (a channel's can differ from the server's). Check its role's permissions, and those of the channel it acts in. A role or member above the bot has its own code: ROLE_ABOVE_BOT, MEMBER_ABOVE_BOT.
Discord code: 50013
DISCORD_MISSING_ACCESS
The bot can't see this channel.
The channel's permissions hide it from the bot. Give the bot's role View Channel on it.
Discord code: 50001
DISCORD_UNKNOWN_CHANNEL
This channel doesn't exist.
It was deleted, or the id is wrong.
Discord code: 10003
DISCORD_UNKNOWN_MESSAGE
This message doesn't exist.
It was deleted, or it's in another channel than the one given.
Discord code: 10008
DISCORD_UNKNOWN_MEMBER
This member isn't on the server.
The member left, or the id is a user who never joined.
Discord code: 10007
DISCORD_UNKNOWN_USER
This user doesn't exist.
The id is wrong.
Discord code: 10013
DISCORD_UNKNOWN_ROLE
This role doesn't exist.
It was deleted, or the id is wrong.
Discord code: 10011
DISCORD_UNKNOWN_EMOJI
Discord doesn't know this emoji.
A custom emoji must come from a server the bot is in. Use a standard emoji, or one of this server's.
Discord code: 10014
DISCORD_UNKNOWN_BAN
This user isn't banned.
There is no ban to lift for this user.
Discord code: 10026
DISCORD_INTERACTION_EXPIRED
The interaction expired.
Discord waits 3 seconds for the first answer to a command, a button or a menu. Answer earlier in the flow, before slower steps.
Discord code: 10062
DISCORD_INTERACTION_ACKNOWLEDGED
This interaction was already answered.
An interaction takes one first answer, and a modal can only be that first answer. Open the modal before replying, or edit the reply instead.
Discord code: 40060
DISCORD_DM_CLOSED
This member doesn't accept private messages.
The member closed their DMs to this server's members, or blocked the bot. Nothing to fix on your side: plan a fallback, such as a message in a channel.
Discord code: 50007
DISCORD_EMPTY_MESSAGE
The message is empty.
A message needs text, an embed or a component. Its text may have come out empty: give it a fallback with default(…).
Discord code: 50006
DISCORD_INVALID_FORM
Discord refused a value.
A field holds something Discord doesn't accept (too long, wrong format, an invalid link or color). The detail says which one.
Discord code: 50035
DISCORD_NOT_AUTHOR
The bot can only edit its own messages.
Discord lets a bot edit only the messages it sent itself.
Discord code: 50005
DISCORD_SYSTEM_MESSAGE
This is a system message.
Discord's own messages (a member joined, a pin…) can't be edited that way.
Discord code: 50021
DISCORD_WRONG_CHANNEL_TYPE
This can't be done in this kind of channel.
The channel doesn't support this action, such as a thread in a voice channel.
Discord code: 50024
DISCORD_MESSAGE_TOO_OLD
Some messages are older than 14 days.
Discord only bulk-deletes messages from the last 14 days.
Discord code: 50034
DISCORD_THREAD_ARCHIVED
The thread is archived.
An archived thread can't be changed. Unarchive it first.
Discord code: 50083
DISCORD_TOO_MANY_PINS
The channel already has 50 pinned messages.
Unpin old messages to make room.
Discord code: 30003
DISCORD_TOO_MANY_REACTIONS
The message already has 20 different reactions.
Discord allows 20 different emojis on a message.
Discord code: 30010
DISCORD_TOO_MANY_CHANNELS
The server already has 500 channels.
Delete channels no longer used, categories included.
Discord code: 30013
DISCORD_TOO_MANY_ROLES
The server already has 250 roles.
Delete roles no longer used.
Discord code: 30005
DISCORD_REACTION_BLOCKED
The reaction was blocked.
The member who wrote the message blocked the bot.
Discord code: 90001
DISCORD_FORUM_TAG_REQUIRED
This forum requires a tag on every post.
The forum is set so a post needs at least one tag. Pick one in the node's Tags field, among the forum's own.
Discord code: 40067
DISCORD_ERROR
Discord refused the action.
Discord gave a reason Tsuaa doesn't translate yet; the detail shows it as Discord wrote it.
DISCORD_UNAVAILABLE
Discord didn't answer.
Discord was down or slow at that moment. Nothing to fix: the next run will likely work.
Detected by the Action
NO_INTERACTION
There is no interaction to answer.
This Action answers a command, a button, a menu or a modal, and the Blueprint was started by another kind of Event (a member who joins, a message…). Use Send a message instead.
NO_COMPONENT_INTERACTION
There is no button or menu message to update.
This Action edits the message whose button or menu was used, so it only works after a button or select menu Event.
NO_MODAL_INTERACTION
A modal can't be opened here.
A modal opens only as the first answer to a command, a button or a menu, and never after another modal. Place Show a modal right after that Event, before any reply.
NO_REPLY_TO_EDIT
There is no reply to edit yet.
Edit the reply only edits an answer already sent. Place Reply to the interaction before it.
CHANNEL_NOT_FOUND
The channel {channel} doesn't exist.
The channel was deleted, or the id comes from another server. Check the field, or the node its id comes from.
CHANNEL_NOT_SENDABLE
Messages can't be sent in the channel {channel}.
The channel is a category, a forum or a voice channel without a text chat. Pick a text channel or a thread.
CHANNEL_NO_THREADS
The channel {channel} can't have threads.
Threads exist only in text, announcement, forum and media channels.
CHANNEL_NO_BULK_DELETE
Messages can't be bulk-deleted in the channel {channel}.
Deleting several messages at once only works in text channels and threads.
CATEGORY_NOT_FOUND
The category {category} doesn't exist.
The category was deleted, or the id comes from another server.
NOT_A_CATEGORY
The channel {channel} isn't a category.
This Action only acts on categories, so it doesn't touch another kind of channel by mistake. Pick a category.
THREAD_NOT_FOUND
The thread {thread} doesn't exist.
The thread was deleted, or the id isn't a thread's.
FORUM_POST_NEEDS_CONTENT
A forum post needs a first message.
In a forum or media channel, a new post starts with a message. Fill in its content.
FORUM_TAG_NOT_FOUND
The forum has no tag “{tag}”.
A post tag must exist in the forum's settings. Check its name, or add it to the forum.
COMPONENT_NOT_FOUND
The component "{parameter}" points to doesn't exist.
The embed, row or modal it refers to was deleted from the Blueprint. Pick another one in the builder.
MEMBER_NOT_FOUND
Member not found.
The member left the server, or no member triggered the Event. Check the Member field.
MEMBER_NOT_IN_VOICE
The member isn't connected to voice.
Only a member connected to a voice channel can be moved. Check their channel (Read a member ▸ voice channel) before the Action. Disconnecting a member who isn't in voice succeeds without doing anything.
ROLE_NOT_FOUND
Role not found.
The role was deleted from the server.
ROLE_ABOVE_BOT
The role {role} is above the bot's.
Discord forbids the bot to manage a role at the same height as its own or above. In the Discord server settings, move the bot's role above this one.
ROLE_COLOR_INVALID
“{color}” isn't a color.
A color is written in hexadecimal, six characters: #5865f2.
MEMBER_IS_OWNER
The bot can't act on the server's owner.
Discord forbids a bot to kick, ban, time out, rename or change the roles of the server's owner. Check the member targeted before the Action.
MEMBER_ABOVE_BOT
{member} is above the bot's role.
This member's highest role ({role}) sits at or above the bot's: Discord forbids the bot to act on them. In Discord's server settings, move the bot's role above theirs.
MEMBER_IS_ADMIN
{member} is an administrator: they can't be timed out.
Discord never times out a member with the Administrator permission, whatever the bot's roles. Check the member targeted before the Action, or take Administrator away from them.
TIMEOUT_TOO_LONG
A timeout lasts {max} days at most.
Discord limits a timeout to 28 days. Shorten the duration or pick another unit.
FILE_DOWNLOAD_FAILED
Couldn't fetch the file {url}.
The address doesn't answer, returns an error, or doesn't lead to a public address. Check it in a browser.
FILE_TOO_LARGE
A file is over {max} MB.
Discord refuses files too heavy for a bot. Use a lighter file, or a link in the text.
WAIT_TOO_LONG
A Wait lasts {max} days at most.
For a longer delay, use a scheduled Event (Cron) that checks what's due.
WAIT_LIMIT_REACHED
This server already has {max} executions waiting.
Each Wait holds its branch until its time comes. Shorten the Waits, or cancel pending ones from the Executions section.
INTERACTION_EXPIRED
Discord no longer takes a reply to this interaction.
A reply can follow the interaction for 15 minutes. After a longer Wait, send a message to the channel instead.
VARIABLE_NOT_FOUND
The Variable {key} isn't declared in this Blueprint.
A node names a Variable the Blueprint doesn't declare. Validation flags it before a test or a deploy: fix the node, then deploy again.
VARIABLE_KEY_INVALID
"{key}" can't name a Variable.
The computed part of a Variable name may only hold letters, digits, _, : and -, at most 100 characters.
VARIABLE_TYPE_MISMATCH
The Variable {key} holds a {actual} value, not {expected}.
Another Blueprint stores a value of another type under the same name. Give the Variable the same type in both, or rename it.
VARIABLE_TOO_LARGE
The value of {key} is too large.
A value is at most 64 KB. Store less, such as an id rather than a whole message.
VARIABLE_STORAGE_FULL
No room left to store {key}.
The server's Variables filled their storage (50 MB). Clear values no longer used from the Variables page.
INTERNAL_ERROR
Tsuaa ran into an unexpected problem.
This isn't caused by your Blueprint. If it keeps happening, tell us with the time it happened.
Parameters
PARAMETER_REQUIRED
"{parameter}" is empty.
A required field, or a field set to change on an Action that modifies, is empty or its expression gave nothing (a value missing on this run). Fill the field in, or wrap the expression in default(…) to give it a fallback. To leave the field as it is, or to empty it, choose Leave unchanged or Clear.
PARAMETER_TYPE
"{parameter}" needs a value of type {expected}, not {actual}.
The field's expression gave a value of another type, such as text where a number is needed. Convert it with number(…) or text(…), or pick another value.
PARAMETER_OUT_OF_RANGE
"{parameter}" must be between {min} and {max} (here: {value}).
Discord only accepts values within these bounds. Keep the value inside them, for example with clamp(…).
PARAMETER_INVALID_CHOICE
"{parameter}" can't be {value}: it takes {choices}.
The field only takes a fixed list of values, and its expression gave another one. Make it give one of the listed values.
PARAMETER_TOO_LONG
"{parameter}" is longer than {max} characters.
Discord limits this field's length. Shorten the text, or cut it with truncate(…).
PARAMETER_INVALID_URL
“{value}” isn't an https address.
An attached file is given by a public https address, or a reference to an attachment.
PARAMETER_TOO_MANY
Too many values: {max} at most.
Discord limits how many this field takes. Remove some.
Expressions
TEMPLATE_TYPE_ERROR
A value of type {actual} was used where {expected} is needed.
Calculations take numbers and logic takes true or false. Convert with number(…) or text(…), or give an empty value a fallback with default(…).
TEMPLATE_DIVISION_BY_ZERO
An expression divides by zero.
Check the divisor first, for example with if(x == 0, …, …).
TEMPLATE_NUMBER_NOT_FINITE
A calculation gave a number too large.
The result isn't a finite number. Keep it within bounds with min(…) or clamp(…).
TEMPLATE_INVALID_NUMBER
{value} isn't a number.
number(…) only converts text that holds a number.
TEMPLATE_INVALID_DATE
{value} isn't a date.
A date comes from a date field, an ISO text (2026-01-15T14:30:00Z) or a timestamp.
TEMPLATE_INVALID_ARGUMENT
{function}() doesn't accept {value}.
See the function reference for the values it takes.
TEMPLATE_INVALID_REGEX
The pattern isn't a valid regular expression.
matches(…) uses the RE2 syntax, without lookarounds or backreferences, 500 characters at most.
TEMPLATE_RESULT_TOO_LARGE
A text grew longer than {max} characters.
Shorten it, for example with truncate(…).
TEMPLATE_LIST_TOO_LARGE
A list grew longer than {max} items.
Work on fewer items, for example with slice(…).
TEMPLATE_OBJECT_IN_TEXT
A whole record can't be shown as text.
Pick one of its fields, such as a member's name rather than the member.
TEMPLATE_UNKNOWN_FUNCTION
There is no function named {function}().
See the function reference for the list.
TEMPLATE_ARGUMENT_COUNT
{function}() doesn't take {actual} values.
See the function reference for its values.
TEMPLATE_SYNTAX_ERROR
An expression can't be read.
The editor points at the problem; fix it before testing or deploying.
The whole execution
These codes don't come from one Action: they stop or mark the whole execution, and show in its summary in the execution log.
SELF_TRIGGER_LIMIT_REACHED
Stopped a likely loop: this Blueprint kept re-triggering itself through its own actions.
An Action creates, changes or deletes what triggers the same Blueprint again, over and over. Further triggers are ignored for a while (for the rest of the session, in a test). Add a Condition that ends the chain, such as ignoring what the bot did itself.
EXECUTION_INTERRUPTED
Interrupted: the bot stopped during this execution.
The bot restarted or stopped before the end. The trace stops at the last node it recorded; what came after didn't run. Do it again on Discord if needed.
INTERACTION_NOT_CLEARED
This command's “thinking…” message couldn't be removed.
Discord refused several times to remove or replace the waiting message. The member may still see it: you can delete it by hand.
EXECUTION_TIMED_OUT
Stopped: the execution ran for more than 30 seconds.
An execution has 30 seconds to finish; what was left didn't run. Look for the slowest node in the trace. To hold on a long time, use Wait: the wait doesn't count toward this limit.
EXECUTION_DEPTH_EXCEEDED
Stopped: the execution ran too many nodes.
An execution stops after a maximum number of nodes, every branch counted, so a loop can't run forever. Check that no link leads back endlessly, or split the work.
TEST_SESSION_ENDED
Stopped: the test session ended during this execution.
A test's executions stop with it, at the next node. What was left didn't run.
EXECUTION_INTERNAL_ERROR
Stopped by an error on Tsuaa's side.
A problem on our side stopped the execution; your Blueprint isn't at fault. If it happens again, report it with the execution's time.