7
3 Comments

A no-code lead routing system you can build today

When someone fills out your sales form, you need to decide what happens next. Should they get a setup guide? Should you reply yourself? Should you ask one more question? Or are they not a good fit?

Here's how to build a simple lead-routing system to help with that decision.

The system will save each lead, suggest the best next step, and create a draft reply for you to review before sending.

What you’re building

You’re building a lead router. The first version is very small:

  • Jotform for collecting leads
  • Google Sheets for tracking leads
  • Zapier for connecting all the steps
  • OpenAI in Zapier for suggesting the route
  • Gmail for creating the draft
  • Google Calendar or Todoist for follow-up reminders
  • Calendly for call booking
  • You for reviewing everything and tracking results

If a tool does not help with one of those steps, leave it out. Don’t add extra tools until leads are routed correctly.

Note: You should manually review and track conversions yourself until you know the system is accurate

Step 1 — Create the intake form

This form is how new leads enter your triage system. They fill it out first. Later, you’ll send their answers to your Google Sheet.

You can share the form link anywhere you collect sales questions, such as your pricing page, contact page, help docs, onboarding emails, etc.

  • Go to: Jotform → Create Form → Start From Scratch
  • Name it: Sales Triage Form

Add these fields:

  • Name
  • Email
  • Role
  • Company size
  • What are you trying to set up?
  • Plan interest
  • Timeline
  • Biggest question

Use dropdowns for fields that should be easy to sort.

For Role, use:

  • Founder
  • Agency owner
  • Creator
  • Consultant
  • Marketer
  • Operations
  • Developer
  • Student
  • Other

For Company size, use:

  • Just me
  • 2–5
  • 6–20
  • 21–100
  • 100+
  • Student / personal project

For Plan interest, use:

  • Free
  • Starter
  • Pro
  • Team
  • Enterprise
  • Not sure

For Timeline, use:

  • Today
  • This week
  • This month
  • Just researching

For the main open question, use something like:

  • What are you trying to set up?
    Do not use:
  • How can we help?
    That question is too broad and vague. You want a question that tells you what the lead is trying to do.

You now have a short form that gives you enough information to route the lead.

Step 2 — Create the triage board

Next, create the Sheet that will hold your leads.

  • Open Google Sheets
  • Create a Sheet called: Sales Triage

Add these columns:

  • Date
  • Name
  • Email
  • Role
  • Company size
  • Use case
  • Plan interest
  • Timeline
  • Question
  • Route
  • Reason
  • Draft reply
  • Status
  • Follow-up date
  • Conversion result
  • Notes

Set these status options:

  • New
  • Draft ready
  • Sent
  • Replied
  • Call booked
  • Converted
  • Lost
  • No response

This is your lead board. Each row is one lead.

Step 3 — Show one extra field to bigger leads

Most leads should get the short form. If someone is asking about a team plan or a larger team, add one more field. Something like: What team process are you trying to fix?

In Jotform, go to:

  • Settings → Conditions → Show/Hide Field

Show this field when:

  • Company size is 6–20
  • Company size is 21–100
  • Company size is 100+
  • Plan interest is Team
  • Plan interest is Enterprise

Small leads get the short form. Bigger leads give you one more detail before they are routed.

Step 4 — Add form answers to your sheet

Next, save each Jotform submission in Google Sheets. In Zapier, after the Jotform trigger, add:

  • Action → Google Sheets → Create Spreadsheet Row
  • Select the Sales Triage spreadsheet
  • Map the form answers to your Sheet columns
  • Submit a test form
    If it worked, each new form submission will create a new row in your Sheet.

Step 5 — Create the Zapier trigger

Next, connect Jotform to Zapier.

Go to:

  • Zapier → Create Zap
  • Set the trigger: Jotform → New Submission
  • Choose: Sales Triage Form
  • Click: Test trigger

Zapier pulls in your test submission.

Step 6 — Ask AI to choose the route

Now, add the AI step. This step reviews the lead details and selects the next step.

  • Add an action: ChatGPT/OpenAI → Send Prompt

Paste this prompt (or similar):

You are routing inbound product leads for a solo founder.

Choose one route:

1.  Self-serve guide    
2.  Founder reply    
3.  One qualifying question    
4.  Polite decline
    

Choose Self-serve guide when:
*   The lead is simple and can likely start with a guide, docs, or a template.   
Choose Founder reply when:
*   The lead looks like a real business lead. For example: a team, agency, client work, operations, onboarding, support, reporting, sales, or Team/Enterprise interest.  
Choose One qualifying question when:
*   The lead is unclear.

Choose Polite decline when:
*   The request is not a good fit.
    

Return only:
*  Route:
*  Reason:

Lead details:
*  Role: [Role]
*   Company size: [Company size]
*   Use case: [Use case]
*   Plan interest: [Plan interest]
 *  Timeline: [Timeline]
*   Question: [Question]

Replace the bracketed items with the Jotform fields.

Click: Test action

Step 7 — Save the route to Google Sheets

Next, send the AI result back to Google Sheets. Use the same row that Zapier created in Step 4.

  • Add: Action → Google Sheets → Update Spreadsheet Row
    Update these columns:
  • Route → Route
  • Reason → Reason

You can now see the suggested route inside your Sheet.

Step 8 — Ask AI for the email draft

After the route is saved, ask AI to write the draft email.

  • Add another action in Zapier: ChatGPT/OpenAI → Send Prompt
  • Give AI the route and the lead details.

