Skip to content

Connectors · Email & messaging

Customer.io MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Customer.io and the rest of your systems. It gives your agent 184 Customer.io actions (113 reads, 56 writes and 15 that wait for a confirmation) and holds the Customer.io credential itself, so the agent never does. It paces Customer.io's limits and records every call.

100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.

claude mcp add --transport http actionlake https://connect.actionlake.com/mcp
the first call
do {  action: "customerio.segments_list",  intent: "check which Customer.io account is connected"}# List segments · read · 1 upstream call
  • 184actionsin one signed file
  • 113readlook, never change
  • 56writecreate and update
  • 15wait for a yesdestructive, confirmed first

Set up

Connect Customer.io in three steps.

  1. 01

    Add actionlake to Claude.

    Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.

    https://connect.actionlake.com/mcp
  2. 02

    Connect Customer.io.

    Bearer token. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead. actionlake stores what you paste write-only, sealed under your tenant's key.

    • app_api_keyCustomer.io App API Key
    • api_baseWhere your Customer.io lives: your api base
    account { op: "connections.requirements", service: "customerio" }
    # free: exactly what to paste, and what is found for you
  3. 03

    Make the first call. Check before a write.

    Ask in plain words; Claude picks the action. Before anything changes, check validates the call and prices it, for free.

    do    { action: "customerio.segments_list" }# list segments · read · 1 upstream callcheck { action: "customerio.segments_delete", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent

Customer.io at a glance

Sign-in
Bearer token. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead.
You provide
app_api_key
Setup fields
api_base
Limits we pace to
10 calls a second, per connection
API covered
Customer.io API v1api.customer.io
Built from
Customer.io's documentation, read 19 September 2026docs.customer.io
Service file
Version 1.0.0, signed (Ed25519)
Cached reads
112 of 113 reads, for up to an hour; a write clears what it affects
Ready-made plans
8 in the store
Shared entities
4, so ask can line Customer.io up with your other systems
Data
Processed and stored in Sydney, Australia. No US region yet

Capabilities

What an AI agent can do in Customer.io.

184 actions in 23 areas. Every one carries its effect, so a key can allow the reads and hold the rest.

  • 113readlook, never change
  • 56writecreate and update
  • 15destructivewait for a confirmation
  1. Design

    37

    19 read · 13 write · 5 destructive

    List email versions · List emails · Save an email version · Create an email

  2. Newsletter

    23

    11 read · 9 write · 3 destructive

    List a one-time send's A/B test groups · List one-time send variants · List one-time sends · Create an A/B test group for a one-time send

  3. Broadcast

    15

    12 read · 3 write · 0 destructive

    List broadcast actions · List broadcasts · Get a broadcast action · Get a broadcast

  4. Transactional

    15

    7 read · 8 write · 0 destructive

    List all variants of a transactional message · List transactional messages · Send a transactional email · Send a transactional SMS

  5. Campaign

    12

    10 read · 2 write · 0 destructive

    List automation actions · Get an automation action · Update an automation action · List automations

  6. Asset

    9

    4 read · 3 write · 2 destructive

    List file assets · Create a folder · List folders · Get a file asset

  7. Person

    9

    8 read · 1 write · 0 destructive

    List opt-outs in the workspace · Get customers by email · Lookup a customer's opt-outs · Lookup a customer's subscription preferences

  8. Message

    8

    8 read · 0 write · 0 destructive

    List messages · Get messages for a broadcast · Get automation message metadata · Get delivery data for a one-time send

15 more areas · 56 actions
  • Segment 8
  • Collection 7
  • Export 5
  • Reporting webhook 5
  • Suppression 5
  • Live notification 4
  • Object 4
  • Snippet 4
  • Sender identity 3
  • Subscription 3
  • Activity 2
  • Data index 2
  • Import 2
  • Info 1
  • Workspace 1

Top actions

The Customer.io API, shaped for agents.

The ids your agent types, what each does, and the one name it shares with other systems. 89 of Customer.io's 91 action names are shared with at least one other connector, so an agent learns them once.

