Skip to Content
ResourcesIntegrationsCustomer SupportCustomer.io

Customer.io

Customer.io icon
Arcade Optimized

Arcade.dev LLM tools for Customer.io

Author:Arcade
Version:0.1.0
Auth:No authentication required
18tools
18require secrets

The Customer.io toolkit lets LLMs interact with a Customer.io workspace via the Tracking and App APIs. It covers the full lifecycle of contacts, messaging, and analytics — from identifying people and recording events through sending transactional emails and triggering broadcasts.

Capabilities

  • Contact management: Create, update, look up, search, and delete person profiles; resolve by email or ID; handle multi-match edge cases.
  • Activity & message history: Retrieve a person's timeline of activities (filterable by type/name) and full message/delivery history.
  • Segments: List workspace segments, check which segments a person belongs to, and enumerate segment members.
  • Campaigns, newsletters & broadcasts: List campaigns, newsletters, and broadcasts; read aggregate delivery metrics for campaigns and newsletters; trigger API broadcasts to segments or explicit recipient lists.
  • Transactional messaging: List transactional message templates and send transactional emails to a single recipient by template ID.
  • Event tracking: Record named custom events on a person's timeline to drive lifecycle journeys.

Secrets

This toolkit uses no OAuth flow. All credentials are supplied as secrets.

  • CUSTOMERIO_SITE_ID — The Site ID for your Customer.io workspace, used to authenticate Tracking API calls. Find it in the Customer.io dashboard under Settings → API Credentials → Tracking API. Customer.io API Credentials docs

  • CUSTOMERIO_TRACKING_API_KEY — The Tracking API Key paired with the Site ID above. Retrieved from the same Settings → API Credentials → Tracking API page. This key authenticates event, identify, and delete calls sent to the Tracking API endpoint.

  • CUSTOMERIO_APP_API_KEY — A Bearer token for the Customer.io App API (used for reading campaigns, newsletters, segments, sending transactional email, triggering broadcasts, etc.). Generate one in Settings → API Credentials → App API Keys. Scope the key to the minimum permissions your use case requires. Customer.io App API auth docs

  • CUSTOMERIO_REGION — Specifies the data region for your workspace (US or EU). This determines which API base URLs are used. You can confirm your region in Settings → Workspace Settings. Provide the appropriate string so requests are routed to the correct regional endpoint.

See the Arcade secrets guide for how to configure secrets, and manage them at https://api.arcade.dev/dashboard/auth/secrets.

Available tools(18)

18 of 18 tools
Operations
Behavior
Tool nameDescriptionSecrets
Delete a person record to honor a data-removal request. Deleting a person who does not exist is accepted as a no-op.
2
Read a campaign's aggregate delivery metrics over a period.
2
Read a newsletter's aggregate delivery metrics over a period.
2
Look up a person's profile by email or id. Resolves the person by whichever identifier is supplied; an email shared by several people reports every match in the result.
2
Create or update a person and their attributes. Existing attributes not named in this call are preserved; named attributes are added or overwritten.
2
List the workspace's broadcasts to discover ids that can be triggered.
2
List the campaigns in the workspace.
2
List the newsletters in the workspace.
2
List a person's recent activities, most recent first, resolved by email or id. Optionally filter by activity type and/or name; filtering by name requires an activity type. When an email matches several people, the first match's activities are returned.
2
List a person's message and delivery history, most recent first, resolved by email or id. When an email matches several people, the first match's messages are returned.
2
List the segments a person belongs to, resolved by email or id. When an email matches several people, the first match's segments are returned.
2
List the ids of the people in a segment and the segment's total size.
2
List the segments defined in the workspace.
2
List the transactional message templates in the workspace.
2
Record a named custom event on a person's timeline to drive lifecycle journeys.
2
Find people by segment membership and/or an attribute, to build an audience without a known id. Supply at least one of a segment or an attribute name; both combine with AND.
2
Send a transactional email to one recipient by its template id.
2
Trigger an API broadcast to a segment or an explicit recipient list.
2

Selected tools

No tools selected.

Click "Show all tools" to add tools.

Requirements

Select tools to see requirements

#

