Skip to main content
Glama

get_outreach_template

Produce outreach templates customized to each APAC country's communication norms and selected channel, ensuring cultural calibration.

Instructions

Country-specific outreach templates calibrated to local norms (Japanese formality, Aussie casualness, Indonesian Bapak/Ibu, etc.).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
countryYes
channelYes

Implementation Reference

  • OUTREACH_TEMPLATES constant: data structure containing all country-specific outreach templates (cold_email format) for 8 APAC countries (Japan, Singapore, Korea, India, Australia, Hong Kong, Taiwan, Indonesia), each with subject, body, and psychology fields.
    const OUTREACH_TEMPLATES: Record<string, Record<string, any>> = {
      japan: {
        cold_email: { subject: "[Specific topic] のご相談", body: "Sehr geehrte/r [Last Name]-sama,\n\nI am writing regarding [specific business observation]. We work with [industry] companies on [outcome] and believe there may be value for [Company].\n\nI would be honored to schedule a brief introductory meeting at your convenience. Please find attached our company introduction.\n\nWith deepest respect,\n[Your name]\n[Title], [Company]", psychology: "Formal Japanese business letter convention. Use of -sama signals respect." }
      },
      singapore: {
        cold_email: { subject: "Quick Q for [Company]", body: "Hi [Name],\n\nStraight to the point: we help [industry] companies in Singapore with [outcome]. Recent reference: [Company X result].\n\nQuick 15-min call to see if there's a fit?\n\nThanks,\n[Your name]", psychology: "SG values directness + clarity. Get to the point." }
      },
      korea: {
        cold_email: { subject: "[Company]님 안녕하세요", body: "안녕하세요 [Name]-님,\n\n[Company] regarding [specific topic]. We work with similar Korean enterprises on [outcome], including reference clients [X, Y].\n\nWould a brief meeting at your convenience be possible?\n\n감사합니다,\n[Your name]", psychology: "Korean honorifics + group reference (we) + brand customers." }
      },
      india: {
        cold_email: { subject: "Quick chat about [topic] for [Company]?", body: "Hello [Name],\n\nHope you're doing well. I came across [Company] and was impressed by [specific observation].\n\nWe help [industry] companies in India with [outcome]. Pricing is flexible and we work with companies of all sizes.\n\nWould a 15-min call work? I'm flexible on timing.\n\nWarm regards,\n[Your name]", psychology: "Warmth + flexibility on pricing (expected) + 'flexible on timing' shows respect." }
      },
      australia: {
        cold_email: { subject: "G'day [Name] — quick Q", body: "G'day [Name],\n\nNoticed [Company] is doing [specific thing] — really impressive.\n\nWe help similar Aussie businesses with [outcome]. No fluff. Worth a quick chat?\n\nCheers,\n[Your name]", psychology: "G'day opener (used naturally), no fluff, 'cheers' close. Casual confidence." }
      },
      hongkong: {
        cold_email: { subject: "Quick — [Company] + [outcome]?", body: "Hi [Name],\n\nFollowing [Company]'s recent [trigger]. We work with similar HK firms on [outcome] — quick numbers from a recent client: [result].\n\nWorth 15 min this week?\n\nBest,\n[Your name]", psychology: "Numbers-driven, fast-paced, time-respecting." }
      },
      taiwan: {
        cold_email: { subject: "[Company] 您好", body: "您好 [Name],\n\n[Company] regarding [specific topic]. We work with similar Taiwan tech firms on [outcome].\n\nWould a brief LINE call or meeting work for you?\n\n敬上,\n[Your name]", psychology: "Traditional Mandarin opener. Mention LINE (preferred messenger)." }
      },
      indonesia: {
        cold_email: { subject: "Salam [Name] — [topic]", body: "Salam Bapak/Ibu [Last Name],\n\nWe are reaching out regarding [specific topic]. We work with companies in [industry] on [outcome] and would welcome the opportunity to introduce ourselves.\n\nMay we schedule a brief meeting at your convenience?\n\nTerima kasih,\n[Your name]", psychology: "Bapak/Ibu (Mr/Mrs) formal address. Terima kasih (thank you)." }
      }
    };
  • Tool schema/registration: defines the 'get_outreach_template' tool description and inputSchema requiring 'country' (enum from OUTREACH_TEMPLATES keys) and 'channel' (enum: ['cold_email']) parameters.
    { name: "get_outreach_template", description: "Country-specific outreach templates calibrated to local norms (Japanese formality, Aussie casualness, Indonesian Bapak/Ibu, etc.).", inputSchema: { type: "object", properties: { country: { type: "string", enum: Object.keys(OUTREACH_TEMPLATES) }, channel: { type: "string", enum: ["cold_email"] } }, required: ["country", "channel"] } },
  • Handler for 'get_outreach_template' tool: extracts channel from args, looks up OUTREACH_TEMPLATES[country][channel], throws error if not found, returns JSON with module, country, channel, subject, body, and psychology.
    case "get_outreach_template": { const channel = args?.channel as string; const d = OUTREACH_TEMPLATES[country]?.[channel]; if (!d) throw new Error(`No template for ${country}/${channel}`); return { content: [{ type: "text", text: JSON.stringify({ module: "APAC Outreach Template", country, channel, ...d }, null, 2) }] }; }
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description carries full burden. It mentions calibrated templates but does not disclose any behavioral traits like auth needs, mutability, or whether templates are static. For a simple retrieval tool, the description is minimal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One concise sentence that efficiently conveys the purpose and key differentiator. No unnecessary words, but could benefit from slightly more structure (e.g., listing parameters).

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given low complexity (2 params with enums, no output schema), the description is adequate for basic understanding. It covers what the tool does and the key customization factor. However, it omits return format or how to use the templates, leaving some ambiguity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, but description adds meaning by explaining country parameter specifies local norms. Channel is implied as outreach channel. Enums in schema already clarify values, and description adds context about calibration but not explicit parameter definitions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it provides country-specific outreach templates calibrated to local norms. The verb is implied (get/retrieve) and the resource is templates. It distinguishes from sibling tools by focusing on outreach templates rather than briefs, etiquette, or stakeholder maps.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool instead of siblings like get_etiquette_guide or get_country_brief. The description implies use for outreach templates but does not provide selection criteria or context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/closermethod/apac-compliance-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server