Skip to main content

Integrations

Integrations route your workspace's inbox alerts, such as raids, flagged joins, agent health, billing and X signals, to the places your team already watches. Connect a destination once, then choose which events land there.

Open the workspace switcher at the top of the sidebar, select Workspace settings, then Integrations. Only the workspace Owner and Admins can manage integrations; other members see "You don't have permission to manage this workspace's integrations." Channel admins don't have the page.

Alert destinations are not channels

A destination only receives alerts. Adding the agent to a Discord server or a Telegram group as a destination never connects that server or group as a Fren One channel: it gets no moderation, no analytics and no configuration pages. To manage it, connect it with Connect a channel under Channels in the sidebar instead. See Adding Fren One to Discord and Adding Fren One on Telegram.

Three destinations can be connected today: Slack, Discord and Telegram. Every other card on the page, Webhooks included, is marked Coming soon: its Connect button is disabled and it can't be set up yet.


Slackโ€‹

Slack connects through OAuth, so you never paste a webhook URL:

  1. On the Integrations page, select Connect on the Slack card.
  2. Approve the authorization in Slack. You're returned to the Integrations page.
  3. Select Add Slack channel and pick a channel from your Slack workspace in the picker.

There's a fixed cap on Slack channels; the page shows "You can connect up to {max} Slack channels." Slack workspaces connected before the OAuth flow may show "Slack ยท delivering via legacy webhooks"; they keep working.

Slack permissionsโ€‹

Posting to the channels you choose and listing your public channels are always required. Four more permissions are optional, and you choose them before installing:

PermissionWith itWithout it
Join channels for youThe agent joins the public channels you pick in the channel picker.Someone has to run /invite @Fren One in each channel before alerts can flow.
Leave channels on cleanupThe agent leaves a channel when you remove it as a destination.The agent stays in the channel until a Slack admin removes it.
Private channelsThe picker lists, and delivers to, private channels the agent was invited to.Only public channels appear in the picker.
Name who resolves alertsResolutions made from Slack show who selected Mark handled, by their Slack display name.Resolutions from Slack show without a name.

Slack's consent screen describes Leave channels on cleanup as managing public channels and creating new ones. Fren One never creates, renames or archives a channel.

You can add permissions later. Removing one is different: Slack keeps a granted permission until the app is removed, so to drop one you disconnect the Slack workspace and connect it again with fewer permissions selected.

Private channels

Private channels appear in the picker only when the Private channels permission is on and the Fren One agent has been invited to the channel in Slack.

Slack alerts for X mentions

Slack alerts for X mentions include a "Generate reply" action that drafts a response using the account's Brand Voice settings. Slack messages are English-only today.


Discordโ€‹

Select Connect on the Discord channel card to open Add Discord destination. First choose where the alerts go:

  • A server Fren One manages. Pick one of the Discord servers already connected to this workspace. The agent is already there, so the steps are Source โ†’ Discord channel โ†’ Events.
  • A private server. The agent is invited with notification permissions only, and the server is never added as a channel. The steps are Source โ†’ Invite โ†’ Discord channel โ†’ Events.

For a private server, the Invite step lists the permissions the agent asks for: view channels, send messages and embeds, and read message history. It gets no moderation, no member access and no message deletion. Select Open Discord to install, finish the install in Discord, and the wizard confirms once the agent has joined. Pick a server that doesn't already use Fren One: installing into a server the agent manages as a channel would reduce its permissions there.

On Discord channel, pick the Discord channel alerts are posted to. Alerts can include moderation details, so a private one is recommended; the picker marks which Discord channels are private and which are visible to everyone, and you can send a test message. On Events, choose which events are delivered, then select Create destination.


Telegramโ€‹

Select Connect on the Telegram channel card to open Add Telegram destination. The steps are Destination โ†’ Events, then a last step that depends on the destination:

  • Group. A private admin group is typical. The agent joins as a plain member, and the group is not managed as a channel. The last step, Link, gives you a link: open it in Telegram, or send it to whoever manages the group. Opening it adds the agent and connects the group as an alert destination. The wizard shows when the group is connected.
  • Direct messages. Alerts go straight to the team members you choose, in their own Telegram chats. The last step, Recipients, creates a link for each person, and each person activates their own link. Destinations appear as they're activated, so you can finish before everyone has done it.

On Events, choose which events are delivered. Whoever activates a link gets exactly those events.


Choosing what each destination receivesโ€‹

Each connected destination shows who connected it and when. Select Manage to open the Event routing modal: "Choose which events are delivered to {channel}." Events are grouped into categories, each a checkbox with Select all / Select none and an "N of M selected" count:

  • Moderation & safety
  • Agent health
  • Members
  • Insights
  • Support
  • X
  • Billing & credits
  • Governance & coverage
  • Reports
  • Backups

For Slack channels only, the X category also shows scope controls when they apply: "X account scope" (All X accounts or Specific accounts) when the workspace has X accounts, and "Listening profile scope" (All listening profiles, which includes profiles created later, or Specific profiles) when it has listening profiles. Use them to give each brand account or profile its own Slack channel.

Per-destination controlsโ€‹

ControlWhat it does
Send testDelivers a test message.
Active / PausedPauses delivery without losing the destination's event routing.
RemoveStops delivering alerts to the destination (asks for confirmation); you can add it again later. For Discord and Telegram, the agent stays where it is. For Slack, the agent leaves the Slack channel only if the Slack workspace granted Leave channels on cleanup; otherwise it stays until a Slack admin removes it.
DisconnectSlack only: disconnects the whole Slack workspace.

If a destination can't be reached, for example because the agent was removed, the chat was deleted or a recipient blocked the agent, its row says why and offers Reconnect.


How delivery worksโ€‹

Every alert lands in the workspace inbox first. Each active destination subscribed to the alert's event category then gets a copy. Nothing is delivered anywhere until the Owner or an Admin connects a destination and picks its events.

Destinations are separate from personal notifications: each member's web and email preferences live in Manage notifications and aren't affected by what you route to Slack, Discord or Telegram.


Next stepsโ€‹