Customerio.DeletePerson

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Delete
Service domains
CRM
MCP behavior
No

Reads data without modifying any state in the target system.

Yes

May permanently delete or overwrite data in the target system.

Yes

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

Delete a person record to honor a data-removal request. Deleting a person who does not exist is accepted as a no-op.

Parameters

ParameterTypeReq.Description
person_idstringRequiredId of the person to delete.
identifier_typestringOptionalWhich kind of value person_id is, so the delete targets the right profile. Defaults to the external id you assigned the person; use the Customer.io internal id when person_id is a cio_id (people with no external id are returned that way), or email when it is an email address.
idemailcio_id

Requirements

Secrets:CUSTOMERIO_SITE_IDCUSTOMERIO_TRACKING_API_KEYCUSTOMERIO_REGION

Output

Type:jsonNo description provided.
#

Customerio.GetCampaignMetrics

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Read
Service domains
CRM
MCP behavior
Yes

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

Yes

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

Read a campaign's aggregate delivery metrics over a period.

Parameters

ParameterTypeReq.Description
campaign_idstringRequiredId of the campaign whose metrics to read.
periodstringOptionalGranularity of the metric series. Defaults to days.
hoursdaysweeksmonths
stepsintegerOptionalNumber of periods to report, counting back from now. Defaults to 30.

Requirements

Secrets:CUSTOMERIO_APP_API_KEYCUSTOMERIO_REGION

Output

Type:jsonNo description provided.
#

Customerio.GetNewsletterMetrics

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Read
Service domains
CRM
MCP behavior
Yes

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

Yes

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

Read a newsletter's aggregate delivery metrics over a period.

Parameters

ParameterTypeReq.Description
newsletter_idstringRequiredId of the newsletter whose metrics to read.
periodstringOptionalGranularity of the metric series. Defaults to days.
hoursdaysweeksmonths
stepsintegerOptionalNumber of periods to report, counting back from now. Defaults to 30.

Requirements

Secrets:CUSTOMERIO_APP_API_KEYCUSTOMERIO_REGION

Output

Type:jsonNo description provided.
#

Customerio.GetPerson

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Read
Service domains
CRM
MCP behavior
Yes

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

Yes

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

Look up a person's profile by email or id. Resolves the person by whichever identifier is supplied; an email shared by several people reports every match in the result.

Parameters

ParameterTypeReq.Description
emailstringOptionalEmail address to look up the person by. Provide this or a person id.
person_idstringOptionalCustomer.io person id to look up. Provide this or an email.

Requirements

Secrets:CUSTOMERIO_APP_API_KEYCUSTOMERIO_REGION

Output

Type:jsonNo description provided.
#

Customerio.IdentifyPerson

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
CreateUpdate
Service domains
CRM
MCP behavior
No

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

Yes

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

Create or update a person and their attributes. Existing attributes not named in this call are preserved; named attributes are added or overwritten.

Parameters

ParameterTypeReq.Description
person_idstringRequiredStable id that identifies the person; creates the person if new.
identifier_typestringOptionalWhich kind of value person_id is, so the write targets the right profile. Defaults to the external id you assigned the person; use the Customer.io internal id when person_id is a cio_id (people with no external id are returned that way), or email when it is an email address.
idemailcio_id
emailstringOptionalEmail to set on the person. Provided values are stored as the email attribute; leave empty to leave the email unchanged.
attributesjsonOptionalAttributes to set or update on the person, as a flat mapping of attribute name to value. Omitted attributes are left unchanged.

Requirements

Secrets:CUSTOMERIO_SITE_IDCUSTOMERIO_TRACKING_API_KEYCUSTOMERIO_REGION

Output

Type:jsonNo description provided.
#

Customerio.ListBroadcasts

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Read
Service domains
Messaging
MCP behavior
Yes

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

Yes

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

List the workspace's broadcasts to discover ids that can be triggered.

Parameters

No parameters required.

Requirements

Secrets:CUSTOMERIO_APP_API_KEYCUSTOMERIO_REGION

Output

Type:jsonNo description provided.
#

Customerio.ListCampaigns

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Read
Service domains
CRM
MCP behavior
Yes

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

Yes

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

