Mindket

Inbound leads scored by AI and answered at once by SMS

Newversion 1 · updated

Overview

An n8n workflow that scores each new lead with an AI step, texts hot ones at once with calendar slots, alerts sales, and starts the rest on a nurture. It runs on a backend you bring.

Inbound leads scored by AI and answered at once by SMS is an n8n workflow in the Business category, listed by Mindket. It is free. This is version 1, last updated on . Download it on this page or copy its JSON, then import it into an n8n canvas. Nothing runs until you activate it in n8n.

At a glance

Runs in
  • n8n Cloud: import the file into a new workflow there
  • Your own n8n server: the same file and steps, with webhook addresses your tools can reach
  • Native nodes: swap an HTTP Request node for the n8n node of your CRM, calendar, messaging tool or Slack
  • One backend: a small service of your own that answers all nine calls

Platform

Connects 4 apps

How it works

Trigger

Lead webhook

It starts when a form, an ad platform or a CRM posts a lead to the lead-in webhook. A second webhook, call-ended, takes voice agent call summaries. A lead can carry:

  • A name, or a first and last name
  • An email address
  • A phone number
  • The service or interest
  • A message
  • The source, a company and a budget

Actions

  1. The lead is put in one shape, and a repeat from the last 24 hours is skipped
  2. Your backend’s model scores the lead and drafts a reply
  3. The contact is saved in your CRM with the tag hot-lead or nurture
  4. A hot lead gets the drafted reply by SMS or email, three calendar slots, a sales task due in 15 minutes and a Slack alert
  5. A cooler lead gets an email that starts a five day nurture
  6. A note with the AI summary is added in the CRM, and the webhook answers with the score and the route

Result

A scored contact in your CRM and a reply to the lead, plus three slots, a sales task and a Slack alert for a hot lead

Integrations

What you need before you start.

Your own REST API

Backend

Answers the calls for the model, the CRM, the calendar, messages and alerts.

NeedsAn address that answers the nine calls listed in the notes

Slack

Alerts

Receives the hot lead alert and the failure alert, through your backend.

NeedsA Slack channel your backend can post to

Vapi

Voice agent

Can post a call ended summary to the call-ended webhook.

NeedsA Vapi assistant set to post to the webhook

Retell AI

Voice agent

Can post the same call ended summary.

NeedsA Retell AI agent set to post to the webhook

Workflow check

Checked by Mindket on 13 Nov 2026

Steps
32 steps, starting when its webhook is called or on its trigger node
AI
No step calls an AI model
Sign-ins
No sign-in
API keys
No API key is left in the file
Step types
Mindket’s checker reads all 6 of its step types

Read from the workflow’s file, not from a run.

About

What it is

This n8n workflow answers new leads the moment they arrive. A webhook takes a lead from a form, an ad platform or a CRM and puts it in one shape. A 24 hour check skips repeats. An AI step scores the lead. A hot lead gets a text, three open times to book, a task for sales and a Slack alert. The rest start a five day nurture. A second webhook takes voice agent call summaries. Thirty two nodes do the work, beside two sticky notes.

Who it suits

Teams that answer leads too slowly: agencies, clinics, estate agents and B2B service firms. It also suits builders who want a blueprint for lead handling. Skip it if you have no backend or n8n nodes to stand behind the HTTP calls, since every outside system is reached that way.

Who uses it, and how
IndustryWho uses itHow they use itExample
AgenciesMarketing agenciesReply to ad leads before a rival doesAn agency’s ad form sends a lead, and the lead gets a text right away.
HealthcareClinicsOffer appointment slots to new enquiriesA clinic’s web form sends an enquiry, and the person receives three slots by text.
Real estateEstate agentsSend hot buyers to an agent with a short deadlineA buyer enquiry scores high, and an agent gets a task due in 15 minutes.
B2B servicesService firmsLog every lead in the CRM and nurture the cooler onesA cooler lead gets an email that starts a nurture sequence.

You need a fair amount of n8n and a backend: import a file, set one address and make your systems answer nine calls. Nothing in the file states a setup time.

