Apero Advisors

Blog/Network mapping

How to build a LinkedIn network mapping tool

/Benyamin Holley/LinkedIn/Head of GTM

A network mapping tool turns teammate LinkedIn exports into one people graph, scores that graph against your ICP, and writes keepers into CRM plus a LinkedIn or email sequence. The queue is how you choose. The outcome is outreach to first-degree connections.

What problem this solves

Every GTM team already has the graph. It is sitting in LinkedIn as thousands of first-degree connections per person, and nobody can query it together. You cannot ask who on the team knows an ICP-fit human. You cannot tell which of those people are already customers. So outreach starts from a bought list.

LinkedIn will not give you the combined graph. Each person exports their own Connections.csv. You put those files in one database keyed by LinkedIn URL, score people against the ICPs you actually sell, and overlap the company onto CRM so you do not re-pitch. Then you actually reach them. Keep means enrich for email, write a LinkedIn note as if you already know them, add the contact to CRM, and enroll the sequence.

Why mine the network first

Michael said this on the webinar from first principles. Leadership usually has an idea of the channels you are going to push through: email, cold call, LinkedIn. The first most obvious thing to do is mine the networks of the people who work here for warm intros to people who are an ICP fit. People are likely to reply when you are a first-degree connection to them.

It is the lowest hanging fruit. When I used to run an outbound agency, people would say we have to send cold emails. Fine, I will send cold emails. Do you think there are some other people we could talk to first?

At Apero, me, Alex, and Michael all have networks we can leverage. I have 10,000 connections. Michael has 6,000. Time is limited, so we only want to reach people with a high propensity to be in our ICP. The ranking prompt is also the thing we reuse on later lists: here is a new file, how many of these people are actually ICP.

LinkedIn does not want you to actually use their platform. I am very convinced of that. The workaround is the export. Download connections, upload them, and the app enrolls keepers in the Lemlist campaign we already set up, with a LinkedIn message written for a warm contact. Semi-manual on purpose. We could spam 10 million people. At this stage we do not want to.

How to download LinkedIn connections

Do this on desktop LinkedIn, not the mobile app. Open the data export page, request Connections, wait for the email, and unzip the archive. The file you want is Connections.csv. It starts with a Notes block. The real header is First Name, Last Name.

linkedin.com/mypreferences/d/download-my-data (You can inspect this link. I swear. It's not a phishing link.)

How to build it

Give each teammate their own table. The unified object is people: one row per LinkedIn profile slug, with an owners array. A second export that hits the same profile adds an owner. It does not create a second person. Skip the Notes preamble. Reject any CSV that is not a Connections export. Large files go through a CLI. Vercel will not take a ten-thousand-row upload in the browser.

Fig. 01

Ingest

Each teammate's LinkedIn export lands in its own table. CRM accounts from Monday or a workbook join onto one people graph.

Score, queue, write back

Score company first, then title. Put ICP definitions in a markdown file next to a scoring function you can edit. Keep funds, skip agencies and competitors, drop existing CRM accounts out of the default queue.

The queue is keep or skip. That is the human gate. After keep, enrich on demand with LeadMagic. Store the provider payload separately. Copy the email onto the person when you have it. If that email already exists in CRM, reuse the contact.

Writeback is the product. Add to CRM creates or reuses the Monday account and contact, links them, and writes an attribution note with title, segment, ICP, and which teammate owns the connection. Enroll in Lemlist writes a short LinkedIn message for a first-degree contact, then puts the lead in the sender's campaign with that note as the icebreaker. If two people send, pick the sender. Password-gate the app. The graph has names, titles, companies, and LinkedIn URLs.

Fig. 02

Write back

Keep, enrich, then the actual motion: add to CRM, write a LinkedIn note, enroll Lemlist.

Fig. 04

Ranked queue

Network miner queue with ranked PE and VC contacts, fit scores, titles, and companies.

The keep/skip queue after scoring. Filters for ICP slices. Hide leaves the ranker alone.

How the ranking prompt learns

I mentioned this in the webinar. If you use Midjourney, it personalizes your profile by having you select a bunch of pictures. Dating apps do the same thing. They learn your preferences from who you swipe on.

Keep and skip are the swipe. Each label, plus enrichment from LeadMagic, updates a ranking prompt. The prompt rescores the queue. Hide is personal and does not train.

Fig. 03

Learning loop

Keep and skip rewrite the ranking prompt. That prompt rescores the queue.

Why we keep the prompt

The keep/skip loop is how the ranking prompt gets specific. We keep that prompt so we can apply it to other campaigns. It becomes training material for other agents: a detailed, explanatory definition of our ICP, not a vague persona.

Below is the download for the prompt. If these sorts of custom-built systems are things your business is interested in, reach out to us at Apero. Email ben@aperoadvisors.com or fill out the information below. You can add me on LinkedIn.

Watch the Maven session

This article came out of the Maven class where we walked the GitHub repo and the mapping tool. The recording is on Fireflies.

How to build a Github repo for your revops and GTM system

Questions

What is a network mapping tool?

A network mapping tool turns teammate LinkedIn connection exports into a people graph, scores that graph against your ICP, overlaps it with CRM, and ranks a keep/skip queue. Keepers get enriched, added to CRM, and enrolled in a LinkedIn or email sequence as first-degree outreach.

Why mine first-degree connections before buying a list?

People are likely to reply when you are a first-degree connection. Mining teammate LinkedIn exports for ICP-fit humans is the first GTM motion, before cold email, because the graph already exists and nobody can query it together until you load the exports.

What happens after you keep someone in the queue?

After a keep, you enrich for email, add or reuse the contact in CRM, generate a LinkedIn message written for a warm connection, and enroll that person in Lemlist under the teammate who owns the relationship.

How do you download LinkedIn connections?

On desktop LinkedIn, open https://www.linkedin.com/mypreferences/d/download-my-data, request Connections, wait for the email, and unzip Connections.csv.

Do you need the LinkedIn API?

No. LinkedIn will not give you other people's networks. The app only reads Connections.csv files that teammates export. Identity is the LinkedIn profile slug.

How does the keep/skip queue learn?

Each keep or skip, plus LeadMagic firmographics, rewrites a ranking prompt that rescores the queue. Hide is personal and does not train.

What do you need to build one?

Next.js, Postgres, one LinkedIn export per teammate, and an ICP file the scoring function can read. LeadMagic for email, Monday for CRM writeback, Lemlist for LinkedIn and email enrollment. Gate the app with a site password.

Let's talk shop.

We try to give away as much GTM alpha as we can on a first call. Tell us what you're thinking about, we'd love to help.