Skip to content

Slack installation

Connect Slack so Warpway can ask subject-matter experts questions in a direct message.

Connecting Slack lets Warpway ask the people who can answer a question, including people who never open GitHub, in a direct message. They answer with a button or a reply, and the review moves on.

Slack routing is included in the Team and Enterprise plans. Connecting Slack requires the Admin or Owner role in Warpway and permission to install apps in your Slack workspace; some workspaces require a Slack admin to approve new apps.

Connect a workspace

  1. In Warpway, open Settings → Slack and choose Connect Slack.
  2. Slack shows the workspace and the permissions Warpway asks for. Choose Allow.
  3. You return to Warpway, which stores the connection and syncs the workspace's member list.
  4. Link Slack members to people in your organization (below).

Warpway installs into a single workspace; Enterprise Grid organization-wide installs are not supported. A workspace can be connected to only one Warpway organization at a time: disconnect it there before connecting it elsewhere.

Scopes Warpway requests

ScopeWhy
chat:writeSend task messages, follow-up questions and resolution notices, and update a task message when the task closes.
im:writeOpen or resume a direct message with the person being asked.
im:historyRead replies in the direct messages between a person and the Warpway app.
users:readList workspace members so they can be linked to people and shown by name.
users:read.emailOnly if email matching is enabled. Read members' verified email addresses to link them automatically.
usergroups:readOnly if routing to Slack user groups is enabled. See who is in a user group named in your routing, so Warpway can ask one of its members.

Warpway asks for the two optional scopes only when the feature that needs them is on. If you turn one on after connecting, connect Slack again so the workspace can grant the new scope.

Warpway does not request channel scopes. It does not read or post in channels, and it reads only the direct messages people exchange with the Warpway app. The only Slack events it receives are those direct messages (message.im), App Home opens (app_home_opened), and notices that the app was uninstalled (app_uninstalled) or its token revoked (tokens_revoked).

The bot token Slack issues is encrypted with AES-256-GCM before it is stored, bound to your Slack installation.

Warpway routes questions to people. A person can have a GitHub identity, a Slack identity, or both. A Slack member is linked to a person only in one of three ways:

  1. Explicit link. The person confirms the link themselves through a one-time link Warpway sends them in Slack, signing in with GitHub to prove the other side.
  2. Verified email match. Optional. When an Admin enables email matching, Warpway asks Slack for the additional users:read.email scope and links a Slack member whose verified email matches a person's verified email. An email match never replaces an explicit or Admin link.
  3. Admin mapping. An Admin links them on the People page.

Warpway never links accounts by display name alone: two people can share a name, and names are easy to change.

People who only work in Slack, such as a product manager or a lawyer, can be added as people with just a Slack identity and the topics they own. Naming a Slack member in a routing rule or in .warpway.yml routing adds them this way. They answer in Slack and never need a Warpway account.

What a task message contains

A message from Warpway includes:

  • the repository, pull request number and title;
  • the question, in plain language;
  • what the code does today, when that helps, and why the question matters;
  • Why you, the reason you were asked, for example "owner of the Billing lens" or "assignee of the linked ticket #212";
  • buttons for the expected answers when the question has fixed choices: Yes and No, Approve and Needs changes, or up to five options (further options, and multiple-choice questions, are answered by replying in the thread);
  • Open details, a signed link to this task's details that works without a Warpway account and expires after 14 days;
  • I'm not the right person, which sends the question to someone else.

It never contains diffs or source files: code blocks or diffs that slip into the text are replaced with a pointer to the details. See Data handling.

Answering in Slack

Press a button, or reply in the message's thread in your own words. Warpway checks whether the answer actually settles the question before recording it:

  • a clear answer resolves the task, is recorded with who answered and when, and the affected lens is re-evaluated; Warpway confirms in the thread what it recorded;
  • a vague answer such as "Sounds fine" gets one precise follow-up question in the thread;
  • I'm not the right person, or a reply such as "not my area", reroutes the task to the next candidate.

When a task closes for any reason, including a new commit that makes the question unnecessary, Warpway updates the original message and removes its buttons. Warpway reads only the text of a reply: it ignores edits to a reply you already sent, so reply again instead, and it does not read attached files.

Human tasks describes each outcome.

Disconnect Slack

Disconnect from Settings → Slack, or remove the app from the workspace in Slack. Either way Warpway marks the connection inactive, deletes the stored bot token and stops sending messages. Open tasks stay visible in the dashboard and are routed through GitHub where possible. Answers already recorded remain part of each review's history.

Troubleshooting

See Slack messages are not arriving.

Something unclear or missing? Email marcus@cmglabs.ai.