Generate structured call scripts by persona and lead context
Generates structured, persona-adapted call scripts for cold calls, follow-up calls, and demo-booked prep sessions. Adapts opening hooks, value props, objection handling, and closes based on the contact's role and available lead context (signals, CRO findings, previous touches).
agency.config.json at repo root with services, case_studies, and outreach.tone sectionscrm-writer skill for logging scripts to the calling tabagency.config.json from the project root.services -- all service offerings with descriptions and keywordscase_studies -- available case studies with client name, metrics, and industryoutreach.tone -- voice and tone guidelines for spoken scriptslead -- object with: , , , , companycontact_nametitleindustrycompany_sizecall_type -- one of: "cold", "follow_up", "demo_booked"lead_context -- optional object with: signal (how the lead was found), cro_findings (specific issues found on their store), previous_touches (array of prior outreach actions with dates)Map the contact's title to a persona and adapt the script structure accordingly.
| Persona | Titles | Opening Hook | Key Value Prop | Primary Objection |
|---|---|---|---|---|
| Founder/CEO | Founder, CEO, Co-founder, Owner, Managing Director | Business growth, time savings, founder bandwidth | "We handle Shopify end-to-end so you focus on product and growth" | "I already have a developer" |
| Head of Ecomm | Head of Ecommerce, Ecommerce Director, VP Ecommerce, DTC Lead | Conversion metrics, tech stack optimization, revenue per session | "Our CRO audit found X% conversion leakage on your store" | "We're already doing CRO internally" |
| VP Marketing | VP Marketing, CMO, Head of Marketing, Marketing Director | Campaign performance, brand consistency, marketing-to-store handoff | "Performance marketing works best when the store converts -- we bridge that gap" | "Budget is tight this quarter" |
| Marketing Manager | Marketing Manager, Ecommerce Manager, Digital Marketing Manager, Growth Manager | Execution support, bandwidth relief, tactical help | "Extend your team without the overhead of another full-time hire" | "I need to check with my VP" |
If the title does not match any persona, default to Founder/CEO for companies under 50 people and Head of Ecomm for larger companies.
Generate a complete call script based on call_type.
1. Opening (15 seconds)
Use a pattern interrupt. Do not open with "Hi, how are you today?" or "Is this a good time?" -- these trigger automatic rejection.
Structure:
Examples by persona:
2. Value Hook (30 seconds)
Connect the signal or CRO finding to a concrete result.
lead_context.cro_findings exists: reference the specific issue. "We found that your product page has {issue}, which typically costs brands like yours {X}% in lost conversions."lead_context.signal exists: reference the signal. "I saw your {signal_source} about {topic}, and we actually just solved that exact problem for {case_study_client}."Always tie to a case study result: "We found a similar issue at {case_study_client} and fixing it increased their {metric} by {X}%."
3. Qualification Questions (60 seconds)
Ask 2-3 questions to qualify the lead. Listen more than talk.
Core questions:
Context-specific questions:
4. Objection Handling
Prepare responses for common objections. Tone: empathetic, not argumentative. Acknowledge, reframe, leave the door open.
5. Close (30 seconds)
Ask for a specific time. Do not ask "Would you be interested in a call?" -- you are already on one.
Shorter and more direct. The lead has had a previous touchpoint.
1. Opening (10 seconds)
2. New Value (30 seconds)
3. Direct Ask (20 seconds)
Not a call script per se, but preparation notes for the demo call.
1. Pre-Call Research Notes
2. Discovery Questions to Ask
3. Demo Talking Points Tailored to their specific issues:
Return a structured JSON object:
{
"call_type": "cold",
"contact": {
"name": "Rahul Sharma",
"title": "Founder",
"company": "Brand X"
},
"persona": "Founder/CEO",
"opening": "Hi Rahul, this is {caller} from Plasho. I was looking at Brand X's Shopify store and found something specific I wanted to share -- mind if I take 30 seconds?",
"value_hook": "Your product pages are loading variant images in a way that adds 2 extra clicks to purchase. We fixed the same issue for Kibi Sports and it increased their add-to-cart rate by 18%.",
"questions": [
"Are you currently working with a Shopify agency or developer?",
"What's the biggest challenge with the store right now?",
"Is conversion optimization a priority this quarter?"
],
"objection_handlers": {
"not_interested": "Totally understand. Would it make sense to keep in touch for when things change? I can send over a quick case study in the meantime.",
"have_agency": "Great, how's that going? Many brands bring us in for specific CRO projects alongside their main agency. We complement, not replace.",
"send_info": "Of course. To send you the most relevant case study, which part of your store are you most focused on improving -- product pages, checkout, or overall design?",
"no_budget": "Makes sense. A lot of brands find that a targeted CRO fix pays for itself in the first month. Want me to share what that looks like with a real example?",
"check_with_team": "Absolutely. Would it help if I put together a one-page summary you can share? What would your team need to see to move forward?",
"in_house": "That's solid. How's the bandwidth? Most in-house teams we talk to are stretched thin on the Shopify side specifically."
},
"close": "Would Thursday at 2pm work for a 15-minute deeper look at what we found on your store?",
"estimated_duration": "2-3 minutes",
"notes_for_caller": "Rahul is a founder, so focus on saving his time and letting him focus on product. Brand X is in the fitness equipment space, similar to Kibi Sports. Use the Kibi case study heavily. Signal source: Reddit post asking about Shopify CRO agencies."
}
For follow_up type, the structure is the same but opening references the previous touch, value_hook contains new information, and estimated_duration is "1-2 minutes."
For demo_booked type, replace the call script fields with:
{
"call_type": "demo_booked",
"contact": { ... },
"pre_call_research": { "company_overview": "...", "recent_signals": "...", "store_analysis": "...", "competitors": "..." },
"discovery_questions": ["...", "...", "..."],
"demo_talking_points": ["...", "...", "..."],
"pricing_notes": "...",
"estimated_duration": "30 minutes"
}
If crm-writer skill is available:
crm-writer.Trigger phrases:
User: Generate a cold call script for Rahul Sharma, Founder of Brand X
Assistant: [reads config, maps to Founder/CEO persona, generates full script with personalized opening/hook/objections/close, outputs JSON, logs to CRM]
User: Prep me for the demo with Lifelong tomorrow
Assistant: [reads config + lead context, generates demo_booked prep with research notes, discovery questions, and tailored talking points]