Skip to main content
People in their first months in a new role are often reviewing tools and vendors, which makes a job change one of the strongest buying signals. This workflow sets up a signal agent that finds people starting a role that matches your buyer, adds their work email, and delivers them into a list. A dynamic campaign watches that list and enrolls each new person automatically, so outreach keeps running without another API call.

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 201, and the agent then quietly finds nobody, so resolve every value first:
Use field=title the same way for job titles. Three rules for this agent:
  • industries takes exactly one value. To cover several industries, create one agent per industry.
  • leadCompanyHeadcount takes exact bands: 1-10, 11-50, 51-200, 201-500, 501-1,000, 1,001-5,000, 5,001-10,000, 10,001+.
  • leadCompanyCountries takes full English country names such as "United Kingdom". No endpoint serves this list, so spell them out.
More detail is in Finding accepted values.
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:
Activation answers 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 isDynamic: true:
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.
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 with PATCH /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 expirationDate reads expired. Set expirationDate: null for an agent you want running indefinitely.
  • Cap the total. maxContacts stops the agent after that many results in all, and notificationCount caps how many results a single run delivers.

Use other signals

The same pattern works with any agent that delivers people. Each of these accepts enrichEmail: 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

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.

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.