🖼️ Embeds
The embed builder is a visual editor for rich Discord messages — titles, images, colored accents, fields, and link buttons. Build an embed once, post it to a channel, and keep editing it: the agent can update the posted message in place.
Overview
When configured, the agent can:
- Post rich embeds you design in a click-to-edit canvas with a live preview
- Update an already-posted message with your latest edits instead of posting a duplicate
- Track each embed's lifecycle — draft, sent, edited, or removed on Discord
- Attach up to 5 link buttons below the message
Configuration
To build and post embeds:
- Open your project in the Fren One webapp.
- Select the Discord server you want to configure.
- In the sidebar under Agent Configuration, select Messages, then the Embeds tab.
- Select New Embed to open the builder, or Edit on an existing row.
Each row in the list shows the embed's name, its lifecycle status badge, the target channel (or "No channel"), and Send / Edit / Delete buttons.
The builder
The builder is an in-place canvas — click any part of the embed to edit it, with a side panel for the details. The preview renders with your server's custom bot identity if you've deployed one, so what you see is what members get. The footer shows the running character total and embed count.
| Part | Description |
|---|---|
| Name | An internal label for your list — required, never shown in Discord. |
| Title | The embed's heading. Up to 256 characters. Add a Title link to make it clickable. |
| Description | The main body, in a rich editor. Text past Discord's limit spills into a new embed automatically. |
| Color | The accent stripe color — picker or hex value. |
| Image | A full-width image at the bottom of the embed. |
| Thumbnail | A small square image at the top right. |
| Author | Author name (up to 256 characters) with an optional icon, and an Author link to make it clickable. |
| Footer | Footer text (up to 2,048 characters) with an optional icon. |
| Fields | Named sections rendered in a grid — each has a Name, a markdown Value, and an Inline checkbox. |
| Message content | Plain text posted above the embeds. |
| Buttons | Up to 5 link buttons. Each has a Label (up to 80 characters) and a required http/https URL. |
The formatting toolbar covers Bold, Italic, Underline, Strikethrough, Spoiler, Inline code, links, and emoji, plus channel and role mention insertion. The total across all parts is capped at Discord's 6,000-character embed limit.
Buttons here only open a link. For buttons that grant a role on click, use a Reaction Role panel in button mode instead.
Lifecycle and the Send button
Every embed carries a status badge, and the Send button adapts to it:
| Status | Meaning | Send button does |
|---|---|---|
| Draft | Built but never posted. | Sends it to Discord. |
| Sent | Posted and up to date. | Updates the posted message. |
| Edited — repost needed | You've changed it since posting. | Reposts with your latest edits. |
| Removed on Discord | The posted message was deleted in Discord. | Posts it again. |
Send is disabled until a channel is set ("Set a channel first").
Saving your changes
Changes on this page apply immediately — saving the builder, sending, and deleting each hit the API right away; there is no page-level Save bar. Deleting an embed asks for confirmation, and any message already posted to Discord stays — deleting here only removes the embed from your dashboard.
Best practices
- Keep long-lived embeds (rules, FAQs, link hubs) as dashboard embeds — you can revise them and update the posted message in place, with no repost churn.
- Watch the character total in the footer; the description spills into extra embeds automatically, but a 6,000-character wall of text rarely gets read.
- Use Fields with Inline for scannable key-value content instead of one giant description.
- Give embeds descriptive internal Names — that's all you see in the list.
Troubleshooting
Send is greyed out?
- Set a target channel first — the button is disabled until one is selected.
The status says "Removed on Discord"?
- Someone deleted the posted message in Discord. The embed itself is intact — select Send to post it again.
The preview shows a different bot name than in Discord?
- The preview uses your deployed custom bot identity when one exists, otherwise the default "Fren One" identity.
Related features
- ⏰ Scheduled Messages - Post an embed on a schedule instead of on demand
- 🎭 Reaction Roles - Button panels that grant roles on click
- 🎫 Tickets - The support panel uses the same embed editor