List → Call list · n8n
Find mobile numbers – and call only reachable contacts.
For contacts who fit your target profile, ListPlus looks up the mobile number – charged only on a hit. The “Reachable” column shows who you can call today.
Runs in ListPlus – no agent needed
Reachable: phone ✓ · LinkedIn ✓ · email – · sample data
Example · fictional contacts, real prices
Setup
Build this workflow.
A list with names and companies (better: LinkedIn URLs) and a fit score or filter that defines the target contacts. A pipeline to n8n, Sheets or the CRM for the call list.
What does a run cost?
The mobile number per contact: expected 3.84 credits, at most 12 credits ($0.42 on Pro) – charged only on a hit. The number checks and “Reachable” cost nothing.
- ListPlus by call
Select the target contacts
Only rows with a fit score of 80 or more and no number – phone is the thinnest data layer, so select first, look up second.
- ListPlus runs automatically
Look up the mobile number
Several providers in turn; the price comes first, only a hit is charged. The lookup keeps running as a rule for every new matching contact.
- ListPlus runs automatically
Check the number
The checks flag dialling codes that do not fit the country and landlines where a mobile was expected – at no credit cost.
- ListPlus runs automatically
Mark as reachable
The “Reachable” column shows per row which channels are open. Hits get the status “Call”.
- n8n · CRM runs automatically
Hand off the call list
The pipeline hands “Call” rows to n8n, Sheets or the CRM – with reason and source per contact.
With your agent
Give your agent this brief.
A list of target contacts and a configured pipeline. An agent needs the “Full” right on the list for enrichment.
The same call from Claude Code, ChatGPT, Cursor or an n8n HTTP node – MCP and REST offer the same tools.
Agent guide (.md) ↗In “Trade show leads”: which rows with fit score ≥ 80 have no mobile number? Estimate the cost for mobile_phone and start with at most 40 credits. Set hits to status “Call” and hand them to the pipeline “n8n call list”. Rows without a hit stay as they are.
Tools and sample call
query_records · enrich_records · mark_records · send_to_pipeline
enrich_records({
"list_id": "<shared_list_id>",
"record_ids": [
"<row_id>",
"<row_id>"
],
"fields": [
"mobile_phone"
],
"estimate": true
})
enrich_records({
"list_id": "<shared_list_id>",
"record_ids": [
"<row_id>",
"<row_id>"
],
"fields": [
"mobile_phone"
],
"max_credits": 40
})Try it with your data
Phone data is the thinnest layer in B2B data; expect fewer hits than for email. A number is a provider's hit, not proof the person still works there. Check local rules for cold calls before you dial.