Connect & automate

Slack & channels

Connect Slack to a project and control sessions from a channel.

GithubEdit

A channel connects a chat platform to a project. A message in a connected channel starts a session. The agent replies in the same thread.

Live channels

SingulaComp supports four channel platforms today:

  • Slack — connect with one click through the SingulaComp-managed app, or bring your own bot token.
  • Microsoft Teams — connect through org admin-consent OAuth, or bring your own Azure Bot (experimental; enable it under Settings → Experimental).
  • Email — an AgentMail-backed channel (experimental; enable it under Settings → Experimental).
  • Voice — a realtime voice channel on LiveKit (experimental; enable it under Settings → Experimental). A connected call is a LiveKit room; the agent speaks through the live media session.

Only Slack and Microsoft Teams connect through the CLI and dashboard. Email and voice are managed from the dashboard or SDK. This page covers Slack. Teams follows the same session, identity-linking, and credential rules.

How a channel starts a session

The first message in a Slack thread or Teams conversation creates a session. Every later message in that thread goes to the same session, even after the sandbox stops and resumes. A Slack workspace connected to more than one project shows a project picker on the first mention.

Identity linking

SingulaComp links each chat sender to a SingulaComp account before the agent runs for them. Run /singulacomp login in Slack and follow the link to sign in. Teams uses the same requirement. An unlinked sender gets a prompt to link instead of a session run.

Where credentials live

A connected channel's bot token is a connector-scoped secret. It does not appear on the project's Secrets page. SingulaComp never injects it into a sandbox. SingulaComp resolves the token server-side when the agent sends a chat message.

Connect Slack

Start the connection

From the CLI, run:

text
singulacomp channels connect

On a host with the shared Slack app configured (SingulaComp Cloud, for example), this prints a one-click install link. Open the link and pick the workspace. Click Allow. Add --wait to make the command poll until the install lands.

From the dashboard, open the project's Channels page and connect Slack there instead. It uses the same install flow.

Use your own Slack app

On a self-hosted deployment with no shared Slack app configured, singulacomp channels connect falls back to manual mode automatically. Run singulacomp channels manifest to print an app manifest. Create the app at api.slack.com/apps from that manifest. Install the app to your workspace. Then run:

text
singulacomp channels connect --manual --bot-token xoxb-... --signing-secret ...

Check the connection

text
singulacomp channels status

Run singulacomp channels disconnect to remove the connection. See the CLI reference for every flag.

Connecting Slack adds a channel connector entry to singulacomp.yaml for you. You never write this entry by hand.

Use Slack

Mention the bot with a task, in any channel it has joined, or open a direct message. The thread keeps its session as described above. A bare mention with no task gets a reminder to add one instead of starting a session.

Control a session with slash commands

Type these as /singulacomp <command> in Slack, or as plain text in a DM. Slash commands do not run inside the Assistant DM pane, so SingulaComp parses the same words from plain text there.

CommandWhat it does
login, logoutLink or unlink your Slack identity
switch, unbindRebind or unbind this channel from its project
projectsList projects you can bind to
sessionsList recent sessions started in this workspace
whoamiShow the channel panel: project, agent, model, policy, and your linked identity
agent <name>, model <id>Set the agent or model this channel uses
policy <mode>Set who can start sessions here
helpList all commands

policy accepts project_open (default — any project member who mentions the bot gets a session), owner_approval, or owner_only. This is a per-resource setting on one channel, not a role. It grants no permission the role verdict denies — see Accounts & access.

What does not work

  • Slash commands do not fire inside the Assistant DM pane. Type /singulacomp <command> as plain text there instead.
  • Other chat platforms, including Telegram, are not supported channels today. Only Slack and Microsoft Teams connect through the CLI and dashboard; email and voice connect through the dashboard or SDK.

On this page