Slack
July 13, 2020

The Ultimate Guide to Building Slack Workflows in 2020

Building Slack workflows is the secret to overcoming the inefficiencies that emerge as organizations get larger.

We all need processes to help our teams stay organized and moving work forward. But, these processes are tediously manual. We've all had the experience of work disappearing into the black hole of Slack DMs.

But, what if we had a way to structure our processes into forms that people fill out, that automatically route their request or tasks to the right people to follow up? That's where Slack workflows can help.

What is workflow automation?

Workflow automation is when you have software take the tedium out of multi-step, multi-team workflows.

Think of a process at your company, like a hiring manager getting approval to make an offer to a job applicant. We want to gather information from the hiring manager, like the intended salary, job title, department, etc. Then we may want to route it to get approved by several people — the department head, perhaps someone in HR to ensure the seniority and salary is in line with other departments, and maybe someone in finance to verify we have room in the budget.

A process to get a job offer approved and sent to a candidate.

Lots of things could go wrong with doing this process manually. Managers may hire infrequently and have to inquire about what the right process is. They may not include all the relevant details when they submit the request to hire. The department head might forget to check with finance to see if there's enough budget. Or, the request could be buried in a busy channel of Slack messages. In our increasingly remote workforce, time differences can easily lead to requests getting missed in busy Slack channels.

These problems could be avoided if we structured our workflows into an app to make sure things happen in the right order, in the right way. For instance, we could have a form gather the information we need from the hiring manager so we never have to go back and ask for more information. That saves a ton of time and frustration. Further, we could have the app know to route the request to the three different approvers and give them buttons to sign off on the hire. Then, once things are approved and the offer is accepted, our workflow could assign tasks to someone to buy the new hire a laptop or setup orientation meetings. Finally, all of this activity could be then logged in a spreadsheet for auditability, or the offer details sent to an HR app to update the employee's attributes there.

Automating the various parts of a process like that is what we call workflow automation.

The two kinds of workflow automation

