Before you start
Step by step
1
Find the exact values the agent matches on
Agent filters match exact strings. A value outside the vocabulary is still accepted with Use
201, and the agent then quietly finds nobody, so resolve every value first:field=title the same way for job titles. Three rules for this agent:industriestakes exactly one value. To cover several industries, create one agent per industry.leadCompanyHeadcounttakes exact bands:1-10,11-50,51-200,201-500,501-1,000,1,001-5,000,5,001-10,000,10,001+.leadCompanyCountriestakes full English country names such as"United Kingdom". No endpoint serves this list, so spell them out.
2
Save the agent as a draft
POST /business/agents/person-starting-new-job with start left out saves a draft. Nothing runs and nothing is billed yet.3
Review the draft, then start it
GET /business/agents/{agentId} returns the stored config, exactly as you would send it to create the agent again. Fix anything with PATCH /business/agents/{agentId}, which merges the fields you send. Then activate it:202, creates the results list and starts the first run. It is free: the agent charges 100 credits for each person it delivers, plus the email price when enrichEmail finds one. The agent moves through processing to active.4
Find the agent's results list
The results list id is on the agent’s row in
GET /business/agents. GET /business/agents/{agentId} returns the config but not the list.5
Wait for the first results
Poll
GET /business/agents every few minutes until contactsFound is above zero, then check GET /business/lists/{listId} for metrics.totalWithProfessionalEmail. The campaign needs at least one reachable contact on the list before it can be created.6
Point a dynamic campaign at the results list
Create the campaign on the agent’s list with Then wait for initialization, preview the steps and approve, exactly as in steps 7 to 9 of Build an AI outbound campaign from a prompt.
isDynamic: true:7
Let it run
From here, the agent delivers new starters into its list on its own schedule, and the campaign checks the list about every 30 minutes. Each check enrolls up to 200 contacts that are not in the campaign yet, and the campaign’s exclusions still apply. A check enrolls nobody while you have no usable sending account, or while one of the campaign’s exclude lists cannot be read; the next check tries again.Watch it with
GET /business/agents for contactsFound, GET /business/campaigns/{campaignId}/stats for sends and replies, and GET /business/analytics/agents for delivery over time.Keep it running
- If the agent runs out of credits, it pauses itself. Top up, then choose Activate on it in the app. Over the API, pausing is one-way:
POST /business/agents/{agentId}/duplicate, activate the copy, and add its results list to the campaign withPATCH /business/campaigns/{campaignId}and{ "listIds": ["<old list>", "<new list>"] }. The next dynamic check enrolls the new list’s contacts. - Expiry stops it too. An agent past its
expirationDatereadsexpired. SetexpirationDate: nullfor an agent you want running indefinitely. - Cap the total.
maxContactsstops the agent after that many results in all, andnotificationCountcaps how many results a single run delivers.
Use other signals
The same pattern works with any agent that delivers people. Each of these acceptsenrichEmail:
Agents that deliver companies, such as
funding-announcements or job-postings, need one more step: take the company domains and search for the people who work there. Funding round outreach walks through it. Every kind is listed in Create an agent.
What it costs
See Credits & billing and Agents.
Troubleshooting
Run the whole workflow
Python script: job change agent to dynamic campaign
Python script: job change agent to dynamic campaign
Do it from Claude
With the Fuse MCP server connected:Create a signal agent that finds people starting a new job as CFO or VP of Finance at UK financial services companies with 51 to 500 employees, with work emails, capped at 5,000 credits per run. Once it has delivered its first people, draft an AI campaign on its results list that enrolls new people automatically and congratulates them on the new role. Don’t launch the campaign.The assistant sets up the signal agent, then drafts the campaign on its results list. Creating a campaign never launches it, so it stays a draft until you ask.
Related
Create an agent
Every agent kind, its config fields and its spend controls.
Signals: agents
What each signal finds and how agents are billed.
Campaigns
Dynamic enrollment, exclusions and approval.
Website visitor outreach
Another always-on pipeline, driven by who visits your site.