Before you start
Step by step
1
Save a broad list without enrichment
Cast a wide net with filters you are confident in, and save the matches without enrichment at 2 credits a row.Poll
GET /business/lists/{listId} until completionStatus is complete. Filter values must come from the accepted vocabulary, see Build a list from search.2
Add an ICP smart column and test it on a sample
Ask one question about each row and run it on the first 100 rows only.Keep both ids. The prompt does three things that matter here: it asks one question, it names the subject (“this person’s company”), and it demands a one-word answer. Row filters match text anywhere in a cell and ignore case, so one-word answers keep a “no” row from ever matching “yes”.
3
Check the sample before you scale
Poll the run until its Then read a few rows and look at each answer under If the answers are wrong or wordy, fix the prompt now with
status is completed or partially_completed:columnValues, keyed by the column id:PATCH /business/lists/{listId}/smart-columns/{columnId}. A prompt edit re-answers every row the column has already answered, so it is cheapest while that is only the sample.4
Answer the rest of the list
Check the price first. Poll the new
GET /business/lists/{listId}/smart-columns/{columnId} returns the column’s creditsPerRow. Multiply it by the rows still unanswered.Then re-run with new_only, which answers only rows that have never been answered, so the 100 sample rows are not billed twice:jobId the same way. The status endpoint reports creditsUsed while the run is still going.5
Count the rows that qualify
Filter the rows on the column’s answer.
filters is URL-encoded JSON, and customColumns is keyed by column id, not name:pagination.totalRecords is the number of qualified rows.6
Copy the qualified rows into their own list
POST /business/lists/save-to-list takes the same filter and copies only the matching rows:complete. The copy adds the same contacts rather than creating new ones, so nothing is duplicated. The “ICP fit” answers stay on the raw list.7
Enrich only the qualified contacts
GET /business/jobs/{jobId} with the jobId from the 202 until status is completed, then read metrics.totalWithProfessionalEmail on GET /business/lists/{listId}. Do not wait on the list’s completionStatus here: it stays complete until the job starts.8
Launch outreach on the qualified list
Create a campaign on the qualified list as in steps 5 to 9 of Build an AI outbound campaign from a prompt. Set
isDynamic: true if you will keep adding qualified rows, so the campaign enrolls them as they arrive.Keep qualifying as the list grows
Saving into the raw list again with the samelistName appends to it. Each time you do, repeat three calls:
POST .../smart-columns/{columnId}/rerunwithmode: "new_only"answers only the new rows.POST /business/lists/save-to-listinto the qualified list (listId), adding"otherLists": { "exclude": ["Logistics ops leaders - qualified"] }to the filter so only newly qualified rows are copied.POST /business/lists/{listId}/enrichon the qualified list. Contacts that already have an email are not charged again.
What it costs
For a 2,000-row list where 671 rows qualify:
Qualifying saves credits when the column’s
creditsPerRow is lower than the enrichment you avoid on the rows that fail. A standard column costs 20 a row, the same as a work email from Fuse’s own data, so the saving is largest when emails come from partner providers (50) or you also want phones (200). Either way, the campaign reaches only people who fit. Use standard rather than deep_research (100 a row) for yes or no questions about public facts.
Troubleshooting
Run the whole workflow
Python script: qualify, then enrich
Python script: qualify, then enrich
Do it from Claude
With the Fuse MCP server connected, work through it in two requests so you can check the sample first:In my list “Logistics ops leaders - raw”, add a smart column called “ICP fit” that answers “Does this person’s company run its own fleet of delivery vehicles?” with exactly one word, yes or no. Run it on the first 100 rows and show me ten answers.
Run “ICP fit” on the rest of the list, copy every row that says yes into a list called “Logistics ops leaders - qualified”, and find work emails for that list.The assistant uses the smart column, list and enrichment tools.
Related
Smart columns
Engines, prompts, re-runs, provenance and spend controls.
Working with lists
Enrichment modes, copying rows and the row filter.
Credits & billing
What every operation costs.
AI campaign from a prompt
Turn the qualified list into an approved AI campaign.