Sync ICP website visitors from Leadfeeder to HubSpot daily

Every morning at 8am, push yesterday's ICP-fit website visitors into HubSpot so your reps see warm accounts in CRM the same day they show intent.

Agentic Task
LeadfeederHubSpotSalesOperationsLead EnrichmentData Sync
PromptCreate

Every weekday at 8am, sync yesterday's ICP-fit website visitors from Leadfeeder into HubSpot so sales sees them in CRM the same day they showed intent. Build this as an agent-based workflow because the dedupe-versus-update decision and the note synthesis from visit history need judgement.

Trigger: cron at 8am on weekdays.

Steps the agent should run each fire:

1. Call Leadfeeder's List Custom Feeds to find the feed named "ICP Target Accounts" (configurable) and grab its id.

2. Call Leadfeeder's List Leads against that custom_feed_id for yesterday's date range (start_date and end_date both set to yesterday).

3. For each lead, skip it if the company's domain matches our own domain or any domain in a configurable excluded-domains list (competitors, partners, ourselves).

4. For each remaining lead, call Leadfeeder's List Visits For Lead to pull yesterday's session-level visits so the agent can synthesize a short summary (visit count, page count, top pages by views).

5. Call HubSpot's Search Companies with a filter on the domain property equal to the lead's domain. If zero results, call Create Company with name, domain, industry, country, and a custom property (default name: leadfeeder_visit_summary) holding the synthesized summary plus a last_website_visit property set to yesterday. If one or more results, take the first match and call Update Company on that id to refresh last_website_visit to yesterday, then call Create Note associated with that company id containing the new visit summary. Never create a duplicate company.

6. Resolve the company owner: read the hubspot_owner_id from the company record. If set, the task should be assigned to that owner; otherwise the task is created unassigned.

7. Call HubSpot's Create Task associated with the company, with subject "Warm visitor: <Company name> hit <top page path>", due date set to today, status NOT_STARTED, priority MEDIUM, and hubspot_owner_id from step 6 when present.

8. At the end of the run, log a one-line summary: leads pulled, new companies created, existing companies updated, tasks created, and how many leads were skipped (split by reason: excluded domain vs. no usable domain).

Configuration to expose at the top of the workflow:

- Leadfeeder feed name (default: "ICP Target Accounts")

- Excluded domains list (our own domain plus known competitor domains)

- HubSpot custom property name for the visit summary (default: leadfeeder_visit_summary)

- HubSpot property name for last visit date (default: last_website_visit)

- Task subject template and default priority

Use the Leadfeeder integration (API token) and the HubSpot integration (OAuth).

What does this prompt do?

  • Pulls yesterday's ICP-fit website visitors from your saved Leadfeeder feed.
  • Adds brand-new companies to HubSpot, or updates the existing record with a fresh visit note instead of creating a duplicate.
  • Creates a follow-up task on the company, assigned to the company owner and due today, so the rep sees a warm account in their queue.
  • Skips your own domain and any competitor domains you list so the sync stays clean.

What do I need to use this?

  • A Leadfeeder account with at least one saved custom feed for your ICP accounts.
  • A HubSpot account where you can create and update companies and tasks.
  • A short list of domains to ignore (your own website, competitors, partners).
  • Optional: the name of the HubSpot property you want to use for the website visit summary.

How can I customize it?

  • Change the schedule, e.g. only run Tuesday through Friday, or run twice a day for a morning and afternoon batch.
  • Point the workflow at a different Leadfeeder feed (named accounts, free trial sign-ups, pricing-page visitors).
  • Adjust the task subject, due date, priority, or who it gets assigned to when the company has no owner.
  • Tweak what the workflow writes into the HubSpot company note (top pages only, full visit timeline, time on site).

FAQs

Will this create duplicate companies in HubSpot?
No. The workflow looks up each visitor by domain first. If the company already exists, it updates that record and appends a note about the new visit instead of creating a duplicate.
What does the follow-up task look like?
A HubSpot task titled something like "Warm visitor: Acme hit /pricing", due today, assigned to the company owner if one is set. If there is no owner, the task lands unassigned so your sales ops lead can route it.
Can I limit which visitors get synced?
Yes. The workflow reads from a saved Leadfeeder custom feed, so any ICP filter you build inside Leadfeeder (industry, employee count, country, source) will drive which companies flow into HubSpot.
What if a visitor's domain matches our own site or a competitor?
Those domains are excluded. You give the workflow a list of domains to skip, and it ignores any matches before touching HubSpot.
Does this work on a HubSpot Free plan?
Yes for creating companies and tasks. If you want the workflow to write to a custom property like "last website visit", make sure that property exists on your company object in HubSpot first.

Related templates

Turn Mailjet email clicks into ranked HubSpot follow-ups

Twice a day we spot the people clicking your pricing and demo pages, create a follow-up task for their owner, and post a ranked recap to Slack.

Mailjet
HubSpot
Slack Bot
Agentic Task
iMessage campaign console with pre-flight checks and delivery board

Build every text campaign in one screen: check who is actually reachable, see a realistic send plan, then watch delivery land row by row.

LoopMessage
Google Sheets
HubSpot
App
A searchable RFP answer library your bid team drafts from

Every proposal you have ever submitted in one searchable archive, with the closest past answers lined up against each question in a new RFP.

General Input Storage
General Input Database
Mistral AI
+2
App
See which target accounts just started advertising on LinkedIn

Open one board each Monday to see which of your target accounts are running LinkedIn ads right now, and which only switched them on this week.

LinkedIn Ad Library
HubSpot
General Input Database
App
Account health board that puts product usage next to your CRM

Your customer success team opens one board where every account's logins, seats and usage trend sit beside its owner, plan and renewal date.

Looker
HubSpot
Slack Bot
App
Look up a customer's full chat history mid conversation

Your agent types an email and sees every past conversation, rating and tag next to the CRM record, then files notes without ever leaving the chat.

LiveChat
HubSpot
App

Stop letting warm website visitors die in your analytics tool.

Connect Leadfeeder and HubSpot once, and Geni delivers yesterday's ICP visitors into your CRM every weekday at 8am.