βοΈ Automations
Automations run actions in response to Discord events. Each automation has three parts: When (the event that starts it), If (optional conditions that must match), and Do (one or more actions, run in order). Automations are Discord-only.
Automations react to Discord events (joins, reactions, role changes, voice, threads, buttons), not just message text. To respond to keywords in messages, use Triggers; to have AI judge each message against a plain-language prompt, use Smart Triggers.
Configurationβ
To build an automation:
- Open your workspace in the Fren One webapp.
- In the sidebar under Channels, select the Discord server you want to configure. Its pages open beneath it.
- Select Automations.
- Select "Add Automation", give it a Name, and fill in the When/If/Do builder.
Each automation in the list shows an enable toggle, its name, and a summary of its event, condition count, and action count.
When: the triggerβ
The "Trigger" select picks the Discord event that starts the automation. Required. Events are phrased "A memberβ¦":
| Event | Fires when a member⦠|
|---|---|
| Sends a message | Posts a message. |
| Edits a message | Edits a message. |
| Deletes a message | Deletes a message. |
| Adds a reaction | Reacts to a message. |
| Gains a role | Receives a role. |
| Loses a role | Has a role removed. |
| Joins a voice channel | Connects to a voice channel. |
| Leaves a voice channel | Disconnects from a voice channel. |
| Creates a thread | Creates a thread. |
| Clicks a reaction-role button | Clicks a button in a reaction-role panel or dropdown. Admin-authored link buttons (the ones you add to an automation's own messages) don't fire this: they're link-style buttons that open a URL directly, without producing an interaction. |
| Joins the server | Joins the server. |
If: conditionsβ
Conditions are optional. With none, the automation runs every time the event happens. When you add more than one, a Match ALL / Match ANY control appears and the rows are joined by "And" / "Or". Which condition types are available depends on the chosen event (message conditions only appear for message events, reaction conditions for reaction events, and so on).
| Condition | Configure with |
|---|---|
| It happened in one of these channels or categories | Channel/category picker: up to 25. |
| The member has any/all of these roles | Role picker: up to 25. |
| The member does not have any/all of these roles | Role picker: up to 25. |
| The member is one of these members | Member IDs: up to 25. |
| The message contains / is exactly / does not contain one of these words or sentences | Phrases: up to 40, 200 characters each. |
| The message has an audio / image / text / video attachment | Attachment type. |
| The message is a reply / is not a reply | No configuration. |
| The member reacted with one or more of these reactions | Emojis: up to 20. |
| The message has one or more of these reactions | Emojis: up to 20. |
| The member gained / lost one of these roles | Role picker: up to 25. |
Do: actionsβ
Add at least one action under DO THIS. Actions run in order and can be reordered; additional actions chain with a "Then do this" joiner. Which actions are available depends on the event (thread actions need a thread, message actions need a message).
| Action | Notes |
|---|---|
| Send a message | Pick a channel and compose the message. |
| Give these roles to the member | Retry-safe. |
| Take these roles from the member | Retry-safe. |
| Create a thread from the message | Optional thread name. |
| Reply to the message | Compose the reply. |
| Repost the whole message in another channel | Forwards the content and attachments to the channel you pick. |
| Pin the message | Retry-safe. |
| Delete the message | None. |
| React on the message with these emojis | Retry-safe. |
| Remove the reaction from the message | None. |
| Add these members to the thread | Retry-safe. |
| Send a message in the thread | Compose the message. |
| Wait | Pauses before the next action runs: 1 minute to 7 days. Retry-safe. Can't be the last action. |
| Delete the messages this automation sent | Removes every message an earlier action in this automation sent (send, reply, repost, or thread message). Must come after one of those actions: pair it with Wait to post a temporary notice. |
Message-composing actions (Send a message, Reply to the message, Send a message in the thread) support message text up to 2,000 characters, an optional Embed, and optional Link buttons: up to 10, each requiring a URL. Build embeds the same way as elsewhere in the webapp: see Embeds.
Retry on failureβ
The "Retry on failure" toggle: "If an action fails because of a temporary Discord error, it is retried automatically for up to 24 hours." It's only available when every action in the automation is retry-safe: role changes, pins, reactions, thread invites, and waits. Add any other action and the toggle is disabled.
Examplesβ
Welcome role on join. When: Joins the server. Do: Give these roles to the member β your member role. Every action is retry-safe, so turn on "Retry on failure" and a temporary Discord error won't cost anyone their role.
Auto-thread support posts. When: Sends a message. If: It happened in one of these channels or categories β your support channel. Do: Create a thread from the message (name it something like "Support"), then Reply to the message letting the member know the team will follow up in the thread.
Repost media to a showcase channel. When: Sends a message. If (Match ALL): It happened in one of these channels or categories β your art channel, and The message has an image attachment. Do: Repost the whole message in another channel β your showcase channel, then React on the message with these emojis β a star.
How it works in Discordβ
Whenever the event fires and the conditions match (or there are none), the actions run in order.
For Joins the server, automations run at the very start of the join sequence, before blacklist screening, verification, auto roles and the welcome message. A join automation therefore fires even for members who are later screened out.
Saving your changesβ
This page uses a batched save: edits stay local until you select Save in the bar that appears at the bottom of the page, and leaving with unsaved changes shows a warning. One extra rule: an open inline editor must be saved or cancelled before you can save the page.
Tipsβ
- A "Sends a message" automation without a channel condition runs on every message in the server. Add a channel condition early.
- When combining a channel condition with a content condition, use Match ALL so both must hold.
Troubleshootingβ
An automation isn't firing?
- Check its enable toggle, and that your latest edits were saved via the page Save bar.
- With multiple conditions, check the Match ALL / Match ANY setting: under Match ALL, every condition must hold.
- The condition and action sets depend on the event: confirm the automation is listening to the event you expect.
Can't turn on "Retry on failure"?
- The toggle is only available when every action is retry-safe (role changes, pins, reactions, thread invites, and waits). Remove or split out other actions.
Can't save the page?
- Save or cancel the open automation editor first: the page can't be saved while an editor is open.
A role action does nothing?
- If you've customized the agent's permissions, confirm it can manage roles, and that its role sits above the roles it grants or removes in the server's role hierarchy.
Related featuresβ
- Triggers: keyword-matching responses and moderation actions
- Smart Triggers: AI-judged message responses from a plain-language prompt
- Embeds: build the embeds your message actions send