ActionWhat it doesEffectSame name in
customerio.segments_listList segmentsList segmentsreadcomm.audience_segment.list22 connectors
customerio.messages_listList messagesList messagesreadcomm.delivery_event.list16 connectors
customerio.person_segments_listLookup a customer's segmentsLookup a customer's segmentsreadcomm.audience_segment.list22 connectors
customerio.sender_identities_listList sender identitiesList sender identitiesreadcomm.sending_domain.list18 connectors
customerio.person_messages_listLookup messages sent to a customerLookup messages sent to a customerreadcomm.delivery_event.list16 connectors
customerio.broadcasts_listList broadcastsList broadcastsreadcomm.campaign.list41 connectors
customerio.newsletters_listList one-time sendsList one-time sendsreadcomm.campaign.list41 connectors
customerio.transactional_contents_listList all variants of a transactional messageList all variants of a transactional messagereadcomm.email_template.list40 connectors
customerio.segments_deleteDelete a segmentDelete a segmentdestructivecomm.audience_segment.delete15 connectors
customerio.transactional_emails_createSend a transactional emailSend a transactional emailwritecomm.email.send32 connectors
customerio.transactional_sms_createSend a transactional SMSSend a transactional SMSwritecomm.sms.send26 connectors
customerio.transactional_whatsapps_createSend a transactional WhatsApp messageSend a transactional WhatsApp messagewritecomm.sms.send26 connectors

Try it

Prompts to paste into Claude.

Each one names the Customer.io actions it will call, so you know what it reads and what it changes before you send it.

  1. Readread

    List segments in Customer.io and tell me what stands out.

    callscustomerio.segments_list

  2. Planwrite

    Trigger a broadcast and watch its first hour in Customer.io. Ask me before anything is sent or changed.

    callscustomerio.broadcasts_getcustomerio.broadcast_actions_listcustomerio.broadcast_triggers_createcustomerio.broadcast_trigger_errors_listcustomerio.broadcast_metrics_get+1 more

  3. Planread

    Sweep recent opt-outs and confirm each person's state in Customer.io.

    callscustomerio.optouts_listcustomerio.subscription_channels_listcustomerio.people_getcustomerio.person_optouts_getcustomerio.person_subscription_preferences_get

  4. Writewrite

    Send a transactional email in Customer.io. Show me exactly what you will send before you save it.

    callscustomerio.transactional_emails_create

The plan store

Ready-made plans for Customer.io.

8 plans in the store. Install one and your agent runs it by name; the reply says which connections are still missing. A schedule can run a plan on a timetable. There are no triggers or webhooks, by design.

  1. Report on every live campaign and its worst action

    Use it when Someone asks how the Customer.io campaigns are performing, or which step of a campaign is underperforming.

    Effect
    read
    Steps
    2 · loops
    Needs
    period and steps
    Install
    customerio-campaign-performance-report
  2. Sweep recent opt-outs and confirm each person's state

    Use it when Someone needs to verify that recent opt-outs were honoured across channels.

    Effect
    read
    Steps
    3 · loops
    Needs
    from
    Install
    customerio-optout-sweep
  3. Export customers and wait for the download link

    Use it when Someone needs a CSV of customers matching a filter and wants the download link, not just the job id.

    Effect
    write
    Steps
    4
    Needs
    body
    Install
    customerio-export-customers-and-download
  4. Review a domain's bounces and suppress the worst addresses

    Use it when A domain is bouncing badly and someone wants one address suppressed after a human signs off.

    A person decidesSuppress email address (suppression type) so Customer.io stops sending to it.

    Effect
    write
    Steps
    4
    Needs
    domain name, email address and suppression type
    Install
    customerio-suppress-bounced-domain
  5. Check a newsletter, get sign-off, then send it

    Use it when A newsletter is ready and someone must sign off before it is actually sent to the list.

    A person decidesSend newsletter newsletter id to its full audience now. This cannot be undone.

    Effect
    write
    Steps
    6
    Needs
    newsletter id
    Install
    customerio-send-newsletter-with-approval
  6. Review an email design, get approval and publish it

    Use it when An email design has unpublished edits and someone must approve before it goes live in campaigns.

    A person decidesPublish email design id (design name) so live campaigns start using it.

    Effect
    write
    Steps
    7
    Needs
    id
    Install
    customerio-publish-email-design
  7. Trigger a broadcast and watch its first hour

    Use it when A broadcast is ready to fire and someone wants sign-off plus an automatic check on how it landed.

    A person decidesTrigger broadcast broadcast id (name) to its audience now.

    Effect
    write
    Steps
    8
    Needs
    body and broadcast id
    Install
    customerio-broadcast-launch-watch
  8. Prove a segment is unused, then delete it

    Use it when Someone wants to clean up an old Customer.io segment but must not break a campaign that still uses it.

    A person decidesDelete segment segment id (name) holding count people. Dependencies were listed above.

    Effect
    destructive
    Steps
    5
    Needs
    segment id
    Install
    customerio-audit-segment-before-delete
