🔓 Unlock all 10,000+ workflows & prompts free Join Newsletter →
✅ Full access unlocked — explore all 10,000 AI workflow and prompt templates Browse Templates →
Home n8n Workflow
January 22, 2026

HubSpot + Slack: deals assigned fast and fairly

Lisa Granqvist Partner Workflow Automation Expert

Unassigned deals are quiet killers. They sit in HubSpot with no owner, no follow-up, and then someone asks why “inbound is slow” this week.

This HubSpot Slack automation hits sales managers first, but ops leads and small agency teams feel it too. You get fair, consistent routing by region and company size, so deals get worked the same day instead of drifting for days.

Below, you’ll see how the workflow assigns owners automatically, what results to expect, and what you need to customize before turning it on.

How This Automation Works

The full n8n workflow, from trigger to final output:

n8n Workflow Template: HubSpot + Slack: deals assigned fast and fairly

The Problem: Deals Go Unowned (And Nobody Notices)

Most teams don’t “choose” to ignore leads. It happens because ownership is messy. Someone imports deals, a form creates them without an owner, a rep changes roles, or a round-robin rule gets skipped. Then the deal just sits there. By the time you notice, the buyer has moved on or already booked with a competitor. Even worse, reporting gets distorted because the pipeline is full of ghosts that never had a real chance.

The friction compounds fast. Here’s where it breaks down in real life.

  • You end up checking “Unassigned” manually every morning, which gets skipped on busy days.
  • Regional routing turns into tribal knowledge, so the “right rep” depends on who happens to be online.
  • Company size rules get applied inconsistently, which means enterprise reps waste time on tiny accounts.
  • Follow-up time slips from hours to days, and the whole funnel looks weaker than it really is.

The Solution: Auto-Route Unowned HubSpot Deals (Then Notify in Slack)

This workflow runs on a schedule (once a day by default) and looks for deals in HubSpot that still don’t have an owner. When it finds them, it pulls in the attached contact and then the contact’s company, because routing decisions usually live there. Next, it checks the company’s region and routes the deal down the correct path. For specific regions (like the US and Germany in this workflow), it also uses employee count to decide which rep should own the deal. Finally, it updates the deal owner back in HubSpot, with a fallback owner if nothing matches your criteria.

The workflow starts with a daily check, then enriches each unowned deal with contact and company details. After that, switches apply your routing rules by region and employee size. The result is simple: HubSpot gets clean ownership, and your team can be alerted in Slack so someone actually acts on it.

What You Get: Automation vs. Results

Example: What This Looks Like

Say you get 15 new deals a day, and about 5 of them land unowned because of imports, handoffs, or form quirks. Manually, someone has to open each deal, check the company’s region and employee count, then assign an owner and message the rep. Call it 6 minutes per deal. That’s about 30 minutes a day, roughly 2.5 hours a week. With this workflow: you spend maybe 10 minutes once setting rules, then the daily run handles the assignments automatically.

What You’ll Need

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • HubSpot to read deals and update owners.
  • Slack to alert the team after assignment.
  • HubSpot private app token (create it in HubSpot developer settings)

Skill level: Beginner. You’ll connect HubSpot, edit a few routing values, and test with a handful of sample deals.

Don’t want to set this up yourself? Talk to an automation expert (free 15-minute consultation).

How It Works

Daily trigger runs automatically. The schedule node starts the workflow once a day (you can change it to hourly if your lead flow is heavier).

HubSpot deals are retrieved and filtered. n8n pulls a list of deals via HTTP Request, splits them into individual items, then keeps only the ones that are unowned.

Contact and company data gets added. For each unowned deal, the workflow fetches the attached contact, then the company tied to that contact, so you can route based on real firmographic fields like region and employee count.

Routing rules assign the owner. A region switch sends the deal down the right branch. In the US and DE branches, another switch uses employee size to pick the correct rep, then HubSpot nodes update the deal owner (with a fallback owner if no rule matches).

You can easily modify the region and employee-count criteria to match how you sell today. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Schedule Trigger

Set the workflow to run on a timed schedule to fetch and assign unowned deals automatically.

  1. Add the Timed Schedule Start node as your trigger.
  2. Set the schedule rule to run every 2 days at 07:00 by configuring Interval to {"daysInterval":2,"triggerAtHour":7}.
  3. Connect Timed Schedule Start to Retrieve Deal List.

Step 2: Connect HubSpot

Authenticate all HubSpot requests and updates used across the workflow.

  1. Open Retrieve Deal List and confirm Authentication is set to predefinedCredentialType.
  2. Credential Required: Connect your hubspotOAuth2Api credentials in Retrieve Deal List.
  3. Repeat the same hubspotOAuth2Api credential selection for the other HubSpot nodes: Fetch Deal Contact, Fetch Contact Company, Update Owner A, Update Owner B, Update Owner C, Update Owner D, Update Owner E, Update Owner F, and Fallback Owner Assign.

⚠️ Common Pitfall: Make sure the OAuth2 app has read/write access to CRM objects (deals, contacts, companies), or the update calls will fail.

Step 3: Set Up Deal Retrieval and Filtering

Pull deals, split them into individual items, and filter for those without an owner.

  1. In Retrieve Deal List, set URL to https://api.hubapi.com/crm/v3/objects/deals?properties=dealname,amount,hubspot_owner_id&associations=contacts.
  2. In Expand Deal Items, set Field to Split Out to results.
  3. In Filter Unowned Deals, set the condition Left Value to {{ $json.properties.hubspot_owner_id }} and the operator to empty so only unassigned deals continue.
  4. Verify the flow: Retrieve Deal ListExpand Deal ItemsFilter Unowned Deals.

Step 4: Set Up Contact and Company Enrichment

