Connecting Nairi to Slack

Install the Nairi Slack app, invite it to a channel, and route prompts to an agent.

This page walks through installing the Nairi Slack app into your workspace and routing channel messages to one of your agents.

Prerequisites

  • A Slack workspace where you can install apps (admin or app-management permission).
  • At least one agent in your Nairi org. If you haven't created one yet, run through the Quickstart first.

Step 1 — Install the Nairi Slack app

In the dashboard, go to Settings → Integrations, click Connect, and choose Slack. You'll be redirected to Slack's OAuth screen to approve the requested scopes. Once you approve, Slack sends you back to Nairi and the workspace shows up in the Chat Platforms list with the date it was connected.

You can connect more than one Slack workspace to the same Nairi org. Each workspace appears as its own row and all of them share the same fleet of agents.

Step 2 — Invite the bot to a channel

In Slack, open the channel you want the agent to listen in and run:

/invite @Nairi

Step 3 — Send your first prompt

Mention the bot at the start of a message:

@Nairi summarise yesterday's incidents and post a TL;DR

The first time you @-mention Nairi in a new channel, two things happen automatically:

  1. The channel is connected and bound to the first active agent in your org.
  2. The bot posts a confirmation in the thread naming that agent and showing the /nairi command to change it.

You don't register channels anywhere in the dashboard. Channels self-register on first use.

Step 4 — Change which agent answers (optional)

Channel-to-agent bindings live entirely inside Slack and are managed with the /nairi slash command:

/nairi agents              # list every agent in your org and copy its ID
/nairi agent               # show the agent currently bound to this channel
/nairi agent=ag_…          # bind the channel to a different agent

A channel is bound to one agent at a time. One agent can be the default in many channels.

See Configure in Slack for the full slash-command reference, including how to switch between ask and execute modes and list active tasks.

Status emojis on your message

The bot reacts to your message with emoji that track the task's state. You don't need to do anything; they update as the job moves through the queue:

ReactionMeaning
:hourglass:The message is queued, waiting for an agent slot.
👀 :eyes:An agent has picked it up and is working on it.
:white_check_mark:The task is done.
:x:The task failed.

Adding a ✅ reaction yourself to one of the bot's messages marks the job as completed early. Useful when you've got what you needed and want to free up the agent slot without waiting for a final reply.

File attachments

Attachments work in both directions:

  • To the agent: upload files alongside your prompt. The bot reads them as part of the input — useful for screenshots, logs, CSVs, or any file you want the agent to look at.
  • From the agent: when a task produces a file, the bot posts it back into the thread.

Concurrency and queueing

The number of tasks an agent can run in parallel is governed by its instance count. If a new message arrives while every instance is busy:

  • The bot reacts with instead of 👀.
  • The task waits in the queue.
  • As soon as an instance frees up, the queued task starts and the reaction switches to 👀.

No tasks are dropped. See Where and how your agent runs for tuning instance count.

Scopes Nairi requests (and why)

ScopeWhy
channels:history, groups:historyRead messages in public and private channels the bot is invited to, so the agent sees your prompt and any follow-ups in the thread.
channels:read, groups:readLook up channel and member info when posting threaded replies.
chat:writePost replies in channels and threads.
commandsRegister the /nairi slash command.
reactions:read, reactions:writeDrive the status reactions on your messages and read the ✅ confirmation reactions back.
files:read, files:writeRead attachments you upload alongside a prompt, and post files back.
users:read, users:read.emailIdentify which user sent each prompt for per-user attribution.
team:readIdentify the workspace at install time.

Nairi only sees messages in channels where the bot has been invited. Private channels need an explicit invite the same way public ones do.

Routing multiple channels to one agent

One agent can be the default in many Slack channels. Each channel message starts its own task, and the agent's instance count (1–10, set on the agent itself) caps how many of those tasks run in parallel. See Where and how your agent runs for tuning guidance.

Removing the integration

To disconnect a Slack workspace from Nairi:

  1. Settings → Integrations, hover the workspace row, click the unplug icon, and confirm.
  2. Optionally, also remove the app from Slack itself: Workspace settings → Manage apps → Nairi → Remove app. Step 1 alone is enough to stop Nairi processing future events; leaving the app installed in Slack is harmless.

Past tasks remain visible in the Nairi dashboard. Future @-mentions in the disconnected workspace are ignored.


Can't find what you're looking for? Email support@nairi.ai.

On this page