install a plan
account { op: "plans.install", slug: "customerio-campaign-performance-report" }
# then ask for it by name; a schedule can run it on a timetable

Governance for Customer.io

Destructive actions wait for a yes.

15 Customer.io actions are destructive. These are all of them:

  • Delete a segmentcustomerio.segments_delete
  • Delete a one-time sendcustomerio.newsletters_delete
  • Delete an emailcustomerio.design_emails_delete
  • Delete an email versioncustomerio.design_email_versions_delete
  • Delete a file assetcustomerio.assets_delete
  • Un-suppress an ESP-suppressed addresscustomerio.esp_suppressions_delete
  • Delete a foldercustomerio.asset_folders_delete
  • Delete a foldercustomerio.design_folders_delete
  • Delete a collectioncustomerio.collections_delete
  • Delete a snippetcustomerio.snippets_delete
  • Delete a componentcustomerio.design_components_delete
  • Delete a reporting webhookcustomerio.reporting_webhooks_delete
  • Delete a translation of a one-time sendcustomerio.newsletter_languages_delete
  • Delete a translation in a one-time send test groupcustomerio.newsletter_test_group_languages_delete
  • Delete an email translationcustomerio.design_email_languages_delete

A destructive action runs only with confirm: true. Under the human policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.

docustomerio.segments_deleteconfirm_policy: human

Delete a segment?

intent: the user asked me to delete a segment

run suspended · waiting for a named person · key customerio-agent cannot confirm itself
In the console, or from an emailed signed link.
a key for this connector
account {  op: "keys.create", name: "customerio-agent",  allowed_actions: ["customerio.*"], cap_calls: 2000,  confirm_policy: "human_for_writes",  approval_rules: [    { match: "customerio.segments_delete", approver: "[email protected]" },    { match: "customerio.newsletters_delete", approver: "[email protected]" },    { match: "customerio.design_emails_delete", approver: "[email protected]" }  ]}
Illustrative. Scoped to Customer.io only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

Cost

What Customer.io costs on actionlake.

Every Customer.io action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call Customer.io refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

  • 1upstream call per actionall 184 Customer.io actions
  • 184actions pageeach page of a long list is one call
  • 112reads can be cacheda cache hit costs nothing
  • 100,000calls a month, freepaid plans from US$49 a month for 250,000

See pricing

Action index

Every Customer.io action.

184 actions by area: the id your agent calls, what it does, and its effect.

