Bot interactions
Slash commands, context menus, buttons, dropdowns and modals.
Wait for message
Pauses the flow until a message matching one of your answer branches is sent in the channel, or the timeout expires. Waits up to 30 days and survives bot restarts; each pending wait holds execution state and counts against a per-server pool. Add an answer branch per expected reply (match type + pattern); anything else runs "On message". Messages from bots are always ignored.
Inputs
| Name | Type | Required | Details |
|---|---|---|---|
| Channel | Text channel | Yes | The channel to watch for a reply. |
| Timeout | Duration | Yes | How long to wait for a message (5 seconds up to the 30-day cap; default 10 minutes). Value: 5000 to 2592000000. Default: 600000. |
| Restrict to user | User | No | Only messages from this user are considered; everyone else is ignored. |
Branches
| Name | Details |
|---|---|
| On message | Runs when a message in the channel matches no answer branch. Optional. Provides to its steps: Message (The message that resolved the wait), Content (The message's text content), Author (The user who sent the message) |
| On timeout | Runs when no matching message arrives within the timeout. Optional. |
| Match type | How to match the message content. Added by you, one per entry. Provides to its steps: Message (The message that resolved the wait), Content (The message's text content), Author (The user who sent the message) |
| Pattern | Text or regex to match against the message content. Added by you, one per entry. Provides to its steps: Message (The message that resolved the wait), Content (The message's text content), Author (The user who sent the message) |
Wait for interaction
Pauses the flow until someone uses a button or dropdown on the watched message, or the timeout expires. Waits up to 30 days and survives bot restarts; each pending wait holds execution state and counts against a per-server pool - for buttons that should work permanently (panels, ticket controls), use a button that starts a flow instead. Add an answer branch per expected button id / option value; anything else runs "On interaction".
Inputs
| Name | Type | Required | Details |
|---|---|---|---|
| Message | Message | Yes | A message this flow sent whose buttons/dropdowns are watched. |
| Timeout | Duration | Yes | How long to wait for an answer (5 seconds up to the 30-day cap; default 10 minutes). Value: 5000 to 2592000000. Default: 600000. |
| Restrict to user | User | No | Only this user may answer; everyone else gets an ephemeral "this isn't for you" notice. |
| After finishing | Component cleanup | Yes | What happens to the watched components once the wait resolves or times out. Default: Disable. |
Branches
| Name | Details |
|---|---|
| On interaction | Runs when an interaction on the watched message matches no answer branch. Optional. Provides to its steps: Interaction (The button/select interaction that resolved the wait), Custom ID (Raw custom id of the used component), Values (Chosen option values (empty for buttons)), State (State text the component carried (the custom id set on a flow-linked component), if any) |
| On timeout | Runs when nobody answers within the timeout. Optional. |
| Match | Runs this branch when the clicked button's custom id or the chosen option value equals this value. Added by you, one per entry. Provides to its steps: Interaction (The button/select interaction that resolved the wait), Custom ID (Raw custom id of the used component), Values (Chosen option values (empty for buttons)), State (State text the component carried (the custom id set on a flow-linked component), if any) |
Ask for confirmation
Replies to the interaction with a prompt plus confirm/cancel buttons and pauses the flow until the user answers or the timeout expires. Waits up to 30 days and survives bot restarts; for confirmations that should work permanently, use a button that starts a flow instead.
Inputs
| Name | Type | Required | Details |
|---|---|---|---|
| Interaction | Interaction | Yes | The interaction to reply to with the confirmation prompt. |
| Prompt | Message content | Yes | The question to show, e.g. "Are you sure you want to delete 14 messages?". |
| Confirm label | Text | Yes | Text on the confirm button. Maximum length: 80 characters. Default: Confirm. |
| Cancel label | Text | Yes | Text on the cancel button. Maximum length: 80 characters. Default: Cancel. |
| Ephemeral | Yes/No | Yes | Whether only the asked user can see the prompt. Default: Yes. |
| Timeout | Duration | Yes | How long to wait for an answer (5 seconds up to the 30-day cap; default 10 minutes). Value: 5000 to 2592000000. Default: 600000. |
Branches
| Name | Details |
|---|---|
| Confirmed | Runs when the user clicks the confirm button. Optional. Provides to its steps: Interaction (The confirm button click (already acknowledged)), State (State text the component carried (the custom id set on a flow-linked component), if any) |
| Cancelled | Runs when the user clicks the cancel button. Optional. Provides to its steps: Interaction (The cancel button click (already acknowledged)), State (State text the component carried (the custom id set on a flow-linked component), if any) |
| On timeout | Runs when the user does not answer within the timeout. Optional. |
Ask a question with a dropdown
Shows a dropdown and waits for the user to pick an option, then continues down the matching branch.
Inputs
| Name | Type | Required | Details |
|---|---|---|---|
| Interaction | Interaction | Yes | The interaction to answer with the dropdown. |
| Message | Message content | Yes | The message shown above the dropdown. |
| Placeholder | Text | No | Greyed-out text shown before anything is picked. Maximum length: 150 characters. |
| Options | List of Select option | No | A fixed list of options. Use this or "Items", not both. Maximum items: 25. Use only one of these: Items. |
| Items | List of Any | No | Build the options from a list of data. Use this or "Options", not both. Use only one of these: Options. |
| Label path | Text | No | Which field of each item to show, e.g. "name". Leave blank to use the item itself. Maximum length: 100 characters. |
| Value path | Text | No | Which field of each item to use as its value, e.g. "id". Defaults to the label. Maximum length: 100 characters. |
| Description path | Text | No | Which field of each item to show as a subtitle. Optional. Maximum length: 100 characters. |
| Pre-selected values | List of Text | No | Values that start out already selected, e.g. the roles the member already has. Maximum items: 25. |
| Minimum picks | Whole number | Yes | How few options may be picked. Value: 0 to 25. Default: 1. |
| Maximum picks | Whole number | Yes | How many options may be picked at once. Value: 1 to 25. Default: 1. |
| Only this user | User | No | Only this user may answer. Anyone else gets a private notice. |
| Only visible to the user | Yes/No | Yes | Show the dropdown privately to the person who triggered it. Default: Yes. |
| Timeout | Duration | Yes | How long to wait before giving up and running the timeout branch. Value: 5000 to 2592000000. Default: 600000. |
| When finished | Component cleanup | Yes | What to do with the dropdown once someone has answered. Default: Disable. |
Branches
| Name | Details |
|---|---|
| Something else was picked | Runs when the pick did not match any of the branches above. Optional. Provides to its steps: Interaction (The dropdown interaction that resolved the wait), Values (The selected option value(s)), State (State text the component carried (the custom id set on a flow-linked component), if any) |
| Nobody answered | Runs when the timeout passes with no answer. Optional. |
| Match | Runs this branch when the picked value equals this value. Added by you, one per entry. Provides to its steps: Interaction (The dropdown interaction that resolved the wait), Values (The selected option value(s)), State (State text the component carried (the custom id set on a flow-linked component), if any) |
Ask the user to pick members
Shows a member picker and waits for the user to choose, then continues down the matching branch.
Inputs
| Name | Type | Required | Details |
|---|---|---|---|
| Interaction | Interaction | Yes | The interaction to answer with the member picker. |
| Message | Message content | Yes | The message shown above the picker. |
| Placeholder | Text | No | Greyed-out text shown before anything is picked. Maximum length: 150 characters. |
| Minimum picks | Whole number | Yes | How few members may be picked. Value: 0 to 25. Default: 1. |
| Maximum picks | Whole number | Yes | How many members may be picked at once. Value: 1 to 25. Default: 1. |
| Only this user | User | No | Only this user may answer. Anyone else gets a private notice. |
| Only visible to the user | Yes/No | Yes | Show the picker privately to the person who triggered it. Default: Yes. |
| Timeout | Duration | Yes | How long to wait before giving up and running the timeout branch. Value: 5000 to 2592000000. Default: 600000. |
| When finished | Component cleanup | Yes | What to do with the picker once someone has answered. Default: Disable. |
Branches
| Name | Details |
|---|---|
| Members picked | Runs when the user picks one or more members. Optional. Provides to its steps: Interaction (The dropdown interaction that resolved the wait), Picked members (The members that were picked), State (State text the component carried (the custom id set on a flow-linked component), if any) |
| Nobody answered | Runs when the timeout passes with no answer. Optional. |
Ask the user to pick roles
Shows a role picker and waits for the user to choose, then continues down the matching branch.
Inputs
| Name | Type | Required | Details |
|---|---|---|---|
| Interaction | Interaction | Yes | The interaction to answer with the role picker. |
| Message | Message content | Yes | The message shown above the picker. |
| Placeholder | Text | No | Greyed-out text shown before anything is picked. Maximum length: 150 characters. |
| Minimum picks | Whole number | Yes | How few roles may be picked. Value: 0 to 25. Default: 1. |
| Maximum picks | Whole number | Yes | How many roles may be picked at once. Value: 1 to 25. Default: 1. |
| Only this user | User | No | Only this user may answer. Anyone else gets a private notice. |
| Only visible to the user | Yes/No | Yes | Show the picker privately to the person who triggered it. Default: Yes. |
| Timeout | Duration | Yes | How long to wait before giving up and running the timeout branch. Value: 5000 to 2592000000. Default: 600000. |
| When finished | Component cleanup | Yes | What to do with the picker once someone has answered. Default: Disable. |
Branches
| Name | Details |
|---|---|
| Roles picked | Runs when the user picks one or more roles. Optional. Provides to its steps: Interaction (The dropdown interaction that resolved the wait), Picked roles (The roles that were picked), State (State text the component carried (the custom id set on a flow-linked component), if any) |
| Nobody answered | Runs when the timeout passes with no answer. Optional. |
Ask the user to pick channels
Shows a channel picker and waits for the user to choose, then continues down the matching branch.
Inputs
| Name | Type | Required | Details |
|---|---|---|---|
| Interaction | Interaction | Yes | The interaction to answer with the channel picker. |
| Message | Message content | Yes | The message shown above the picker. |
| Placeholder | Text | No | Greyed-out text shown before anything is picked. Maximum length: 150 characters. |
| Channel types | List of Channel type | No | Restrict the picker to these channel types. Leave empty to allow any. |
| Minimum picks | Whole number | Yes | How few channels may be picked. Value: 0 to 25. Default: 1. |
| Maximum picks | Whole number | Yes | How many channels may be picked at once. Value: 1 to 25. Default: 1. |
| Only this user | User | No | Only this user may answer. Anyone else gets a private notice. |
| Only visible to the user | Yes/No | Yes | Show the picker privately to the person who triggered it. Default: Yes. |
| Timeout | Duration | Yes | How long to wait before giving up and running the timeout branch. Value: 5000 to 2592000000. Default: 600000. |
| When finished | Component cleanup | Yes | What to do with the picker once someone has answered. Default: Disable. |
Branches
| Name | Details |
|---|---|
| Channels picked | Runs when the user picks one or more channels. Optional. Provides to its steps: Interaction (The dropdown interaction that resolved the wait), Picked channels (The channels that were picked), State (State text the component carried (the custom id set on a flow-linked component), if any) |
| Nobody answered | Runs when the timeout passes with no answer. Optional. |
Ask the user to pick members or roles
Shows a picker that can select members or roles and waits for the user to choose, then continues down the matching branch.
Inputs
| Name | Type | Required | Details |
|---|---|---|---|
| Interaction | Interaction | Yes | The interaction to answer with the picker. |
| Message | Message content | Yes | The message shown above the picker. |
| Placeholder | Text | No | Greyed-out text shown before anything is picked. Maximum length: 150 characters. |
| Minimum picks | Whole number | Yes | How few entries may be picked. Value: 0 to 25. Default: 1. |
| Maximum picks | Whole number | Yes | How many entries may be picked at once. Value: 1 to 25. Default: 1. |
| Only this user | User | No | Only this user may answer. Anyone else gets a private notice. |
| Only visible to the user | Yes/No | Yes | Show the picker privately to the person who triggered it. Default: Yes. |
| Timeout | Duration | Yes | How long to wait before giving up and running the timeout branch. Value: 5000 to 2592000000. Default: 600000. |
| When finished | Component cleanup | Yes | What to do with the picker once someone has answered. Default: Disable. |
Branches
| Name | Details |
|---|---|
| Picked | Runs when the user picks one or more members or roles. Optional. Provides to its steps: Interaction (The dropdown interaction that resolved the wait), Picked entries (The members or roles that were picked), State (State text the component carried (the custom id set on a flow-linked component), if any) |
| Nobody answered | Runs when the timeout passes with no answer. Optional. |