
When hiring, coordination and communication between recruiters, HR, candidates, and hiring managers are a real challenge. In this article, I will demonstrate our strategy and workflows to keep everyone in the loop and make the recruiting process as smooth and painless as possible.
Table of contents
Tools Used
- Slack
- Calendly - Any scheduling software that you can have a fixed link that connects to your calendar would work.
- Google Workspace (Gmail) - Microsoft Outlook can also work (or any other email provider that integrates with Slack).
The Problem
Before diving into the Slack setup, let me describe our hiring process first to show what we’re trying to solve.
Whenever we are hiring employees or contractors, my company tends to engage multiple sourcing partners. This allows us to tap into multiple candidate networks, and we can also get a variety of candidates. The communication with each of these sourcing partners is ad hoc; some have their own portals, but most simply use email.
Candidates that match our criteria first go through HR to ensure the same candidate hasn’t been sourced by one of our other partners or to check if we’ve interviewed them in the past. Their information is entered into a shared document, after which a hiring manager reviews the candidate’s resume to determine if an interview should be requested.
An email is sent to the recruiter, who then communicates with the candidate to schedule an interview with our hiring manager. The interview occurs with the hiring manager, after which a decision is made to either reject the candidate or make an offer.
As you can see, there is a lot of communication required:
- HR needs to be in the loop on new candidates.
- Hiring managers need to be notified to review a resume and later when an interview is to be scheduled.
- HR always wants to know the status of any candidates in the pipeline.
- Recruiters need to be told whether to proceed with candidates or not.
To begin tackling all of this, I created a recruiting channel in Slack with our HR and hiring managers invited. This will be where all the automation comes into play.
Starting with Lists
The first step to automating the various communication channels is to start with a place to store the data.
In this case, I’m using Slack lists as a central hub to store all the applicant information needed.1 I created a list with various fields, but the key fields for automating communication are the Name
, Source
(which recruiter sourced the candidate), and Stage
(status of the candidate).
Next, I created a list that contains the contact details of the recruiters. This list also contains a field called Source
, and this is the field that links the two lists together. Think of it as a foreign key in a DBMS. This will be used later to get the contact information per candidate to send external emails to the recruiter responsible for that candidate.
Fig 1. - Pseudo database diagram. Note: The Source value in both lists must match exactly.
Automation with Slack workflows
With these lists in place, what can be done with the data? Luckily, all of the automations needed can be done with the workflow builder inside of Slack.2
What actions do we want to automate?
- Notify the channel when a new candidate has been entered. This lets the hiring manager know to review the resume.
- Notify the recruiter via email when a hiring manager requests an interview.
- Notify the recruiter via email when a hiring manager rejects a candidate.
Each of these is triggered by a change to a value of a list item.
New Candidate Notification
This first automation is the simplest: notify the recruiting channel when a new candidate has been entered.

In our case, Resume Review
is the first stage, and since these workflows work off of “updates” to list items, we have to start the item with no stage and then move it.
To facilitate this, I created a workflow form entry in which the last step updates the stage to Resume Review
:

Requesting an Interview
Whenever a hiring manager determines the candidate is good enough to move to the next step, they mark them as Interview Requested
.
This workflow sends a message to the person who updated the status and will send an email on their behalf.

A crucial step here is making a separate list item’s data available to the workflow.
Previously in Fig. 1, the Source
value is considered a “foreign key”.
This can be used to select the recruiter from the list relevant to the candidate in question.

Now the appropriate recruiter is targeted to request an interview with the candidate via email.
Rejecting a Candidate
Similar to requesting an interview workflow, rejecting a candidate follows almost the exact same flow with the addition of communicating the candidate notes to the recruiter. It’s important to give feedback about the candidate to the recruiter to allow them to improve their sourcing process.

Conclusion
By implementing these Slack-based automation workflows, we’ve transformed what was once a chaotic web of emails and manual communications into a streamlined, transparent process. The real power lies not just in reducing manual work, but in creating a consistent experience that benefits everyone involved—from recruiters who get clear, timely feedback to hiring managers who can focus on what they do best: evaluating talent.
These same principles can be applied far beyond recruiting. Consider how list-triggered workflows could streamline customer onboarding, project handoffs, or equipment requests. The key is identifying any process where multiple parties need to stay informed as status changes occur.
If you’re ready to tackle communication chaos in your organization, start small—pick one workflow that causes the most frustration and build from there. Your future self (and your team) will thank you.
Lists in Slack are really powerful. Not only do they serve as a de facto database, but they can also trigger automated workflows when fields change. Additionally, you can create guided forms for entering the data so that you can control data entry like a regular application. Read more about Slack lists. ↩︎
Being able to create and maintain these automations directly in Slack without the need to build something that listens to webhooks makes this a simple process to add no matter what the skill level of the managing team is. Read more about Slack’s Workflow Automation. ↩︎