Design37
  • customerio.design_components_createCreate a componentwrite
  • customerio.design_components_deleteDelete a componentdestructive
  • customerio.design_components_getGet a componentread
  • customerio.design_components_listList componentsread
  • customerio.design_components_updateUpdate a componentwrite
  • customerio.design_email_languages_createCreate an email translationwrite
  • customerio.design_email_languages_deleteDelete an email translationdestructive
  • customerio.design_email_languages_getGet an email translationread
  • customerio.design_email_languages_listList email translationsread
  • customerio.design_email_languages_updateUpdate an email translationwrite
  • customerio.design_email_links_createLink an email to a workflowwrite
  • customerio.design_email_previews_getPreview an emailread
  • customerio.design_email_publish_status_getGet publish statusread
  • customerio.design_email_publishes_createPublish an emailwrite
  • customerio.design_email_renders_getRender an emailread
  • customerio.design_email_reviews_getReview an emailread
  • customerio.design_email_unpublished_changes_getCheck for unpublished changesread
  • customerio.design_email_version_restores_createRestore an email versionwrite
  • customerio.design_email_versions_createSave an email versionwrite
  • customerio.design_email_versions_deleteDelete an email versiondestructive
  • customerio.design_email_versions_getGet an email versionread
  • customerio.design_email_versions_listList email versionsread
  • customerio.design_emails_createCreate an emailwrite
  • customerio.design_emails_deleteDelete an emaildestructive
  • customerio.design_emails_getGet an emailread
  • customerio.design_emails_listList emailsread
  • customerio.design_emails_updateUpdate an emailwrite
  • customerio.design_folders_createCreate a folderwrite
  • customerio.design_folders_deleteDelete a folderdestructive
  • customerio.design_folders_getGet a folderread
  • customerio.design_folders_listList foldersread
  • customerio.design_folders_updateUpdate a folderwrite
  • customerio.design_inbox_preview_clients_listList inbox preview optionsread
  • customerio.design_inbox_preview_credits_getGet preview credit balanceread
  • customerio.design_inbox_preview_jobs_getGet an inbox preview jobread
  • customerio.design_inbox_preview_jobs_listList inbox preview historyread
  • customerio.design_inbox_previews_createSend for inbox previewswrite
Newsletter23
  • customerio.newsletter_languages_createAdd a translation to a one-time sendwrite
  • customerio.newsletter_languages_deleteDelete a translation of a one-time senddestructive
  • customerio.newsletter_languages_getGet a one-time send translationread
  • customerio.newsletter_languages_updateUpdate a translation of a one-time sendwrite
  • customerio.newsletter_link_metrics_getGet click metrics for one-time send linksread
  • customerio.newsletter_metrics_getGet one-time send metricsread
  • customerio.newsletter_schedules_createSchedule a one-time sendwrite
  • customerio.newsletter_sends_createTrigger a one-time sendwrite
  • customerio.newsletter_test_group_languages_createAdd a translation to a one-time send test groupwrite
  • customerio.newsletter_test_group_languages_deleteDelete a translation in a one-time send test groupdestructive
  • customerio.newsletter_test_group_languages_getGet a translation in a one-time send test groupread
  • customerio.newsletter_test_group_languages_updateUpdate a translation in a one-time send test groupwrite
  • customerio.newsletter_test_groups_createCreate an A/B test group for a one-time sendwrite
  • customerio.newsletter_test_groups_listList a one-time send's A/B test groupsread
  • customerio.newsletter_variant_link_metrics_getGet click metrics for links in one-time send variantsread
  • customerio.newsletter_variant_metrics_getGet metrics for a test or translation variant of a one-time sendread
  • customerio.newsletter_variants_getGet a one-time send variantread
  • customerio.newsletter_variants_listList one-time send variantsread
  • customerio.newsletter_variants_updateUpdate a one-time send variantwrite
  • customerio.newsletters_createCreate and send a one-time sendwrite
  • customerio.newsletters_deleteDelete a one-time senddestructive
  • customerio.newsletters_getGet a one-time sendread
  • customerio.newsletters_listList one-time sendsread
Broadcast15
  • customerio.broadcast_action_languages_getGet a translation of a broadcast messageread
  • customerio.broadcast_action_languages_updateUpdate a translation of a broadcast messagewrite
  • customerio.broadcast_action_link_metrics_getGet broadcast action link metricsread
  • customerio.broadcast_action_metrics_getGet broadcast action metricsread
  • customerio.broadcast_actions_getGet a broadcast actionread
  • customerio.broadcast_actions_listList broadcast actionsread
  • customerio.broadcast_actions_updateUpdate a broadcast actionwrite
  • customerio.broadcast_link_metrics_getGet broadcast link metricsread
  • customerio.broadcast_metrics_getGet broadcast metricsread
  • customerio.broadcast_trigger_errors_listGet broadcast error descriptionsread
  • customerio.broadcast_triggers_createSend an API-triggered broadcastwrite
  • customerio.broadcast_triggers_getGet the status of a broadcastread
  • customerio.broadcast_triggers_listGet broadcast triggersread
  • customerio.broadcasts_getGet a broadcastread
  • customerio.broadcasts_listList broadcastsread
