| name | customer-io |
| description | Customer.io is a customer engagement platform that provides messaging automation, data-driven segmentation, and multichannel campaign orchestration, allowing teams to trigger personalized emails, SMS, push notifications, and in-app messages based on user behavior and lifecycle events. Read and write Customer.io data through One: newsletters, customers, segments, collections, campaignactions, reportingwebhooks and more, 162 actions with real parameter documentation. Use whenever the user asks to look something up in Customer.io, create or update a record there, or build code against the Customer.io API. |
Customer.io through One
Customer.io is a customer engagement platform that provides messaging automation, data-driven segmentation, and multichannel campaign orchestration, allowing teams to trigger personalized emails, SMS, push notifications, and in-app messages based on user behavior and lifecycle events.
One exposes Customer.io through four MCP tools. The table below carries real action ids from One's knowledge base, so for a common operation you can skip search and go straight to reading the action's parameters.
How to run an action
- Find the action in the table below, or call
search_one_platform_actions with platform customer-io if it is not listed.
- Call
get_one_action_knowledge with the action id. Do this every time, including for actions in this table. The table gives you the id, not the parameters.
- Call
execute_one_action with parameters copied from that knowledge.
Never guess a parameter name, a body field, or an enum value. The knowledge has the real schema, and a guessed field is either a 400 or a silent write of the wrong thing.
Before you start
Call list_one_integrations once and confirm Customer.io is connected. If it is missing, the user has not connected it: say so and point them at https://app.withone.ai rather than reaching for raw HTTP.
Each connection carries an access field. If it reports {"policy": "methods", "methods": ["GET"]} the agent is read-only here, so plan a read-only answer instead of attempting a write that will be refused.
Before a write
Creates, updates, deletes and sends land on a real Customer.io account and cannot be recalled. State the action and the specific target in one line before the first write in a task, and let the user stop you. Reads need no confirmation.
Actions
Newsletters
| Action | Method | Path | Action id |
|---|
| Get a Newsletter | GET | /v1/newsletters/{{newsletterId}} | conn_mod_def::GMXukPwNiwg::w2ehsKnHQhO9dZE9Ig1ZUg |
| Get a Newsletter Translation | GET | /v1/newsletters/{{newsletterId}}/language/{{language}} | conn_mod_def::GMXukAa9meA::L8x6f2J1ScGeIzzfLf4dzg |
| Get a Newsletter Variant | GET | /v1/newsletters/{{newsletterId}}/contents/{{contentId}} | conn_mod_def::GMXukAZfozA::MDMA_dM8TpS4Z_zVHd9pwQ |
| Get Metrics for a Newsletter | GET | /v1/newsletters/{{newsletterId}}/metrics | conn_mod_def::GMXuj2sIkBg::0NIjfLX1TCaGhHfssmmRLQ |
| List Newsletters | GET | /v1/newsletters | conn_mod_def::GMXukPu8Rlg::8mo_RqB5Tf-yaEA-zhi6OQ |
| Add a Translation to a Newsletter | POST | /v1/newsletters/{{newsletterId}}/language | conn_mod_def::GMXuj1y0u0A::2ljp8YB6RfmDiaAR1eoqWw |
| Add a Translation to a Newsletter Test Group | POST | /v1/newsletters/{{newsletterId}}/test_group/{{testGroupId}}/language | conn_mod_def::GMXuj5MZv_A::qAKrQvL5QrmVr0wY5pB7UQ |
| Create a Newsletter | POST | /v1/newsletters | conn_mod_def::GMXukPg_Bng::0-r9xsZARFCcnGEwzalYlA |
| Create a Test Group for a Newsletter | POST | /v1/newsletters/{{newsletterId}}/test_groups | conn_mod_def::GMXukAZfJjA::O718xexfSKG9vmw60BipUQ |
| Delete a Newsletter | DELETE | /v1/newsletters/{{newsletterId}} | conn_mod_def::GMXukPNV7hA::lEEtV7PQQRCyqBlJeuFYTA |
| Delete a Translation in a Newsletter Test Group | DELETE | /v1/newsletters/{{newsletterId}}/test_group/{{testGroupId}}/language/{{language}} | |
5 more Newsletters actions are available through search.
Customers
| Action | Method | Path | Action id |
|---|
| Get a Customer's Attributes | GET | /v1/customers/{{customerId}}/attributes | conn_mod_def::GMXuhkvSGDA::rdHR2x4wRzKQNgIe3AcsEw |
| Get Customers by Email | GET | /v1/customers | conn_mod_def::GMXuhlvlxXg::H6mjU7KQQTiiKw6cQVHXGQ |
| List a Customer's Relationships | GET | /v1/customers/{{customerId}}/relationships | conn_mod_def::GMXuhtItvVg::YEnOV-uYRVWghQtNDJPqWg |
| List a Customer's Sent Messages | GET | /v1/customers/{{customerId}}/messages | conn_mod_def::GMXuhtsGFTg::pfTKsqZYRiCMXuqdfcgaKA |
| Lookup a Customer's Opt-Outs | GET | /v1/customers/{{customerId}}/optouts | conn_mod_def::GMXukevh1EA::Y6GmAx-HQ0mG6_m9-k37kg |
| List Customer Attributes and Devices | POST | /v1/customers/attributes | conn_mod_def::GMXuhlu_C2g::I984xKHmQkuLNwtGXzPuFA |
| Search for Customers | POST | /v1/customers | conn_mod_def::GMXuhspe-cA::tQgMg68lRReZH1buMyBRWA |
| Update a Customer's Opt-Outs | PUT | /v1/customers/{{customerId}}/optouts | conn_mod_def::GMXukevW18A::zcF6IQssS86_GPOQKfC2Bg |
Segments
| Action | Method | Path | Action id |
|---|
| Get a Segment | GET | /v1/segments/{{segmentId}} | conn_mod_def::GMXuklsqfeg::rm6qOXSVROC1jobCyGLINg |
| Get a Segment's Customer Count | GET | /v1/segments/{{segmentId}}/customer_count | conn_mod_def::GMXuksAFkYA::FA9XUfQWRPW4wMzC2Wn2TA |
| Get a Segment's Dependencies | GET | /v1/segments/{{segmentId}}/used_by | conn_mod_def::GMXuksoniDA::ZlhkMJy7TvGCQwDJKEEsag |
| List a Customer's Segments | GET | /v1/customers/{{customerId}}/segments | conn_mod_def::GMXuhsEHOLA::2c03h-XcQB-QQd_wpyk_Sg |
| List Customers in a Segment | GET | /v1/segments/{{segmentId}}/membership | conn_mod_def::GMXuks6KB5A::k7YCMAxJRN6KO8C82P0Bnw |
| List Segments | GET | /v1/segments | conn_mod_def::GMXukssxVxA::aQuv5Ay8R9eGTXfSId5ITA |
| Create a Manual Segment | POST | /v1/segments | conn_mod_def::GMXukmVo8ZA::m3y22mOaRw6ulIVb92S0ag |
| Delete a Segment | DELETE | /v1/segments/{{segmentId}} | conn_mod_def::GMXukl14lGg::ce5GlAt9Rke5bmtRGD2ESA |
Collections
| Action | Method | Path | Action id |
|---|
| Get a Collection | GET | /v1/collections/{{collectionId}} | conn_mod_def::GMXuheNY_hg::Lzcx_9eiQMCCtlO20TbkjA |
| List Your Collections | GET | /v1/collections | conn_mod_def::GMXuheMhKSA::fQKB5ykGTOKpMRGL7mnK4A |
| Lookup Collection Contents | GET | /v1/collections/{{collectionId}}/content | conn_mod_def::GMXuheNC3gg::HkBYKaH0QxqQN_rwrCl-Sw |
| Create a Collection | POST | /v1/collections | conn_mod_def::GMXuhTdOmog::Di5PitAzSSaFmRPEiXTxHQ |
| Delete a Collection | DELETE | /v1/collections/{{collectionId}} | conn_mod_def::GMXuhdSoAZg::9igTfJBWSgKlsi-WDo9xHg |
| Update a Collection | PUT | /v1/collections/{{collectionId}} | conn_mod_def::GMXuheMxlEA::hnGgCPA9SkS4PKsv_SP12A |
| Update Collection Contents | PUT | /v1/collections/{{collectionId}}/content | conn_mod_def::GMXuhklpJrA::0ZHgfs55SVay600gxmCZ_g |
CampaignActions
| Action | Method | Path | Action id |
|---|
| Get a Campaign Action | GET | /v1/campaigns/{{campaignId}}/actions/{{actionId}} | conn_mod_def::GMXuhBJnRCg::cy7iV8OLT0Ozlnpz9jFgsg |
| Get a Campaign Action Translation | GET | /v1/campaigns/{{campaignId}}/actions/{{actionId}}/language/{{language}} | conn_mod_def::GMXuhDgssyg::Vhamkm2CSwig68qe91r-9Q |
| List a Campaign's Actions | GET | /v1/campaigns/{{campaignId}}/actions | conn_mod_def::GMXuhTs5XZA::pexJHY8YR0awL7m4aGKv_w |
| Update a Campaign Action | PUT | /v1/campaigns/{{campaignId}}/actions/{{actionId}} | conn_mod_def::GMXuhX1kNVA::Ex2lZY7QRYOIxCbyA4vZKw |
| Update a Campaign Action Translation | PUT | /v1/campaigns/{{campaignId}}/actions/{{actionId}}/language/{{language}} | conn_mod_def::GMXuhU5najg::W7NHUF40THG6qG3sBa-eCQ |
ReportingWebhooks
| Action | Method | Path | Action id |
|---|
| Get a Reporting Webhook | GET | /v1/reporting_webhooks/{{webhookId}} | conn_mod_def::GMXukd-aPnA::w_KdyW3KQtKjcqULeHWOGw |
| List Reporting Webhooks | GET | /v1/reporting_webhooks | conn_mod_def::GMXuklidpQA::E_dB8f-7TD-HlD77f2nHwg |
| Create a Reporting Webhook | POST | /v1/reporting_webhooks | conn_mod_def::GMXukeXQ6WA::XO8IGqnrQhW7yYq8GSGLzA |
| Delete a Reporting Webhook | DELETE | /v1/reporting_webhooks/{{webhookId}} | conn_mod_def::GMXukd9sLXg::Es3Tv50WQgWTYiVEUD3uxA |
| Update a Reporting Webhook Configuration | PUT | /v1/reporting_webhooks/{{webhookId}} | conn_mod_def::GMXukloAwyg::w-tydPCdQS6rBqeMTuEWeg |
EmailTranslations
| Action | Method | Path | Action id |
|---|
| Get an Email Translation | GET | /v1/design_studio/emails/{{id}}/languages/{{language}} | conn_mod_def::GMXuiJceqpA::9EH3zCSYSZyZs6vA7m-gug |
| List an Email's Translations | GET | /v1/design_studio/emails/{{id}}/languages | conn_mod_def::GMXujGR1EwA::n9PIjyQsRP64PkJEpoTKQQ |
| Create a Translation for an Email | POST | /v1/design_studio/emails/{{id}}/languages | conn_mod_def::GMXuiAMslPA::6yP65gLuTFysLyhctzRQpQ |
| Update an Email Translation | PUT | /v1/design_studio/emails/{{id}}/languages/{{language}} | conn_mod_def::GMXujRLYHDA::oQqY7l1xTL6updcwiHL9pQ |
Exports
| Action | Method | Path | Action id |
|---|
| Download an Export | GET | /v1/exports/{{exportId}}/download | conn_mod_def::GMXujYkKuzg::XySXuKmdTzuS_gSahlFZAQ |
| Get an Export | GET | /v1/exports/{{exportId}} | conn_mod_def::GMXujlGSIoA::bpoA8cHISfuKchFbhVWNHA |
| List Exports | GET | /v1/exports | conn_mod_def::GMXujkiME4A::z8gX1nXTTnuIF4qvCbJPTQ |
| Export Customers Using Exports | POST | /v1/exports/customers | conn_mod_def::GMXujd7UGJg::fvZsUpzcSYW1Q3ehhQLbpQ |
BroadcastActions
| Action | Method | Path | Action id |
|---|
| Get a Broadcast Action | GET | /v1/broadcasts/{{broadcastId}}/actions/{{actionId}} | conn_mod_def::GMXugjq2t9A::5Kn2uwEYS3W8pQyDfToZJQ |
| List a Broadcast's Actions | GET | /v1/broadcasts/{{broadcastId}}/actions | conn_mod_def::GMXug6f7zAg::1ANI1lCiROqyhjEl06sTkQ |
| Update a Broadcast Action | PUT | /v1/broadcasts/{{broadcastId}}/actions/{{actionId}} | conn_mod_def::GMXug4gkFDA::2qEOFtv-TrK0gnj0yPUhLQ |
| Update a Broadcast Action Translation | PUT | /v1/broadcasts/{{broadcastId}}/actions/{{actionId}}/language/{{language}} | conn_mod_def::GMXuhAqb39g::bafriLvnTlG99H0zu5dvdw |
AssetFolders
| Action | Method | Path | Action id |
|---|
| Get an Asset Folder by ID | GET | /v1/assets/folders/{{id}} | conn_mod_def::GMXugbZ0xwA::SJiMSI-YSU2t8BjvnVE7cw |
| List Asset Folders | GET | /v1/assets/folders | conn_mod_def::GMXugbyN44g::I4IVowfTReGCCOrjxwQAMg |
| Create an Asset Folder | POST | /v1/assets/folders | conn_mod_def::GMXugTKlnQA::EaMDqDoiSHCowuagizexvQ |
| Update an Asset Folder | PUT | /v1/assets/folders/{{id}} | conn_mod_def::GMXugirSwWA::ImEG-bKgRaCUMSQ9VyRfvg |
DesignStudioComponents
| Action | Method | Path | Action id |
|---|
| Get a Design Studio Component | GET | /v1/design_studio/components/{{id}} | conn_mod_def::GMXuiHMT3_g::tcjRu5cISyamrJHsESkpUg |
| List Design Studio Components | GET | /v1/design_studio/components | conn_mod_def::GMXui_H7Hsg::haTH3mgUR26nhtK9Zxdamg |
| Delete a Design Studio Component | DELETE | /v1/design_studio/components/{{id}} | conn_mod_def::GMXuiACLDxA::yMCJpo7eSEaLAEATGfZeEA |
| Update a Design Studio Component | PUT | /v1/design_studio/components/{{id}} | conn_mod_def::GMXujHLvuVg::d0alWfV-QQ2rMswCIjRtJg |
Snippets
| Action | Method | Path | Action id |
|---|
| List Snippets | GET | /v1/snippets | conn_mod_def::GMXulEfd2tA::1Bf4L2Q3TTePTPHeGhdIFg |
| Create a Snippet | POST | /v1/snippets | conn_mod_def::GMXulFcaMxg::K32rE-n6QQSDKALciVBBgA |
| Delete a Snippet | DELETE | /v1/snippets/{{snippetName}} | conn_mod_def::GMXulD0NaCg::qmhhxw7tTniB6ErpDsLy5Q |
| Update Snippets | PUT | /v1/snippets | conn_mod_def::GMXulEqOumA::FRVTdPZATbSG7bMRUIQocw |
Messages
| Action | Method | Path | Action id |
|---|
| Get a Message | GET | /v1/messages/{{messageId}} | conn_mod_def::GMXujuV00rg::1w3rDJAXRLam5iBOz6L1Hw |
| Get an Archived Message | GET | /v1/messages/{{messageId}}/archived_message | conn_mod_def::GMXujs-VhNg::p77BRXVYRqydbo2-Bxt3bA |
| List Messages | GET | /v1/messages | conn_mod_def::GMXujuROJTg::VlKTAIOUQhabmYZpk904fw |
Emails
| Action | Method | Path | Action id |
|---|
| Get an Email | GET | /v1/design_studio/emails/{{id}} | conn_mod_def::GMXuiHOPyqA::ImYFjzBPRdOLubLwyEuR_Q |
| List Emails | GET | /v1/design_studio/emails | conn_mod_def::GMXujJeDihA::CB-W1CUTSpGjtqG7X4XD-w |
| Update an Email | PUT | /v1/design_studio/emails/{{id}} | conn_mod_def::GMXujQEYQaA::dXRVBnEZRtma96W8ICDe0Q |
FileAsset
| Action | Method | Path | Action id |
|---|
| Get a File Asset | GET | /v1/assets/files/{{id}} | conn_mod_def::GMXugav5Ycg::yDwErtIhRE-8bvy6k-dyLA |
| Delete a File Asset | DELETE | /v1/assets/files/{{id}} | conn_mod_def::GMXugUiKEzA::cwg0nbvARcSy-T1kBSDu9w |
| Update a File Asset | PUT | /v1/assets/files/{{id}} | conn_mod_def::GMXugarAsug::qCnAH5wXTz-EjO5WCknZLQ |
DesignStudioFolders
| Action | Method | Path | Action id |
|---|
| List Design Studio Folders | GET | /v1/design_studio/folders | conn_mod_def::GMXujINpqlA::mSQAJDS8Sv29zi-3q83AhQ |
| Delete a Design Studio Folder | DELETE | /v1/design_studio/folders/{{id}} | conn_mod_def::GMXuiA1V4og::gVnfv0TGSGGgseXHy8q5tA |
| Update a Design Studio Folder | PUT | /v1/design_studio/folders/{{id}} | conn_mod_def::GMXujFsRY0A::7ArbWYf8QgqCdvS4tUoRVA |
Campaigns
| Action | Method | Path | Action id |
|---|
| Get a Campaign by ID | GET | /v1/campaigns/{{campaignId}} | conn_mod_def::GMXuhAgCBtA::Zo5wncXzREmNsrWeEa0Y9A |
| List Campaigns | GET | /v1/campaigns | conn_mod_def::GMXuhTcJmng::giPMaomhT3GpgwFqzzFKLQ |
DesignStudioEmails
| Action | Method | Path | Action id |
|---|
| Create an Email Using Design Studio | POST | /v1/design_studio/emails | conn_mod_def::GMXuh1Ba20g::jTUWJgOeT6OZi2IU8PKmIA |
| Delete a Design Studio Email | DELETE | /v1/design_studio/emails/{{id}} | conn_mod_def::GMXuiAjbibA::JVXypnSeRAmKYKyDGmLNGw |
Folders
| Action | Method | Path | Action id |
|---|
| Get a Folder in Design Studio | GET | /v1/design_studio/folders/{{id}} | conn_mod_def::GMXuiXCyJPg::wZA7e1usTIiS3BoEDzw6bQ |
| Create a Folder in Design Studio | POST | /v1/design_studio/folders | conn_mod_def::GMXuh4_muYA::eqNZ_mfMRlaJJ2ib_-oEzA |
Imports
| Action | Method | Path | Action id |
|---|
| Retrieve a Bulk Import | GET | /v1/imports/{{importId}} | conn_mod_def::GMXujmfp0Mg::jqQdgAWrSQy6i7JqEP3uQA |
| Import Items in Bulk | POST | /v1/imports | conn_mod_def::GMXujmf8AQg::ifuYZZ2jTBihSIWAAXgy6Q |
Assets
| Action | Method | Path | Action id |
|---|
| List File Assets | GET | /v1/assets | conn_mod_def::GMXugckwJEg::w6tYOkx7StKXFFVQUswS3g |
1 more Assets actions are available through search.
This lists 90 of 162 actions. For anything not here, call search_one_platform_actions with platform customer-io. The full catalog is at https://www.withone.ai/knowledge/customer-io.
When a call fails
The error comes from Customer.io, not from One. A 400 or 422 means your parameters do not match the schema, so re-read the knowledge and fix the field. A 401 or 403 means the connection needs re-authorizing, which no retry will fix. A 404 means the id is not on this account. A 429 means slow down. Never retry a write more than once: the first attempt may have landed.
Full catalog: https://www.withone.ai/knowledge/customer-io
Integration knowledge by One (withone.ai), licensed under One-Knowledge-1.0. Attribution must be preserved in derivative works.