List the campaigns in the workspace.

Parameters

ParameterTypeReq.Description
limitintegerOptionalMaximum campaigns to return (1-1000). Defaults to 50.
offsetintegerOptional0-indexed starting position. Defaults to 0 (first result).

Requirements

Secrets:CUSTOMERIO_APP_API_KEYCUSTOMERIO_REGION

Output

Type:jsonNo description provided.
#

Customerio.ListNewsletters

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Read
Service domains
CRM
MCP behavior
Yes

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

Yes

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

List the newsletters in the workspace.

Parameters

ParameterTypeReq.Description
limitintegerOptionalMaximum newsletters to return (1-1000). Defaults to 50.
offsetintegerOptional0-indexed starting position. Defaults to 0 (first result).

Requirements

Secrets:CUSTOMERIO_APP_API_KEYCUSTOMERIO_REGION

Output

Type:jsonNo description provided.
#

Customerio.ListPersonActivities

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Read
Service domains
CRM
MCP behavior
Yes

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

Yes

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

List a person's recent activities, most recent first, resolved by email or id. Optionally filter by activity type and/or name; filtering by name requires an activity type. When an email matches several people, the first match's activities are returned.

Parameters

ParameterTypeReq.Description
person_idstringOptionalCustomer.io person id. Provide this or an email.
emailstringOptionalEmail of the person. Provide this or a person id.
activity_typestringOptionalRestrict to one activity type. Leave empty for all types.
eventpageattribute_changeattribute_deletesecondary_id_change
namestringOptionalRestrict to activities with this exact name (e.g. an event name). Requires an activity type to also be set. Leave empty for any name.
limitintegerOptionalMaximum activities to return (1-1000). Defaults to 50.
cursorstringOptionalPagination cursor from a prior page. Leave empty for the first page.

Requirements

Secrets:CUSTOMERIO_APP_API_KEYCUSTOMERIO_REGION

Output

Type:jsonNo description provided.
#

Customerio.ListPersonMessages

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Read
Service domains
CRM
MCP behavior
Yes

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

Yes

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

List a person's message and delivery history, most recent first, resolved by email or id. When an email matches several people, the first match's messages are returned.

Parameters

ParameterTypeReq.Description
person_idstringOptionalCustomer.io person id. Provide this or an email.
emailstringOptionalEmail of the person. Provide this or a person id.
limitintegerOptionalMaximum messages to return (1-1000). Defaults to 50.
cursorstringOptionalPagination cursor from a prior page. Leave empty for the first page.

Requirements

Secrets:CUSTOMERIO_APP_API_KEYCUSTOMERIO_REGION

Output

Type:jsonNo description provided.
#

Customerio.ListPersonSegments

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Read
Service domains
CRM
MCP behavior
Yes

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

Yes

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

List the segments a person belongs to, resolved by email or id. When an email matches several people, the first match's segments are returned.

Parameters

ParameterTypeReq.Description
person_idstringOptionalCustomer.io person id. Provide this or an email.
emailstringOptionalEmail of the person. Provide this or a person id.

Requirements

Secrets:CUSTOMERIO_APP_API_KEYCUSTOMERIO_REGION

Output

Type:jsonNo description provided.
#

Customerio.ListSegmentMembers

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Read
Service domains
CRM
MCP behavior
Yes

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

Yes

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

List the ids of the people in a segment and the segment's total size.

Parameters

ParameterTypeReq.Description
segment_idstringRequiredId of the segment whose members to list.
limitintegerOptionalMaximum member ids to return (1-1000). Defaults to 100.
cursorstringOptionalPagination cursor from a prior page. Leave empty for the first page.

Requirements

Secrets:CUSTOMERIO_APP_API_KEYCUSTOMERIO_REGION

Output

Type:jsonNo description provided.
#

Customerio.ListSegments

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Read
Service domains
CRM
MCP behavior
Yes

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

Yes

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

List the segments defined in the workspace.

Parameters

No parameters required.

Requirements

Secrets:CUSTOMERIO_APP_API_KEYCUSTOMERIO_REGION

Output

Type:jsonNo description provided.
#