Where to use it

Any n8n that can reach your backend and be reached by your forms will run it.

  • n8n Cloud: import the file into a new workflow there
  • Your own n8n server: the same file and steps, with webhook addresses your tools can reach
  • Native nodes: swap an HTTP Request node for the n8n node of your CRM, calendar, messaging tool or Slack
  • One backend: a small service of your own that answers all nine calls

Setup

Download saves a zip with workflow.json and Mindket’s setup notes in your downloads folder. The notes list the nine calls your backend must answer.

What you need first
NeedDetail
n8nOn n8n Cloud or on a server of your own
A backendAn address that answers the nine calls in the notes, or n8n nodes in their place
A modelBehind /llm/complete, for the lead score and the call summary
Your toolsA form, ad platform or CRM to post leads, and a voice agent to post calls
  1. In n8n, create a workflow, open its menu, choose Import from File and pick workflow.json.
  2. Set base to your backend’s address in Config, Config (calls) and Config (errors). In Config, also set brand and hot_threshold.
  3. If your backend needs a sign-in, add the credential to every HTTP Request node.
  4. Point your form, ad platform or CRM at the lead-in webhook, and your voice agent at the call-ended webhook.
  5. To get failure alerts, choose this workflow as the error workflow in the settings of the workflow you want watched.
  6. Before you go live, try three leads: a hot one, a cool one and a repeat.

How to use it

Post a lead to the lead-in webhook as JSON. The usual field names work, such as name, email, phone, service and message. The reply tells you the score and the route taken. Post a call summary to call-ended with call_id, from, transcript and duration_s.

What to change for a different result
To changeWhere
The hot scorehot_threshold in Config, 70 in the file
The brand namebrand in Config
The textsOffer 3 slots, Nurture: start 5-day sequence and SMS confirmation
The Slack channelsSlack alert to sales and Alert ops (Slack)
Your own systemsSwap any HTTP Request node for a native node

Example

A web form sends a lead named Sam Lee who wants a quote.

Your backend scores the lead 82, above the file’s threshold of 70. The contact is saved with the tag hot-lead, and Sam gets the AI’s drafted reply by text. Three open slots follow, a task is due in 15 minutes, and sales sees a Slack alert. The webhook answers with the score and the route taken.

For newcomers and experts

If you are new. n8n draws a workflow as boxes joined by lines, and each box, a node, does one job. A webhook is a web address that starts a run when something posts to it. Most boxes here call your backend by web address, so the workflow is the plan and your backend does the work.

For experts. Every rule lives in a Code or Set node and every outside call goes through base, so swapping a system means swapping one HTTP node.

Where to look closer
NodeWhat it doesWhat to know
Normalise + dedupe (24h)A Code node that maps common field names and keeps seen contacts in the workflow’s static dataThe repeat check survives only runs that a trigger starts on a published workflow
Merge lead + AI verdictA Code node that marks a lead hot when the score reaches hot_thresholdIt reads the AI answer from output
Reply in < 60 s (SMS / WhatsApp / email)An HTTP Request 4.2 with channel set to sms when there is a phone, else emailIt retries up to three times, and no WhatsApp channel is set
Appointment requested?An If node on the call outcome appointment_requestedIt books the first slot your backend returns
Error triggerPosts failures to #ops-alertsIt runs only for workflows that name this one as their error workflow

Good to know

It needs your backend, and its webhooks are open.

  • Your backend: nothing runs until base answers. The address in the file is a placeholder
  • Open webhooks: both have no sign-in. Once the workflow is published, anyone with an address can post a lead or a call, and each one can send a message to a real phone number. Turn on authentication in the Webhook nodes
  • Channels: the file never sets a WhatsApp channel. The reply goes out as sms or email, and your backend decides what sms means
  • Consent: texts and emails reach real people, so check the consent and marketing rules where you operate
  • Repeats: the 24 hour check lives in the workflow’s static data. n8n saves that only for runs a trigger or webhook starts on a published workflow, so a manual test does not remember earlier leads
  • Retries: five nodes retry up to three times, two seconds apart, so a send that fails after it reached the lead can go out again
  • Test mode: test_mode is set in Config, but no node reads it
  • Your data: lead details and call transcripts go to your backend and to the model behind it
  • Credentials: the JSON holds none

