Published 8 months ago
Slackbots are super powerful. At n8n, we have been using them to get a lot done.. But it can become hard to manage and maintain many different operations that a workflow can do.
This is the base workflow we use for our most powerful internal Slackbots. They handle a lot from running e2e tests for Github branch to deleting a user. By splitting the workflow into many subworkflows, we are able to handle each command seperately, making it easier to debug as well as support new usecases.
In this template, you can find eveything to setup your own Slackbot (and I made it simple, there's only one node to configure 😉). After that, you need to build your commands directly.
This bot can create a new thread on an alerts channel and respond there.
Or reply directly to the user.
It responds for help request to return a help page.
It automatically handles unknown commands.
It also supports flags and environment variables. For example /cloudbot-test info mutasem --full-info -e env=prod
would give you the following info, when calling subworkflow.
alerts_channel
with alerts channel to start threads oninstance_url
with this instance url to make it easy to debugslack_token
with slack bot token to validate requestslack_secret_signature
with slack secret signature to validate requesthelp_docs_url
with help url to help users understand the commandscommands
in Set Config. Each command must be mapped to a workflow id with an Execute Workflow Trigger
nodeImplement complex processes faster with n8n