How to automatically assign inbound leads to sales reps in N8n

If you’re tired of dumping new leads into a messy spreadsheet and then arguing over who should follow up, you’re not alone. Assigning inbound leads to sales reps manually is boring, error-prone, and—let’s be honest—nobody actually keeps up with it. This guide is for you if you want a straightforward, automated way to distribute leads to your team using N8n, the open-source workflow automation tool.

We’ll walk through everything you need to get this working: from capturing your inbound leads, picking a fair assignment method, to actually auto-assigning leads to reps and notifying everyone. No fluff, no magic thinking—just real steps that work.


What You’ll Need Before You Start

  • An N8n instance: Self-hosted or cloud, doesn’t matter. If you’re not set up yet, check N8n’s docs for install guides.
  • A way to capture leads: This could be a form (like Typeform or Google Forms), CRM (like HubSpot or Pipedrive), or even just emails coming in.
  • A list of sales reps: Names and emails, at minimum. A spreadsheet or database is fine.
  • A basic idea of your assignment rules: Round robin? Territory? Random? Keep it simple at first.

If you don’t have these, pause and get them sorted—it’ll save you headaches.


Step 1: Pick How You’ll Get Your Leads Into N8n

First things first: how are your leads coming in? N8n can connect to just about anything, but don’t overcomplicate it.

Common options: - Form submissions: Use the HTTP Webhook trigger in N8n to catch form data. - CRM: Use built-in N8n integrations (e.g., HubSpot Trigger, Pipedrive Trigger). - Emails: Use the IMAP Email Trigger node to catch new messages.

Pro tip: If you’re not sure, start with a simple webhook. Most form tools (even Google Forms with a little hackery) can POST to a webhook.

Ignore anything that requires “just a little” custom code unless you have dev resources. You want this to work, not to become someone’s side project.


Step 2: Create Your Sales Rep List (and Keep It Up-to-Date)

You need a source of truth for who can get leads. Keep it dead simple.

Best options: - Google Sheet: Easiest to edit, N8n connects out of the box. - Database: If you’re fancy, MySQL/Postgres are fine. - Static list: Hardcoded in N8n if your team never changes (I don’t recommend this).

In N8n: - Use the Google Sheets node to read your reps from a sheet. - Or, use the “Set” node to define a static list for testing.

Columns you need: Name, Email (maybe Territory if you want to route by region).

Don’t waste time building a “reps management system”—just use what you’ve got.


Step 3: Choose Your Assignment Logic

Here’s where a lot of people overthink it. You have a few main options:

  1. Round Robin: Assign leads in order, cycling through the rep list.
  2. Random: Randomly pick a rep each time.
  3. Based on Territory or Field: Assign based on region, product, etc.

Start with Round Robin unless you have a real reason not to. It’s fair, easy to explain, and N8n makes it simple.

If you want to get fancier later (load balancing, priority reps, etc.), get the basics working first.


Step 4: Build Your N8n Workflow

Here’s the real work. Let’s map it out step by step.

4.1. Set Up the Trigger

  • Webhook: Drag in the HTTP Webhook node, set it to POST.
    • Copy the URL and point your form/lead source to it.
  • CRM or Email: Use the relevant trigger node and connect your account.

Test this node so you know you’re actually receiving leads.

4.2. Fetch Your Rep List

  • Add the Google Sheets node (or your data source).
  • Set it to “Read” all rows from your reps sheet.

This gives you the pool of people to assign leads to.

4.3. Calculate the Next Rep (Round Robin Example)

  • Store the “last assigned rep” somewhere. Easiest is a tiny Google Sheet with one cell or use an N8n static data node.
  • Use an N8n “Code” node or “IF” node to:
    1. Read the last assigned index.
    2. Add 1 (and wrap around to 0 if you hit the end of the list).
    3. Store the new index for next time.
  • Pick the rep at that index.

Alternative: If this makes your eyes glaze over, you can just randomize at first using the “Code” node and Math.random().

4.4. Assign the Lead

  • Add a “Set” node to create an assignment object (lead + rep info).
  • Optionally, write this to another Google Sheet, your CRM, or a database—so you have a record.

4.5. Notify the Rep

  • Use the Email node (SMTP, Gmail, whatever) to send the details to the assigned rep.
  • You can also ping Slack, Microsoft Teams, or SMS—N8n has nodes for all of these.

Keep the notification short: Lead name, contact info, maybe a link. Don’t overthink the email formatting.

4.6. (Optional) Notify the Team or Admin

  • Some folks like a summary or backup notification. Set up a second notification node if needed.

Step 5: Test the Whole Thing

Don’t assume it works. Run a few test leads through:

  • Make sure every rep gets assigned in turn (if round robin).
  • Double-check notifications—do they go out? Are they readable?
  • Check for errors (N8n UI shows failed runs).

If something’s busted, debug one step at a time. Don’t rewrite the whole thing—90% of problems are typos or misconfigured nodes.


Step 6: Go Live—But Keep It Simple

Once it works, turn on the workflow and let it run. Tell your team what to expect and where to look for their leads.

Don’t add a bunch of “nice-to-haves” yet (scoring, deduplication, advanced load balancing). You’ll just break it. Iterate when it’s already delivering value.


What Works, What Doesn’t, and Stuff to Ignore

What Works Well

  • Webhook triggers: Fast, reliable, easy to debug.
  • Google Sheets as a source of truth: Not fancy, but easy to manage.
  • Round robin logic: Fair and dead simple to explain to reps.

What Usually Breaks

  • Complex assignment rules right away: Wait until you need them.
  • Dynamic rep lists without checks: If you delete a rep but don’t update the “last assigned” index, things break.
  • Email notifications with too many variables: Start plain, add flair later.

What’s Overkill (For Most Teams)

  • Custom frontends for reps to “claim” leads (unless your team is huge).
  • Real-time analytics dashboards—just check your assignments spreadsheet.
  • Integrating everything with your CRM on day one (unless it’s easy in N8n).

Pro Tips

  • Back up your N8n workflows—stuff gets overwritten by accident.
  • If your team changes often, automate syncing your rep list (e.g., from your HR or directory system).
  • Use N8n’s built-in error handling to catch failed assignments—don’t let leads drop on the floor.

Wrapping Up

Automation should make your life easier, not more complicated. Start with a basic N8n workflow, get real reps using it, and only add complexity when you’re sure it solves a real problem. Most teams need way less automation than they think—just enough to keep leads moving and everyone honest.

Iterate as you learn. And if something feels like overkill, it probably is.