DEV Community

Cover image for Post new funding rounds to Slack every morning with n8n
Akash Rajpurohit
Akash Rajpurohit

Posted on

Post new funding rounds to Slack every morning with n8n

A Slack channel that posts three or four newly funded companies each morning gets read. A CRM view of the same companies usually does not.

Here is that workflow in n8n. Four nodes, about fifteen minutes.

The nodes

1. Schedule Trigger. Once a day, early. Pick a time before your reps start, so the list is waiting rather than arriving mid-call.

2. Datahyena. Fetch funding events with your filter. There is an n8n community node if you want the fields as a form, or use the HTTP Request node against the API directly. Either works.

Set the filter tight. Stage, minimum amount, countries, industry. If you have not written your trigger down yet, do that first, because this node is where it lives.

3. Filter or Code. Optional, and worth adding once the basics work. Drop rows that already exist in your CRM, or score them so the highest fit lands at the top of the message.

4. Slack. Post to the channel. Block Kit if you want it to look decent, plain text if you want it done today.

Making the message readable

The failure mode here is dumping raw JSON into a channel. Nobody reads it twice.

One block per company, four facts each:

*Legora* raised $50M Series B
Sweden · Professional Services · 15 Apr
Investors: General Catalyst, Y Combinator
→ legora.com
Enter fullscreen mode Exit fullscreen mode

Company, amount and stage, where and what, who backed it. That is enough for a rep to decide in two seconds whether to open the site.

Add a thread reply with the source article if you have it. Reps who want context will click, and the channel stays scannable for the ones who do not.

Only posting what is new

Whatever source you use, track a cursor between runs. Without it you will post the same companies every morning and the channel will be muted within a week.

In n8n, store the cursor in a static data field or a small table and pass it into the fetch node on the next run. It is one extra step and it is the difference between a channel people read and a channel people mute.

Where this beats a CRM view

Three things.

It is ambient. People see it without navigating anywhere.

It is social. Someone claims a company in the thread and everyone else knows. That does not happen in a CRM list view.

It is fast to change. Filter too broad, edit one node. Nobody has to file a ticket for a report change.

Once the channel is working and reps are actually claiming companies out of it, then wire the same workflow into your CRM as a second branch. Do it in that order. A CRM integration that nobody trusts yet is just more rows in a database.

Extending it

The same four-node shape works for other triggers. Swap the fetch node for acquisitions if you sell into post-merger integration, or for executive moves if a new VP is your buying signal. New leaders change vendors in their first ninety days, which is a better trigger than most people realise.

Related

The trigger design question is covered in Your funding trigger is probably too broad, and the data quality issues that will bite you once this is running are in Four traps that quietly break funding data pipelines.

If you want to try it, the funding rounds actor on Apify needs no signup, and the API docs cover the filter fields for the HTTP node route.


I work on Datahyena, a self-serve API for funding, acquisition and executive-move signals.

Top comments (1)

Collapse
 
swapnoneel123 profile image
Swapnoneel Saha

the cursor between runs is the part that keeps a useful workflow from becoming noise. i would also store the source timestamp and a stable company id, then make the slack step idempotent. that protects the channel from duplicates when the workflow retries after a timeout. a small stale data warning could help reps judge older rounds.