get_profiles
Retrieve customer profiles from Klaviyo using filters and pagination to manage marketing data.
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_profiles"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| filter | No | Filter query for profiles | |
| page_size | No | Number of profiles per page (1-100) | |
| page_cursor | No | Cursor for pagination |
Implementation Reference
- src/tools/profiles.js:13-25 (handler)Handler function for the 'get_profiles' tool. Fetches profiles from the Klaviyo API using klaviyoClient.get and returns the JSON-stringified response or an error message.
async (params) => { try { const profiles = await klaviyoClient.get('/profiles/', params); return { content: [{ type: "text", text: JSON.stringify(profiles, null, 2) }] }; } catch (error) { return { content: [{ type: "text", text: `Error retrieving profiles: ${error.message}` }], isError: true }; } }, - src/tools/profiles.js:8-12 (schema)Zod schema defining the input parameters for the 'get_profiles' tool: optional filter, page_size (1-100), and page_cursor.
{ filter: z.string().optional().describe("Filter query for profiles"), page_size: z.number().min(1).max(100).optional().describe("Number of profiles per page (1-100)"), page_cursor: z.string().optional().describe("Cursor for pagination") }, - src/tools/profiles.js:6-27 (registration)Registration of the 'get_profiles' tool using server.tool, including schema, inline handler, and description. Part of registerProfileTools function.
server.tool( "get_profiles", { filter: z.string().optional().describe("Filter query for profiles"), page_size: z.number().min(1).max(100).optional().describe("Number of profiles per page (1-100)"), page_cursor: z.string().optional().describe("Cursor for pagination") }, async (params) => { try { const profiles = await klaviyoClient.get('/profiles/', params); return { content: [{ type: "text", text: JSON.stringify(profiles, null, 2) }] }; } catch (error) { return { content: [{ type: "text", text: `Error retrieving profiles: ${error.message}` }], isError: true }; } }, { description: "Get profiles from Klaviyo" } );