Get the FREE Ultimate OpenClaw Setup Guide →

Customer.io Automation

Scanned
npx machina-cli add skill ComposioHQ/awesome-claude-skills/customerio-automation --openclaw
Files (1)
SKILL.md
6.3 KB

Customer.io Automation

Automate customer engagement operations -- trigger targeted broadcasts, retrieve delivery metrics, manage audience segments, list newsletters and transactional templates, and inspect trigger execution history -- all orchestrated through the Composio MCP integration.

Toolkit docs: composio.dev/toolkits/customerio


Setup

  1. Connect your Customer.io account through the Composio MCP server at https://rube.app/mcp
  2. The agent will prompt you with an authentication link if no active connection exists
  3. Once connected, all CUSTOMERIO_* tools become available for execution

Core Workflows

1. Trigger a Broadcast

Manually fire a pre-configured broadcast to a specific audience with personalization data.

Tool: CUSTOMERIO_TRIGGER_BROADCAST

ParameterTypeRequiredDescription
broadcast_idintegerYesBroadcast ID from Customer.io Triggering Details
idsarrayNoList of customer IDs to target
emailsarrayNoList of email addresses to target
recipientsobjectNoComplex filter with and/or/not/segment operators
per_user_dataarrayNoPer-user personalization with id/email + data
dataobjectNoGlobal key-value data for Liquid template personalization
data_file_urlstringNoURL to JSON file with per-line user data
email_add_duplicatesbooleanNoAllow duplicate recipients (default: false)
email_ignore_missingbooleanNoSkip people without emails (default: false)
id_ignore_missingbooleanNoSkip people without customer IDs (default: false)

Important: Provide exactly ONE audience option: recipients, ids, emails, per_user_data, or data_file_url. Rate limit: 1 request per 10 seconds per broadcast.


2. Retrieve Message Delivery Metrics

Fetch paginated delivery metrics for messages with filtering by campaign, type, and time window.

Tool: CUSTOMERIO_GET_MESSAGES

ParameterTypeRequiredDescription
typestringNoMessage type: email, webhook, twilio, slack, push, in_app
metricstringNoMetric: attempted, sent, delivered, opened, clicked, converted
campaign_idintegerNoFilter by campaign ID
newsletter_idintegerNoFilter by newsletter ID
action_idintegerNoFilter by action ID
start_tsintegerNoStart of time window (Unix timestamp)
end_tsintegerNoEnd of time window (Unix timestamp)
limitintegerNoResults per page, 1-1000 (default: 50)
startstringNoPagination token from previous response next value
draftsbooleanNoReturn draft messages instead of active/sent

3. List Audience Segments

Retrieve all segments defined in your workspace for audience analysis and broadcast targeting.

Tool: CUSTOMERIO_GET_SEGMENTS

No parameters required -- returns all segments with IDs and metadata.

Use segment IDs when targeting broadcasts via the recipients.segment.id filter.


4. List Newsletters

Paginate through all newsletter metadata for tracking and analysis.

Tool: CUSTOMERIO_LIST_NEWSLETTERS

ParameterTypeRequiredDescription
limitintegerNoMax per page, 1-100
sortstringNoasc (chronological) or desc (reverse)
startstringNoPagination cursor from previous response next value

5. Discover Transactional Message Templates

List all transactional message templates to find IDs for sending via the API.

Tool: CUSTOMERIO_LIST_TRANSACTIONAL_MESSAGES

No parameters required -- returns template IDs and trigger names.

6. Inspect Broadcast Trigger History

Review all trigger executions for a broadcast and inspect individual trigger details.

Tools: CUSTOMERIO_GET_TRIGGERS and CUSTOMERIO_GET_TRIGGER

List all triggers for a broadcast:

ParameterTypeRequiredDescription
broadcast_idintegerYesThe broadcast/campaign ID

Get a specific trigger:

ParameterTypeRequiredDescription
broadcast_idintegerYesThe campaign/broadcast ID
trigger_idstringYesTrigger identifier (e.g., 456 or 5-37)

