# Customer.io — MCP server on mcp.ai > Connect your Customer.io account and use 24 tools for marketing automation straight from your AI agent. Connect with your own API key. Customer.io is a customer engagement platform that enables businesses to send targeted messages to their customers through various channels, including email, SMS, and push notifications. By: mcp.ai · official Page: https://mcp.ai/customerio ## Connect (MCP protocol) Remote MCP endpoint (HTTP, streamable): https://api.mcp.ai/p_customerio?ms=1787293620000 Add it as a custom/remote MCP connector, then authenticate when prompted. ## REST API (no MCP client required) Every tool is also a REST endpoint, authed with a workspace API key. Discover: GET https://api.mcp.ai/api/customerio/_endpoints # public; lists every endpoint Call: POST https://api.mcp.ai/api/customerio/ Authorization: Bearer sk_live_… # create one at https://mcp.ai/settings/api-keys Content-Type: application/json Body: { …args } → { "ok": true, "tool": "", "result": { … } } ## Developer docs How to use (MCP or REST), markdown: https://mcp.ai/customerio/skill.md Postman collection (v2.1): https://mcp.ai/customerio/postman.json ## Tools - customerio_add_person_to_group(traits?: object, user_id: string, group_id: string) — Tool to add people to a group in Customer.io. Groups represent objects like companies, accounts, or projects that people belong to. Use when you need to establish relationships between people and orga - customerio_create_alias(userId: string, previousId: string) — Tool to create an alias to merge multiple profiles in Customer.io. Use when you need to support multiple identifiers for a single person. The alias operation moves all data from the previous_id profil - customerio_customer_io_suppress_person(identifier: string) — Suppress a customer profile to permanently delete it and prevent re-adding with the same identifier. IMPORTANT: This action requires Track API credentials (Basic Auth with siteId:apiKey), not App API - customerio_get_integrations() — Tool to retrieve a list of integrations in your workspace. Use when you need to discover configured integrations. - customerio_get_messages(type?: string, limit?: integer, start?: string, drafts?: boolean, end_ts?: integer, metric?: string, start_ts?: integer, action_id?: integer, campaign_id?: integer, newsletter_id?: integer) — Tool to retrieve a list of messages sent from your workspace. Use when you need paginated delivery metrics for messages, e.g., list email messages delivered between two timestamps. - customerio_get_segment_details(segment_id: integer) — Tool to retrieve details of a specific segment. Use after identifying the segment ID from list segments. - customerio_get_segment_membership(sort?: string, limit?: integer, start?: string, segment_id: integer) — Tool to retrieve people in a specific segment. Use when you need to page through segment membership after identifying segment ID. - customerio_get_segments() — Tool to retrieve a list of segments in your workspace. Use when you need to fetch all segments after configuring segment rules. - customerio_get_trigger(trigger_id: string, broadcast_id: integer) — Retrieves details about a specific API-triggered broadcast, including trigger ID, campaign ID, creation timestamp, recipient filter criteria, and personalization data. Use this after triggering a broa - customerio_get_triggers(broadcast_id: integer) — Retrieve all API trigger instances for a specific broadcast/campaign. Returns trigger metadata including IDs, creation timestamps, and processing status. Use after triggering a broadcast to list all i - customerio_get_webhooks() — Retrieves all reporting webhook configurations from the Customer.io workspace. Reporting webhooks send event notifications (message sent, opened, clicked, etc.) to your specified endpoints. Use this t - customerio_identify_person(traits?: object, userId?: string, timestamp?: string, anonymousId?: string) — Tool to identify a person and assign traits to them in Customer.io. Creates a new person profile if it doesn't exist, or updates an existing one. Use when adding new users, updating user profiles, or - customerio_list_collections() — Tool to list all Collections metadata. Use when you need to retrieve current details of each Collection in your workspace. - customerio_list_ip_addresses() — Tool to retrieve the list of IP addresses used by Customer.io for sending messages. Use when you need to allowlist or configure firewall rules for Customer.io's sending infrastructure. - customerio_list_newsletters(sort?: string, limit?: integer, start?: string) — Tool to list all newsletters. Use when paginating through newsletter metadata. - customerio_list_snippets() — Tool to list all snippets in your workspace. Use when you need to retrieve all reusable content snippets for templating or dynamic content insertion. - customerio_list_transactional_messages() — Lists all transactional message templates in your Customer.io workspace. Returns the ID and name (trigger name) for each template. Use this when you need to discover available transactional message te - customerio_report_push_events(event: string, device_id: string, timestamp: integer, delivery_id: string) — Tool to report push notification events to Customer.io. Use when you need to track device-side push events (opened, converted, delivered). IMPORTANT: This endpoint is deprecated. Use the metrics endpo - customerio_send_batch(batch: object[]) — Send multiple CDP calls (identify, track, page, screen, group, alias) in a single batch request. Use this to efficiently send multiple events or profile updates in one API call. The batch endpoint sup - customerio_track_event(event: string, userId?: string, timestamp?: string, properties?: object, anonymousId?: string) — Tool to send an event associated with a person in Customer.io. Records actions users take, along with properties that describe the action. Use when you need to track user behavior, conversions, or cus - customerio_track_page(name?: string, userId?: string, properties?: object, anonymousId?: string) — Tool to track page view events for website visitors in Customer.io. Use when recording user navigation or page impressions on your website. IMPORTANT: This action requires CDP API credentials (Bearer - customerio_track_screen(name: string, type?: string, sentAt?: string, userId?: string, context?: object, version?: number, messageId?: string, timestamp?: string, properties?: object, receivedAt?: string, anonymousId?: string, strict_mode?: boolean, integrations?: object) — Track mobile screen views in Customer.io for analytics and user journey tracking. Records when a user views a screen in your mobile app. Use this when you need to: - Track user navigation patterns in - customerio_trigger_broadcast(ids?: string[], data?: object, emails?: string[], recipients?: object, broadcast_id: integer, data_file_url?: string, per_user_data?: object[], id_ignore_missing?: boolean, email_add_duplicates?: boolean, email_ignore_missing?: boolean) — Manually trigger a Customer.io broadcast/campaign to send messages to a defined audience. Use this when you need to: - Send a pre-configured broadcast to specific recipients (by ID or email) - Overrid - customerio_unsubscribe_delivery(delivery_id: string, unsubscribe?: boolean) — Tool to handle custom unsubscribe requests for email deliveries in Customer.io. Use when you need to unsubscribe a person from emails and attribute the action to a specific delivery. IMPORTANT: This a ## Example prompts - "What can I do in Customer.io?" - "Show me a summary of my Customer.io account" ## Links Docs: https://mcp.ai/docs/mcps/customerio Website: https://mcp.ai/mcps/customerio