AgentSkillsCN

Customer.io Automation

借助 Composio,通过 Customer.io 自动化客户互动工作流,包括广播触发、消息分析、受众细分管理以及新闻通讯追踪。

SKILL.md
--- frontmatter
name: Customer.io Automation
description: Automate customer engagement workflows including broadcast triggers, message analytics, segment management, and newsletter tracking through Customer.io via Composio 
category: Development & Code Tools
source: composio
tags: [api, slack, json, cli, mcp, automation, ai]
url: https://github.com/ComposioHQ/awesome-claude-skills/tree/master/customerio-automation

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

code
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

code
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
**U