Everything a serious Discord bot needs

Build it visually, test it safely, publish it in seconds, and see exactly what it did.

Commands and events on a canvas

Start from a slash command or something that happens in the server, then connect steps: replies, role changes, checks, loops, web requests. Every path, including what happens when a step fails, is visible.

  1. /report member reason
  2. Can moderate?
  3. Post in #reports
  4. Reply privately

Buttons, menus and forms

Add buttons and select menus to any message, open pop-up forms, and react to each click with its own event. Previews match what members see in Discord.

  1. Button clicked: apply
  2. Open form
  3. Form submitted
  4. DM the staff

Variables that remember

Saved variables keep values between runs, per member, per server or for the whole bot: points, streaks, counters, settings. Updates are atomic, so busy servers never lose a change.

  1. /daily
  2. points + 50
  3. Reply: you have {store.points}

Modules for the common jobs

Welcome & Goodbye, Auto-role, Moderation & Automod, Server Logs, Reaction Roles, Tickets, Levels & XP, Economy, Twitch Alerts, YouTube Alerts, AI Replies, AFK, Birthdays, Reminders, Giveaways, Polls, Suggestions, Starboard, Counting, Sticky Messages, Media-only Channels, Auto Responder, Auto React, Temporary Voice Channels, Server Stats Channels, Verification, Join Gate, Sticky Roles, Auto Nickname, Auto Threads, Confessions, Server Utilities, Fun Pack, Scheduled Messages, Invite Tracker, Weather, Translator, Casino & Jobs, Roblox Link, Image Studio, Music & Radio, Poll Guard, Emoji Manager, Discord AutoMod, Message Studio, Daily Question, Linked Channels, Mod Mail. Turn one on, fill in a few settings, and it runs in every server your bot is in.

  1. Member joins
  2. Welcome message
  3. Give @Newcomer

Test before anyone sees it

Run a draft against a pretend event and watch each step light up. Nothing is sent to Discord, and saved variables start from their defaults.

  1. Run test
  2. 4 steps, 12 ms
  3. Reply preview

Versions and rollbacks

Every save is a version. Drafts never touch the live bot; publish when ready, and restore any earlier version if something goes wrong.

  1. Version 12 (live)
  2. Version 13 (draft)
  3. Restore 11

Hosting included

Your bot stays online on our runners. If one restarts, another picks your bot up within a minute. Slash commands sync to Discord automatically.

  1. Online
  2. 42 ms ping
  3. 3 servers

Logs that explain themselves

Each run lists the steps it took, with plain-language errors such as "the bot's role is below that role". Search and filter by command, event or result.

  1. /verify failed
  2. Missing permissions
  3. Open in editor

Analytics

Runs over time, success rate, typical and slowest durations, most used commands, top errors and the busiest servers.

  1. 1,284 runs
  2. 99.2% succeeded
  3. p95 380 ms

Built for teams

Invite staff as owners, editors or viewers. Everything they change is recorded, and the editor stops two people from overwriting each other.

  1. Sam published /rules
  2. Alex joined
  3. Kai rotated the token

Safe by design

Tokens are encrypted and write-only. Workflows are data, not code. Web requests go only to approved hosts, and limits stop runaway DMs and bans.

  1. Token encrypted
  2. HTTPS only
  3. 30 DMs/min cap

Discord-accurate messages

Compose text, embeds with fields and images, buttons and menus, with live counters for every Discord limit so publishing never fails on length.

  1. Embed 1,204/6,000
  2. Title 34/256

Automations

General-purpose workflows that run next to your bots: apps, data, AI, schedules and webhooks.

A canvas for any workflow

Automations is the second half of Channelcraft. Connect triggers, web services, data steps and AI on a canvas, with branches, merges and sticky notes to explain what each part does.

  1. Every morning
  2. Fetch feed
  3. Newest five
  4. Summarise

Start it your way

Run on a schedule, when a webhook is called, when someone fills in a hosted form, from a chat, or by hand while you build. "Listen for test event" shows the test URL and catches the next request.

  1. POST /orders
  2. Is it paid?
  3. Forward order

Items and expressions

Data moves as a list of items. Reference any field with {{ $json.field }} or an earlier step with $('Step'), drag fields from the input panel into a setting, and see the result as you type.

  1. {{ $json.email }}
  2. [email protected]

Test with real data

Run the whole automation or one step. Every node shows how many items it produced; open it to inspect input and output as a table, JSON or a schema, and pin sample data to skip slow steps.

  1. Test workflow
  2. 4 nodes
  3. 23 items

Credentials and variables

Save API keys or connect accounts once, then pick them in any node. Secrets are encrypted and write-only. Workspace variables hold shared values like a region or base URL.

  1. API key saved
  2. $vars.region

Publish, activate, review

Drafts save as you work and never affect what is running. Publish a version, switch the automation on, and read every execution with the data of each step. Retry a failed run from the step that failed.

  1. v3 published
  2. Active
  3. Retry failed step

See it with your own bot

Start building free