Revenue teams increasingly use agentic workflows and multi-step automation builders such as Make.com and Zapier to qualify inbound leads, enrich records and start prospect conversations. Even well-built agents hit edge cases. Examples include enterprise procurement questions, unusual budget figures, pricing negotiations and frustrated high-value prospects.
A note on naming: Zapier Central, launched in 2024, was renamed Zapier Agents in early 2025. In October 2026 Zapier announced it is folding Agents into AI by Zapier, an AI step you add to any Zap in the standard editor. This guide uses “Zapier” for the current product and mentions Central or Agents only for historical context. Where older tutorials describe the standalone Agents app, expect the interface to differ.
This guide shows how to build escalation paths that hand work from an automated agent to a person in Slack, with a clear owner for each escalated lead.
Why Human-in-the-Loop Matters in Sales Automation
Automation handles repeatable work well. That includes parsing inbound emails, enriching company data, drafting first-touch outreach and logging CRM updates. For enrichment, check that your data provider still sells what you need. Clearbit, for example, is now part of HubSpot’s Breeze Intelligence, and new customers are generally directed to HubSpot rather than a standalone API. Apollo is another common alternative.
Autonomous language-model steps also carry specific risks:
- Confident errors. A model can state wrong facts about pricing or policy with total assurance. In *Moffatt v. Air Canada* (2024), a British Columbia tribunal held the airline liable after its website chatbot gave a customer incorrect information about bereavement fares. The tribunal rejected the argument that the chatbot was responsible for its own statements. A sales agent that improvises discounts or contract terms creates the same kind of exposure.
- High-value leads. A large inbound opportunity usually deserves a senior account executive (AE), not a templated sequence.
- Stalled conversations. If an agent runs out of context or a tool call fails, the prospect shouldn’t be left waiting in silence.
A HITL design lets the workflow recognize these cases, pause, package the relevant context and put it in front of a person in Slack, where most sales teams already work.
Why Speed Matters
The most-cited research on lead response time is the Lead Response Management Study by James Oldroyd with InsideSales.com. It examined over 15,000 web-generated leads and more than 100,000 call attempts across six companies. It found that contacting a lead within five minutes, rather than 30, was associated with roughly 100 times higher odds of reaching the lead and 21 times higher odds of qualifying it.
The study measured *qualification*, not closed deals, so “21 times more likely to convert” overstates it. A separate 2011 Harvard Business Review analysis, “The Short Life of Online Sales Leads,” audited 2,241 US companies. It found that firms responding within an hour were nearly seven times more likely to qualify a lead than firms that waited one more hour. These studies concern human follow-up on web leads and predate today’s tooling. Treat them as strong evidence that speed matters, not as a guaranteed uplift for your funnel.
For escalations, this means your workflow’s main job is to get a qualified human to a hot lead quickly. Track that time and set an internal target, with five minutes a reasonable starting point.
Anatomy of an Escalation Loop
A dependable escalation design has four phases:
1. Trigger and monitoring. A scenario or Zap watches an inbound channel, a CRM event or an agent’s output.
2. Evaluation. Filters check deal size, intent, sentiment, an explicit request for a human, or a failed tool call.
3. Payload assembly. The workflow gathers the prospect’s details, a short summary, the lead score and a CRM link.
4. Slack delivery and ownership. A message with action buttons goes to the right channel, and the first valid click assigns an owner.
One caution on evaluation: the agent doesn’t produce a reliable confidence score on its own. If you ask a model to rate its own certainty, treat that number as a rough heuristic. Prefer deterministic signals where you can, such as an explicit pricing request, a deal size above a threshold, a known account name, or a tool error. Have the agent return structured fields (for example `intent` and `needs_human`) so your filters have something concrete to test.
Method 1: Make.com
Make builds automations as *scenarios* made of modules. Make’s AI Agents were rebuilt inside the scenario builder in February 2026, with a reasoning panel that shows the agent’s tool calls. Make also lists a Human in the Loop app for approval steps, but its documentation describes that app as being in closed beta, and a third-party review says it requires an Enterprise plan. The pattern below uses only standard Slack and webhook modules, so it works without that beta.
Step 1: Decide when to escalate
After your agent or parsing step, add a Router with filter conditions on the structured fields, for example:
- `intent` equals a request for custom enterprise pricing
- `lead_score` above your threshold
- `needs_human` equals true
Step 2: Build the context payload
Collect what the AE needs in one place:
- Prospect name, company and email
- Estimated deal size or annual recurring revenue (ARR)
- A two-sentence summary of what the prospect wants and why the agent stopped
- The last few conversation turns or the tool error
- A link to the CRM record
Step 3: Set up a Slack app that supports buttons
This is the step most tutorials skip. Buttons only work if Slack knows where to send the click:
1. Create a custom Slack app, add the scopes your modules need (at minimum `chat:write` to post), and install it. If you change scopes later, Slack will ask you to reinstall.
2. Create a Slack connection in Make using that app’s client credentials (under the connection’s advanced settings).
3. In a second scenario, add a Custom Webhook trigger and copy its URL. Make’s Slack documentation notes that its Slack watch modules only work with user connections and that an interactive bot needs the Custom Webhook module.
4. In the Slack app settings, turn on Interactivity & Shortcuts and paste the webhook URL as the Request URL.
Step 4: Post a Block Kit message
In the first scenario, use the Slack Create a Message module (or Make an API Call) with a Block Kit payload. Use a real channel ID, not a channel name:
```
{
"channel": "C0123456789",
"text": "High-value escalation: Acme Corp needs an AE",
"blocks": [
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "*Urgent sales escalation: enterprise lead stalled*"
}
},
{
"type": "section",
"fields": [
{ "type": "mrkdwn", "text": "*Company:*\nAcme Corp (est. $120k ARR)" },
{ "type": "mrkdwn", "text": "*Reason:*\nAsked for custom legal terms and a multi-year discount" }
]
},
{
"type": "actions",
"elements": [
{
"type": "button",
"text": { "type": "plain_text", "text": "Claim lead" },
"style": "primary",
"value": "deal_12345",
"action_id": "claim_lead"
},
{
"type": "button",
"text": { "type": "plain_text", "text": "View in CRM" },
"url": "https://crm.example.com/deals/12345",
"action_id": "open_crm"
}
]
}
]
}
```
The top-level `text` is the fallback shown in notifications. Store the message timestamp (`ts`) and channel ID that Slack returns, because you need them to update the message later.
Step 5: Handle the click
When someone clicks, Slack sends a `block_actions` payload to your Request URL. Keep these points in mind:
- Acknowledge quickly. Slack requires an HTTP 200 response within three seconds, or the user sees an error. Many Make builders add a Webhook Response module early in the scenario to guarantee this.
- Parse the payload. The interaction arrives as form-encoded data containing a JSON string. Make community guidance suggests running it through a Parse JSON module before filtering on `action_id`.
- Identify the claimer. The payload includes the Slack user who clicked and the button’s `value`, which is where your deal ID goes.
- Update the message. Replace the buttons with a status line such as “Claimed by @user” using Make’s Slack Edit a Message module with the saved channel and `ts`. Alternatively, use the `response_url` in the payload, which Slack allows up to five times within 30 minutes.
- Update the CRM. Set the deal owner in HubSpot or Salesforce and send the claimer a direct message with the full context.
Method 2: Zapier
Zapier offers two built-in approval mechanisms, and they behave differently. Choose based on whether you want reps to respond inside Slack.
Option A: Slack’s Request Approval action
This action belongs to Zapier’s Slack app. It posts a message with an Approve button and, optionally, a Decline button. Configuration includes:
- The message text, which can include fields mapped from earlier steps
- The channel
- Optional approvers. If someone not on the list clicks, Slack shows them a private “not authorized” message and the Zap keeps waiting.
- Custom button labels of up to 75 characters, so “Approve” can read “Take over”
- Optional confirmation dialogs
- Optional button URLs that open for the approver after they decide, which suits a CRM link
While waiting, the Zap run shows as *Waiting / Delay* and the step’s Status field reads “Pending.” It changes to “Approved” or “Declined” after a click. If you omit the Decline button, the only possible outcome is “Approved.” Pending requests expire after 30 days, and Zapier’s documentation describes no shorter configurable timeout for this action. Use Paths or filters after the step to branch on the result.
Option B: Human in the Loop by Zapier
Zapier’s built-in Human in the Loop tool has a Request Approval action with more control, including a configurable timeout and reminders. It differs from Option A in ways that matter for sales:
- It is a premium app available on paid plans.
- Reviewers must log in to Zapier to respond. The Slack message links them to the Zap step rather than offering buttons in Slack.
- You must share the Zap with reviewers, and on a Pro plan you can only send requests to yourself.
- The notification can go to email, Slack, or another Zap that you build around the New Approval Requested trigger.
- You set a timeout in minutes, hours, days or weeks, and choose whether the Zap skips the step and continues or ends the run when time runs out. A Paths branch can then reroute a skipped request, for example to a manager channel after 45 minutes.
- On approval, the step’s `Decision` field is `approved`.
- The action can’t be placed inside or after a Looping step.
For fast, one-click claiming in Slack, Option A is the closer fit. For a minutes-level fallback or a formal review trail, Option B is. If you need Make-style claim tracking by individual user with Zapier, the other route is a custom Slack app whose interactivity URL points at a webhook. That needs the same acknowledgment and parsing care described above.
Gating the agent itself
In AI by Zapier, you can set Require approval before running per tool. The agent can read data on its own but must wait for a human before an action that can’t be undone, such as emailing a client. Zapier also pauses a run for a human if a single run exceeds 75 tasks, which guards against agents that loop. Place the human gate before the risky action, not after it.
Best Practices
- Be selective. If every low-value question pings the sales channel, reps will mute it. Gate escalations on deal size, intent or named accounts.
- Put the “why” in the message. Include a short summary and a CRM link so no one has to dig for context.
- Enforce single ownership. Two reps can click nearly at the same time. Before reassigning, check in your CRM or a data store whether the lead already has an owner, and let only the first claim succeed. Updating the Slack message alone does not prevent a second action.
- Plan for silence. Decide what happens if no one claims within your target window. Options include re-pinging the channel, paging a manager or routing to another team. Remember that Zapier’s Slack approval step waits up to 30 days by default.
- Measure claim latency. Log the time between the escalation post and the first claim, and review it weekly alongside conversion by response time.
- Keep the prospect informed. While a human is being found, have the workflow send a brief, honest acknowledgment rather than silence, without making commitments the agent can’t keep.
Conclusion
Escalation rules and a well-designed Slack message turn an agent’s dead end into a clean handoff. Make gives you full control over Block Kit and per-user claim tracking, at the cost of setting up a Slack app and webhook. Zapier gives you faster setup through Slack’s Request Approval action, or a more controlled review path through Human in the Loop. Whichever route you choose, give the agent clear stop conditions and give reps one obvious button to take over. Then measure how long escalations wait for an owner.
