Automations

Action Nodes

Side-effect nodes that send messages, manage tickets, modify members, and more.

Action nodes perform work in Discord or your library. Each has one flow input, one flow output, and data inputs for the values it needs. Actions only execute when reached by a flow wire.

Value nodes (literals, fetchers, transforms) are documented implicitly through the node library in the editor. This page covers actions — the nodes that cause side effects.

Messages

NodeWhat it does
Send Template / Send Template to DMsPost a built template, or edit a user-made template message in place
Reply to InteractionFill the command's original response and return a response handle
Follow UpSend another command response from an interaction or response handle
Fetch Interaction ResponseGet the original response or a follow-up as a response handle
Edit Interaction Response / Delete Interaction ResponseUpdate or remove a response through its handle
React / Remove ReactionAdd or remove a reaction
Delete / Edit / Pin / UnpinManage an existing message

For template sends, wire a channel (or user), template, and optional variables dictionary — see Templates in automations. To edit an existing template message, wire it into Send Template's Edit Message input instead of posting a new one.

Interaction responses

Use interaction response nodes with the Command Executed trigger's Interaction output. A slash run goes through Discord's interaction response API, so they can safely manage the original response even when it is ephemeral. A prefix run fills the same socket and the same nodes work on plain messages instead: the original response is a reply to the message that ran the command, follow-ups are further messages in that channel, and ephemeral is ignored.

  • Reply to Interaction fills the original, deferred response. It returns a Response handle for later nodes.
  • Follow Up accepts either the original Interaction or a Response handle. When both are connected, Response is used. It returns the new response so you can continue its lifecycle.
  • Fetch Interaction Response reads the original response when Message ID is blank; give it a follow-up's ID to obtain that response instead.
  • Wire a handle from Reply, Follow Up, or Fetch Interaction Response into Edit Interaction Response or Delete Interaction Response.

The handle exposes safe fields such as its kind, Message ID, visibility, whether it uses Components V2, content, channel, and creation time. Discord's response credential stays private to the automation runtime.

Reply to Interaction, Follow Up, and Edit Interaction Response take the same rich payload as template sends: a required Template and an optional Dictionary, covering traditional templates, Components V2, variables, and continuation buttons. Use Make Template or Compose Template to build the payload — plain text and single embeds are templates too.

Discord cannot convert a Components V2 response back to a traditional message. When editing one, use another Components V2 template.

Editing or replacing a response also replaces its component routes. A follow-up creates routes for its own components, and deleting a response removes its routes. This keeps buttons and select menus on response templates working without leaving stale interactions behind.

The trigger's Ephemeral reply setting fixes the original response's visibility before the graph starts. A follow-up can choose its own visibility, but it cannot change an existing response. On a slash run, every response handle expires 15 minutes after the command begins.

On a prefix run, ephemeral is ignored and the responses are ordinary messages, so they never expire. Branch on the interaction's Kind field (command or message) when a graph needs to tell the two apart.

Tickets

NodeWhat it does
Create TicketOpens a new ticket channel
Close / Transfer / Claim / UnclaimManage ticket lifecycle
Request CloseAsk the member to confirm closing
Add Note / Add User / Remove UserStaff actions on a ticket

Members

NodeWhat it does
Add Role / Remove RoleChange member roles
Kick / Ban / TimeoutModeration actions
Set NicknameUpdate a member's nickname

Channels

NodeWhat it does
Rename / Delete / CloneManage a channel
Create Text/Voice/Category/ThreadCreate new channels
Set Topic / Set Slowmode / Set NSFW / Set CategoryChannel settings
Create Invite LinkGenerate an invite

Library

NodeWhat it does
Create FolderAdd a library folder
Rename/Move/Delete FileManage library files
Rename/Move/Delete FolderManage library folders

HTTP & verification

NodeWhat it does
API RequestCall an external HTTP endpoint
Force Verify / Force UnverifyOverride a member's server verification state and run verification automations
Roblox Verify Prompt / Roblox Verify Prompt (DM)Prompt a member to verify their Roblox account

API Request can use ${env.secret_name} in its URL, headers, or body to inject an approved server secret at runtime. Do not paste credentials directly into an automation graph.

Value nodes in the editor

The node library sidebar groups nodes by domain — the same way as the editor:

CategoryExamples
ValuesText, Number, Boolean, Color, Duration, Emoji, UUID
MessagesFetch Message, Link to Message
MembersFetch Member, Has Role, Mention User
ChannelsChannel, Fetch Channels, Mention Channel
RolesRole, Fetch Roles, Mention Role
ServerServer Name, Member Count, Boost Tier
TicketsTicket Panel, Fetch Tickets
TemplatesCompose Template, Make Button, Build V2 Template, Extract Template, Break Regular Template
LibraryLibrary File, Fetch Files/Folders
Text / Numbers / Logic / CompareFormat, Add, And/Or, Equals, Less Than
Arrays / DictionariesMake Array, Get Entry, Merge
TimeNow, Format Time, Make Duration
StorageGet/Set Stored Value
HTTPMake JSON Body, HTTP Method

Data wires only connect assignable types. If two sockets cannot connect, the types are incompatible.

How is this guide?

On this page