Turn a competitor's LinkedIn followers into new CRM contacts

By General Input

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.

Integrations

  • Boomerang
  • HubSpot
  • Slack Bot

Type

Agentic Task

Categories

  • Sales

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.

Related prompts

Explore more prompts
A brand asset library your marketing team actually searchesTurn Mailjet email clicks into ranked HubSpot follow-upsClean out the Looker dashboards and Looks nobody opensLiveKit live operations console for room moderationWake up dormant Keap leads with a researched reasoniMessage campaign console with pre-flight checks and delivery boardLiveChat coverage board for planning next week's shiftsPhone routing control panel for LiveKit voice agentsA searchable RFP answer library your bid team drafts fromLinkedIn Ads budget pacing dashboard for every client account