Enrich each deal with its associated contact and company data to route correctly.

  1. In Fetch Deal Contact, set URL to =https://api.hubapi.com/crm/v3/objects/contacts/{{ $json.associations.contacts.results[0].id }}?associations=company.
  2. In Fetch Contact Company, set URL to =https://api.hubapi.com/crm/v3/objects/companies/{{ $json.associations.companies.results[0].id }}?properties=name,domain,city,country,numberofemployees.
  3. Confirm the path: Filter Unowned DealsFetch Deal ContactFetch Contact CompanyRoute by Region.

Tip: If some deals lack associated contacts or companies, add a fallback condition in Filter Unowned Deals to prevent missing association errors.

Step 5: Configure Routing Logic

Route deals by region and company size to determine the correct owner update path.

  1. In Route by Region, set the US rule to Left Value {{ $json.properties.country }} equals United States and the DE rule to Germany.
  2. Ensure Route by Region sends outputs to US Size Routing, DE Size Routing, and the fallback output to Fallback Owner Assign.
  3. In US Size Routing, configure thresholds using Left Value {{ $json.properties.numberofemployees }} with lte 50, lte 499, and gte 500.
  4. In DE Size Routing, configure thresholds using Left Value {{ $json.properties.numberofemployees }} with lte 100000, lte 499, and gte 500.

Step 6: Configure Deal Owner Updates

Assign owners based on routing outcomes using HubSpot deal update actions.

  1. In Update Owner A, Update Owner B, and Update Owner C, set Deal ID to {{ $('Filter Unowned Deals').item.json.id }} and set Deal Owner to the correct user ID.
  2. In Update Owner D, Update Owner E, and Update Owner F, use the same Deal ID expression and assign the appropriate owner IDs.
  3. In Fallback Owner Assign, set Deal Owner to your default assignment ID for any unmatched region.

⚠️ Common Pitfall: Replace placeholders like [YOUR_ID] and [YOUR_EMAIL] with real HubSpot owner IDs, or updates will silently fail.

Step 7: Test and Activate Your Workflow

Run a manual test to ensure routing and owner updates work as expected before turning it on.

  1. Click Execute Workflow and verify that Retrieve Deal List returns data and Filter Unowned Deals only keeps unassigned deals.
  2. Check that Route by Region sends items to US Size Routing or DE Size Routing, and that owner update nodes receive the correct deal IDs.
  3. Confirm in HubSpot that the deal owner changes are applied.
  4. Toggle the workflow to Active to run on the defined schedule.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Common Gotchas

  • HubSpot credentials can expire or lack scopes. If assignments stop working, check your private app token permissions and the credential used in n8n first.
  • If your deals don’t always have an attached contact and company, the HTTP Request steps will return empty data. Fix the HubSpot data model or add a fallback path before routing.
  • Region and employee count values must match your Switch conditions exactly. If HubSpot has “DACH” but your workflow expects “DE,” everything will fall into the fallback owner.

Frequently Asked Questions

How long does it take to set up this HubSpot Slack automation?

Usually about 20 minutes once your HubSpot fields are ready.

Do I need coding skills to automate HubSpot deal assignment?

No. You’ll paste credentials, choose your routing values, and test a few deals. The logic is configured with dropdown-style conditions, not code.

Is n8n free to use for this HubSpot Slack automation workflow?

Yes. n8n has a free self-hosted option and a free trial on n8n Cloud. Cloud plans start at $20/month for higher volume. You’ll also need to factor in HubSpot access costs based on your plan.

Where can I host n8n to run this automation?

Two options: n8n Cloud (managed, easiest setup) or self-hosting on a VPS. For self-hosting, Hostinger VPS is affordable and handles n8n well. Self-hosting gives you unlimited executions but requires basic server management.

Can I customize this HubSpot Slack automation workflow for round-robin assignment instead of region?

Yes, but you’ll change the decision point. You can replace the region Switch with a simple rotation rule (for example, using a Google Sheet “next rep” value) and keep the same HubSpot “update owner” nodes. Common customizations include adding a “deal source” branch, assigning based on product line, or routing enterprise deals to a dedicated queue. If you still want region as a tie-breaker, keep the region check first and apply round-robin inside each region.

Why is my HubSpot connection failing in this workflow?

Most of the time it’s an expired token or missing scopes on your HubSpot private app. Regenerate the token, update the credential in n8n, then re-test the “retrieve deals” request first. Also check that your deals actually have an associated contact and company; if not, the enrichment calls can fail and downstream routing will have nothing to work with.

How many deals can this HubSpot Slack automation handle?

Plenty for most small teams. On n8n Cloud, your limit is mostly tied to monthly executions (Starter is fine for daily checks; heavy volumes may need a higher plan). If you self-host, there’s no execution cap, but your server size and HubSpot API limits become the bottleneck.

Is this HubSpot Slack automation better than using Zapier or Make?

Often, yes. This routing uses multiple decision branches (region, then employee size) and enrichment calls, which is where n8n tends to feel simpler and cheaper to run. Self-hosting is a big deal if you don’t want per-task pricing as volume grows. Zapier and Make can still be fine for a basic “new deal → assign owner” rule, especially if you want the quickest setup and don’t care about deeper logic. If you’re torn, Talk to an automation expert and we’ll map it to your process.

Once deals stop going unowned, everything downstream gets easier: follow-up, forecasting, and even team morale. Set the rules once, then let the workflow keep your pipeline honest.

Need Help Setting This Up?

Our automation experts can build and customize this workflow for your specific needs. Free 15-minute consultation—no commitment required.

Lisa Granqvist

Workflow Automation Expert

Expert in workflow automation and no-code tools.

×

Use template

Get instant access to this n8n workflow Json file

💬
Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Launch login modal Launch register modal