· AI HR Bot · 3 min read
How a leave request gets approved in Slack
Most approval processes die in transit — an email to the right person at the wrong time, a queue in a tool the approver opens weekly. In Slack, an approval can be a card in the direct message the approver already reads, with the decision one press away.
The shape below is the product's own: a fresh install seeds every Request type with an Approval Chain, so nothing has to be designed before the first Request works. Custom Approval Chains — your own steps, in your own order — are part of the Team tier. What is drawn here is the seeded default: the Employee's Lead, followed by their HR Contact.
Here is one vacation Request moving through it:
AI HR BotAPP
Vacation Request
Waiting for your approval
- Employee
- Anna
- Department
- Design
- From
- 2026-04-14
- To
- 2026-04-18
A direct message to the Lead, with no covering note — the card is the whole message.
AI HR BotAPP
Vacation Request
Lead approved — waiting for HR approval
- Employee
- Anna
- Department
- Design
- From
- 2026-04-14
- To
- 2026-04-18
The Chain's second step: the same card with the HR Contact, its subtitle now the state of the Request.
AI HR BotAPP
Approved — your vacation for April 14–18 is booked, and your Leave Balance is updated.
The decision arrives privately — and the Leave Balance moves now, not when the Request was filed.
The card is the whole message
The current approver gets the Request as a direct message with Approve and Deny buttons — no covering note, no link out to a queue. Who is asking, which department, which dates: the card carries everything the decision needs, and the chrome above is the product's own, down to the button labels.
Denying asks for a reason, and the reason is not filed away — the Employee sees it. A denial with a sentence attached is a conversation; a bare one is a mystery someone has to go and solve.
The Chain has state, and shows it
When the Lead approves, the Request moves one step, and the card waiting in the HR Head's Slack says so — the subtitle on the second card above is the product's own wording for that state, not our paraphrase of it.
An HR Head is never stuck behind somebody else's step: they can approve or deny any pending Request in the Workspace, whether or not the Chain is currently waiting on them. And the dashboard's Requests view is read-only — decisions happen in Slack, where the card is.
The balance moves last
The Leave Balance moves when the Request is approved — not when it was filed. Between filing and decision the number everyone reads stays true, and the moment the final Approve lands, it changes. How that number accrues in the first place is its own post, and the Employee's half of the story — asking, filing, checking — is in how to track PTO in Slack.
If your approvals live in forwarded DMs and memory today, the approvals page shows the full card set, the leave requests page shows what files them, and a fresh install arrives with the Chains already seeded.
Connects to your Slack in about 2 minutes.