README and files

README

Inbound leads scored by AI and answered at once by SMS

An n8n workflow for a sales team, in three parts. A webhook takes a new lead from a form, an ad platform or a CRM. The workflow puts it in
one shape, skips repeats from the last day, scores it with an AI step and saves the contact. A hot lead gets an instant
text, three calendar slots, a task for a sales rep and a Slack alert. A cooler lead starts a five day nurture. A second
webhook takes call summaries from a voice agent, and a third part alerts you when a run fails.

Every outside system is reached through an HTTP Request node against one address, base. You bring a backend that answers
the calls in the table below, or you swap each HTTP Request node for the n8n node of your own system.

What is inside

  • workflow.json: the workflow as n8n exports it, 32 nodes beside 2 sticky notes. It holds no credential.
  • README.md: these notes.

What we changed from the original copy

Mindket cut one line from the first sticky note, which pointed to a personal site. Nothing else changed. The copy
already held only placeholders: https://api.your-company.example as the address and Your Business Name as the brand.

Before you start

  • An n8n instance, on n8n Cloud or your own server. The first sticky note asks for n8n 1.100 or later.
  • A backend with a model, a CRM, a calendar, a message sender and a Slack channel behind it, answering the calls below.
    Or your own n8n nodes in place of the HTTP Request nodes.

| Call | Sent | Expected back |
|---|---|---|
| POST /llm/complete, task qualify_lead | name, service, message, company, budget | output with score, intent, summary, reply and next_step, and a usage field |
| POST /crm/contacts/upsert | email, phone, name, source, service, lead_score, intent, tags | id and status |
| POST /messages/send | channel (sms or email), to, body, and for the nurture a sequence name | nothing is read |
| GET /calendar/slots | nothing | slots, a list of date and time strings |
| POST /crm/tasks | contact_id, title, due | nothing is read |
| POST /alerts | channel, text | nothing is read |
| POST /crm/notes | contact_id, text | nothing is read |
| POST /llm/complete, task summarise_call | transcript | output with outcome, summary and follow_up |
| POST /calendar/book | slot, contact, reason | slot |

Set it up

  1. In n8n, create a workflow, open its menu and choose Import from File. Pick workflow.json.
  2. Set base to your backend's address in all three of Config, Config (calls) and Config (errors). In Config, also
    set brand and hot_threshold, the score from which a lead counts as hot. The file has 70.
  3. If your backend needs a sign-in, add the credential to every HTTP Request node.
  4. Point your form, ad platform or CRM at the lead-in webhook, and your voice agent at the call-ended webhook. Use the
    production addresses once the workflow is published.
  5. For failures to reach you, choose this workflow as the error workflow in the settings of the workflow you want watched.
    Error trigger runs when such a workflow fails.
  6. Before you go live, try three leads: a hot one, a cool one and a repeat. The file's own note advises the same.

How a run goes

A lead arrives:

  1. Webhook: new lead (form / ad / GHL) takes a POST on lead-in and answers with the output of the last node.
  2. Config sets base, test_mode, hot_threshold and brand.
  3. Normalise + dedupe (24h) reads the lead from common field names, such as name, full_name or first_name with
    last_name. It rejects a lead with neither an email nor a phone, and marks a repeat when the same email or phone came in
    during the last 24 hours.
  4. Not a duplicate? sends a repeat to Skip duplicate, which answers with a short note.
  5. AI: qualify lead asks your backend for a score, and Merge lead + AI verdict marks the lead hot when the score reaches
    hot_threshold.
  6. CRM: upsert contact (HubSpot / GHL) saves the contact with the tag hot-lead or nurture, and Attach contact id keeps
    the id it gets back.
  7. Hot lead? splits the path. A hot lead gets Reply in < 60 s (SMS / WhatsApp / email). The reply goes
    by sms when there is a phone number and by email when there is not. Next, Calendar: next open slots reads the free
    times and Offer 3 slots sends the first three. After that, CRM: task for sales rep (15 min SLA) makes a task due in
    15 minutes, and Slack alert to sales posts to #sales-hot-leads.
  8. A cooler lead gets Nurture: start 5-day sequence, an email with the sequence name nurture-5-day.
  9. CRM: note with AI summary writes the AI's summary, and Respond to webhook answers with the lead, the score, the route
    taken and the contact id.

