Draft personalized LinkedIn outreach from buying signals with Twain and Slack
Ready for 3.0What this workflow does
This workflow has 22 nodes and runs when an HTTP POST request hits its webhook URL (plus 1 other trigger). Along the way it connects Slack. It also calls api.hubapi.com, app.findymail.com and public.api.twain.ai over HTTP.
How it runs
Trigger: When an HTTP POST request hits its webhook URL (plus 1 other trigger).
- LinkedIn Settings (Edit Fields (Set)): sets 2 fields: campaign_id, heyreach_campaign_id
- HubSpot: List memberships (HTTP Request): calls api.hubapi.com
- Normalize LinkedIn Lead (Code): runs custom JavaScript code
- HubSpot: Read contacts (HTTP Request): calls api.hubapi.com (POST)
- Dedupe Leads (Remove Duplicates): removes duplicate items
- Map HubSpot Contacts (Code): runs custom JavaScript code
- Needs LinkedIn Lookup? (If): checks a condition and branches into true / false
- LinkedIn Lookup — Findymail (HTTP Request): calls app.findymail.com (POST)
- Resolved Contact (Merge): merges the data from its input branches
- Apply Resolved LinkedIn (Code): runs custom JavaScript code
…plus 10 more steps. See the full node list below.
Services it uses
HTTP calls to: api.hubapi.com, app.findymail.com, public.api.twain.ai, api.heyreach.io, api.apollo.io
Before you upgrade to n8n 3.0
Nothing in this workflow is removed in n8n 3.0, so it should import and run after the upgrade.
Nodes used (9)
- Webhook
n8n-nodes-base.webhook - Edit Fields (Set)
n8n-nodes-base.set - Code
n8n-nodes-base.code - Remove Duplicates
n8n-nodes-base.removeDuplicates - If
n8n-nodes-base.if - HTTP Request
n8n-nodes-base.httpRequest - Slack
n8n-nodes-base.slack - Schedule Trigger
n8n-nodes-base.scheduleTrigger - Merge
n8n-nodes-base.merge
From the author
Quick overview This workflow captures buying-signal leads via a webhook (or optionally polls a HubSpot list), generates a personalized LinkedIn intro and follow-up sequence with Twain, and posts the ready-to-send draft to Slack, with an optional step to stage…