Slack App Agent Orchestration (V2)
This is a 'Project' template which means that it contains a group of workflows that work together to achieve a particular aim
OverviewCopy
Slack Apps offer a way to to deploy AI Agents directly into where you entire team already works. This is a simplified architecture that focuses on this use case for an app. It works out of the box with Amazon Bedrock as the AI provider, but you can substitute your preferred vendor.
All you need to get started is a Slack authentication and an credentials for your AI vendor. You can create a Slack app using our preconfigured manifest in minutes and then you have a naive (just using the raw "knowledge" of the model) AI Assistant in your Slack instance.
You can take this to the next level by calling your other AI Assistants with your business knowledge and data (via Native RAG pipelines in the Tray platform) or AI Agents that can take actions in your systems.
If you need help reach out in the community in the #ai-help channel!
Set-upCopy
Prefer a video walkthrough to help? Check out this loom.
Import and enable the workflow
Click the three dots next to the trigger, then copy the webhook URL of the workflow (we will need this in a moment)
Create the Slack App (you will need Slack Admin access or admin approval to get this working in your Slack instance)
Go to the app admin part of Slack portal: https://api.slack.com/apps
Create New App > From a manifest
Paste your webhook URL (from step 1) in the
settings.event_subscriptions.request_url
part of the payload online 39
Validate the Event Subscription
Go to the Event Subscriptions part of your Slack App (left hand menu)
Click verify near the URL
Once verification is confirmed, SAVE YOUR CHANGES on this page
Update workflow
You can now delete the
trigger-reply
step from the workflow and set the Operation of the trigger to "Auto-respond with HTTP 200"
Create the Slack Authentication and Custom OAuth App in Tray
Go to one of the Slack steps in the workflow (this must be done from the properties panel inside the workflow on a Slack step)
Create a NEW authentication
Click on "Use own OAuth App"
Give it a name and description (can't edit this later, be descriptive)
Enter the details from your Slack App (under "Basic Information" part of your App in the Slack portal)
App Secret >> Client Secret
App Key >> Client ID
Ignore "signing secrets" and hit create
Add the scopes
Scroll all the way down and enter the following in the "Extra permission scopes"
assistant:write,im:history,chat:write,app_mentions:read,users:read,channels:history,groups:history,mpim:history
(yes, some of these are in the list. It's just faster to paste them all in this field)
Finish App Installation
If you're an admin you can complete this part, if you are not you will need an admin to accept your request to install this app
When the OAuth Dialogue closes, click Apply to update all the slack connector steps in the workflow with your new Auth
Update the config data
Enter the Bot User ID in the config data
(optional) Update the "waiting" message that the bot sends in the config
You can now
Talk with the App in public channels (only answers messages or threaded messages where it is tagged)
Talk with the App in private channels or group messages where you have explicitly added the app (by tagging it)
Talk with the App in agent threads (if you're on a paid plan and your admin has enabled these for you)
Talk with the App from the dedicated app channel or DM with the app
Next StepsCopy
A naive (ungrounded, only uses the inherent "knowledge" of a given model) Slack Chatbot is a great starting point, but this template and architecture is really just meant to get you to the next level.
Now you can deploy AI Agents (AI that can take actions and answer questions grounded in your business data and knowledge) through this same architecture. Just replace the Amazon Bedrock steps with calls to your Agent API.
If you need help reach out in the community in the #ai-help channel!