# Enrich and deduplicate Slack-uploaded companies in HubSpot: n8n workflow

> Started by an event in a connected app, and works across HubSpot, Slack and n8n data table.

Source: https://millionrounds.com/workflow/enrich-and-deduplicate-slack-uploaded-companies-in-hubspot (Millionrounds; every figure on the page links to its filing or article)

[Automation library](https://millionrounds.com/workflows) · [Lead generation](https://millionrounds.com/workflows?category=Lead+generation#library)

# Enrich and deduplicate Slack-uploaded companies in HubSpot

Started by an event in a connected app, and works across HubSpot, Slack and n8n data table. 27 steps, 3 branches: large, and worth reading before you trust it with anything live.

Large

[Download free](https://millionrounds.com/login?next=%2Fapp%2Fworkflow%2Fenrich-and-deduplicate-slack-uploaded-companies-in-hubspot)

**27 steps** Large: read it before trusting it with anything live

**3** Branches: places the flow splits

**0** Loops or waits

**3** Services it connects to

## The flow

Starts it 1 Logic 6 Service 20

The steps in the order they run, from what starts it.

- 1 **When Slack File Uploaded** Slack trigger *Starts it*
- 2 **Download Slack File** Slack *Service*
- 3 **Notify Slack on File Download** Slack *Service*
- 4 **Fetch File Contents** Http Request *Service*
- 5 **Extract Data from File** Extract From File *Service*
- 6 **Insert File Data into Table** Data Table *Service*
- 7 **Search Company by Domain** Hubspot *Service*
- 8 **Check HubSpot Company ID** If *Logic*
- 9 **Summarize Existing Company** Summarize *Service*
- 10 **Combine Approval Results** Merge *Logic*
- 11 **Retrieve Current Table Rows** Data Table *Service*
- 12 **Await Slack User Approval** Slack *Service*
- 13 **Clear table for next use** Data Table *Service*
- 14 **Enrich new company** Coresignal *Service*
- 15 **Clear the table for next use** Data Table *Service*
- 16 **Verify Approval from Slack** If *Logic*
- 17 **Enrich Existing company** Coresignal *Service*
- 18 **Check if Company Exists** If *Logic*
- 19 **Discard Unapproved Rows** Data Table *Service*
- 20 **Process Company Fields** Code *Logic*
- 21 **Summarize Enrichment Status** Summarize *Service*
- 22 **Create New HubSpot Company** Hubspot *Service*
- 23 **Update HubSpot Company Data** Hubspot *Service*
- 24 **Combine All Summaries** Merge *Logic*
- 25 **Summarize Company Creation** Summarize *Service*
- 26 **Summarize Update Results** Summarize *Service*
- 27 **Post Results to Slack** Slack *Service*

## How it's built

- **Starts on:** An event in a connected app
- **Steps:** 27, with 3 branches
- **Size:** Large: read it before trusting it with anything live
- **Connects to:** HubSpot, Slack, n8n data table
- **Model:** None. This is plumbing, not judgement

## Questions

What does it need to run?

An n8n account, plus your own HubSpot and Slack accounts. You connect your own accounts after importing it; none are included.

What starts it?

It starts on an event in a connected app.

Does it use AI?

No. Every step is fixed logic or a call to a service, so it does the same thing every time.

How long does it take to set up?

Take your time. At 27 steps it is large: read it before trusting it with anything live.

How do I import it?

Copy the workflow, open a new workflow in n8n and paste. The steps appear on the canvas, ready for your own accounts.

**Before you run it**

Nothing here has been tested by us. It is somebody's working automation, read and described from its own steps. Treat the connections it wants as a list of accounts it will touch, and read the 27 steps before you point it at anything that matters.

## Run it in n8n

- **Create your n8n account** Free to start. n8n is where the workflow runs. [Create an n8n account ↗](https://millionrounds.com/n8n)
- **Download the workflow** Free with a Millionrounds account. [Download free](https://millionrounds.com/login?next=%2Fapp%2Fworkflow%2Fenrich-and-deduplicate-slack-uploaded-companies-in-hubspot)
- **Paste it into n8n** Open a new workflow in n8n and paste. Then connect your own accounts.

Stored with the author's traces removed: canvas notes, instance identifiers, saved credential names and any live document they had left behind.

## Connects to

Each opens the other workflows that use it.

[HubSpot](https://millionrounds.com/workflows?service=HubSpot#library)[Slack](https://millionrounds.com/workflows?service=Slack#library)[n8n data table](https://millionrounds.com/workflows?service=n8n+data+table#library)

## Workflows like it

Also lead generation, with the same services where possible, closest in size first.

- [**LinkedIn scraping to HubSpot CRM with Dropcontact and Hunter** 27 steps · HubSpot, Slack](https://millionrounds.com/workflow/linkedin-scraping-to-hubspot-crm-with-dropcontact-and-hunter)
- [**Personalized email outreach with LinkedIn and Crunchbase** 27 steps · calls a model · n8n data table](https://millionrounds.com/workflow/personalized-email-outreach-with-linkedin-and-crunchbase)
- [**Send AI-personalized outreach emails from HubSpot** 27 steps · calls a model · Gmail, Google Sheets](https://millionrounds.com/workflow/send-ai-personalized-outreach-emails-from-hubspot)
- [**Extract Google Maps business leads with Apify and OpenAI** 26 steps · calls a model · Google Sheets, Slack](https://millionrounds.com/workflow/extract-google-maps-business-leads-with-apify-and-openai)
- [**Leads generation workflow with OpenAI and Google Sheets** 26 steps · calls a model · Google Sheets, Pinecone](https://millionrounds.com/workflow/leads-generation-workflow-with-openai-and-google-sheets)
- [**Multi-Channel Lead Enrichment & Scoring Pipeline with Clearbit** 29 steps · Asana, Email](https://millionrounds.com/workflow/multi-channel-lead-enrichment-and-scoring-pipeline-with-clea)
