get_templates
Retrieve email and SMS templates from Klaviyo to manage marketing content, with options to filter results and paginate through large collections.
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "get_templates"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| filter | No | Filter query for templates | |
| page_size | No | Number of templates per page (1-100) | |
| page_cursor | No | Cursor for pagination |
Implementation Reference
- src/tools/templates.js:13-25 (handler)The handler function that executes the get_templates tool logic: fetches templates from Klaviyo API via client, stringifies to JSON, or returns error message.
async (params) => { try { const templates = await klaviyoClient.get('/templates/', params); return { content: [{ type: "text", text: JSON.stringify(templates, null, 2) }] }; } catch (error) { return { content: [{ type: "text", text: `Error retrieving templates: ${error.message}` }], isError: true }; } }, - src/tools/templates.js:8-12 (schema)Zod schema for input parameters of the get_templates tool: optional filter, page_size (1-100), and page_cursor.
{ filter: z.string().optional().describe("Filter query for templates"), page_size: z.number().min(1).max(100).optional().describe("Number of templates per page (1-100)"), page_cursor: z.string().optional().describe("Cursor for pagination") }, - src/tools/templates.js:6-27 (registration)The server.tool call that registers the get_templates tool, including name, schema, inline handler, and description.
server.tool( "get_templates", { filter: z.string().optional().describe("Filter query for templates"), page_size: z.number().min(1).max(100).optional().describe("Number of templates per page (1-100)"), page_cursor: z.string().optional().describe("Cursor for pagination") }, async (params) => { try { const templates = await klaviyoClient.get('/templates/', params); return { content: [{ type: "text", text: JSON.stringify(templates, null, 2) }] }; } catch (error) { return { content: [{ type: "text", text: `Error retrieving templates: ${error.message}` }], isError: true }; } }, { description: "Get templates from Klaviyo" } );