OperateAI
← All playbooks
Sales & Growth7 min read

60-Second Lead Reply Playbook

Website, LinkedIn, and WhatsApp leads read, scored, and answered in under a minute, with the unclear ones routed to a human.

Just want the file? Grab it here ↓
Ajay Singhadiya

Ajay Singhadiya

Founder, OperateAI

first reply, down from 3.5 hours
< 60 sec
first reply, down from 3.5 hours
of leads need no human touch
80%
of leads need no human touch
intent read correctly
92%
intent read correctly

Numbers are from the live build, measured across 40 to 50 inbound leads a day.

The problem

Most teams do not have a follow-up problem. They have a gap problem. Between the moment a lead arrives and the moment someone replies, there is a queue. That queue grows when the team is busy, which is exactly when the good leads are landing. Response time ends up tracking how loaded your team is, not how hot the lead is.

In this build, the gap averaged 3.5 hours and stretched to 6 or 7 on heavy days. Every lead was researched by hand on LinkedIn and the company website before anyone typed a word. Roughly 5 minutes of human work per lead, across 40 to 50 leads a day.

The fix is not a faster human. It is taking the human off the path for the leads the system can read confidently, and keeping them on the ones it cannot.

How it works

  1. One webhook for all three channels

    Website forms, LinkedIn, and WhatsApp all POST to a single n8n endpoint. One entry point instead of three trigger nodes keeps the scoring and reply logic in one place. Website forms and the WhatsApp Cloud API fire natively. LinkedIn has no webhook, so its messages reach the endpoint through a forwarder: a browser extension, an automation bridge, or an email rule on LinkedIn notification emails.

  2. Normalize three shapes into one record

    A code node flattens all three payloads into a single contract, so nothing downstream ever has to ask where a lead came from. Phone numbers get stripped to digits and a plus sign, because WhatsApp rejects anything else. Free email domains like gmail.com get blanked out rather than stored, which turns the company domain into a clean signal: present means a real business, empty means a personal address.

  3. The AI extracts facts, nothing more

    An Information Extractor node pulls six fields at temperature 0: job title, company, what they actually want, any timing signal, whether budget came up, and a one-line summary. Every field has an explicit escape hatch, and the system prompt tells the model to return empty rather than guess. That one instruction does most of the work. A model told to fill every field will fill every field, and it will invent a job title out of nothing.

  4. The code decides the tier, not the model

    Scoring runs in plain JavaScript, 0 to 10. Seniority is worth 3, because a founder or director can say yes without asking anyone. A business email domain is worth 2. Intent keywords are capped at 4, so one message stuffed with the word pricing cannot dominate. Stated timing is worth 2, a mentioned budget 2, and a website form 1 over a DM, because filling a form takes deliberate effort. The keyword list includes Hinglish words like kitna and kab, which is the step most people skip and then wonder why Indian leads score low. Keeping this out of the model means the tier is explainable line by line, it does not drift between runs, and fixing a bad score is one number in one place.

  5. A completeness check catches what the AI could not read

    Before anything gets sent, three conditions have to pass: a usable way to reply, a name to use, and enough message to understand. Fail any one and the lead lands in a Manual Review tab with a reason field explaining exactly why. Early attempts at parsing LinkedIn and WhatsApp messages hit around 60% accuracy, and the instinct was to fix the prompt. The right move was to ask for less. Roughly 80% of leads now run with zero human touch, and on that 80% the system reads intent correctly more than 92% of the time. If the AI node times out or returns broken JSON it continues instead of stopping, so an AI failure turns into a human task, never a bad automated reply.

  6. Draft and send on the lead's own channel

    Hot leads only. Warm and cold go to a nurture list. A second model call writes the first reply in under 90 words: open on their actual message, one concrete sentence on how this problem usually gets solved, then ask for a 15-minute call. The calendar link is appended in code after the model finishes, because a model cannot mangle a URL it never touches. WhatsApp leads get a WhatsApp reply, everyone else gets email. The Slack alert to sales fires after the reply has already gone out, so the team sees the lead and the reply together with nothing left to do except take the call.

Built with

n8nOpenAI (or Claude / Gemini)Google SheetsGmailWhatsApp Cloud APISlack

Get the workflow

You have seen the whole build. Now run it yourself.

  • The full 16-node workflow, import-ready, with sticky notes on the canvas
  • Both prompts: the extraction schema and the reply writer
  • The scoring code, with thresholds and the keyword list
  • The Google Sheet header row for all three tabs
  • Setup notes, the placeholder list, and four test payloads

Bring your own model API key, plus Google Sheets, Gmail, WhatsApp Cloud API, and Slack credentials. LinkedIn needs a forwarder to POST into the webhook, since it has no native one. Works on n8n cloud or self-hosted.

FAQ

Questions

Yes. This build uses Google Sheets as the system of record. Every lead is logged with its score, tier, and matched keywords. Add a CRM when your sales process actually needs it, not because a system diagram looks incomplete without one.
Yes. Swap the model on the two model nodes and nothing else changes. Extraction runs at temperature 0 and reply writing at 0.4, so any current small model handles both.
LinkedIn has no webhook and no official inbound API for messages. You need a forwarder that POSTs to the endpoint with source set to linkedin. A browser extension, an automation bridge, or an email rule on LinkedIn notification emails all work. Pick one before you build the rest.
Two small model calls per lead. At 50 leads a day that is a few hundred rupees a month in model spend, plus whatever your n8n hosting costs.
The extraction node is set to continue on error. The lead flows through with empty fields, fails the completeness check, and goes to the manual review queue. It never produces a bad automated reply.
This build assumes leads arrive one at a time and handles 40 to 60 a day comfortably. Past a few hundred, add batching and a rate limit wait on the send nodes.
Let's Build

Ready to get your time back?

Book a free 30-minute call. No pitch, no commitment, just a straight answer on where AI would save your business the most time and money right now.

Book a Free Call →
Free 30-minute callNo pitch, no commitment