Slack & channels
Connect Slack to a project and control sessions from a channel.
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.
Channels you can connect
Every project's Settings → Channels page offers these channels:
- Slack: connect with one click through the Machine-managed Slack app, or bring your own bot token.
- Inkbox: iMessage, text, email, or call the agent through your own Inkbox account. See Inkbox: iMessage, SMS, email & calls.
- Glyph: talk with the agent live, by voice, from any session, through your own Glyph account. See Glyph: live voice.
- Microsoft Teams (experimental): connect through org admin-consent OAuth, or bring your own Azure Bot. Turn it on first under Settings → Experimental → Microsoft Teams.
Two older experimental channels, Email (an AgentMail inbox) and Voice (a LiveKit call), can no longer be switched on from Settings → Experimental. A project that turned one on before keeps it.
Slack and Microsoft Teams also connect from the CLI. 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
Machine links each chat sender to a Machine account before the agent runs for
them. Run /kortix 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 (and, for your own Slack app, its signing secret) is stored encrypted on the project as connector-scoped secrets with Machine service delivery, so these values can show on the project's Secrets page. Machine never injects them into a sandbox. Machine resolves the token server-side when the agent sends a chat message.
Connect Slack
Start the connection
From the CLI on your computer, run:
machine channels connectOn a host with the shared Slack app configured (Machine's 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 web app, open the project's Settings → 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, machine channels connect falls back to manual mode automatically. Run machine 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:
machine channels connect --manual --bot-token xoxb-... --signing-secret ...Check the connection
machine channels statusRun machine channels disconnect to remove the connection. See the
CLI reference for every flag.
Connecting Slack adds a channel connector entry
to kortix.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 /kortix <command> in Slack, or as plain text in a DM. Slash
commands do not run inside the Assistant DM pane, so Machine parses the same
words from plain text there.
| Command | What it does |
|---|---|
login, logout | Link or unlink your Slack identity |
switch, unbind | Rebind or unbind this channel from its project |
projects | List projects you can bind to |
sessions | List recent sessions started in this workspace |
whoami | Show 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 |
help | List all commands |
policy accepts project_open (default — any project member who mentions
the bot gets a session), owner_approval, or owner_only.
What does not work
- Slash commands do not fire inside the Assistant DM pane. Type
/kortix <command>as plain text there instead. - Other chat platforms, including Telegram and WhatsApp, are not supported channels. Only Slack and Microsoft Teams connect through the CLI; Inkbox and Glyph connect from Settings → Channels.
