# Customer.io Behavior-based messaging platform for email, push, SMS, and in-app. ## Capabilities | Integration | Available | Notes | |-------------|-----------|-------| | API | ✓ | Track API, App API, Journeys API | | MCP | - | Not available | | CLI | - | Not available | | SDK | ✓ | JavaScript, iOS, Android, Ruby, Python | ## Authentication - **Track API**: Site ID + API Key (Basic auth) - **App API**: Bearer token - **Header**: `Authorization: Basic {base64(site_id:api_key)}` ## Common Agent Operations ### Identify customer ```bash PUT https://track.customer.io/api/v1/customers/{customer_id} Authorization: Basic {base64(site_id:api_key)} { "email": "user@example.com", "created_at": 1705312800, "first_name": "John", "plan": "pro" } ``` ### Track event ```bash POST https://track.customer.io/api/v1/customers/{customer_id}/events Authorization: Basic {base64(site_id:api_key)} { "name": "purchase", "data": { "product": "Pro Plan", "amount": 99 } } ``` ### Track anonymous event ```bash POST https://track.customer.io/api/v1/events Authorization: Basic {base64(site_id:api_key)} { "name": "page_viewed", "data": { "page": "/pricing" }, "anonymous_id": "anon_123" } ``` ### Delete customer ```bash DELETE https://track.customer.io/api/v1/customers/{customer_id} Authorization: Basic {base64(site_id:api_key)} ``` ### Get customer (App API) ```bash GET https://api.customer.io/v1/customers/{customer_id}/attributes Authorization: Bearer {app_api_key} ``` ### List campaigns ```bash GET https://api.customer.io/v1/campaigns Authorization: Bearer {app_api_key} ``` ### Get campaign metrics ```bash GET https://api.customer.io/v1/campaigns/{campaign_id}/metrics Authorization: Bearer {app_api_key} ``` ### Trigger broadcast ```bash POST https://api.customer.io/v1/campaigns/{campaign_id}/triggers Authorization: Bearer {app_api_key} { "emails": ["user@example.com"], "data": { "coupon_code": "SAVE20" } } ``` ### Send transactional email ```bash POST https://api.customer.io/v1/send/email Authorization: Bearer {app_api_key} { "transactional_message_id": "1", "to": "user@example.com", "identifiers": { "id": "user_123" }, "message_data": { "order_id": "ORD-456" } } ``` ## JavaScript SDK ```javascript // Initialize _cio.identify({ id: 'user_123', email: 'user@example.com', created_at: 1705312800, plan: 'pro' }); // Track event _cio.track('purchase', { product: 'Pro Plan', amount: 99 }); // Track page view _cio.page(); ``` ## Key Concepts - **People** - Customers and leads - **Segments** - Dynamic groups based on attributes/behavior - **Campaigns** - Automated message sequences - **Broadcasts** - One-time sends - **Transactional** - Triggered messages ## Attribute Types - Standard: `email`, `created_at`, `unsubscribed` - Custom: Any key you define - Computed: Aggregations from events ## When to Use - Behavior-based email automation - Multi-channel messaging (email, push, SMS) - Onboarding sequences - Re-engagement campaigns - Transactional messages ## Rate Limits - Track API: 100 requests/second - App API: 10 requests/second ## Relevant Skills - email-sequence - onboarding-cro - analytics-tracking