Personalised video outreach for qualified inbound leads

Every qualified inbound lead receives a video about their business and sees their own website. Sales is involved at the moment that matters: when someone presses play.

The situation

Inbound leads were arriving with an email address and receiving a standard automated sequence. It reached them, but it read as though it had reached everyone else too.

A video that shows a prospect’s own website while explaining how the product fits their situation is a different kind of message. But recording one per lead is not something a sales team can sustain, and at inbound volume it is not work they should be doing at all.

The constraint

Generating the video was the easy half. The hard half was that personalisation amplifies bad data instead of hiding it.

A video that greets someone by the wrong name while displaying the wrong company website is actively damaging. Inbound form data is not clean enough to trust without checks, so most of the work happens before anything is sent.

Swiss Product Studio built an automation that excludes a lead when:

  • the email recently bounced;
  • email validation does not return a deliverable result;
  • the person has already received a video;
  • HubSpot identifies the person as a customer or churned customer;
  • the person is marked do-not-contact; or
  • the company already has an active subscription.

A valid company domain must exist because it appears in the video. An AI model also checks whether the first name looks like a person’s name, and the name is used only when that check passes.

Timing created a second problem. Leads arrive all week, but sending at any hour was not appropriate. Several scheduled runs cover different weekday windows, with a separate Monday run for the weekend backlog. A Postgres record of every generated video sits before every send as a duplicate check, so overlapping windows cannot select the same person twice.

What we built

Scheduled workflows pull newly created leads from HubSpot and run them through eligibility checks. Leads that pass are enriched with CRM and company context, including the website that will appear in the video. Sendspark generates the video around that website with a message framed for that company, and the video is sent by email. A Postgres database holds the state the checks depend on: what has been sent, to whom, and when.

The system does not ask anyone to qualify or send. It asks for a person exactly once: when the recipient presses play. Sendspark reports the view through a webhook; the n8n workflow matches it to the campaign record, marks it watched, and posts to Slack. Only the first play triggers the alert. Later views are ignored, so the channel remains a list of leads worth calling rather than a feed of every recorded view.

Process diagram

SCHEDULEDWINDOWSELIGIBILITY ANDDELIVERABILITY CHECKSCRM ANDCOMPANY CONTEXTGENERATE AND SENDPERSONALISED VIDEOFIRSTPLAYALERTSALES

Where it stands

Qualification, personalisation, delivery, and tracking run without manual monitoring. Sales receives a Slack message when a qualified prospect has watched a video about their own company, giving the team a timely signal to decide the next step.

Next

Customers on WhatsApp. The team in Slack.

02

Ready to boost business results with AI automation?

Book a 30-minute operations review. We will look at where manual work is limiting your operation and whether there is a practical opportunity to create capacity.

Book a 30-minute operations reviewSwiss precision. Valley speed.