Back to list
jeremylongshore

customerio-hello-world

by jeremylongshore

Hundreds of Claude Code plugins with embedded AI skills. Learn via interactive Jupyter tutorials.

1,042🍴 135📅 Jan 23, 2026

SKILL.md


name: customerio-hello-world description: | Create a minimal working Customer.io example. Use when learning Customer.io basics, testing SDK setup, or creating your first messaging integration. Trigger with phrases like "customer.io hello world", "first customer.io message", "test customer.io", "customer.io example". allowed-tools: Read, Write, Edit, Bash(npm:), Bash(pip:), Grep version: 1.0.0 license: MIT author: Jeremy Longshore jeremy@intentsolutions.io

Customer.io Hello World

Overview

Create a minimal working Customer.io example that identifies a user and triggers an event.

Prerequisites

  • Completed customerio-install-auth skill
  • Customer.io SDK installed
  • Valid Site ID and API Key configured

Instructions

Step 1: Create Basic Integration

// hello-customerio.ts
import { TrackClient, RegionUS } from '@customerio/track';

const client = new TrackClient(
  process.env.CUSTOMERIO_SITE_ID!,
  process.env.CUSTOMERIO_API_KEY!,
  { region: RegionUS }
);

async function main() {
  // Step 1: Identify a user
  await client.identify('user-123', {
    email: 'hello@example.com',
    first_name: 'Hello',
    created_at: Math.floor(Date.now() / 1000)
  });
  console.log('User identified');

  // Step 2: Track an event
  await client.track('user-123', {
    name: 'hello_world',
    data: {
      source: 'sdk-test',
      timestamp: new Date().toISOString()
    }
  });
  console.log('Event tracked');
}

main().catch(console.error);

Step 2: Run the Example

npx ts-node hello-customerio.ts

Step 3: Verify in Dashboard

  1. Go to Customer.io dashboard
  2. Navigate to People section
  3. Search for "user-123" or "hello@example.com"
  4. Verify user profile shows attributes
  5. Check Activity tab for "hello_world" event

Output

  • User created/updated in Customer.io
  • Event recorded in user's activity log
  • Console output confirming success

Error Handling

ErrorCauseSolution
401 UnauthorizedInvalid credentialsVerify Site ID and API Key
400 Bad RequestInvalid data formatCheck attribute names and types
User not foundIdentify not calledAlways identify before tracking events
Event not showingDashboard delayWait 1-2 minutes and refresh

Examples

Python Hello World

import os
from customerio import CustomerIO

cio = CustomerIO(
    site_id=os.environ.get('CUSTOMERIO_SITE_ID'),
    api_key=os.environ.get('CUSTOMERIO_API_KEY')
)

# Identify user
cio.identify(id='user-123', email='hello@example.com', first_name='Hello')
print('User identified')

# Track event
cio.track(customer_id='user-123', name='hello_world', source='sdk-test')
print('Event tracked')

With Anonymous User

// Track anonymous user with device ID
await client.identify('device-abc123', {
  anonymous_id: 'device-abc123',
  platform: 'web'
});

Resources

Next Steps

After verifying hello world works, proceed to customerio-local-dev-loop to set up your development workflow.

Score

Total Score

85/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

+10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 1000以上

+15
最近の活動

1ヶ月以内に更新

+10
フォーク

10回以上フォークされている

+5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

+5

Reviews

💬

Reviews coming soon