Known Pitfalls

PitfallDetails
Mutually exclusive audience paramsCUSTOMERIO_TRIGGER_BROADCAST requires exactly ONE of recipients, ids, emails, per_user_data, or data_file_url -- providing multiple causes errors
Rate limiting on broadcastsBroadcasts are limited to 1 trigger request per 10 seconds per broadcast ID
Unix timestamp formatstart_ts and end_ts in CUSTOMERIO_GET_MESSAGES must be Unix timestamps, not ISO strings
Pagination tokensMessages and newsletters use cursor-based pagination via the start parameter -- use the next value from previous responses
Segment ID resolutionTo target a segment in a broadcast, first fetch segment IDs via CUSTOMERIO_GET_SEGMENTS, then reference by ID in recipients.segment.id

Quick Reference

Tool SlugPurpose
CUSTOMERIO_TRIGGER_BROADCASTTrigger a broadcast to a defined audience
CUSTOMERIO_GET_MESSAGESRetrieve message delivery metrics with filters
CUSTOMERIO_GET_SEGMENTSList all audience segments
CUSTOMERIO_GET_SEGMENT_DETAILSGet details for a specific segment
CUSTOMERIO_LIST_NEWSLETTERSPaginate through newsletters
CUSTOMERIO_LIST_TRANSACTIONAL_MESSAGESList transactional message templates
CUSTOMERIO_GET_TRIGGERSList all trigger executions for a broadcast
CUSTOMERIO_GET_TRIGGERInspect a specific trigger execution

Powered by Composio

Source

git clone https://github.com/ComposioHQ/awesome-claude-skills/blob/master/composio-skills/customerio-automation/SKILL.mdView on GitHub

Overview

Automates customer engagement operations using Customer.io through the Composio MCP integration. You can trigger targeted broadcasts, fetch delivery metrics, manage audience segments, list newsletters and transactional templates, and inspect trigger histories from a single control plane.

How This Skill Works

The agent connects to Customer.io through the MCP server and exposes tools such as CUSTOMERIO_TRIGGER_BROADCAST, CUSTOMERIO_GET_MESSAGES, CUSTOMERIO_GET_SEGMENTS, CUSTOMERIO_LIST_NEWSLETTERS, and transactional template discovery. Broadcasts require exactly one audience option, and metrics, segments, newsletters, and templates are retrieved through dedicated tools with defined parameters and pagination support.

When to Use It

  • When you need to trigger a targeted broadcast to a specific audience with personalization data
  • When you want to fetch and filter message delivery metrics for campaigns over a time window
  • When you need to list and analyze all audience segments for better targeting
  • When you want to discover and review transactional message templates
  • When you need to paginate through newsletters for tracking and analysis

Quick Start

  1. Step 1: Connect your Customer.io account through the Composio MCP server at https://rube.app/mcp
  2. Step 2: Use CUSTOMERO_TRIGGER_BROADCAST with exactly one audience option (ids, emails, recipients, per_user_data, or data_file_url)
  3. Step 3: Retrieve metrics with CUSTOMERIO_GET_MESSAGES and inspect results from the response

Best Practices

  • Always provide exactly one audience option for broadcasts: recipients, ids, emails, per_user_data, or data_file_url
  • Use start_ts and end_ts to constrain time windows when retrieving message metrics
  • Leverage segment IDs for precise targeting with recipients.segment.id
  • Utilize per_user_data for rich per-user personalization within broadcasts
  • Respect the rate limit: 1 request per 10 seconds per broadcast

Example Use Cases

  • Onboard a new user by sending a personalized welcome broadcast to a specific segment with per-user data
  • Fetch the last 30 days of email metrics for a campaigns to assess performance
  • List all segments, then target a specific segment by its ID for a new campaign
  • Review newsletters to identify top-performing content and engagement trends
  • Discover transactional templates to set up a compliant transactional messaging flow

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers