Template Personalizer
Merge-field personalization engine for outreach messages.
When to Trigger
Activate this skill when the user:
- Asks to personalize messages or outreach emails
- Wants to customize templates with contact data
- Needs to write tailored cold emails, DMs, or Slack messages
- Provides a template with placeholder fields and a contact list
- Says "personalize", "merge fields", "customize template", or "tailor outreach"
Template Syntax
Use double-brace merge fields in all templates. These are the supported fields:
| Merge Field | Source | Example Value |
|---|---|---|
{{first_name}} |
Contact record | "Alex" |
{{last_name}} |
Contact record | "Chen" |
{{company}} |
Clay enrichment | "Acme Protocol" |
{{role}} |
Clay enrichment | "Head of Developer Relations" |
{{tech_stack}} |
Clay enrichment | "Solidity, TypeScript, Foundry" |
{{mutual_connection}} |
Clay enrichment | "Jordan from Paradigm" |
{{recent_achievement}} |
Clay enrichment | "launched v2 mainnet last week" |
{{company_size}} |
Clay enrichment | "50-100 employees" |
{{funding_stage}} |
Clay enrichment | "Series A ($12M)" |
{{industry}} |
Clay enrichment | "DeFi infrastructure" |
{{social_handle}} |
Clay enrichment | "@alexchen" |
{{custom_hook}} |
Generated per contact | Unique opener based on research |
Data Source: Clay MCP to Merge Field Mapping
Pull enrichment data and map it to merge fields:
Call
find-and-enrich-companywith the company domain- Maps to:
{{company}},{{company_size}},{{funding_stage}},{{industry}}
- Maps to:
Call
find-and-enrich-contacts-at-companywith the contact name- Maps to:
{{role}},{{tech_stack}},{{social_handle}}
- Maps to:
Call
ask-question-about-accountswith targeted queries- "What recent news or achievements does this company have?" maps to
{{recent_achievement}} - "Who are mutual connections?" maps to
{{mutual_connection}}
- "What recent news or achievements does this company have?" maps to
Generate
{{custom_hook}}by synthesizing the above into a one-sentence opener unique to the contact.
Tone Controls
Set the tone before generating any messages. The user specifies one of four modes:
Formal (Enterprise)
- Full sentences, proper grammar, no contractions
- Professional sign-off ("Best regards", "Looking forward to connecting")
- Title-case subject lines
- Example: "Dear Alex, I wanted to reach out regarding a potential collaboration between our organizations."
Casual (Startup)
- Contractions, conversational flow, short paragraphs
- Friendly sign-off ("Cheers", "Talk soon")
- Sentence-case subject lines
- Example: "Hey Alex, saw what you're building at Acme -- super cool stuff."
CT-Style (Crypto / 0xJitsu)
- Lowercase preference, abbreviations welcome
- Community-native language ("shipping", "based", "wagmi")
- No formal sign-off, just a call to action
- Example: "hey alex -- your v2 launch was legit. building something adjacent, think there's overlap."
Technical (Dev-Focused)
- Lead with technical specifics, reference repos or tooling
- Include concrete technical value proposition
- Minimal fluff, direct to the point
- Example: "Alex, noticed your Foundry test suite on the v2 contracts. We built a gas optimization plugin that could cut your deployment costs by 40%."
Personalization Depth Levels
L1: Basic (Name + Company)
Fields used: {{first_name}}, {{company}}
Best for: Cold leads (score < 50), high-volume outreach, initial list validation.
Hey {{first_name}},
I came across {{company}} and wanted to connect.
We help teams like yours with [value prop].
Worth a quick chat?
L2: Targeted (Role + Tech Stack + Company Size)
Fields used: {{first_name}}, {{company}}, {{role}}, {{tech_stack}}, {{company_size}}, {{funding_stage}}
Best for: Warm leads (score 50-79), mid-funnel nurture, segment-specific campaigns.
Hey {{first_name}},
As {{role}} at {{company}}, you're probably dealing with
[problem relevant to {{tech_stack}}] as you scale past
{{company_size}}.
We built [solution] specifically for {{funding_stage}}
companies in your space. [Specific benefit].
Open to a 15-min walkthrough?
L3: Hyper-Personalized (Recent News + Mutual Connections + Custom Hook)
Fields used: All fields including {{recent_achievement}}, {{mutual_connection}}, {{custom_hook}}
Best for: Hot leads (score 80+), strategic accounts, executive outreach.
{{custom_hook}}
{{first_name}}, your {{recent_achievement}} stood out --
{{mutual_connection}} actually mentioned your team when we
were discussing {{industry}} trends last week.
Given your work with {{tech_stack}}, I think there's a
natural fit with what we're building. [Highly specific
value prop tied to their achievement].
Would love to compare notes. Free Thursday afternoon?
Output Format
For each contact, output:
- Contact: Name, company, score, tier
- Tone: Which tone mode was applied
- Depth: L1, L2, or L3
- Subject Line: Personalized email subject (if channel is email)
- Message Body: Full personalized message text
- Merge Fields Used: List of fields that were populated vs. fell back to defaults
- Confidence: High/Medium/Low based on how many fields had real data vs. placeholders
If a merge field has no data from Clay, flag it and either:
- Use a graceful fallback ("your team" instead of
{{company}}) - Skip the sentence that depends on it
- Never leave raw
{{field_name}}in the output
Anti-Patterns
These are hard rules. Reject any output that contains them.
| Anti-Pattern | Why It Fails | What to Do Instead |
|---|---|---|
| "Hope this finds you well" | Generic opener, signals mass email | Lead with a specific observation about them |
| "I'd love to pick your brain" | One-sided value extraction | Offer value first, then ask |
| "Just circling back" | Passive-aggressive, adds no new information | Add new context or value in each follow-up |
| "As a fellow [X]" | Fake familiarity if not actually shared | Only reference real mutual attributes |
| "Quick question" | Subject line clickbait, erodes trust | Write a subject that reflects actual content |
| "I know you're busy, but..." | Self-defeating opener, assumes rejection | Be direct and confident |
| Exclamation marks in subject | Spam trigger and reads as desperate | Use periods or no punctuation |
| ALL CAPS in subject | Spam filter trigger | Sentence case only |
| More than 150 words in cold email | Too long, won't get read | Keep to 80-120 words max for initial outreach |
| Sending without opt-out footer | Legal and ethical violation | Always append opt-out line |