There are actually two kinds of workflow automation used by many teams:

  • Data-driven workflow automation: When automation listens for changes in one app and updates data in another app. For instance, you might have automation that triggers when a lead requests a demo on our website, which then creates a lead in our sales CRM. This kind of automation helps us keep data in sync across multiple apps. Companies like Zapier and tray.io focus on data-driven workflows.
  • Human-driven workflow automation: When automation is triggered by one person or team that then routes a work item along a set of steps for other teams to take action — like getting  approvals, assigning tasks, or asking for information. For instance, you might have automation where someone needs to build a quote for a services contract. They could specify the details of what the customer needs via a form, which is then routed to our delivery team to estimate hours. Once they are done, the system could automatically route it to sales leadership to sign off before triggering a task for the sales person to send the approved quote. Human-driven workflow automation can be handled in Slack via Wrangle (that's us!) or Slack's Workflow Builder feature. Wrangle is integrated with Zapier, so you can cover both kinds of automation in one continuous workflow.

Benefits of human-driven workflow automation in Slack

  • No more unstructured requests. We can have people fill out a form or trigger a workflow from data changing in another app. Now we don't have to manually ask people for more context on their request, speeding up the process.
  • No more process diagram to learn. Let's face it: no one wants to read our meticulous process document and keep up as we change things. With automation, the process owner can configure the system to route work to the right approvers or contributors, but no one else has to read a document to learn the process. The workflow automation just handles it.
  • No more tedious, manual paper-pushing. So many processes rely on us remembering to message the next person in the chain (if we even know who we're supposed to get involved). Then we have to wait on them to reply. Sometimes it's really hard to even know if they actually completed the request we sent over, or whether it got lost in a Slack DM.
  • Look back at decisions later. If we get these manual processes out of DMs, ideally into a workflow automation tool that can store a log of previously completed processes, we can audit our decisions later. No more searching through Slack trying to find the context of where someone individually signed off in a DM.
  • Interface with data-driven workflow automation. The activities that humans take in a human-centered workflow, like filling data into a form, could then be routed via a data-driven workflow tool to update various apps.

What workflows could you automate in Slack?

Approvals

You could manage approvals in Slack for things like time-off requests, purchase approval, signing off on sales contracts, and reviewing content for marketing.

Tasks

You could automatically route tasks to HR teams while onboarding a new employee (e.g. to purchase their laptop, or schedule them for a getting-to-know-you lunch with someone from another team). Or during customer onboarding, you could have automation that triggers the customer success team to schedule a kick-off call with the client when a deal is closed in your sales CRM.

Notifications

Using automation to send messages at certain times can be really useful in Slack. You could have an automation that welcomes a new employee to a channel when they join. Or you could have automatic status updates get posted in a channel as we make progress on a multi-step workflow like onboarding a customer. Or, just a simple celebratory message in a channel when a deal closes in our CRM.

Forms

Many processes require gathering data in the right format at various steps. If you're approving a request to purchase a new piece of software, you might want the purchaser to fill out a structured form with details on how many people will be licensed to use the software. In a marketing content review, you may want your staff to detail who the intended audience is for the content, or where they hope to syndicate it.

Slack's Workflow Builder feature

Defining the steps of a process in Slack Workflow Builder

Slack's Workflow Builder is a good place to start with basic automation inside the chat platform. Workflow Builder lets you build multi-part automations: when something happens, post a message or a form to a channel or DM (see the full list of triggers and actions below).

For instance, when a new member joins a channel, automatically send them a pre-written welcome message explaining what the channel is used for. Or, you can build a form to structure a request, say for an IT help request, and post that in the IT channel for someone to follow up on.

If you use Zapier, this should sound pretty familiar (in fact, you can do most of these simple automations in Zapier as well).

Where to find the Workflow Builder in Slack

Slack's Workflow Builder can be found in the top left of Slack. Click on the name of your workspace, go down to Tools, and then you'll see Workflow Builder.

Triggers in Workflow Builder

Slack's Workflow Builder lets you trigger your automation when one of several things happens:

  • Shortcuts menu: People can click on your workflow from the Shortcuts menu (that's the lighting bolt icon next to the chat window at the bottom of a channel in Slack)
  • New channel member
  • Emoji reaction: Any time someone reacts to a message using an emoji reaction
  • Scheduled date & time: Launch a workflow on a recurring schedule, like every Monday
  • Webhook: This one is more advanced. It allows developers to trigger a workflow when something happens in an app they've built. Something like Zapier could also be used to trigger the webhook to start a Slack workflow.

Actions in Workflow Builder

Once your workflow has been started by one of the Triggers listed above, you can then automatically take one of two actions inside Slack:

  • Send a message: Send a message to a channel or directly to a person. You can pre-define the message, and even use merge fields to customize it using data from a form
  • Send a form: Send a custom form with fields you define, either to a channel or directly to a user in your Slack organization.

Slack Workflow Builder Examples

Slack publishes a directory of example workflows you can learn from. Here are a couple useful ones. Check them out to see screenshots of what building a Slack workflow is like:

Limitations of Slack's Workflow Builder

Slack's Workflow Builder is a powerful way to automate simple messages and forms within the platform. But when we want to use it for more complex workflows, the kind that get our most important work done, there are a few gaps to be aware of.

  • Hard to do multi-step workflows. It's pretty good for doing two-step flows, like having someone fill out a form and then post a message. But you have to string together multiple "workflows" to handle something like an approval (you need a second one to see if the approver clicked on an emoji, which then needs to notify you that they approved).
  • Lack of privacy. Lots of legal and HR processes need a bit more data privacy than Slack Workflow Builder is tailored for. Requests have to get posted to a channel to have a group like HR react to them, but you probably don't want every sensitive HR request going to a channel instead of a more private place.
  • Little paper trail. For something like an approval, the only record that someone approved a request is that they reacted to the request with an emoji. That's really hard to find later when you need to audit who approved something.
  • Can't assign tasks to close the loop. Lots of processes involve assigning tasks to someone to complete the workflow. After you approve a new job offer, someone needs to get automatically reminded with a task to actually send it. There's no way to see that they actually checked off that they did the task.
  • No dashboard of work waiting on you. If every request is a notification in a channel or DM, that means you have to be really careful not to miss one. There's no central place to see all the processes waiting on your input, so you'll have to check lots of channels to see if anyone is waiting on you (or to see progress on your own requests).
  • Can only have one button in your message. Workflow builder has a cool feature to include a button underneath your message (i.e. an "I approve" button for an approval flow). But, lots of real-world processes need more options, like "Deny" or "Request Changes."
  • No logical routing. You can send someone a form field, but you can't use conditional logic to decide where to route the request. For example, a support request might need to be routed to engineering for certain severe issues, but to a support specialist for simpler requests. Or a contract might need approval from the department head if the purchase is over a certain dollar amount.
  • Little integration with other apps. The only way to kick off a Slack workflow from another app is to have the developer skills to know how to trigger a webhook. And the data collected by Slack forms in Workflow Builder can't be sent to other apps to keep them up to date (like your sales CRM).

Take Slack workflows to the next level with Wrangle

Wrangle is a no-code tool for building human-centered workflows, inside or outside of Slack. It makes multi-step workflows really easy — you can string together forms, approvals, and tasks in a drag-and-drop builder. In five minutes, you can automate a complex approval workflow with parallel approvals from a department head, legal, and finance.

Designing a Slack workflow using Wrangle

It's designed to be what you need for serious work processes that Slack Workflow Builder doesn't cover. And it's tied in to Zapier, so you can trigger human workflows from any of the other apps you use, and update them based on your Wrangle workflow.

Approving requests in Slack workflows with Wrangle

Your team gets simple Slack notifications with clear approval buttons, task checkboxes, and custom forms. And you can use conditional logic to route a request to different people based on what people enter into the form.

Completing tasks in a Slack workflow using Wrangle

All of the workflows are tracked, so you have a full audit trail. And there's a simple dashboard (in Slack, for each user) that shows what work is waiting on you — and the current status of all of the workflows you initiated.

You can learn more about Wrangle's workflow tool for Slack and request access now.