Skip to main content
Open Discord → Custom Builder after connecting your bot. Build on the canvas, or ask the Builder Agent to create a system from a description.

Builder Agent

Tell your Verb the outcome you want, including inputs, permissions, and where messages should go:
The agent can create and revise connected commands, events, schedules, variables, forms, and message templates. You can ask it to change an existing project instead of starting again. Agent changes are saved when successfully applied. Review the resulting blocks and test them in Discord; a saved project or preview isn’t proof that the live bot completed an action. Use the agent’s history to revisit runs and its undo option where available. Undo restores builder configuration, not actions already taken in Discord, such as messages sent or channels deleted.
The Builder Agent is experimental. Check permissions and test in a private channel before using moderation or other destructive actions.
Your plan includes a daily agent-message allowance shared across your account. It resets at midnight UTC. Manual canvas editing doesn’t use this allowance.

Build manually

1

Choose a trigger

Create a Command, Event, or Timed Event. Commands run from a slash command; events react to things such as a member joining or a button click; timed events run on a schedule.
2

Add inputs and actions

Add command options such as text or a member. Add the actions the bot should perform, then connect the blocks from the trigger through the whole flow.
3

Add safeguards and a response

Check permissions before moderation actions. Add a connected Send or Edit a Message block if people should receive a result.
4

Save and test

Manual edits stay local until you select Save. The bot runs the saved version. Test the actual command or event in Discord and check both the action and its response.
A simple flow is: trigger → inputs → permission check → action → message. Unconnected blocks won’t run.

Message layouts and Components V2

Use Message Builder inside a message action to arrange text, accent-color cards, images, dividers, files, buttons, and dropdowns. New layouts use Discord Components V2 rather than classic embeds. For a button or dropdown, use When used… to choose a private reply, a form, or an interaction flow. Save the target event project before linking it. Discord allows 40 total components, including nested ones. Older embed messages are converted when opened in the visual editor. Review the result before saving; the layout may not match the old embed exactly. Message and template prose is a brief for your Verb: it composes the delivered wording in character using the inputs and confirmed action results. Buttons, choices, links, and other structured values stay intact. If AI wording is unavailable, the saved prose is not sent as a canned fallback.

Variables and templates

Use Variables for values such as a counter or saved channel ID. Choose the scope that matches the job: global, server, channel, or user. A user’s score should use user scope, not one shared global value. The variable picker also offers built-in values, such as the current user, channel, and command options. Insert them from the picker instead of guessing a token name. Save reusable flows and message layouts as templates when you need them in multiple projects.

Schedules, webhooks, and forms

Timed events can run once or on a recurring schedule. Set the destination channel and timezone explicitly. Events can receive webhook requests or handle button clicks and form submissions. Keep webhook secrets private and validate external input before using it in privileged actions. If a flow fails, check its connections, saved version, referenced resources, and bot permissions. See Troubleshooting.