PlaybookPrompts

Cold email opener personalized from public signals

Sales & Outreach cold-emailoutboundpersonalization

Most cold-email personalization is fake (mentions LinkedIn role). This prompt forces the model to find a genuine recent signal and tie it to your pitch.

Prompt
Write the first 2 lines of a cold email opener (no greeting) for this prospect.

Prospect: {{NAME}}, {{ROLE}} at {{COMPANY}}
Public signals (recent posts, podcast appearances, hires, product launches): {{SIGNALS}}
My offer: {{OFFER}}

Rules:
- Line 1: reference one specific recent signal. No flattery. No 'I noticed.'
- Line 2: tie the signal to a non-obvious implication for {{OFFER}}.
- No 'just wanted to reach out.' No 'I'd love to.'
- If the signals are weak, say so and request stronger ones rather than fabricating.
Variables to fill in
  • {{NAME}}
  • {{ROLE}}
  • {{COMPANY}}
  • {{SIGNALS}}
  • {{OFFER}}

How to use this prompt

  1. Copy the prompt above (Copy button on the top-right).
  2. Replace each {{VAR}} with your own value. Variables: {{NAME}}{{ROLE}}{{COMPANY}}{{SIGNALS}}{{OFFER}}.
  3. Paste it into one of the recommended tools below.
  4. Iterate: tighten constraints in the prompt if the output is generic.

Why this prompt is structured this way

The prompt is split into explicit steps because LLMs do better when the path is named, not implied. Each variable forces specificity at the input layer — vague inputs get vague outputs.

Heads up: some of the links on this page are affiliate links — meaning we may earn a commission if you sign up after clicking, at no extra cost to you. We only recommend tools we'd put on our own stack. You can see our full affiliate disclosure here.

Pair this prompt with a tool

The PlaybookPrompts weekly

One short email per week. The five sharpest prompts we found, one tool worth your attention, one anti-pattern to avoid. Unsubscribe in one click.

Newsletter signup is not configured. Set PUBLIC_NEWSLETTER_USERNAME in the build env.