Agent skill
customerio-hello-world
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".
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/other/other/customerio-hello-world
SKILL.md
Customer.io Hello World
Overview
Create a minimal working Customer.io example that identifies a user and triggers an event.
Prerequisites
- Completed
customerio-install-authskill - 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: '[email protected]',
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
- Go to Customer.io dashboard
- Navigate to People section
- Search for "user-123" or "[email protected]"
- Verify user profile shows attributes
- 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
| Error | Cause | Solution |
|---|---|---|
| 401 Unauthorized | Invalid credentials | Verify Site ID and API Key |
| 400 Bad Request | Invalid data format | Check attribute names and types |
| User not found | Identify not called | Always identify before tracking events |
| Event not showing | Dashboard delay | Wait 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='[email protected]', 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.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?