hvac-marketing-skills/tools/integrations/customer-io.md
bengizmo 1e70d8387b
Some checks failed
Sync Skills / sync (push) Has been cancelled
Validate Agent Skill / detect-changes (push) Has been cancelled
Validate Agent Skill / validate (push) Has been cancelled
feat: fork marketingskills → HVAC Marketing Skills for Compendium
- Forked from coreyhaines31/marketingskills v1.1.0 (MIT license)
- Removed 4 SaaS-only skills (churn-prevention, paywall-upgrade-cro, onboarding-cro, signup-flow-cro)
- Reworked 2 skills (popup-cro → hvac-estimate-popups, revops → hvac-lead-ops)
- Adapted all 28 retained skills with HVAC industry context and Compendium integration
- Created 10 new HVAC-specific skills:
  - hvac-content-from-data (flagship DB integration)
  - hvac-seasonal-campaign (demand cycle marketing)
  - hvac-review-management (GBP review strategy)
  - hvac-video-repurpose (long-form → social)
  - hvac-technical-content (audience-calibrated writing)
  - hvac-brand-voice (trade authenticity guide)
  - hvac-contractor-website-audit (discovery & analysis)
  - hvac-contractor-website-package (marketing package assembly)
  - hvac-compliance-claims (EPA/rebate/safety claim checking)
  - hvac-content-qc (fact-check & citation gate)
- Renamed product-marketing-context → hvac-marketing-context (global)
- Created COMPENDIUM_INTEGRATION.md (shared integration contract)
- Added Compendium wrapper tools (search, scrape, classify)
- Added compendium capability tags to YAML frontmatter
- Updated README, AGENTS.md, CLAUDE.md, VERSIONS.md, marketplace.json
- All 38 skills pass validate-skills.sh
- Zero dangling references to removed/renamed skills

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 21:05:49 -03:00

3.2 KiB

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

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

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

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

DELETE https://track.customer.io/api/v1/customers/{customer_id}

Authorization: Basic {base64(site_id:api_key)}

Get customer (App API)

GET https://api.customer.io/v1/customers/{customer_id}/attributes

Authorization: Bearer {app_api_key}

List campaigns

GET https://api.customer.io/v1/campaigns

Authorization: Bearer {app_api_key}

Get campaign metrics

GET https://api.customer.io/v1/campaigns/{campaign_id}/metrics

Authorization: Bearer {app_api_key}

Trigger broadcast

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

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

// 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
  • analytics-tracking