Use this prompt (or similar):

Write a short email draft for this lead. Make sure the draft:
*   Uses simple language    
*   Is under 100 words    
*   Makes no feature promises    
*   Does not offer discounts    
*   Does not make up product details    
*   Does not mention AI
    

Route: [Route]

Lead details:

*   Name: [Name]    
*   Use case: [Use case]    
*   Team process: [Team process]    
*   Question: [Question]
    

Links:
*   Setup guide: [link]    
*   Docs: [link]    
*   Calendar: [link] 
    

Write the email based on the route:
*   If the route is Self-serve guide, thank them and send the guide. Invite them to reply if they get stuck.    
*   If the route is Founder reply, mention what they want to do. Ask what they use now. Only add the calendar link if this is for a business.    
*   If the route is One qualifying question, ask if this is for a business workflow, client project, or personal project.    
*   If the route is Polite decline, say this is probably not the right fit. Share docs or another helpful link if you have one.

AI will now create a short email draft.

Step 9 — Create a Gmail draft

In the same Zap, add: Action → Gmail → Create Draft

  • Set to: Email from the form

Subject: Use one of these:

  • Self-serve guide → Best next step
  • Founder reply → Quick question about your setup
  • One qualifying question → Quick question
  • Polite decline → Re: your question

Set body: AI draft reply

  • Click: Test action

Note: The Zap should create a draft, not send the email. At least for the first few weeks, you should review every draft before sending it.

Step 10 — Add follow-up reminders

Only follow up when it is worth your time. Here's an example setup:

  • Founder reply → follow up tomorrow
  • One qualifying question → follow up in 2 days
  • Self-serve guide → no follow-up
  • Polite decline → no follow-up

If you have Zapier Paths in your plan, use them here.

Path 1: If Route contains Founder reply

  • Action: Create a Google Calendar event or Todoist task
  • Task title: Follow up with \[Name\]
  • Date: Tomorrow

Add this note:

  • Use case: [Use case]
  • Question: [Question]
  • Draft created: yes

Path 2: If Route contains One qualifying question

  • Action: Create a Google Calendar event or Todoist task
  • Date: 2 days from now

If you do not have Zapier Paths: Use separate Zaps or do this part manually.

Now, only the leads that need attention get follow-up tasks.

Step 11 — Review each email

Do this part manually. Open Gmail drafts each morning. Before you send a draft:

Check the route

  • Check the email
  • Remove any wrong claim
  • Remove anything too pushy
  • Add a personal note if needed
  • Send the email

If there is a calendar link, review the draft twice.

Step 12 — Track conversion

This should also be done manually at first. When something happens, update the Sheet.

  • If they reply, mark them as: Replied
  • If they book a call, mark them as: Call booked
  • If they buy, mark them as: Converted

For Conversion result, use:

  • Converted: if they buy
  • Did not convert: if they do not respond

You can now see which routes are working.

Step 13 — Improve the routing weekly

The first version will not be perfect. Every Friday, open the Sheet and review the last 20 leads. Find one routing problem.

Maybe students are getting too much attention. Maybe agencies are not getting enough. Maybe some unclear leads need a better question.

Fix that one rule in the prompt. Leave the rest alone until the next week. You don't want to overhaul the whole system every week.

Do this every week. The router will get better over time.

on July 9, 2026
  1. 1

    solid, genuinely usable framework. two additions from running the outbound side of this:

    dedup/suppression at intake — key your sheet on email (or domain) and, before the AI routes anything, check whether that person/company already exists (open lead, existing customer, or previously declined). otherwise you'll draft a fresh "nice to meet you" to someone your co-founder emailed last week, which is worse than staying quiet. a single QUERY/VLOOKUP against past rows handles it.

    verify the email at intake — a chunk of form fills are typos or throwaway addresses, and catching those before the Gmail draft saves you writing careful replies that bounce.

    the "update the same row" step is the one people skip, and it's the whole ballgame — the value only compounds if every touch writes back to one row so status and suppression stay true. what are you using to stop the same company coming in twice under different emails?

  2. 1

    Great build. Lead routing is one of those operational problems that looks simple at first but becomes increasingly complex as teams, channels, and qualification rules grow. A simple no-code system can already create a huge improvement by making sure the right lead reaches the right person at the right time.

    The next interesting layer is adding intelligence around prioritization — lead scoring, enrichment, response-time tracking, and automated follow-ups. The goal isn’t just moving leads around; it’s helping teams focus their energy on the opportunities most likely to convert.

    This is a great example of how no-code automation can turn messy manual processes into repeatable systems. Excited to see how this evolves!

  3. 1

    suggesting the next step is such a time saver - no more fretting over how to handle a new lead. thank you!

Trending on Indie Hackers
How to rank #1 on ChatGPT? User Avatar 111 comments I built a startup-idea scanner. It just told me none of my 3,400 ideas are easy wins. User Avatar 66 comments I Tested Agenmatic for Finding Customers in Communities — Here’s What I Learned User Avatar 63 comments Building a Shopify bundles app for stores with real fulfillment: here's the wedge User Avatar 42 comments “I’ll just post on Upwork” is not a client strategy. Here’s what I built instead. User Avatar 40 comments I recorded myself using 200+ indie SaaS products cold. Here are the 7 conversion killers that keep showing up. User Avatar 31 comments