Customer.io Automation

SkillDatabases & data

Your AI can run your Customer.io messaging for you, from sending broadcasts to checking how they performed. Once added, it can also manage segments, track newsletters, and review trigger history so you don't have to dig through Customer.io yourself.

Instructions available. Your AI can read the instructions. Execution depends on the setup they require.

Add the skill, connect your Customer.io account, then try asking your AI to send a broadcast or check recent message delivery.

Then ask your AI: use the Customer.io Automation skill

What your AI can do with it

  • Send broadcasts to your Customer.io audience
  • Check message delivery and analytics
  • Manage customer segments
  • Track newsletter activity
  • Review broadcast trigger history

What this skill tells your AI

The instructions your AI receives, as published by composio-community/awesome-codex-skills in composio-skills/customerio-automation/SKILL.md and read by ahel’s review.

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

Signals

GitHub stars
17k
Forks
2k
Last commit
Jul 2026
Advanced
Item type
skill
Key
customer-io-automation
Source
github.com/composio-community/awesome-codex-skills