← GTM Recipes

LinkedIn → JSON · your stack

Who likes your competitor's posts – as checked leads.

People who like or comment on your competitor's posts are thinking about your topic right now. ListPlus imports the reactions, keeps only people who fit your ICP, enriches them – and your agent fetches the rows above quality X as JSON.

Your agent sets it up, the list runs

Competitor reactions Q4 · 184 people0.3 credits per reaction
Mia WinterHead of Buying · HelioWorks · 2 reactions100 · email valid · JSON
Ava SteinHead of Procurement · Kontur90 · email valid · JSON
Noah WolfMarketing Manager · Nordlicht40 · not enriched
Tom Lenzcompetitor · reference listexcluded

query_records · status ICP (score ≥ 80) · valid email → 2 of 4 as JSON

Example · fictional contacts, real prices

Setup

Build this workflow.

One or more post URLs – a competitor's latest posts or an industry influencer's. Your ICP as score criteria. You start the import in ListPlus; everything after that your agent can do.

What does a run cost?

Importing up to 25 reactions costs at most 7.5 credits ($0.26 on Pro): 0 credits base, 0.3 per result. Checks and a rule-based score cost nothing, an AI criterion in the score 0.02 credits per AI answer; the email lookup for the fits is charged per hit, within the budget you set.

  1. ListPlus manual in ListPlus

    Import the reactions

    Paste the post URL, pick a result limit, see the price. Every row keeps post and reaction; two reactions by one person are one record with two reasons.

  2. ListPlus runs automatically

    Check against your ICP

    A score column rates role, company size and industry – plus an AI criterion for what no rule captures. Customers and competitors drop out through the reference list. Whoever does not fit stays in the list but costs nothing more.

  3. ListPlus runs automatically

    Enrich only the fits

    For rows scoring 80 or more the rule sets the status “ICP” and looks up the work email – with a budget per contact, charged only on a hit. The checks verify the found address.

  4. Your agent by call

    Fetch above quality X as JSON

    query_records with the filter status “ICP” and a valid email returns the rows as JSON – from Claude Code, n8n or ChatGPT. Your stack decides what happens next: sequence, CRM, sheet.

With your agent

Give your agent this brief.

The import runs in ListPlus (a scraper priced per result). To fetch, the agent needs the list with Read rights; to enrich, “Full”.

The same call from Claude Code, ChatGPT, Cursor or an n8n HTTP node – MCP and REST offer the same tools.

Agent guide (.md) ↗
Agent prompt

In the list “Competitor reactions Q4”: read the score. Give me every row with score ≥ 80 and a valid work email as JSON (name, role, company, email, post, reaction). Rows between 60 and 79: name, role, company only – no enrichment. Change nothing, send nothing.

Tools and sample call

describe_list · query_records · add_column · create_trigger · enrich_records

query_records({
  "list_id": "<shared_list_id>",
  "filter": {
    "ar_status": "ICP",
    "Email": {
      "condition": "valid_email"
    }
  },
  "columns": [
    "first_name",
    "last_name",
    "job_title",
    "company_name",
    "email",
    "Fit score"
  ]
})

Try it with your data

A reaction is a reason, not a buying signal. Never open with “I saw you liked…” – take the topic of the post. Real people: names and addresses belong in your stack, not in screenshots.

Import a post