Slack Integration Guide
Chat and collaborate with Devin directly in your company Slack
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
-
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.
-
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:
-
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!
-
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
Keyword | Function |
---|---|
mute | prevents Devin from sending further Slack messages |
unmute | reverses the above |
(aside) , !aside | causes Devin to ignore the message (useful for commenting on Devin’s run directly in-thread) |
sleep | puts Devin to sleep; to wake Devin up, tag @Devin in thread |
archive | puts Devin to sleep + archives the session |
EXIT | ends 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
Permission | Description | Rationale |
---|---|---|
chat:write, chat:write.customize | Send messages as @Devin or using a customized username and avatar | Devin has to be able to respond to user requests |
commands | Add shortcuts and/or slash commands that people can use | Devin might gain more interactive features in the future that will require different commands |
files:read. files:write | Upload, edit, and delete files as Devin | Devin needs to manage files in order to send and receive attachments to/from the user |
channels:history, groups:history, im:history | View messages and other content in channels, groups, and DMs that Devin is in | Devin 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:write | Start direct messages with people and view basic information about direct messages that Devin has been added to | Devin needs to be able to initiate DMs in order to send users notifications via Slack |
reactions:write | Add and edit emoji reactions | Devin adds emojis to messages in order to mark runs as completed or failed |
remote_files:read, remote_files:write | View remote files added by the app in a workspace | Devin needs to manage remote files in order to send and receive attachments to/from the user |
users:read, users:read.email , users.profile:read | View people in a workspace as well as their emails and profiles | Devin needs to be able to match Slack users with Devin users based on their email address |