# get_email_template (/docs/mcp/tools/get-email-template)

{/* Generated by scripts/sync-mcp-tools.mjs from happierleads-api. Do not edit: change src/routes/mcp/toolDocs.json there, or add content/mcp-notes/get_email_template.mdx. */}

**Get a campaign email** · Read-only

Returns one email (step) of a campaign in full: subject and body templates with their merge fields, the sender, the delay before it is sent and its position in the sequence. templateId comes from get_campaign (emailCampaignTemplates). Free.

| Connection | Account URL, team member URL or OAuth |
| --- | --- |

## Parameters [#parameters]

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `websiteId` | `string` | Yes | Website ID from list_websites. |
| `campaignId` | `string` | Yes | Campaign ID from list_campaigns. |
| `templateId` | `string` | Yes | Step ID from get_campaign, emailCampaignTemplates. |

## Tool definition [#tool-definition]

What your assistant receives from `tools/list`:

```json
{
  "name": "get_email_template",
  "title": "Get a campaign email",
  "annotations": {
    "title": "Get a campaign email",
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
  },
  "inputSchema": {
    "type": "object",
    "properties": {
      "websiteId": {
        "type": "string",
        "description": "Website ID from list_websites."
      },
      "campaignId": {
        "type": "string",
        "description": "Campaign ID from list_campaigns."
      },
      "templateId": {
        "type": "string",
        "description": "Step ID from get_campaign, emailCampaignTemplates."
      }
    },
    "required": [
      "websiteId",
      "campaignId",
      "templateId"
    ]
  }
}
```
