Slack
Connect Slack, then mention Sinatra in a channel to start a task and follow it in the thread.
Mention Sinatra in a Slack channel and it works in that thread: it answers questions, asks back when the request is vague, and changes code when you ask for it, opening a pull request like any other task. Slack is available on every plan.
Connect Slack
- A workspace owner or admin opens workspace Settings → Slack → Connect Slack and authorizes the Slack workspace. Other members see the card but can't connect it. Each Sinatra workspace connects one Slack workspace, and a Slack workspace can be connected to only one Sinatra workspace.
- Each teammate who will mention Sinatra joins the Sinatra workspace. Sinatra links their Slack identity automatically when their Slack email matches a verified email on exactly one Sinatra account: the address they sign in with by email link, or a verified email on the GitHub account they sign in with or linked. If it can't match them, they use Sign in with Slack on the same Settings card to link explicitly.
- Invite Sinatra to each channel you want to work in, public or private. Sinatra only sees mentions in channels it has been added to. Direct messages aren't supported.
Linking an identity doesn't grant access: the person still needs to be a member of the Sinatra workspace.
Start a task
Mention @Sinatra in a channel with what you want done. You can mention it in a new message or inside an existing thread; in an existing thread, Sinatra takes the thread's first message as the request, along with what you wrote in your mention. Each thread is one task.
Sinatra adds a 👀 reaction when it picks the request up. If it can't take the request because of who sent it or where, it tells you privately (only you see the message):
- It can't match your Slack account. Link it with Sign in with Slack in workspace Settings, then mention Sinatra again.
- You aren't a member of the workspace. Sinatra sends the owners an access request for you. Mention it again once an owner approves.
- The channel is shared with another organization. See Slack Connect channels.
Problems with billing or model access get a reply in the thread instead. Billing works the same as for any other task: Slack tasks need model access, count against your plan's tasks-at-a-time limit, and queue when it's reached.
Choosing a repository
A Slack thread doesn't come with a repository. Sinatra picks one in this order:
- If your message contains
repo: owner/name, it uses that repository. It must be connected to the workspace. - If the workspace has exactly one repository, it uses that one.
- Otherwise the agent chooses from the workspace's connected repositories when it needs code, based on what you asked. Name the repository in your message if it could be ambiguous.
A request that doesn't need code, such as a question, can be answered without checking out a repository at all. The dashboard shows these tasks as Conversation only.
In the thread
While the agent works, Sinatra keeps one progress message in the thread: a checklist it edits in place, whose title narrates what the agent is doing. The agent posts its answer, question or plan as a reply in the thread. When it opens a pull request, the agent links the PR back to the thread, and the progress message closes with the PR link.
The 👀 reaction comes off when the turn ends.
Replying
Reply in the thread to continue the task:
- Mention Sinatra in a reply to send it a follow-up, an answer, or the go-ahead on a plan.
- Reply without a mention, and Sinatra decides whether you're talking to it. A reply that asks it something, corrects or approves its work, answers its question, or adds useful evidence, such as a stack trace, continues the task. Conversation between teammates, acknowledgments like "thanks!", and replies addressed to someone else don't. When it isn't sure, it stays quiet, so mention it to be certain. This only applies in a thread Sinatra is already working in, and only to workspace members whose Slack account it can match.
A message sent while the agent is running reaches the running agent, the same as on Linear and GitHub. Sinatra decides whether it applies right away, before the run finishes, or as its own next turn. See Steering a run.
Once the task has opened a PR, leave code feedback on the PR, where Sinatra picks it up as review rework.
Restarting and stopping
- Restart. Mention Sinatra with only the word
restartin the task's thread. Sinatra drops the sandbox, deletes its branch, closes the existing PR, and starts again. Only a mention can restart: an unmentioned reply never does. - Stop. Slack has no stop control. Stop the task with Stop in the Running and queued list on the dashboard's overview, with
sinatra stop <task-id>, or with thestop_taskMCP tool or the HTTP API. Stopping keeps the task, so mention Sinatra in the thread to continue.
Slack Connect channels
Mentions in channels shared with external organizations through Slack Connect are refused by default, with a private note to whoever mentioned Sinatra. An owner or admin can allow them with Allow tasks from Slack Connect channels shared with external organizations on the Slack settings card. Membership and identity checks still apply to everyone who mentions Sinatra.
Disconnecting and reconnecting
An owner or admin can disconnect Slack from the settings card. Stop any running Slack tasks first: disconnecting doesn't stop them, and Sinatra can no longer post to their threads once Slack is gone. Disconnecting uninstalls the Sinatra app from Slack and removes every linked Slack identity for the workspace, so after a new connection Sinatra matches teammates by email again, and anyone it can't match links again.
If Sinatra is removed from the Slack side, or its access is revoked, the card shows Action required and active Slack tasks are cancelled. An owner or admin can Reconnect Slack or Release binding. Reconnection can also be needed after Slack permissions change.