Once you’ve connected Slack to your organization, you’ll be able to initialize Devin via Slack just by tagging @Devin. Devin responds in-thread with updates and questions, just as in the regular chat interface.

Slack Organization Integration

  1. In the Integrations tab on your Settings page, click the “Connect” button to integrate your organization with the Devin Slack app. You have to be a Slack Admin to set up this integration.

  2. Once you’ve completed the flow, ensure that your status has updated to look like this:

Slack User Integration

Individual users can set up their Slack “Connected User” at https://app.devin.ai/settings/integrations

This is not required, but once set up:

  1. Users will be able to use the “send to channel” feature, which mirrors sessions started via the web app on Slack. This enables anyone in the channel (with Devin access) to quickly follow along and collaborate with Devin. Both Devin and the user need to be added to the same Slack channels for this feature to show up!

  2. Devin sessions started via Slack will show up with the proper Creator name, rather than “Slack User”.

    Once your integration is complete, your interface should look like this:

Note: If your user account is not properly connecting, ensure that your Slack email is the same as your email in https://app.devin.ai/settings. If not, please authenticate the correct email on Slack.

How to use Devin from Slack

Once you’ve installed the Devin Slack integration, simply trigger Devin with @Devin in any channel. You may include attachments to your message.

Devin will respond in-thread to your session. Now, you can communicate back and forth as you would in the regular chat interface.

Inline Slack Keywords & Functions

KeywordFunction
muteprevents Devin from sending further Slack messages
unmutereverses the above
(aside), !asidecauses Devin to ignore the message (useful for commenting on Devin’s run directly in-thread)
sleepputs Devin to sleep; to wake Devin up, tag @Devin in thread
archiveputs Devin to sleep + archives the session
EXITends the session
snapshot:<snapshot name>Use a particular snapshot with your run
playbook:<playbook-name>Use a particular playbook with your run

Turn on Slack Notifications

You can enable Slack notifications for specific runs and Devin will privately message you whenever there’s a status update. To do so, simply click “Enable Slack notifications” in the menu at the top of any run.

Dedicated Devin channel

We recommend setting up an specific channel (e.g. #devin-runs) to keep all of your Devin requests in one location.

Permissions Details

PermissionDescriptionRationale
chat:write, chat:write.customizeSend messages as @Devin or using a customized username and avatarDevin has to be able to respond to user requests
commandsAdd shortcuts and/or slash commands that people can useDevin might gain more interactive features in the future that will require different commands
files:read. files:writeUpload, edit, and delete files as DevinDevin needs to manage files in order to send and receive attachments to/from the user
channels:history, groups:history, im:historyView messages and other content in channels, groups, and DMs that Devin is inDevin has to access historical messages when he is launched inside of a message thread in order to retrieve the previous messages in the thread as context
im:read, im:writeStart direct messages with people and view basic information about direct messages that Devin has been added toDevin needs to be able to initiate DMs in order to send users notifications via Slack
reactions:writeAdd and edit emoji reactionsDevin adds emojis to messages in order to mark runs as completed or failed
remote_files:read, remote_files:writeView remote files added by the app in a workspaceDevin needs to manage remote files in order to send and receive attachments to/from the user
users:read, users:read.email, users.profile:readView people in a workspace as well as their emails and profilesDevin needs to be able to match Slack users with Devin users based on their email address