Before you start
Step by step
1
Check your tracking setup
script is the tag to install in your site’s <head>, and it is null when your plan does not include website intent. credits.used against credits.limit shows how much of this month’s identification budget is left. Change the cap with PATCH /business/website-tracking and monthlyCreditLimit, or send null to go back to your plan’s monthly allowance.To see which page a visitor viewed, set up tracked pages in the app under Settings → Website. Each tracked page has its own copy of the script, and the feed then reports that page’s name in page.2
Pull the companies that visited recently
Read the company feed for your window, newest first:
since (an ISO date, inclusive) reads only visits from that day on: count and lastVisitDate then cover the window, and companies with no visit in it are left out. Without it the feed covers all time. Keep rows whose confidenceInterval is high (add moderate for more reach) and, if you track pages, whose page is one that signals intent. Collect each companyWebsite.The feed returns the same companies every day, so record the domains you have already processed and skip them next time.3
Leave out customers and accounts you already work
If you keep your customers in a company list, read its domains and remove them from today’s set:
filter-values reads company lists only, up to 1,000 rows per call; page through a longer list with start. To build one from a contact list of your customers, use POST /business/lists/{listId}/derive-company-list, as described in Working with lists.4
Find the decision-makers at those companies
Pass the domains as
job_company_website, up to 1,000 at a time, alongside the seniority and function you sell to. Preview with a small size to check the count:total in the response is the number of matching people. Domains can be sent with or without https:// and www., and seniority and role values come from GET /business/prospects/filter-options.5
Save them with work emails
listName reuses the list when it already exists, so each day’s run appends to the same list. Poll GET /business/jobs/{jobId} with the jobId from the 202 until status is completed.6
Add individually identified visitors
The
type=people feed names individual visitors. For each high-confidence row with a personLinkedin:POST /business/contacts/resolvewith{ "linkedinUrl": "…" }. If it answers with acontactId, the person is already in Fuse: add them withPOST /business/lists/{listId}/members.- If it answers
404 CONTACT_NOT_FOUND, upload them withPOST /business/lists/{listId}/contacts, sending the LinkedIn URL and the company you know. - Enrich both groups with
POST /business/lists/{listId}/enrich,mode: "email"and theircontactIds. Contacts that already have an email are not charged.
7
Start a dynamic campaign on the list
Do this once. A dynamic campaign enrolls everyone each daily run adds:
excludeCompanyLists is a safety net that keeps the campaign out of your customers’ accounts even if one slips into the list. Wait for initialization, preview and approve as in steps 7 to 9 of Build an AI outbound campaign from a prompt.Write about the problem your product solves rather than the visit itself. Relevance earns replies, and a message that opens with “I saw you on our website” rarely does.
8
Measure the pipeline
GET /business/analytics/website-intent?range=7d returns visits, unique companies and people, and high-confidence visits, and GET /business/campaigns/{campaignId}/stats shows what the outreach produced. See Analytics.Run it every day
Schedule steps 2 to 6 once a day. Each run searches only the domains that are new since the last run, and the dynamic campaign enrolls the new contacts within about 30 minutes, up to 200 at a time.What it costs
Troubleshooting
Run the whole workflow
Python script: daily website visitor sync
Python script: daily website visitor sync
Do it from Claude
With the Fuse MCP server connected:Which companies visited our site yesterday with high confidence? Find the finance directors, VPs and C-level people at those companies, save them with work emails to “Website visitors - decision makers”, and leave out anyone at our existing customers.The website visitor tools are read-only, so the assistant reads the visitor report, then searches for the people and saves them with the prospect search tools. Ask it to draft a dynamic campaign on the list in a follow-up request.
Related
Analytics
Website intent, campaign and enrichment roll-ups.
Build a list from search
People search filters and the accepted vocabularies.
Upload your contacts
Resolve LinkedIn URLs to contacts and manage list membership.
Job change outreach
Another always-on pipeline, driven by people starting new roles.