A call ends:

  1. Webhook: voice agent call ended (Retell / VAPI) takes a POST on call-ended, and Config (calls) sets base.
  2. Parse call payload expects call_id, from, transcript and duration_s, and rejects a call with no transcript.
  3. AI: summarise call + detect booking intent asks your backend for an outcome, a summary and a follow-up.
  4. CRM: upsert caller and CRM: call summary note save the caller and the summary.
  5. Appointment requested? checks for the outcome appointment_requested. If so, Calendar: slots, Book first slot and
    SMS confirmation book the first free time and text the caller. Respond (call) closes the run either way.

A run fails: Error trigger passes through Config (errors) to Alert ops (Slack), which posts to #ops-alerts.

Change the look

  • The hot score and the brand name: Config.
  • The texts sent: Reply in < 60 s (SMS / WhatsApp / email) uses the AI's reply. Offer 3 slots, `Nurture: start 5-day
    sequence and SMS confirmation` hold their own words. The last one says "technician visit", so change it if you do not
    book visits.
  • The Slack channel names: Slack alert to sales and Alert ops (Slack).
  • Your own systems: swap any HTTP Request node for the matching n8n node, such as one for HubSpot or Slack.

Good to know

  • Nothing runs until base answers. The address in the file is a placeholder.
  • Both webhooks have no sign-in. Once the workflow is published, anyone with an address can post a lead or a call, and each
    one can send a message to a real phone number. Turn on authentication in the Webhook nodes.
  • The file never sets a WhatsApp channel. The reply goes out as sms or email, and your backend decides what sms means.
  • Texts and emails reach real people, so check the consent and marketing rules where you operate.
  • The 24 hour repeat check lives in the workflow's static data. n8n saves that only for runs a trigger or webhook starts on a
    published workflow, so a manual test does not remember earlier leads.
  • Five nodes retry up to three times, two seconds apart. A send that fails after it reached the lead can go out again.
  • test_mode is set in Config, but no node reads it.
  • Lead details and call transcripts go to your backend and to the model behind it.
  • The JSON holds no credential.
Files
NOTICE.md  732 B
README.md  7 KB
workflow.json  29 KB

3 files, 37 KB, downloaded as a zip.

What’s new

  • Version 1 · 2026-11-12

Reviews

No ratings yet

Write a review

No reviews yet.

More from Mindket

See all from Mindket

Bonsai-27B-GGUF

lmstudio-community · Kit

A GGUF conversion of the 27B Bonsai model for LM Studio, with a 3.80 GB Q1_0 language file and a 0.93 GB BF16 vision projector. Tested for text, vision and par…

New

Runs DeepSeek-V4.1-Flash-1017 as a 2.9 bits-per-weight EXL3 quantization, a 196 GiB copy for people serving large models on their own hardware. Perplexity stay…

New

MusicGen Small

facebook · Kit

Generates short music clips from a text description or an audio prompt, in the small checkpoint of facebook's MusicGen. It suits developers and music hobbyists…

New

Similar in Business

See all in Business

pplx-decider-v1.1-27b

perplexity-ai · Kit

Picks the best option for a decision from text and images, such as which team should handle a request, with a probability for each choice, for developers who b…

New

NuExtract3

numind · Kit

Reads documents as text or images and fills a JSON template with the fields you ask for, or converts the pages to Markdown. A 4B model for teams that process s…

New

Drex DLM

nace-ai · Kit

Scores yes or no, multiple choice and rating questions about a document in one pass, with a probability for every option. An 8B decision model from Nace.AI tha…

New