get_events
Retrieve filtered events from Klaviyo using pagination. Specify filters, page size, and cursor to manage event data efficiently for marketing automation.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| filter | No | Filter query for events | |
| page_cursor | No | Cursor for pagination | |
| page_size | No | Number of events per page (1-100) |
Implementation Reference
- src/tools/events.js:13-25 (handler)The handler function that implements the core logic of the 'get_events' tool. It calls the Klaviyo client to fetch events based on parameters and handles errors.async (params) => { try { const events = await klaviyoClient.get('/events/', params); return { content: [{ type: "text", text: JSON.stringify(events, null, 2) }] }; } catch (error) { return { content: [{ type: "text", text: `Error retrieving events: ${error.message}` }], isError: true }; } },
- src/tools/events.js:8-12 (schema)Zod schema defining the input parameters for the 'get_events' tool: filter, page_size, and page_cursor.{ filter: z.string().optional().describe("Filter query for events"), page_size: z.number().min(1).max(100).optional().describe("Number of events per page (1-100)"), page_cursor: z.string().optional().describe("Cursor for pagination") },
- src/tools/events.js:6-27 (registration)The server.tool registration for the 'get_events' tool, including name, schema, handler, and description.server.tool( "get_events", { filter: z.string().optional().describe("Filter query for events"), page_size: z.number().min(1).max(100).optional().describe("Number of events per page (1-100)"), page_cursor: z.string().optional().describe("Cursor for pagination") }, async (params) => { try { const events = await klaviyoClient.get('/events/', params); return { content: [{ type: "text", text: JSON.stringify(events, null, 2) }] }; } catch (error) { return { content: [{ type: "text", text: `Error retrieving events: ${error.message}` }], isError: true }; } }, { description: "Get events from Klaviyo" } );
- src/server.js:35-35 (registration)Top-level call to registerEventTools, which includes the 'get_events' tool registration.registerEventTools(server);