Transactional15
  • customerio.transactional_contents_getGet a translation of a transactional by IDread
  • customerio.transactional_contents_listList all variants of a transactional messageread
  • customerio.transactional_contents_updateUpdate a transactional messagewrite
  • customerio.transactional_emails_createSend a transactional emailwrite
  • customerio.transactional_in_apps_createSend a transactional in-app messagewrite
  • customerio.transactional_inbox_messages_createSend a transactional inbox messagewrite
  • customerio.transactional_languages_getGet a translation of a transactional messageread
  • customerio.transactional_languages_updateUpdate a translation of a transactional messagewrite
  • customerio.transactional_link_metrics_getGet transactional message link metricsread
  • customerio.transactional_messages_getGet a transactional messageread
  • customerio.transactional_messages_listList transactional messagesread
  • customerio.transactional_metrics_getGet transactional message metricsread
  • customerio.transactional_pushes_createSend a transactional pushwrite
  • customerio.transactional_sms_createSend a transactional SMSwrite
  • customerio.transactional_whatsapps_createSend a transactional WhatsApp messagewrite
Campaign12
  • customerio.campaign_action_languages_getGet a translation of an automation messageread
  • customerio.campaign_action_languages_updateUpdate a translation of an automation messagewrite
  • customerio.campaign_action_link_metrics_getGet link metrics for an actionread
  • customerio.campaign_action_metrics_getGet automation action metricsread
  • customerio.campaign_actions_getGet an automation actionread
  • customerio.campaign_actions_listList automation actionsread
  • customerio.campaign_actions_updateUpdate an automation actionwrite
  • customerio.campaign_journey_metrics_getGet automation journey metricsread
  • customerio.campaign_link_metrics_getGet automation link metricsread
  • customerio.campaign_metrics_getGet automation metricsread
  • customerio.campaigns_getGet an automationread
  • customerio.campaigns_listList automationsread
Asset9
  • customerio.asset_folders_createCreate a folderwrite
  • customerio.asset_folders_deleteDelete a folderdestructive
  • customerio.asset_folders_getGet a folderread
  • customerio.asset_folders_listList foldersread
  • customerio.asset_folders_updateUpdate a folderwrite
  • customerio.assets_deleteDelete a file assetdestructive
  • customerio.assets_getGet a file assetread
  • customerio.assets_listList file assetsread
  • customerio.assets_updateUpdate a file assetwrite
Person9
  • customerio.optouts_listList opt-outs in the workspaceread
  • customerio.people_attributes_listList customers, attributes, and devicesread
  • customerio.people_by_email_listGet customers by emailread
  • customerio.people_getLookup a customer's attributesread
  • customerio.people_searchSearch for customersread
  • customerio.person_optouts_getLookup a customer's opt-outsread
  • customerio.person_optouts_updateUpdate a customer's opt-outswrite
  • customerio.person_relationships_listLookup a customer's relationshipsread
  • customerio.person_subscription_preferences_getLookup a customer's subscription preferencesread
Message8
  • customerio.archived_messages_getGet an archived messageread
  • customerio.broadcast_messages_listGet messages for a broadcastread
  • customerio.campaign_messages_listGet automation message metadataread
  • customerio.messages_getGet a messageread
  • customerio.messages_listList messagesread
  • customerio.newsletter_messages_listGet delivery data for a one-time sendread
  • customerio.person_messages_listLookup messages sent to a customerread
  • customerio.transactional_deliveries_listGet transactional message deliveriesread
Segment8
  • customerio.person_segments_listLookup a customer's segmentsread
  • customerio.segment_customer_counts_getGet a segment customer countread
  • customerio.segment_dependencies_getGet a segment's dependenciesread
  • customerio.segment_memberships_listList customers in a segmentread
  • customerio.segments_createCreate a manual segmentwrite
  • customerio.segments_deleteDelete a segmentdestructive
  • customerio.segments_getGet a segmentread
  • customerio.segments_listList segmentsread
Collection7
  • customerio.collection_contents_getLookup collection contentsread
  • customerio.collection_contents_updateUpdate the contents of a collectionwrite
  • customerio.collections_createCreate a collectionwrite
  • customerio.collections_deleteDelete a collectiondestructive
  • customerio.collections_getLookup a collectionread
  • customerio.collections_listList your collectionsread
  • customerio.collections_updateUpdate a collectionwrite