Customerio.ListTransactionalMessages

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Read
Service domains
Messaging
MCP behavior
Yes

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

Yes

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

List the transactional message templates in the workspace.

Parameters

No parameters required.

Requirements

Secrets:CUSTOMERIO_APP_API_KEYCUSTOMERIO_REGION

Output

Type:jsonNo description provided.
#

Customerio.RecordEvent

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Create
Service domains
CRM
MCP behavior
No

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

No

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

Record a named custom event on a person's timeline to drive lifecycle journeys.

Parameters

ParameterTypeReq.Description
person_idstringRequiredId of the person the event is recorded against.
namestringRequiredName of the custom event (e.g. purchased, signed_up).
identifier_typestringOptionalWhich kind of value person_id is, so the event targets the right profile. Defaults to the external id you assigned the person; use the Customer.io internal id when person_id is a cio_id (people with no external id are returned that way), or email when it is an email address.
idemailcio_id
datajsonOptionalEvent data as a flat mapping of property name to value. Leave empty for an event with no data.

Requirements

Secrets:CUSTOMERIO_SITE_IDCUSTOMERIO_TRACKING_API_KEYCUSTOMERIO_REGION

Output

Type:jsonNo description provided.
#

Customerio.SearchPeople

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Read
Service domains
CRM
MCP behavior
Yes

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

Yes

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

Find people by segment membership and/or an attribute, to build an audience without a known id. Supply at least one of a segment or an attribute name; both combine with AND.

Parameters

ParameterTypeReq.Description
segment_idstringOptionalRestrict to members of this segment. Leave empty to not filter by segment.
attribute_namestringOptionalRestrict to people who have this attribute. Combine with an attribute value to match a specific value, or leave the value empty to match anyone the attribute is set on. Leave empty to not filter by attribute.
attribute_valuestringOptionalValue the named attribute must equal. Ignored unless an attribute name is given; leave empty to match any value the attribute is set to.
limitintegerOptionalMaximum people to return (1-1000). Defaults to 50.
cursorstringOptionalPagination cursor from a prior page. Leave empty for the first page.

Requirements

Secrets:CUSTOMERIO_APP_API_KEYCUSTOMERIO_REGION

Output

Type:jsonNo description provided.
#

Customerio.SendTransactionalEmail

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Create
Service domains
Messaging
MCP behavior
No

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

No

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

Send a transactional email to one recipient by its template id.

Parameters

ParameterTypeReq.Description
transactional_message_idstringRequiredId of the transactional message template to send.
tostringRequiredRecipient email address. The send is associated with the person who has this email; provide an email address, not a person id.
message_datajsonOptionalValues for the template's variables, as a flat mapping of name to value. Leave empty when the template has no variables.
subjectstringOptionalSubject line override. Leave empty to use the template's subject.
from_addressstringOptionalFrom address override. Leave empty to use the template's sender.
bccstringOptionalBCC address. Leave empty for none.
reply_tostringOptionalReply-to address override. Leave empty to use the template's default.

Requirements

Secrets:CUSTOMERIO_APP_API_KEYCUSTOMERIO_REGION

Output

Type:jsonNo description provided.
#

Customerio.TriggerBroadcast

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Create
Service domains
Messaging
MCP behavior
No

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

No

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

Trigger an API broadcast to a segment or an explicit recipient list.

Parameters

ParameterTypeReq.Description
broadcast_idstringRequiredId of the API-triggered broadcast to launch.
datajsonOptionalTrigger data referenced by the broadcast's content/liquid, as a flat mapping of name to value. Leave empty when the broadcast references no data.
segment_idstringOptionalSegment id to send to. Leave empty to use the broadcast's configured audience or an explicit recipient list.
recipient_idsarray<string>OptionalExplicit external customer ids to send to (the id you assigned the person, not a Customer.io cio_id). Leave empty to target a segment, recipient emails, or the configured audience.
recipient_emailsarray<string>OptionalExplicit recipient email addresses to send to. Prefer this when you only have an email or a cio_id. Leave empty to target a segment or ids.

Requirements

Secrets:CUSTOMERIO_APP_API_KEYCUSTOMERIO_REGION

Output

Type:jsonNo description provided.
Last updated on