Personalized HeyGen videos for tier-1 accounts, with human approval
HubSpot + HeyGen
Who it's for
SDRs and account-based marketing teams who want a short personal video for a handful of top accounts, with every script and every video checked by a person. HubSpot can be swapped for Salesforce, Attio or Pipedrive. Nothing in this recipe sends a video; you decide how and whether to use each one.
What you get
One draft script and the batch summary, before any video is made. Sample output: every company and person in it is fictional.
Tier-1 contacts found: 5 (from companies where Account tier = Tier 1) Script 1 of 5, for Dana Okafor, Head of RevOps, Fernhill Software (fictional) Length: about 35 seconds. Avatar: 'Jordan - office' (your own). Voice: 'Jordan'. "Hi Dana, Jordan here. I saw Fernhill opened the Denver office this summer. [1] When teams add a second site, forecast roll-ups usually get messier before they get better. We helped a team about your size cut their weekly forecast prep from a day to an hour. If that's on your list for Q1, I'd be glad to show you how in 20 minutes." Sources: [1] HubSpot note on Fernhill Software, logged Aug 14 by Alex Rivera Pronunciation: Okafor = oh-KAH-for Batch summary: | # | Contact | Company | Personal line source | Status | |---|---------------|-----------------------------------|-----------------------------|-------------------| | 1 | Dana Okafor | Fernhill Software (fictional) | Note, Aug 14 | Ready | | 2 | Sam Whitlock | Quarry Lane Analytics (fictional) | Deal stage change, Oct 2 | Ready | | 3 | Priya Raman | Mossgate Labs (fictional) | none newer than 90 days | Generic, check | ...2 more No videos have been generated. Reply 'approve 1, 2' to generate those two.
Time and cost
Estimate About 20–30 minutes for 5 contacts, plus HeyGen render time.
Assumptions: One batch of 5 tier-1 contacts, one approved script each, and one video per script with no re-renders.
- HubSpot: Reads only: tier-1 companies, up to 5 contacts, and their recent notes and activities. Credit use not confirmed by HubSpot.
- HeyGen: A list of your avatars and voices, then up to 5 video generations after you approve the scripts. Each generation draws on your HeyGen plan's credits, and every re-render draws again. Some tools use credits. Generation calls draw on the existing HeyGen plan's credits ("Video generation uses the credits included in your existing HeyGen plan"); create_avatar_looks is charged from workspace credits when accepted, and filler-word removal costs $0.30 per source minute. Docs do not say whether read/list calls are free. Source: developers.heygen.com, checked 2026-10-16
Exact credit costs depend on your plan with each vendor. Check the tool pages before a large run.
MCP servers
Every server is confirmed in: ClaudeChatGPT
-
ClaudeChatGPTRead + writeCredits not confirmed
https://mcp.hubspot.com -
ClaudeChatGPTClaude CodeCursorRead + writeSome tools use credits
https://mcp.heygen.com/mcp/v1/
Set up in a chat app
Every server in this recipe is confirmed for Claude and ChatGPT. Connect each one, then paste the prompts below into one conversation.
- Connect HubSpot without code (Claude, ChatGPT)
- Connect HeyGen without code (Claude, ChatGPT)
Developer setup
Auth setup and mcp.json for Claude Code and Cursor
- HubSpot: Sign in with OAuth in your client (run
/mcpin Claude Code). Do it once interactively, and the client stores and refreshes the token. - HeyGen: Sign in with OAuth in your client (run
/mcpin Claude Code). Do it once interactively, and the client stores and refreshes the token.
Put this in .mcp.json (Claude Code, project root) or ~/.cursor/mcp.json (Cursor). Swap the example keys for your own, and don't commit real ones. Remove the // comment lines if your client requires strict JSON.
{
"mcpServers": {
"hubspot": {
"url": "https://mcp.hubspot.com"
},
"heygen": {
"url": "https://mcp.heygen.com/mcp/v1/"
}
}
}
Step-by-step prompts
- Find up to {number} contacts in HubSpot at companies where {tier property} is {tier 1 value}. Show me a table with name, title, email, company, and the newest note or activity on the company with its date. Don't change any records.
- For each contact, draft a video script of about 35 seconds from me: one personal line based on a HubSpot fact from the last 90 days, one line on the problem, one short proof point, and one clear ask. Cite the record and date for the personal line, and add how to pronounce any unusual names. If there's no recent fact, say so and keep it generic. Show me all the scripts.
- List my HeyGen avatars and voices. Tell me which ones match {my avatar name} and {my voice name}. Don't generate anything yet.
- Only after I approve a script, generate a HeyGen video for it with {my avatar name} and {my voice name}. Start with one video so I can check it, then do the rest of the approved scripts. Don't send or share anything.
- List the videos you generated in this run with the contact name and status, so I can watch each one before I use it.
Run it on a schedule (optional)
- Run it by hand for each small batch. This is not a good fit for an unattended schedule, because every script and video needs a person to check it.
- If you want a regular rhythm, schedule only the first two steps (find contacts and draft scripts) and save the drafts for review. Generate videos in a manual session.
- HubSpot non-admin users need a Super Admin to approve the connector first. Connect both tools and do one manual run before planning any routine.
Where this goes wrong
- Someone's likeness used without consent. A video should only show the avatar and voice of the person whose name is on it, and only with their written OK. List the avatars and voices first, confirm the one you'll use by name, and don't let the assistant pick a colleague's or a stock avatar presented as you.
- Wrong or stale personalization. A title from two years ago or a note about the wrong company makes the video worse than none. Every personal line must cite the HubSpot record and date it came from. Drop anything older than 90 days, and watch each video before you use it.
- Wrong person or wrong company in the video. Contacts with the same name, or a contact who has moved companies, get mixed up. Show the contact's email and company next to each script, and check the name in the script matches the HubSpot record exactly.
- Credits spent on re-renders. Each generation draws on your HeyGen plan's credits, so fixing a typo after rendering costs a second video. Approve the final script text first, generate one video as a test, and only then the rest.
Gotchas
- HeyGen video generation uses the credits in your existing HeyGen plan. HeyGen's docs don't say whether list calls are free.
- Creating avatar looks is charged from workspace credits when accepted, which is another reason to keep avatar changes out of this recipe.
- The HeyGen connector for Claude web needs a paid Claude plan, and HeyGen recommends its Creator plan or above. In ChatGPT it's the HeyGen plugin from the Apps directory.
- 'Tier 1' is whatever property your team uses for it. Tell the assistant the exact property name and value, or it will guess.
- HubSpot non-admin users need a Super Admin to approve the connector before they can connect.
Download
Get the prompts, guardrails and expected output as one Markdown file. Paste it into a Claude Project or ChatGPT project's instructions, or save it as CLAUDE.md for Claude Code.
Download heygen-tier1-videos.md
New recipe and breakage notes every week
Vendor sites: HubSpot. If we join an affiliate program, these links will be labeled as affiliate links.