add_profiles_to_list
Assign profile IDs to a specific list within Klaviyo to organize and manage customer data for targeted marketing campaigns.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| list_id | Yes | ID of the list | |
| profile_ids | Yes | Array of profile IDs to add to the list |
Input Schema (JSON Schema)
{
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"list_id": {
"description": "ID of the list",
"type": "string"
},
"profile_ids": {
"description": "Array of profile IDs to add to the list",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"list_id",
"profile_ids"
],
"type": "object"
}
Implementation Reference
- src/tools/lists.js:91-110 (handler)The handler function that executes the tool: constructs payload from profile_ids and sends POST request to Klaviyo's API to add profiles to the list.async (params) => { try { const payload = { data: params.profile_ids.map(id => ({ type: "profile", id })) }; await klaviyoClient.post(`/lists/${params.list_id}/relationships/profiles/`, payload); return { content: [{ type: "text", text: "Profiles added to list successfully" }] }; } catch (error) { return { content: [{ type: "text", text: `Error adding profiles to list: ${error.message}` }], isError: true }; } },
- src/tools/lists.js:87-90 (schema)Zod input schema for the tool parameters: list_id (string) and profile_ids (array of strings).{ list_id: z.string().describe("ID of the list"), profile_ids: z.array(z.string()).describe("Array of profile IDs to add to the list") },
- src/tools/lists.js:85-112 (registration)The server.tool call that registers the 'add_profiles_to_list' tool with its name, schema, handler, and description.server.tool( "add_profiles_to_list", { list_id: z.string().describe("ID of the list"), profile_ids: z.array(z.string()).describe("Array of profile IDs to add to the list") }, async (params) => { try { const payload = { data: params.profile_ids.map(id => ({ type: "profile", id })) }; await klaviyoClient.post(`/lists/${params.list_id}/relationships/profiles/`, payload); return { content: [{ type: "text", text: "Profiles added to list successfully" }] }; } catch (error) { return { content: [{ type: "text", text: `Error adding profiles to list: ${error.message}` }], isError: true }; } }, { description: "Add profiles to a list in Klaviyo" } );