Triggers
42 triggers blocks, generated from the live catalogue.
A trigger is where a workflow starts. Each enabled workflow may contain several triggers; each one fires independently. Triggers have no input and a single out output.
Note
This page is generated from the bot's block catalogue — 42 blocks at the time of this build.
Message sent
trigger.message — Runs when a member sends a message. Optionally limit to a channel or a keyword.
Provides: a channel, a message, a user, a server member.
| Setting | Type | Required | Notes |
|---|---|---|---|
| Only in channel | text channel | no | Leave empty for any channel. |
| Only if message contains | text (≤ 200) | no | e.g. hello |
Message edited
trigger.messageEdit — Runs when a member edits one of their messages.
Provides: a channel, a message, a user, a server member.
| Setting | Type | Required | Notes |
|---|---|---|---|
| Only in channel | text channel | no |
Message deleted
trigger.messageDelete — Runs when a message is deleted. Message-based actions (reply, react) are unavailable here.
Provides: a channel, a user, a server member.
| Setting | Type | Required | Notes |
|---|---|---|---|
| Only in channel | text channel | no |
Member joined
trigger.memberJoin — Runs when someone joins the server.
Provides: a user, a server member.
No settings.
Member left
trigger.memberLeave — Runs when someone leaves or is removed.
Provides: a user.
No settings.
Member banned
trigger.memberBan — Runs when a user is banned from the server.
Provides: a user.
No settings.
Role gained
trigger.roleAdded — Runs when a member receives a role.
Provides: a user, a server member.
| Setting | Type | Required | Notes |
|---|---|---|---|
| Only this role | role | no | Leave empty for any role. |
Role removed
trigger.roleRemoved — Runs when a role is taken from a member.
Provides: a user, a server member.
| Setting | Type | Required | Notes |
|---|---|---|---|
| Only this role | role | no |
Nickname changed
trigger.nicknameChange — Runs when a member changes (or clears) their server nickname.
Provides: a user, a server member.
No settings.
Server boosted
trigger.boost — Runs when a member starts boosting the server.
Provides: a user, a server member.
No settings.
Member timed out
trigger.timeout — Runs when a member is put in timeout (by anyone — staff, AutoMod or a workflow).
Provides: a user, a server member.
No settings.
Reaction added
trigger.reactionAdd — Runs when a member reacts to a message.
Provides: a channel, a message, a user, a server member, a reaction.
| Setting | Type | Required | Notes |
|---|---|---|---|
| Only this emoji | text (≤ 64) | no | ⭐ or custom emoji name |
| Only in channel | text channel | no |
Reaction removed
trigger.reactionRemove — Runs when a member removes their reaction.
Provides: a channel, a message, a user, a server member, a reaction.
| Setting | Type | Required | Notes |
|---|---|---|---|
| Only this emoji | text (≤ 64) | no | |
| Only in channel | text channel | no |
Joined voice
trigger.voiceJoin — Runs when a member connects to a voice channel.
Provides: a user, a server member.
| Setting | Type | Required | Notes |
|---|---|---|---|
| Only this voice channel | voice channel | no |
Left voice
trigger.voiceLeave — Runs when a member disconnects from voice.
Provides: a user, a server member.
| Setting | Type | Required | Notes |
|---|---|---|---|
| Only this voice channel | voice channel | no |
Thread created
trigger.threadCreate — Runs when a new thread or forum post is created.
Provides: a channel, a user, a server member.
| Setting | Type | Required | Notes |
|---|---|---|---|
| Only in parent channel | text channel | no |
Slash command used
trigger.command — Runs when a member uses one of the bot's slash commands.
Provides: a channel, a user, a server member.
| Setting | Type | Required | Notes |
|---|---|---|---|
| Only this command | text (≤ 32) | no | e.g. daily (without the slash) |
Button panel
trigger.buttonPanel — The bot posts this message with buttons itself when the workflow goes live and keeps it in sync. Every click runs the workflow from here — no other trigger needed.
Provides: a channel, a message, a user, a server member, a button click.
| Setting | Type | Required | Notes |
|---|---|---|---|
| Channel | text channel | yes | Where the bot publishes the panel. |
| Message | text (≤ 2000), supports variables | no | Variables here resolve to server values only — there is no user yet when the panel is posted. |
| Embed title (optional) | text (≤ 256) | no | |
| Embed description (optional) | text (≤ 4000) | no | |
| Embed colour (hex) | text (≤ 7) | no | #5865F2 |
| Buttons | button list (label, style, emoji, id or URL) | yes | |
| Only run for this button id | text (≤ 32) | no | Leave empty to run for every button; use {button} to branch. Add several “Button clicked” triggers if you prefer one branch per button. |
Button clicked
trigger.button — Runs when a member clicks a button sent by a “… with buttons” action or a “Button panel” of THIS workflow. Filter by button id to branch per button.
Provides: a channel, a message, a user, a server member, a button click.
| Setting | Type | Required | Notes |
|---|---|---|---|
| Only this button id | text (≤ 32) | no | Leave empty to catch every button of this workflow; use {button} to tell them apart. |
Schedule
trigger.schedule — Runs on a timer — every N minutes or daily at a fixed time. No user context; pick a channel in each action.
Provides: nothing — actions after this trigger must name an explicit channel and cannot target a user.
| Setting | Type | Required | Notes |
|---|---|---|---|
| Mode | one of: every, daily | yes | |
| Every (minutes) | number (5–10080) | no | Used in “Every N minutes” mode. Minimum 5. |
| Time (HH:MM, server time) | text (≤ 5) | no | Used in “Daily” mode. |
Channel created
trigger.channelCreate — Runs when a new channel or category is created.
Provides: a channel.
No settings.
Channel deleted
trigger.channelDelete — Runs when a channel is deleted. No channel context — pick one in each action.
Provides: nothing — actions after this trigger must name an explicit channel and cannot target a user.
No settings.
Invite created
trigger.inviteCreate — Runs when a member creates an invite link.
Provides: a channel, a user, a server member.
No settings.
Emoji added
trigger.emojiCreate — Runs when a custom emoji is uploaded to the server.
Provides: nothing — actions after this trigger must name an explicit channel and cannot target a user.
No settings.
Scheduled event created
trigger.eventCreate — Runs when a server event is scheduled.
Provides: a user, a server member.
No settings.
Member unbanned
trigger.memberUnban — Runs when a ban is lifted.
Provides: a user.
No settings.
Server avatar changed
trigger.avatarChange — Runs when a member changes their per-server avatar.
Provides: a user, a server member.
No settings.
Moved between voice channels
trigger.voiceMove — Runs when a member switches from one voice channel to another.
Provides: a user, a server member.
| Setting | Type | Required | Notes |
|---|---|---|---|
| Only when arriving in | voice channel | no |
Started streaming
trigger.streamStart — Runs when a member goes live (screen share / Go Live) in voice.
Provides: a user, a server member.
No settings.
Message pinned
trigger.pinAdd — Runs when a message is pinned in a channel.
Provides: a channel, a message, a user, a server member.
| Setting | Type | Required | Notes |
|---|---|---|---|
| Only in channel | text channel | no |
Messages purged
trigger.bulkDelete — Runs when messages are bulk-deleted (e.g. /purge).
Provides: a channel.
| Setting | Type | Required | Notes |
|---|---|---|---|
| Only in channel | text channel | no |
Member levelled up
trigger.levelUp — Runs when the levelling module promotes a member. Use {level} in messages.
Provides: a user, a server member.
| Setting | Type | Required | Notes |
|---|---|---|---|
| Only this level | number (1–1000) | no | Leave empty for any level. |
Giveaway started
trigger.giveawayStart — Runs when a giveaway is posted. Use {prize} in messages.
Provides: a channel, a user, a server member.
No settings.
Giveaway ended
trigger.giveawayEnd — Runs when a giveaway finishes. {winners} lists the winners; the first winner is {user}.
Provides: a channel, a user, a server member.
No settings.
Ticket opened
trigger.ticketOpen — Runs when a member opens a support ticket. The ticket channel is {channel}.
Provides: a channel, a user, a server member.
No settings.
Ticket closed
trigger.ticketClose — Runs when a ticket is closed and archived.
Provides: a user, a server member.
No settings.
Suggestion submitted
trigger.suggestionNew — Runs when a member posts a suggestion. Use {suggestion} in messages.
Provides: a channel, a user, a server member.
No settings.
Suggestion reviewed
trigger.suggestionReview — Runs when staff approve or reject a suggestion. {user} is the author, {reviewer} the staff member, {suggestion} the text.
Provides: a channel, a user, a server member.
| Setting | Type | Required | Notes |
|---|---|---|---|
| Only this outcome | one of: APPROVED, REJECTED | no |
Message starboarded
trigger.starboard — Runs when a message reaches the starboard threshold.
Provides: a channel, a message, a user, a server member.
No settings.
Shop purchase
trigger.purchase — Runs when a member buys an item in the economy shop.
Provides: a user, a server member.
No settings.
Moderation case created
trigger.modCase — Runs when a warn / kick / timeout / ban case is recorded by any source.
Provides: a user, a server member.
| Setting | Type | Required | Notes |
|---|---|---|---|
| Only this action | one of: WARN, TIMEOUT, KICK, BAN | no |
AutoMod triggered
trigger.automod — Runs when the AutoMod module blocks a message (spam, links, caps, bad words).
Provides: a channel, a user, a server member.
| Setting | Type | Required | Notes |
|---|---|---|---|
| Only this rule | one of: spam, links, caps, badwords | no |
