Skip to main content

Overview

Connect Slack to create tasks directly from messages, sync conversation threads, and let agents read and search your Slack workspace for context.

Installing the Slack app

1

Open Slack settings

Go to Settings → Apps → Slack. You need to be an org admin.
2

Install the app

Click Install and authorize Capy in your Slack workspace. This connects the workspace for your entire organization.
3

Set a default project

Choose a default project for Slack-originated tasks. This is used for DMs and channels without an explicit mapping.

Creating tasks from Slack

Mention @Capy in any channel where the app is installed. Capy creates a task from your message and responds in a thread. You can continue the conversation in that thread - messages are synced to the task. You can also share images and files in the message. Capy will pick them up as context for the task.

Thread controls

Use thread controls to manage what Capy sees and when it responds inside a Slack thread.

Aside messages

Prefix a message with aside to exclude it from Capy’s processing entirely.
  • Capy won’t see the message
  • Capy won’t respond to it
  • It won’t appear in the agent’s context when Capy reads thread history
This works with aside ... and @Capy aside .... The check is case-insensitive, and aside must be at the start of the message.
Use aside when you want to talk with teammates in a Capy thread without the agent picking those messages up.

Mute and unmute

Mute a thread to stop Capy from responding to regular thread replies.
  • Type mute or @Capy mute in the thread to mute it
  • Type unmute or @Capy unmute to turn replies back on
  • When muted, Capy ignores regular thread replies
  • Direct @Capy mentions still go through
  • DMs still work
Capy confirms the change with an ephemeral message visible only to you:
  • Thread muted — Capy will ignore messages here unless directly mentioned with @Capy.
  • Thread unmuted — Capy will respond to messages in this thread again.
If the thread is already in the requested state, Capy does nothing. Mute state is stored per thread.

Channel mappings

Map specific Slack channels to Capy projects so tasks created from those channels are automatically assigned to the right project.
  1. Go to Settings → Apps → Slack
  2. Scroll to Channel mappings
  3. Select a channel and a project, then click Save
Channels without a mapping fall back to the default project. DMs also use the default project.

Default branch

Set a default branch in the Slack settings to control which branch Capy uses as the base for tasks started from Slack. If not set, the project’s default branch is used.

Message verbosity

Control how many messages Capy posts in Slack threads.
  • All messages (default) — Capy posts every response as it works
  • Final message only — Capy only posts the final response when the task completes
Set this in Settings → Apps → Slack under Message verbosity. Individual threads can override this with the verbose flag.

Message flags

Control task behavior by adding flags to your @Capy message. Flags can be placed anywhere in the message — Capy strips them from the prompt before processing.

Syntax

Flags work with or without brackets:
@Capy repo=owner/name branch=my-branch fix the login bug
@Capy [repo=owner/name, branch=my-branch] fix the login bug
Both formats are equivalent. Brackets are optional — bare key=value pairs work anywhere in the message. When both formats are present, bracketed values take priority.

Available flags

FlagValuesDescription
repoowner/nameTarget a specific repository
branchbranch nameUse a specific base branch
verbosetrue / falseOverride the org-wide verbosity setting for this thread

Verbosity

The verbose flag controls how many messages Capy posts in the Slack thread:
  • verbose=true (or on, yes, all) — post every assistant message (default)
  • verbose=false (or off, no) — only post the final response
You can set the default for your entire workspace in Settings → Apps → Slack under Message verbosity. The per-message verbose flag overrides the org-wide setting.

Examples

@Capy fix the auth redirect loop
@Capy repo=acme/backend deploy the latest changes
@Capy branch=staging verbose=false run a full code review
@Capy [repo=acme/api, branch=feature-x] add rate limiting to the /users endpoint

Personal connection

Each team member can link their own Slack account for richer functionality. This lets Capy:
  • Search messages on your behalf
  • Read private channels you’re a member of
  • Read your DMs (if you grant permission)
To link your account:
  1. Go to Settings → Apps → Slack
  2. Under Personal connection, click Link account
  3. Authorize Capy with your Slack user token

Permission levels

PermissionWhat it enablesDefault
Search & public channelsRead and search messages in public channelsAlways on
Private channelsRead messages in private channels you’re a member ofOff
Direct messagesRead your DMs and group DMsOff
You can toggle these permissions anytime. Changes require reconnecting to Slack. If an agent needs a permission you haven’t granted, it will post a prompt in the Slack thread asking you to upgrade. You can disable these prompts in the settings.

What agents can do with Slack

When a task is started from Slack, agents have access to these capabilities:
  • Read messages from any channel or thread (respects your permission level)
  • Search messages across the workspace
  • Send messages to channels or threads, with optional file attachments
  • React to messages with emoji
  • List channels to find the right conversation
Agents always respond in the Slack thread that started the task. They can also send messages to other channels when needed.

Permissions

PermissionPurpose
Chat:writePost messages and replies
Channels:readList and read channels
Reactions:writeAdd emoji reactions
Files:writeUpload file attachments
Users:readResolve display names

Troubleshooting

Make sure the Capy app is installed in the channel. Type /invite @Capy to add it. Also verify the Slack workspace is connected in Settings → Apps → Slack.
Check your channel mappings. If the channel isn’t mapped, tasks use the default project. Set one in Settings → Apps → Slack.
The thread may be muted. Type unmute or @Capy unmute in the thread to re-enable normal replies. Direct @Capy mentions still work while a thread is muted.
That’s expected. Messages starting with aside are excluded from Capy’s processing and do not appear in the thread context the agent reads later.
The user who started the task needs to link their personal Slack account and enable private channel access. Go to Settings → Apps → Slack → Personal connection.
Disable them in Settings → Apps → Slack → Permissions → Upgrade notifications.