Back to blog

N8N Template: From Apollo list to LinkedIn outreach in 60 sec

Sync your Apollo saved list to a SalesRobot LinkedIn campaign automatically with this n8n workflow. No CSV exports, no manual tasks — runs in under 60 seconds.
Saurav Gupta
May 18, 2026
5
min. read

You built a list in Apollo. Titles match. Companies match. You've done the hard part.

Then Apollo shows you a LinkedIn step in the sequence and creates a task.

A task you have to do manually. One by one. In a separate tab.

That's the gap. Apollo is excellent at building lists and managing multi-step sequences. It is not a LinkedIn automation tool. It never was. So every time a contact hits a LinkedIn step in your sequence, the work lands back on you.

This n8n workflow closes that gap. 

It pulls your Apollo saved list and pushes every contact directly into a SalesRobot LinkedIn campaign: no CSV exports, no copy-pasting, no tab-switching. 

The whole thing runs in under 60 seconds.

What this workflow does

  1. Pulls contacts from an Apollo saved list using the Apollo API
  2. Filters out any contacts without a LinkedIn URL
  3. Maps Apollo fields (first name, last name, title, company, LinkedIn URL) to SalesRobot's campaign format
  4. Pushes each contact into your SalesRobot campaign via webhook

From there, SalesRobot handles the LinkedIn execution: connection requests, follow-ups, replies, while your Apollo sequence keeps running its email and calling steps untouched.

What you need

How to set it up

Step 1: Get your Apollo API key

Go to Apollo → Settings → Integrations → API. Copy your API key. If you don't have one yet, generate it from the same page.

Step 2: Find your Apollo list ID

Open the saved list you want to sync. Look at the URL.

You'll see something like ?labelIds=abc123xyz. 

That string after labelIds= is your list ID. Copy it.

If your list was built from a sequence rather than a manual label, use contact_stage_ids instead of label_ids in the Config node. Same format, different field name.

Step 3: Get your SalesRobot campaign webhook URL

In SalesRobot, open the campaign you want contacts enrolled in. 

Go to Integrations → Webhook and copy the endpoint URL. 

Each campaign has its own webhook, so make sure you're copying the right one.

Step 4: Import the n8n template

Download this JSON file. In n8n, create a new workflow, click the menu in the top right, and select Import from File. Upload the JSON.

Step 5: Fill in the Config node

Open the Config node. Paste in:

  • apolloApiKey — your Apollo API key
  • apolloListId — your list ID from Step 2
  • salesrobotWebhookUrl — your campaign webhook URL from Step 3

Step 6: Run it

Hit Run Workflow. Watch the execution. Each contact with a LinkedIn URL gets pushed to SalesRobot in batches of five. The whole list processes in seconds.

The workflow, node by node

Config 

A single Set node holding your three credentials. Everything downstream reads from here, so you only ever touch one place if something changes.

Build Apollo payload 

A Code node that constructs the API request body. It uses label_ids to filter by your saved list. This is the correct Apollo parameter for contacts organised under a label or saved list.

Fetch Apollo list 

An HTTP Request node hitting POST /api/v1/contacts/search. Returns a paginated response — the default pulls up to 100 contacts per run. If your list is larger than that, you'll need to add a loop that increments the page number and re-runs until Apollo returns an empty array.

Split contacts 

Splits the contacts array from Apollo's response into individual items so the rest of the workflow processes one contact at a time.

Has LinkedIn URL? 

A Filter node that drops any contact where linkedin_url is empty. No LinkedIn URL means SalesRobot has nothing to work with. These contacts pass through to a dead branch and get ignored. If you're seeing a lot of drops here, run Apollo's enrichment on your list first, or push it through Clay before it hits this workflow.

Map to SalesRobot fields 

A Set node that renames Apollo's field names (first_name, organization_name, linkedin_url) to the format SalesRobot's webhook expects. This is also where you'd add any custom variables your SalesRobot campaign messages reference.

Push to SalesRobot 

An HTTP Request node posting each mapped contact to your SalesRobot webhook URL. Runs in batches of five with a one-second delay between batches to stay within rate limits.

