Embed Builder & Custom Commands
Build a rich embed by clicking through buttons instead of writing JSON, save it as a reusable template, edit it again later, and optionally turn it into your own custom command — or share it: export a template to another server, or list it in the cross-server Embed Browser for anyone to find. Building requires Manage Server permission.
The visual builder
embed create
Opens a live preview with one button per part of the embed:
Title & Description
The main heading and body text.
Color
The accent bar down the left edge.
Fields
Add, edit, or remove labeled field/value pairs.
Thumbnail & Image
A small corner image and a large banner image.
Author & Footer
Small text above and below the main content.
Buttons
Add clickable link or action buttons under the embed.
Every change updates the preview immediately. When it looks right:
- Post Here — sends it to the current channel right away.
- Save as Template — stores it under a name you choose, to reuse or attach to a custom command later.
- Webhook — post through a webhook instead, so it appears under a custom name and avatar.
Using saved templates directly
Once something's saved, you don't need the visual builder again to reuse it:
Lists every template saved on this server.
Posts a saved template straight into the current channel — no trigger word needed.
Reskins another system's messages using one of your templates. Needs Manage Server.
Bare embed shows the same thing — the four commands above, straight from Discord.
Editing a saved template
embed edit my-template-name
embed edit
Reopens a saved template in the same visual builder you used to create it. Leave the name off and you get a picker listing everything you've saved. Needs Manage Server.
Once you're editing, the builder's buttons change slightly:
Save Changes
Updates the template in place — anywhere it's already used (custom commands, autoresponders, system styles) picks up the new version automatically.
Save as New
Forks it under a different name instead, leaving the original untouched.
On purpose — other features reference a template by name, so a silent rename could break something with no obvious cause. Use Save as New under the name you actually want, then remove the old one manually if needed.
Sharing settings
Before a template can be exported or listed publicly, its owner — specifically whoever saved it, not just anyone with Manage Server — has to configure how sharing works for it:
embed settings my-template-name
| Setting | What it does |
|---|---|
| Visibility | Public — anyone can export it instantly. Private (default) — needs the password below, or being on the bypass list. |
| Password | Required before a private template can be exported at all. Stored as a salted hash, never in plain text. |
| Bypass list | Up to 25 specific people who can export a private template without the password. |
5 failed attempts locks that person out for 10 minutes on that specific template — doesn't affect anyone else trying.
Exporting & importing
The actual sharing mechanism — a template from one server becomes a real, independent copy in another.
embed export my-template-name
embed import 3f9a2b1c-...
embed import 3f9a2b1c-... as renamed-copy
export gets you a secret ID — instantly if the template's public, after the correct password if it's private. That ID is permanently tied to you: even if someone else gets hold of it, only you can redeem it. import redeems it in whatever server you run it in (needs Manage Server there), recreating the embed as a brand new template — add as <name> to rename it on the way in, otherwise it keeps the original name (or gets a -2, -3, etc. suffix if that name's already taken).
The Embed Browser
A cross-server directory of every template anyone has chosen to list — browse, preview, rate, and one-click import the public ones.
embed browser
embed browser giveaways
embed browser add my-template-name
embed browser remove my-template-name
Categories: rules, announcements, welcome, giveaways, events, faq, showcase, other.
Listings are ranked by a blend of rating and how many times they've actually been imported — not just star average alone, so one early 5-star vote can't outrank something genuinely popular. Selecting a listing opens a full preview: content, category, rating, use count, and who listed it.
Public listings
One-click Import to My Server button right on the preview.
Private listings
Shows the owner's raw user ID so you can DM them directly and ask — not a mention, since you likely don't share a server with them.
Anyone except the listing's owner can rate it 1–5 stars from the preview screen; only the owner can list or unlist it (embed browser add / remove, both requiring you to be the one who originally saved the template).
Custom commands
Turn any trigger word into an automatic reply — plain text, or a saved embed template.
customcmd create rules text: Check #rules before posting!
customcmd create announce template: my-template-name
customcmd list
customcmd delete rules
Once created, anyone typing the trigger word gets the configured response — no further setup needed. ccmd works as a shorthand for customcmd everywhere, and customcmd list works for anyone — creating, editing and deleting need Manage Server.
Bare customcmd or customcmd help prints the full command list from Discord directly. Bare embed or embed help does the same for everything above, including editing, sharing, and the browser.
Build the embed with embed create first and save it as a template, then attach that template to a trigger with customcmd create <trigger> template:<name> — that's the whole workflow for a rich auto-reply. Prefer it to just post once instead of becoming a permanent command? Use embed post <template> and skip customcmd entirely.
Was this page helpful?