get_outreach_template
Retrieve a country- and channel-specific outreach template calibrated to local cultural norms and compliance requirements for EMEA markets.
Instructions
Get a country-specific, channel-specific outreach template (cold email, LinkedIn DM, InMail, follow-ups, breakup). Templates are calibrated to local norms — formal address for Germany, French language for France, direct yes/no for Netherlands, etc.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| country | Yes | ||
| channel | Yes |
Implementation Reference
- src/main.ts:875-891 (registration)Tool registration in ListToolsRequestSchema handler: declares tool name, description, and inputSchema with country and channel enums.
{ name: "get_outreach_template", description: "Get a country-specific, channel-specific outreach template (cold email, LinkedIn DM, InMail, follow-ups, breakup). Templates are calibrated to local norms — formal address for Germany, French language for France, direct yes/no for Netherlands, etc.", inputSchema: { type: "object", properties: { country: { type: "string", enum: ["uk", "ireland", "spain", "germany", "france", "netherlands", "nordics"] }, channel: { type: "string", enum: ["cold_email", "linkedin_dm", "linkedin_inmail", "follow_up_day_3", "follow_up_day_7", "breakup"] } }, required: ["country", "channel"] } - src/main.ts:982-1001 (handler)Handler in CallToolRequestSchema: extracts country/channel args, looks up OUTREACH_TEMPLATES data, returns JSON with template body/psychology and compliance reminder.
case "get_outreach_template": { const country = args?.country as string; const channel = args?.channel as string; const countryTemplates = OUTREACH_TEMPLATES[country]; if (!countryTemplates) throw new Error(`Unknown country: ${country}`); const template = countryTemplates[channel]; if (!template) throw new Error(`Unknown channel '${channel}' for country '${country}'`); return { content: [{ type: "text", text: JSON.stringify({ module: "EMEA Outreach Template", country, channel, ...template, country_compliance_reminder: COMPLIANCE_CHECKS[country as keyof typeof COMPLIANCE_CHECKS]?.required_in_outreach || [] }, null, 2) }] }; } - src/main.ts:226-538 (helper)Data store: OUTREACH_TEMPLATES constant containing all country and channel templates with subject (optional), body text, and psychology explanation.
const OUTREACH_TEMPLATES: Record<string, Record<string, { subject?: string; body: string; psychology: string }>> = { uk: { cold_email: { subject: "Quick question about [Company]'s [specific initiative]", body: `Hi [Name], I came across [Company] while researching [their industry] — specifically noticed [specific observation: ad campaign, hiring push, product launch]. I work with companies like yours on [specific outcome with a number where possible]. Worth a brief call to see if there's a fit? Happy to keep it to 20 minutes. Best, [Your name]`, psychology: "Specific, time-respecting, British understated. No superlatives." }, linkedin_dm: { body: `Hi [Name] — I noticed [Company] recently [specific trigger]. I've helped similar businesses with [outcome]. Would it be useful to share what's worked? No pitch, just a quick exchange.`, psychology: "Permission-based, specific, low-friction." }, linkedin_inmail: { subject: "Brief — [specific topic]", body: `Hi [Name], I'll keep this short. [Specific observation about Company]. I help similar B2B companies with [outcome] — recent example: [Company X] saw [result] in [timeframe]. If this is on your radar, happy to share more. If not, no worries. [Your name]`, psychology: "Lead with proof, give an out, respect time." }, follow_up_day_3: { body: `Apologies for the follow-up — just wanted to make sure this didn't get lost. Happy to adjust the approach if this isn't the right time.`, psychology: "Soft, polite, gives them an out without losing the lead." }, follow_up_day_7: { body: `Closing the loop — if this becomes relevant later, the offer stands. Good luck with [specific thing].`, psychology: "Clean exit. Often triggers a 'wait — actually' response." }, breakup: { subject: "Closing the loop", body: `Hi [Name], I've reached out a couple of times about [topic]. Haven't heard back, so I'll assume the timing isn't right. If [problem you solve] becomes a priority later, feel free to reach out. Best of luck with [Company].`, psychology: "Respectful, no guilt-trip. UK norms favor this exit." } }, ireland: { cold_email: { subject: "[Mutual connection / local reference] — quick intro", body: `Hi [Name], I came across you through [mutual connection / Dublin tech event / specific community]. I work with companies in the Irish tech ecosystem on [outcome] — would love to connect if it makes sense. No rush on your end. [Your name]`, psychology: "Warm, relationship-anchored, no-pressure. Mentions Dublin context." }, linkedin_dm: { body: `Hi [Name] — I've been following [Company]'s growth — really impressive what the team has built. I work with a few companies in a similar space and thought there might be something worth a conversation. Happy to grab a virtual coffee if you're open to it.`, psychology: "Compliment + soft invitation + 'coffee' framing." }, linkedin_inmail: { subject: "From one [Dublin/Cork/Galway] connection to another", body: `Hi [Name], [Mutual connection] mentioned you might be interested in [topic]. I work with Irish tech companies on [outcome] — recently helped [Company] with [result]. Open to a 15-min chat? [Your name]`, psychology: "Warm intro template. Social proof from mutual connection." }, follow_up_day_3: { body: `Hi [Name] — just floating this back up in case it got lost. No pressure either way.`, psychology: "Light, relationship-respecting." }, follow_up_day_7: { body: `Hi [Name] — last note from me on this. If timing's not right, totally understand. Door's always open.`, psychology: "Warm exit, leaves relationship intact." }, breakup: { subject: "All good — closing the loop", body: `Hi [Name], I'll stop knocking — clearly not the right moment. If [topic] becomes relevant down the road, you know where to find me. Best with [Company].`, psychology: "Friendly, low-pressure exit." } }, spain: { cold_email: { subject: "[Company] + [Your Value Prop] — vale la pena una llamada?", body: `Hola [Name], I've been following [Company]'s [growth/expansion/initiative] and thought there might be a fit with what I do. I work with [similar companies] on [outcome]. Would a quick call make sense? Happy to be flexible on timing. Saludos, [Your name]`, psychology: "Hola opener acknowledges culture. Patient close." }, linkedin_dm: { body: `Hola [Name] — I came across [Company] and was impressed by [specific thing]. I work with international companies entering / growing in Spain on [outcome]. ¿Te interesaría conectar?`, psychology: "Bilingual hello + sí/no question." }, linkedin_inmail: { subject: "Hola [Name] — quick question", body: `Hi [Name], I work with companies in [their industry] across the Spanish market. Noticed [Company] is [specific observation] — there might be a fit with what I do. Open to a brief conversation? Available across CET timezone. Un saludo, [Your name]`, psychology: "Hola opener, but main body in English (works for Barcelona international scene)." }, follow_up_day_3: { body: `Hola [Name] — just floating this back up. Completely understand if the timing's off.`, psychology: "Patient, no-pressure. Spanish norms tolerate multiple touches." }, follow_up_day_7: { body: `Hi [Name] — happy to keep this open. I'll be in [Madrid/Barcelona] in [timeframe] if face-to-face would help.`, psychology: "Mentions in-person — Spaniards value real meetings." }, breakup: { subject: "Cerrando el bucle", body: `Hola [Name], stepping back — clearly not the right window. Door's open whenever. Suerte con [Company].`, psychology: "Spanish opener acknowledges respect for the relationship." } }, germany: { cold_email: { subject: "[Specific topic] — Anfrage", body: `Sehr geehrte/r Herr/Frau [Last Name], I am reaching out because [specific, research-backed reason]. I work with companies in [industry] on [outcome] and believe there may be a relevant opportunity for [Company]. I would welcome the opportunity to schedule a brief call at your convenience. Please find attached [relevant document or case study]. Mit freundlichen Grüßen, [Your name] [Your title] [Company name] [Contact details] [Impressum / legal notice if applicable]`, psychology: "Formal, documented, includes proof. Impressum signals compliance literacy." }, linkedin_dm: { body: `Sehr geehrte/r Herr/Frau [Last Name], I noted [Company]'s [specific initiative]. We work with similar B2B companies on [outcome with metric]. I'd appreciate the opportunity for a brief professional discussion. Vielen Dank.`, psychology: "Formal, specific, modest in claim." }, linkedin_inmail: { subject: "[Specific topic] — Geschäftsanfrage", body: `Sehr geehrte/r Herr/Frau [Last Name], [One sentence on specific observation about Company]. We help [industry] companies with [outcome]. Documentation: [link to case study with specific German company if possible]. I would be grateful for the opportunity for a brief conversation. Mit freundlichen Grüßen, [Your name] [Title], [Company] GDPR-compliant. Datenschutzerklärung: [link]`, psychology: "Formal address + immediate compliance signal." }, follow_up_day_3: { body: `Sehr geehrte/r Herr/Frau [Last Name], I am following up on my previous message regarding [topic]. I remain available should you wish to discuss further. Mit freundlichen Grüßen, [Your name]`, psychology: "Formal, patient, no pressure." }, follow_up_day_7: { body: `Sehr geehrte/r Herr/Frau [Last Name], my final note on this. I am happy to provide any additional documentation that would be helpful. Otherwise, I wish you continued success with [Company]. Mit freundlichen Grüßen.`, psychology: "Formal exit, offer to provide more docs." }, breakup: { subject: "Letzter Hinweis", body: `Sehr geehrte/r Herr/Frau [Last Name], understanding the timing isn't right. Should our offering become relevant in the future, we remain available. Mit freundlichen Grüßen.`, psychology: "Professional, formal, no emotion." } }, france: { cold_email: { subject: "[Company] — une question rapide", body: `Bonjour [Name], J'ai été en train de suivre [Company] et étais particulièrement intéressé(e) par [specific observation in their domain]. I work with companies like yours on [outcome]. Would a brief call make sense? Je vous souhaite une excellente journée. Cordialement, [Your name]`, psychology: "French opener + body bilingual works for Paris tech. Pure French if traditional industry." }, linkedin_dm: { body: `Bonjour [Name] — j'ai remarqué [specific thing about Company]. Je travaille avec des entreprises similaires sur [outcome]. Cela pourrait-il intéresser [Company] ? Disponible pour échanger.`, psychology: "Pure French shows respect. 'Échanger' is the right verb (vs 'sell')." }, linkedin_inmail: { subject: "Brève question pour [Company]", body: `Bonjour [Name], [One sentence specific observation]. Nous accompagnons des entreprises similaires sur [outcome]. Voici un cas d'usage récent: [specific case study]. Je serais ravi(e) d'échanger 15 minutes si cela vous semble pertinent. Cordialement, [Your name] [Title]`, psychology: "Formal but warm. 'Cas d'usage' = case study in French biz French." }, follow_up_day_3: { body: `Bonjour [Name] — je me permets de relancer concernant ma précédente note. Je reste à votre disposition. Cordialement.`, psychology: "Formal, polite, no pressure. 'Je me permets' is the right register." }, follow_up_day_7: { body: `Bonjour [Name] — un dernier mot de ma part. Si le timing n'est pas le bon, je le comprends parfaitement. Bonne continuation à [Company]. Cordialement.`, psychology: "Elegant exit. 'Bonne continuation' is the perfect French farewell." }, breakup: { subject: "Note de clôture", body: `Bonjour [Name], comprenant que ce n'est pas le bon moment, je vous laisse tranquille. La porte reste ouverte. Cordialement.`, psychology: "Formal, leaves door open without pressure." } }, netherlands: { cold_email: { subject: "Direct vraagje voor [Company]", body: `Hi [Name], Straight to the point: I help [type of company] with [specific outcome with number]. [Company] looks like a fit because [specific reason]. Is this relevant for you right now? If not, no problem. Groet, [Your name]`, psychology: "Dutch directness valued. No filler." }, linkedin_dm: { body: `Hi [Name] — direct question: are you looking at [problem] right now? I help similar B2B Dutch companies solve it. If yes, happy to share more. If no, no worries.`, psychology: "Direct question, easy yes/no answer." }, linkedin_inmail: { subject: "Direct: [problem] for [Company]?", body: `Hi [Name], I'll keep this direct: I help B2B companies with [outcome]. [Specific observation about Company]. Is [problem] something you're working on this quarter? Yes/no answer is fine. Groet, [Your name]`, psychology: "Dutch love directness. Yes/no framing respects their time." }, follow_up_day_3: { body: `Hi [Name] — yes/no on the question above? Either is fine.`, psychology: "Hyper-direct second touch." }, follow_up_day_7: { body: `Hi [Name] — closing this thread on my end. If [topic] comes up later, ping me directly. Groet.`, psychology: "Clean, no fluff." }, breakup: { subject: "Closing thread", body: `Hi [Name], not the right timing — I get it. Door's open. Groet.`, psychology: "Direct, no emotion, no waste." } }, nordics: { cold_email: { subject: "Brief — [topic] for [Company]", body: `Hi [Name], I work with companies on [outcome]. Based on what I know about [Company], there might be a fit. Would you be open to a brief conversation? No urgency — happy to align with your timing. Best regards, [Your name]`, psychology: "Reserved, modest, time-respecting. Nordic values." }, linkedin_dm: { body: `Hi [Name] — small note. I help similar B2B companies with [outcome]. Wondering if it's relevant for [Company]. No pressure.`, psychology: "Modest, low-pressure. Avoids hyperbole." }, linkedin_inmail: { subject: "Quiet note for [Name]", body: `Hi [Name], I help [industry] B2B companies with [outcome]. Recent reference: [Company X result]. Wondering if there's a fit with [Company]. Happy to share more if useful. If not, all good. Best regards, [Your name]`, psychology: "Soft, modest, includes proof without bragging." }, follow_up_day_3: { body: `Hi [Name] — gentle nudge. If timing's not right, that's totally fine.`, psychology: "Avoids pressure, respects boundaries." }, follow_up_day_7: { body: `Hi [Name] — last note from me. Wishing you continued success with [Company].`, psychology: "Warm, modest exit." }, breakup: { subject: "Closing — wishing you well", body: `Hi [Name], I'll let this go for now. If [topic] becomes relevant later, you have my details. Best with [Company].`, psychology: "Quiet, dignified exit." } } };