# Turn a competitor's LinkedIn followers into new CRM contacts

> Every Monday, pull the people who follow your competitor on LinkedIn, keep only the ones who fit your ideal customer profile, and add the net new ones to HubSpot.

- Workflow type: agent
- Services: Boomerang, HubSpot, Slack Bot
- Categories: Sales
- Published: 2026-08-21

## What it does

- Exports the followers of a competitor's LinkedIn company page on a weekly schedule, without you touching LinkedIn.
- Shortlists only the people who match your ideal customer profile by job title, seniority and company size, and drops students, job seekers and anyone at your own company.
- Checks every shortlisted person against HubSpot before spending anything, so you never pay to find contact details for someone you already own.
- Finds work emails for the net new names, adds them to HubSpot tagged with the competitor they follow, and posts a Slack digest with the counts and your ten strongest names.

## What you'll need

- A Boomerang account with credits available for follower exports and email finding
- A HubSpot account where contacts can be created and updated
- A Slack workspace and the channel your sales team works out of
- The LinkedIn company page address of the competitor you want to mine
- A short written description of your ideal customer: the job titles, seniority levels and company sizes you sell to

## Prompt

Every Monday at 7am, mine a competitor's LinkedIn audience for prospects and load the good ones into my CRM. I will supply the competitor's name and the LinkedIn company page URL, a written description of my ideal customer profile, my own company name and email domain, the Slack channel for the digest, and a maximum number of people to enrich per run (default 50).

Start by kicking off a Boomerang Submit Competitor Followers Export against the competitor's LinkedIn company page URL. Boomerang jobs are asynchronous: submitting returns a request id with status "In queue". Poll Get Request Status on a steady interval until the status changes, and do not assume it finished immediately. When status becomes "Completed", read outputUrl and download the CSV of follower rows. outputUrl is a time limited signed link with an outputUrlExpiresAt timestamp, so if it has already expired, call Get Request Status again to mint a fresh link rather than treating the run as failed.

If Get Request Status ever returns status "Issue", do not fail silently and do not keep polling forever. Post a warning to my Slack channel with Slack Bot Send a Message, naming the competitor, the job type, and the request id, then stop the run cleanly. Apply the same rule to both Boomerang jobs in this workflow, and also post the warning if polling exceeds a reasonable time budget without ever reaching "Completed".

Once the follower rows are in hand, read them and shortlist only the people who genuinely match my ideal customer profile on job title, seniority and company size. Discard students and interns, anyone whose headline signals they are job hunting or open to work, and anyone whose company matches my own company name or email domain. Be strict rather than generous: a shorter, higher quality shortlist is the goal, because every surviving row costs money later.

Before spending any enrichment credits, check each shortlisted person against HubSpot with Search Contacts and drop anyone already in the CRM. The follower rows do not carry email addresses yet, so match on full name combined with company name, and also on LinkedIn profile URL if I store that as a contact property. Batch these lookups sensibly instead of firing one search per person. This dedupe step is the reason the workflow is worth running: Boomerang reserves credits when a job is submitted and charges creditsUsed when it completes, so filtering out people I already own is the difference between paying for duplicates and paying only for net new contacts.

Apply a hard cap on how many people get enriched per run so credit spend stays predictable. If more people survive the CRM dedupe than the cap allows, rank the survivors by how well they fit my ideal customer profile, keep the top N, and remember how many were skipped so I can see it in the digest.

Send that capped, net new shortlist into a Boomerang Submit Email Finder Enrichment job as a bulk CSV, and poll Get Request Status the same way until it reports "Completed", then download the enriched output. Some rows come back with no email found, which is normal. Treat those as not enriched, leave them out of the CRM write, and count them separately.

Load the finished rows into HubSpot with Batch Upsert Contacts matched on email address, in batches of up to 100. Populate first name, last name, job title, company and LinkedIn profile URL, and tag the lead source with the competitor they follow, for example "Competitor followers: <competitor name>", so I can segment on it later.

Finish by posting a digest to my sales channel with Slack Bot Send a Message: how many followers were exported, how many were kept after the ideal customer filtering, how many were dropped because they were already in HubSpot, how many were enriched (and how many were skipped by the cap), and how many contacts were created or updated. Then list the ten strongest names with their job titles and companies, one per line, so the team can act on the run without opening a CSV. Keep the message short and scannable.

## How to customize

- Change the day and time it runs, or point it at a different competitor each week
- Raise or lower the cap on how many people get contact details found per run so your spend stays predictable
- Tighten the ideal customer rules and the exclusion list, and pick which Slack channel gets the digest

## FAQ

### Will this add people I already have in HubSpot?

No. Every shortlisted person is checked against your existing contacts first, and anyone already in the CRM is dropped before any contact details are looked up. That check is the whole point: it is the difference between paying to research people you already own and paying only for genuinely new names.

### How do I keep the cost under control?

The run has a hard cap on how many people get their contact details found each week. If more people survive the filtering than the cap allows, the strongest fits are kept and the digest tells you how many were skipped, so weekly spend stays flat and predictable.

### Do I need a LinkedIn account or a Sales Navigator seat?

No. The follower export is handled by Boomerang, so all you supply is the address of the competitor's LinkedIn company page.

### What happens if the export or the email lookup fails?

You get a warning in Slack naming the competitor and the job that had a problem, instead of a silent Monday morning where nothing shows up and nobody notices.

### Will this work on a free HubSpot account?

Yes. It only uses the standard contacts area of HubSpot, which is included in the free CRM, and it matches people on their email address so you do not end up with duplicates.

Use this prompt in General Input: https://www.generalinput.com/prompts/turn-a-competitors-linkedin-followers-into-new-crm-contacts