Approvals stuck in email and chat, right now, in your inbox
A PO for $4,200 in replacement parts has been waiting three days for sign-off. It's not stuck because anyone's against it. It's stuck because the approver is on a Slack thread with forty other messages, and the request scrolled past around message twelve. Nobody's ignoring it on purpose. It's just another one of the approvals stuck in email and chat this week, and there are probably a dozen more like it.
This is what "approvals stuck in email/chat" actually looks like day to day. Not a dramatic failure. A slow leak. A discount request buried in a DM. A hiring approval sitting in someone's Gmail "starred" folder next to a newsletter they never unsubscribed from. A vendor contract waiting on a reply that never came because the CC line had six people and everyone assumed someone else would answer.
Why it happens
Email and chat are built for conversation, not for tracking state. They're great at "did you see this?" and terrible at "is this done, and who's blocking it?" There's no status field. No due date that actually nags anyone. No record of who approved what, when, or why, until someone needs that record for an audit and finds a paper trail made of screenshots.
Most companies don't choose this on purpose. It happens by accretion. Someone emails a manager for a one-off exception in year one. By year three, that email thread is the entire approval process for a $2M spend category, because nobody sat down and decided to build something better. The informal thing just never stopped being used.
Chat makes it worse in a specific way: it feels faster, so people trust it more than they should. A Slack "yep approved π" feels like a decision. It isn't a record. It has no owner, no linked request, and it disappears into scroll within a day. Compare that to a system where an approval is a row with a timestamp, an amount, and an approver ID attached. One of those survives when someone asks "wait, who signed off on this?" six months later. The other one doesn't.
Why the common fixes fail
The instinct is to add process on top of the mess: a shared spreadsheet tracker, a dedicated Slack channel called #approvals, a rule that all requests go through a specific email alias. These feel like fixes. They rarely hold.
The shared tracker dies from friction. Someone has to remember to update it after the email or Slack conversation happens elsewhere, which means the tracker becomes a second job nobody has time for. Within a month it's stale, and stale data is worse than no data because people keep trusting it.
The dedicated channel just moves the pile. #approvals becomes exactly as noisy as the inbox it replaced, just with different scrollback. You've renamed the problem.
The "route everything through one alias" rule breaks on volume. It works for the first fifteen requests a week. At sixty, whoever owns that alias becomes a bottleneck and starts batch-processing on Fridays, which means everything upstream of a Friday decision sits idle for days.
None of these fixes address the actual gap: there's no single place where a request has a state (pending, approved, rejected, escalated) that updates automatically, and that everyone involved (requester, approver, and whoever needs the history later) can see without asking.
The tradeoffs, honestly
Buying or building a real approval workflow isn't free, and it's worth being straight about the costs before you commit to one.
- Tooling cost vs. hours lost. A basic approval workflow module in a system like Airtable, Monday, or your ERP/CRM's built-in automations runs $20 to $80 per user, per month, depending on scale. Compare that to the actual cost of delay. If your ops lead spends 5 hours a week chasing sign-offs across email and Slack, that's roughly 250 hours a year. At a loaded cost of $40/hour, that's $10,000 in chasing, before you even count the cost of the delayed decisions themselves: a vendor discount missed, a hire who accepted another offer while waiting.
- Rigidity vs. flexibility. A formal workflow with fixed approval chains is great for repeatable requests (POs, time off, standard discounts) and bad for one-off judgment calls that need a real conversation. Don't force every exception through the same rigid path. Build an escape hatch for genuine edge cases, or people will route around the system entirely.
- Speed to set up vs. speed to change. No-code tools (Airtable automations, Zapier-triggered approval steps, native workflow builders in HubSpot or NetSuite) get you running in days. Custom-built approval logic takes longer but bends to your actual process instead of forcing your process to bend to a template.
- Single source of truth vs. tool sprawl. The real win only shows up if the approval request lives next to the data it's about: the PO next to the vendor record, the discount request next to the deal in the CRM. Bolting a generic approval tool onto the side, disconnected from where the underlying data lives, just adds a fourth tool to check instead of fixing the first three.
A practical decision path
If approvals are stuck in your inboxes right now, work through this before buying anything:
- List every recurring approval type: PO sign-off, discount approval, time-off, expense report, contract review. Most companies find 4 to 8 that cover 90% of volume.
- For each one, ask whether the requester already has this data in a system, or is typing it fresh into an email. If the data already lives in your CRM, ERP, or project tool, the approval belongs there too, not in a separate app.
- Set a default timeout. If a request sits untouched for 48 hours, it should auto-escalate to a backup approver. This one rule kills most of the "it got lost in scroll" problem by itself.
- Decide what needs a hard record and what doesn't. Anything touching money, compliance, or headcount needs a timestamped, attributable approval. A "can I leave early Friday" doesn't need the same rigor. Don't over-engineer the low-stakes stuff or people will resent the system.
- Only after that, look at automation. Auto-routing based on amount thresholds, auto-reminders, auto-escalation: these are genuinely useful, but only once steps 1 through 4 are settled. An automation rule built on top of an undefined process just automates the confusion faster.
Where AI fits, and where it doesn't
There's a real temptation to point an AI assistant at the inbox and have it "handle approvals." It can summarize a backlog of pending requests, draft a reminder, or flag which of forty open threads look urgent based on dollar amount or keywords. That's a legitimate use, and it saves real time.
What it can't do is invent structure that doesn't exist. If a $4,200 PO and a $40 supply order both look like unstructured email threads with no linked amount field, no approver hierarchy, and no status, an AI agent has nothing reliable to act on. It's guessing from prose, the same way a new hire would. Give it a system where every request already has an amount, a requester, an approver, and a state, and it can genuinely route, remind, and escalate with something to be right or wrong against. Skip that step and you've just added a fast, confident way to be wrong.
Where to start
Pick your worst offender, the approval type causing the most delay or the most audit anxiety, and fix that one first. Don't try to overhaul every workflow at once; that's how these projects stall for a year and nothing ships. Get one approval type living inside a real system with a status field and an escalation rule, prove it cuts the delay, then move to the next.
If you want a second pair of eyes on this, we run a free 30-minute Process Teardown: we'll map one of your stuck workflows, show you where the hours are actually going, and tell you honestly whether the fix is a small automation or a bigger system change. No obligation attached. You can see the kind of before-and-after we mean in our case studies, where we've taken businesses running approvals and records across five disconnected tools and put them on one system AI can actually act on.
0 Comment