create_template
Create email templates for Klaviyo campaigns by providing HTML content and a name to structure marketing communications.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name of the template | |
| html | Yes | HTML content of the template | |
| text | No | Text content of the template |
Implementation Reference
- src/tools/templates.js:59-82 (handler)Handler function that creates a new template by posting the name, html, and optional text to Klaviyo's templates endpoint via klaviyoClient.async (params) => { try { const payload = { data: { type: "template", attributes: { name: params.name, html: params.html, text: params.text } } }; const result = await klaviyoClient.post('/templates/', payload); return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] }; } catch (error) { return { content: [{ type: "text", text: `Error creating template: ${error.message}` }], isError: true }; } },
- src/tools/templates.js:54-58 (schema)Zod schema defining the input parameters for the create_template tool: name (required string), html (required string), text (optional string).{ name: z.string().describe("Name of the template"), html: z.string().describe("HTML content of the template"), text: z.string().optional().describe("Text content of the template") },
- src/tools/templates.js:52-84 (registration)Direct registration of the create_template tool using server.tool, including name, schema, handler, and description.server.tool( "create_template", { name: z.string().describe("Name of the template"), html: z.string().describe("HTML content of the template"), text: z.string().optional().describe("Text content of the template") }, async (params) => { try { const payload = { data: { type: "template", attributes: { name: params.name, html: params.html, text: params.text } } }; const result = await klaviyoClient.post('/templates/', payload); return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] }; } catch (error) { return { content: [{ type: "text", text: `Error creating template: ${error.message}` }], isError: true }; } }, { description: "Create a new template in Klaviyo" } );
- src/server.js:40-40 (registration)Call to registerTemplateTools which includes the registration of create_template among other template tools.registerTemplateTools(server);