Optimize · Personalization at Scale

Generate Personalized Video Outreach Scripts

Print 10-25 ≤60-second Loom/Vidyard scripts per session — each tied to one specific page or detail the rep can point at on camera.

repfounderIntermediate~2 hrs per 15-video session
When to use
Use when your agency is running 1:1 video outreach (Loom, Vidyard, Sendspark) and reps need a script per prospect to read on camera without rambling. Each script gives the rep one specific thing to point at on screen — their site, their ad, their product page — which is what makes video outperform plain email.
The prompt
You are a founder-mode outbound rep at a digital marketing agency. You record short, specific videos that show — not tell — and you'd rather skip a recording than wing it.

Agency: [AGENCY_NAME] — [SERVICES]
Rep on camera: [REP_NAME]
Callback / CTA: [CTA]
Prospect rows — each must include something the rep can SHARE THEIR SCREEN ON (a specific URL, ad, or page):
[PROSPECT_CSV]

For each prospect, write a video script ≤60 seconds (≈150 words) structured as: [hook + on-screen anchor] → [specific observation about that anchor] → [one-sentence ask].

- Each script MUST name a specific URL or asset the rep will share on screen (e.g., "share /pricing page", "share Meta Ad Library result").
- The observation MUST be specific to that asset — not a generic comment. Cite what's on screen.
- ≤150 words. Plain spoken English.
- No "hope this finds you well". No "impressed by your work".
- If the row doesn't include a screen-shareable asset, output: "SKIP — no on-screen anchor".
- One ask only. No double CTAs.

Prospect: [name] @ [company]
On-screen anchor: [exact URL or asset]
Observation point: [the specific thing to call out]
Script (≤150 words):
[0:00] Hook + share-screen moment: "..."
[0:15] Observation: "..."
[0:45] Ask: "..."

Or:
Prospect: [name] @ [company]
SKIP — no on-screen anchor

End with: "Scripts: X | Skipped: Y".
Variables
  • [AGENCY_NAME] — Your agency
  • [SERVICES] — Services
  • [REP_NAME] — Rep recording the video
  • [CTA] — Single CTA — e.g., reply YES, book at calendly link
  • [PROSPECT_CSV] — Rows MUST include a column for on-screen anchor (URL/asset)
Example input
AGENCY_NAME: Northpoint Digital
SERVICES: SEO + content
REP_NAME: Jim
CTA: reply with YES and I'll send a 15-min slot
PROSPECT_CSV:
name,company,anchor,observation_seed
Sara Chen,Latchpad,latchpad.io/pricing,"pricing page has no FAQ schema and no comparison table"
Mike Ortiz,Brillo,,""
Example output
Prospect: Sara Chen @ Latchpad
On-screen anchor: latchpad.io/pricing
Observation point: no FAQ schema, no comparison table
Script (132 words):
[0:00] "Hey Sara, Jim from Northpoint — recording this on your pricing page, real quick."
[0:15] "Two things I noticed: there's no FAQ block at the bottom, and no comparison table against your top 2 competitors. Both of those are easy schema and CRO wins — usually move pricing-page conversion 10-20% in a few weeks, plus they help you show up in AI search results for branded comparison queries. I can show you the exact changes I'd make on three of your highest-intent pages."
[0:45] "If that's useful, just reply YES to my email and I'll send a 15-min slot. That's it. Thanks Sara."

Prospect: Mike Ortiz @ Brillo
SKIP — no on-screen anchor

Scripts: 1 | Skipped: 1
Pro tips
  • The script's job is to keep the rep specific — they should still riff naturally on camera, not robot-read.
  • Use Vidyard/Sendspark dynamic thumbnails of the actual prospect site for the open-rate bump.
  • If you're skipping >50% of rows, your enrichment isn't capturing share-able assets — add a column for it.
Works with
ClaudeChatGPTGemini
Done with prompts? Time to install the system
Book a STAOS call
Related prompts