Skip to main content
This workflow turns one sentence about your ideal buyer into an approved, AI-written email campaign. You preview a natural-language prospect search, save the matches into a list with work emails, ground the copy in your knowledge hub and writing style, read what the AI wrote, and approve. It takes about a dozen API calls, and most of the elapsed time is enrichment, which the save call estimates for you.

Before you start

Step by step

1

Describe your buyer in plain English

Send a natural-language query to POST /business/prospects/search. Fuse converts the sentence into structured filters, runs the search, and echoes the filters back.
filters is what your sentence resolved to, and total is the true match count. unresolvedCriteria quotes any part of the sentence that could not be mapped to a filter: if it is not empty, the results are broader than you asked for. Tighten them by editing filters and searching again with filters instead of query. Build a list from search shows how to look up exact filter values.Keep size small while you tune. Every profile returned costs 2 credits.
2

Check your credit balance

Budget up to 50 credits per contact you are about to save with email enrichment. The save is refused up front with 402 INSUFFICIENT_CREDITS when the balance cannot cover it, so nothing is half done.
3

Save the matches with work emails

POST /business/prospects/search/save-to-list runs the search server-side, saves up to limit matches and finds their work emails in the same job.
Send the filters from step 1 rather than the sentence again, so the save runs exactly the search you previewed. listName creates the list, or reuses an existing list with that name. Keep listIds[0]: every later step works on it.
The save runs its own search and does not reuse your preview, so there is no need to page through results first. Saving a hand-picked subset is not supported; narrow the filters instead.
4

Wait for the list to fill

Poll the list until completionStatus is complete. Every 30 seconds is plenty.
metrics.totalWithProfessionalEmail is how many contacts the campaign can email.
5

Choose what grounds the copy

Three reads decide what the AI writes from and who it sends as. None of them cost credits.
  • Knowledge hub: pick one whose status is complete. If you leave knowledgeHubId out, your default hub is used.
  • Writing style: writingStyles lists your default style first. Its id is the writingStyleId.
  • Mailbox: make sure at least one account is listed and its needsReauthAt is null.
6

Create the AI campaign

channels creates one sequence step per entry. userPrompt says what the campaign should achieve and how it should sound, and excludeContacted skips anyone your campaigns reached in the last three months. The full list of options is in Campaigns.
Right after enrichment you can get 422 LIST_INCOMPATIBLE_WITH_CHANNELS even though the contacts have emails. The list’s reachability stats update a little after the emails land. Wait a minute or two and send the same request again.
7

Wait for the AI to plan the sequence

AI campaigns plan their topics in the background. Poll until initializationStatus is completed:
status stays initializing until you approve. If initializationStatus is failed, initializationError says why.
8

Preview what each step will say

List the steps, then render each one for a sample contact. Previews are never saved or sent.
To change direction, PATCH /business/campaigns/{campaignId}/steps/{stepId} with a new topic, or rebuild every topic with POST /business/campaigns/{campaignId}/steps/regenerate-topics. Previews have their own limit of 20 requests a minute.
9

Approve the campaign

Approval is the only call in this workflow that sends email.
Sending starts at campaignStartDate (now, by default) and runs between 09:00 and 17:00 in the campaign’s timezone on its emailDays.

Track results and reuse the setup

GET /business/campaigns/{campaignId}/stats returns sent, opened, clicked and replied counts, and GET /business/campaigns/{campaignId}/leads shows each lead’s progress with hasReplied and hasClicked. Clicks and replies are the reliable signals: some email clients load tracking pixels automatically, which inflates opens. When a campaign works, save its sequence and schedule as a template and point it at the next segment:
Pass the returned template.id as templateId when you create the next campaign.

What it costs

See Credits & billing for every operation.

Troubleshooting

Run the whole workflow

Do it from Claude

With the Fuse MCP server connected, one request covers the same ground:
Find heads of finance at UK fintech companies with 50 to 500 employees, save 200 of them with work emails to a list called “UK fintech finance leaders”, and draft a three-email AI campaign on that list grounded in our default knowledge hub. Don’t launch it yet.
The assistant searches, saves the people with their work emails to the list, then creates the campaign and writes its sequence. Creating a campaign never launches it, so it stays a draft until you ask.

Build a list from search

Filter vocabularies, saved searches and every way to express a prospect search.

Campaigns

Every campaign option, manual steps, merge tokens and approval errors.

Knowledge hubs

Build the product knowledge AI campaigns write from.

Qualify leads before enriching

Spend enrichment credits only on the prospects that fit your ICP.