All integrations

Customer.io

Look up Customer.io people, segments, campaigns, and broadcasts, and send transactional email or trigger API broadcasts via MCP.

Manual setup 16 tools

Overview

Connect Customer.io so AI clients can look up people, inspect segments, campaigns, and broadcasts, and send transactional email or trigger API broadcasts.

This integration uses the Customer.io App API. Identifying new people or tracking events (Track API) is not included yet.

Prerequisites

  • A Customer.io workspace with App API access
  • Permission to create API credentials (Account Admin or Member with Manage API Credentials)
  • A stackgate.ai account

Getting credentials

  1. Sign in to Customer.io for the workspace you want to connect.
  2. Open Account Settings → API Credentials.
  3. Create an App API Key, give it a clear name, and copy it immediately (it is shown only once).
  4. Note whether your workspace is hosted in the US or EU data center.
  5. In stackgate.ai, open My Integrations → Customer.io.
  6. Paste the App API Key, choose US or EU, and save.
  7. Optionally use Edit tool access to limit the connection to Read tools only.

See the Customer.io credentials docs and App API reference.

Using with AI clients

  • Dedicated endpoint: POST /mcp/customer-io with a Sanctum bearer token
  • Private gateway: one config for all integrations — use customer-io__* namespaced tools

See Documentation for HTTP authentication and private gateway setup.

Troubleshooting

  • 422 integration not configured — complete the credential form in My Integrations with your App API key and region.
  • 401 Unauthorized — regenerate the App API Key in Customer.io and update My Integrations. Keys are shown only once when created.
  • Wrong region / unexpected redirects — EU workspaces should use the EU region (api-eu.customer.io). Using the US host for an EU workspace can send traffic through US infrastructure.
  • 429 Too many requests — most App API endpoints allow about 10 requests per second. API-triggered broadcasts allow one trigger every 10 seconds.
  • Broadcast failed for missing people — broadcasts only send to people who already exist in the workspace. Add profiles in Customer.io (or use Track API identify outside this integration) before triggering.
  • Transactional send rejected — confirm the transactional_message_id (or trigger name) exists and the recipient identifiers match a person or include to.

Available tools

  • get_customers_by_email

    Find Customer.io people matching an email address.

  • search_customers

    Search Customer.io people with a filter (segment membership and/or attribute conditions).

  • get_customer_attributes

    Get attributes for a Customer.io person by customer_id (cio_id or id).

  • get_customer_segments

    List segments a Customer.io person belongs to.

  • get_customer_activities

    List recent activities for a Customer.io person.

  • get_customer_messages

    List messages sent to a Customer.io person.

  • list_segments

    List segments in the Customer.io workspace.

  • get_segment

    Get details for a Customer.io segment.

  • list_campaigns

    List campaigns in the Customer.io workspace.

  • get_campaign

    Get details for a Customer.io campaign.

  • list_broadcasts

    List API-triggered broadcasts in the Customer.io workspace.

  • get_broadcast

    Get details for a Customer.io API-triggered broadcast.

  • list_transactional_messages

    List transactional message templates in the Customer.io workspace.

  • get_transactional_message

    Get details for a Customer.io transactional message template.

  • send_transactional_email

    Send a Customer.io transactional email. Provide transactional_message_id plus to and/or identifiers.

  • trigger_broadcast

    Trigger a Customer.io API broadcast. Rate-limited to 1 request every 10 seconds. People must already exist in the workspace.

MCP endpoint: https://stackgate.ai/mcp/customer-io (HTTP) or via the private gateway.