A few things worth knowing

This doesn't replace your Apollo sequence. SalesRobot handles the LinkedIn layer. Apollo keeps running email steps, call tasks, and anything else in the sequence. They work in parallel.

Contacts get enrolled, not duplicated. If a contact is already in the SalesRobot campaign, SalesRobot skips them. You can re-run the workflow without worrying about double-enrollments.

Pagination caps at 100 per run. The default template pulls one page (100 contacts). For larger lists, add a Loop Over Items node after the Split node with a condition checking Apollo's pagination.total_pages response field.

Want this to run on a schedule? Swap the Manual Trigger node for a Schedule Trigger. Set it to run daily or weekly and it'll keep your SalesRobot campaign topped up as new contacts are added to your Apollo list.

Messaging interface showing LinkedIn conversations and a chat reply box with the text 'Great to connect.'
Videos and Voice Notes

Wow your leads by cloning yourself and sending personalized videos and voice notes to each lead on LinkedIn.

Learn more ➙
Messaging interface showing LinkedIn conversations and a chat reply box with the text 'Great to connect.'
AI Inbox Manager

If you don't reply to leads within 5 mins, your chances of converting them fall by 50%. Our AI replies on your behalf instantly! (and yes, you can train it)

Learn more ➙
Dashboard analytics showing total campaigns, prospects reached, new connections, new replies, and a weekly summary of connected activities with connection requests and replies.
Analytics

Don't shoot in the dark. Get detailed analytics on what's working

Learn more ➙
Admin console interface showing team management with user list including name, email, status, created date, role, and action options; invite new user form with fields for first name, last name, email, and role.
Team management

SalesRobot allows you to invite other team members, so that they can add their LinkedIn Account, run outreach campaigns and get amazing results just like you.

Learn more ➙

What are you waiting for?
Start reaching out to your dream customers today

Free Trial (14 days)
infographics of team photo
infographics of team photo

Meet some SalesRobot users

infographic showing  percentage reply rate, client photo

65% response rate | $1mln+ in funding raised

We reached out to 400 busy agency owners and received 148 replies—a 65% response rate. SalesRobot makes your messages feel human and personal and people actually respond!

Anton Titov
Anton Titov
Founder at Archway.Finance
youtube icon
infographic showing  percentage reply rate, client photo

57% response rate | 5-10 quality leads per month

I have about 20 different campaigns with SalesRobot. I like to try a lot of things, a ton of A/B testing.

Joey Kennedy
Joey Kennedy
VP Sales at KMS Healthcare
youtube icon
infographic showing  percentage reply rate, client photo

37% response rate | 20+ lead magnet asks per month

SalesRobot does have built-in proxy protection, so my LinkedIn campaigns don't get flagged, which is really good."

Chad De Wet
Chad De Wet
Owner at Live Leads
youtube icon
infographic showing  percentage reply rate, client photo

41% response rate | 36 replies per month

We included a lot of follow up in SalesRobot. This was a nine or ten message sequence that kept us top of mind.

Alex Galbreath
Alex Galbreath
Operations at Flying V Group
youtube icon
infographic showing  percentage reply rate, client photo

48% response rate | 10+ leads per month

SalesRobot is not a selling tool, it is a conversation starting tool.

Nick Gupta
Nick Gupta
Founder at MailerCraft
youtube icon
infographic showing  percentage reply rate, client photo

54.5 % acceptance rate | 40 % response rate

What worked exceptionally well was connecting SalesRobot campaigns to a landing page with a video sales letter that helped bridge the gap. We actually got some people that booked straight in through that.

Alex Sardinha
Alex Sardinha
Founder at Inonda Marketing
youtube icon
infographic showing  percentage reply rate, client photo

49% response rate | 30+ quality leads per month

We have worked with one hundred plus companies to date, and SalesRobot has been really helpful to us.

Pooja Jagwani
Pooja Jagwani
Owner at Buzz Up Marketing
youtube icon

What are you waiting for?
Start reaching out to your dream customers today

Free Trial (14 days)
infographics of team photo
infographics of team photo