Canvas

PremiumStudio → Essentials → Canvas21 settings5 min read

Canvas is a visual editor for building your own server automations. You drop a trigger (something that happens, like a member joining), optionally one or more conditions (checks such as has role), and one or more actions (what the bot does), then wire them together. The moment you save, the automation is live.

How it works#

  • Every workflow starts with exactly one trigger node, e.g. Member Join, Message Sent or Reaction Added.
  • Lines between nodes decide the order. A condition that fails stops that branch — actions after it don't run.
  • Resource nodes (Role, Channel, Permission set) describe server structure. On Save the bot creates or updates them in Discord for you.
  • Groups bundle nodes together; a group can be saved as a template and reused in any other workflow from the Templates tab.
  • The built-in AI Assistant reads your current canvas and answers questions about it in plain language.

Before you start#

The bot's role must sit above every role it has to give or edit (Server Settings → Roles).
The bot needs Manage Roles and Manage Channels for resource nodes.

Set it up#

Part 1Place and connect nodes5 steps
Open the page

In the Studio sidebar, under ESSENTIALS, click Canvas.

Find a trigger

The Node library on the left has a search box and three lists: TRIGGERS, CONDITIONS and ACTIONS. Search for e.g. Member Join.

Drag it onto the canvas

Hold the node, drag it to the empty area in the middle and let go.

Add a condition (optional)

Drag e.g. Has Role onto the canvas. Connect it by dragging from the dot on the right of the trigger to the dot on the left of the condition.

Add an action

Drag an action like Send Message or Add Role onto the canvas and connect it the same way.

Part 2Configure and save2 steps
Click each node

Every node opens its own settings panel on the right: which channel, which message, which role and so on.

Press Save

Click the purple Save button in the top right.

As soon as you save, the automation runs — there is no separate activate step.

Every setting explained#

Node nameYour own label for the node, only shown on the canvas.
RoleThe Discord role this node reads, gives or removes.
ChannelThe channel this node posts in or changes.
ReasonShown in Discord's audit log next to the action.
Channel nameName of the channel to create.
TypeText or voice channel.
TextVoice
Category (optional)The category the new channel is placed in.
AccessAllow = the connected role can see the channel; Deny = it's hidden for that role.
Allow (can view channel)Deny (channel hidden)
PermissionThe Discord permission this condition checks.
Duration (minutes)How long the timeout lasts.
EmojiThe emoji the bot reacts with.
Voice channelThe voice channel members are moved to.
Role nameName of the role to create.
ColorPick from the palette or enter a hex code.
PermissionsThe permissions this new role gets.
Permissions to apply to connected role(s)Connect one or more Role nodes to the bottom handle — each gets this exact permission set on Save.
AllowPermissions explicitly granted on this channel.
DenyConnect one or more Role nodes to the bottom handle — each gets this exact overwrite on Save.
Group nameLabel shown on top of the group frame.
Create a Discord category from this groupOn Save, the group becomes a real Discord category with its channels inside.
Save as reusable templateSaves this group's nodes and connections so you can drag them into any workflow later, from the Templates tab in the node library.

Examples#

Give new members a role and greet them

Member Join → Add Role Newcomer → Send Message in #welcome: Welcome {user}! Read #rules first.

Private staff channel in one save

Drop a Create Channel node (staff-chat), a Role node (Staff) and connect the role's right handle to the channel's bottom handle with Access = Allow. Every other role is denied automatically.

Good to know#

Click Import from Discord to pull your existing roles and channels onto the canvas as a starting point.
Ask the AI Assistant things like why is my channel not private? — it sees your current nodes.
Deleting a resource node and saving can delete the real channel or role in Discord. Check before you save.

Troubleshooting#

My automation doesn't fire
Check that the workflow is saved (no unsaved dot), that the trigger is connected, and that no condition in the chain fails. Test with an account that meets every condition.
"Missing permissions" when saving
Move the bot's role above the roles it manages in Server Settings → Roles, and give it Manage Roles / Manage Channels.

FAQ#

Is there a limit on workflows?
Free servers can use Canvas with the Premium preview limits shown in the Studio; Premium removes them.
Was this page helpful?