Export5
  • customerio.export_customers_createExport customer datawrite
  • customerio.export_deliveries_createExport information about deliverieswrite
  • customerio.export_downloads_getDownload an exportread
  • customerio.exports_getGet an exportread
  • customerio.exports_listList exportsread
Reporting webhook5
  • customerio.reporting_webhooks_createCreate a reporting webhookwrite
  • customerio.reporting_webhooks_deleteDelete a reporting webhookdestructive
  • customerio.reporting_webhooks_getGet a reporting webhookread
  • customerio.reporting_webhooks_listList reporting webhooksread
  • customerio.reporting_webhooks_updateUpdate a webhook configurationwrite
Suppression5
  • customerio.esp_domain_suppressions_listGet ESP-suppressed emails by domainread
  • customerio.esp_suppressions_createSuppress an email at the ESPwrite
  • customerio.esp_suppressions_deleteUn-suppress an ESP-suppressed addressdestructive
  • customerio.esp_suppressions_listGet ESP-suppressed emails by typeread
  • customerio.esp_suppressions_lookup_getLook up an ESP-suppressed addressread
Live notification4
  • customerio.live_notification_ends_createEnd a live notificationwrite
  • customerio.live_notification_starts_createStart a live notificationwrite
  • customerio.live_notification_updates_createUpdate a live notificationwrite
  • customerio.live_notifications_getGet a live notification's statusread
Object4
  • customerio.object_relationships_listGet Object Relationshipsread
  • customerio.object_types_listList object typesread
  • customerio.objects_getGet Object Attributesread
  • customerio.objects_searchFind objectsread
Snippet4
  • customerio.snippets_createCreate a snippetwrite
  • customerio.snippets_deleteDelete a snippetdestructive
  • customerio.snippets_listList snippetsread
  • customerio.snippets_updateUpdate snippetswrite
Sender identity3
  • customerio.sender_identities_getGet a senderread
  • customerio.sender_identities_listList sender identitiesread
  • customerio.sender_identity_usage_getGet sender usage dataread
Subscription3
  • customerio.subscription_center_tokens_getGenerate a subscription center tokenread
  • customerio.subscription_channels_listList subscription channelsread
  • customerio.subscription_topics_listList subscription topicsread
Activity2
  • customerio.activities_listList activitiesread
  • customerio.person_activities_listLookup a customer's activitiesread
Data index2
  • customerio.data_index_attributes_updateAdd or update attributeswrite
  • customerio.data_index_events_updateAdd or update eventswrite
Import2
  • customerio.imports_createImport items in bulkwrite
  • customerio.imports_getRetrieve a bulk importread
Info1
  • customerio.info_ip_addresses_listList IP addressesread
Workspace1
  • customerio.workspaces_listList workspacesread

Questions

The Customer.io MCP server, answered.

Is there a Customer.io MCP server for Claude?

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 184 Customer.io actions across design, newsletter, broadcast and transactional, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Customer.io.

What do I need to connect Customer.io?

Customer.io App API Key. Plus your api base. The free call account { op: "connections.requirements", service: "customerio" } lists exactly what to paste.

Can an AI agent delete or change things in Customer.io?

Only if its key allows it, and only with an explicit confirmation. 15 Customer.io actions are destructive, including delete a segment, delete a one-time send and delete an email. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.

Will an AI agent use up my Customer.io API limit?

actionlake paces every call to the limits in the Customer.io service file: 10 calls a second per connection. Repeated reads are answered from cache (112 Customer.io actions can be), which never reaches Customer.io.

What does a Customer.io action cost?

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (184 Customer.io actions page). Cache hits, searches, dry runs and calls Customer.io refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

Which Customer.io API does it cover?

The Customer.io API v1 at api.customer.io by default, or the base URL set when you connect. It is built from Customer.io's documentation as read on 19 September 2026. 184 actions in 23 areas, each one in the signed service file (version 1.0.0).

Does actionlake keep my Customer.io data, and where?

actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to an hour, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Customer.io credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.

Which AI clients can use it?

Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.

Give your agent Customer.io today.

Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.