Release notes

Release Notes

Check out the latest features and fixes in Customer.io.

Want to see what we're working on? Take a look at our roadmap.

Use Customer.io AI in Slack

AI
Use Customer.io AI in Slack

The Customer.io AI agent now works in Slack. You can @Customer.io in a thread to ask it questions about your data and workspace. Or you can message it directly and give it work—without opening Customer.io.

With the Customer.io Slack app, Customer.io becomes another collaborator in your work. You can have a conversation about the messages you want to send and hand the work off to @Customer.io all in one place.

We’re rolling the Customer.io Slack app out to accounts through August 22. If you don’t see Slack Agent options in your settings yet, it’s on the way.

Go to the docs →

Control how fast your automations send messages

Messaging
Control how fast your automations send messages

You can now add a rate limit per channel for each of your automations and API-triggered broadcasts. You might add a rate limit to protect your email sender reputation or to prevent overwhelming your downstream systems.

To account for rate limits, you can now enable Wait before continuing journey for any message to make sure people receive your messages before moving forward in your automation.

Go to the docs →

Set up SMS with Sinch, Infobip, or Vonage

Data & integrations Messaging
Set up SMS with Sinch, Infobip, or Vonage

You can now bring your own provider for SMS messages! Previously, you could only integrate with Twilio or work with Customer.io to set up sending with SMS. You can integrate with one or more providers per workspace to make it easier to message people across different regions or subaccounts.

Go to the docs →

Geofences: message people when they enter or exit a location

Messaging Mobile SDK
Geofences: message people when they enter or exit a location

You can now trigger workflows when a person enters or exits a physical location, like a store, a parking lot, a venue, and engage them across any of your message channels. Geofencing helps you send timely, location-aware messages without building custom location logic or relying on a third-party geofencing integration.

Geofences are available on Premium and Enterprise plans. You can trigger automations, group people into segments, and add geofence conditions to wait actions in automations. You can track when people enter or exit a geofence in their activity logs.

Go to the docs →

Add reusable knowledge sources to LLM actions

AI Messaging UI improvements
Add reusable knowledge sources to LLM actions

You can now attach a file, a Google Drive doc, or query recent events as a knowledge source and reuse it across LLM actions, instead of pasting the same text into every prompt. Reference the knowledge source name in the prompt to tell the LLM how to use it.

Save any source to the workspace-scoped Knowledge Library and attach it to one or more actions.

Knowledge sources are also available to the Agent if you want to use them as context for other requests.

Go to the docs →

Send push notifications to multiple mobile apps in one workspace

Messaging Automation Mobile SDK

We're starting to enable support for multiple mobile apps per platform so you no longer need to duplicate or split audiences across workspaces. You can register each app with its own credentials, send pushes through a specific app, and create segments to group profiles by the apps they use.

Read more →

Live notifications: real-time updates without opening your app

Messaging Mobile SDK API & developers
Live notifications: real-time updates without opening your app

Live notifications let you push real-time, continuously updated notifications to your customers' devices, like a delivery tracker or a countdown to an event. On iOS, they render as Live Activities on the Lock Screen and in the Dynamic Island; on Android, they appear in the notification shade with Android 16's Live Updates treatment.

Read more →

Date triggers now include custom objects

Messaging
Date triggers now include custom objects

You can now trigger an automation off a date attribute on a custom object. This means you can send messages relative to a date stored on an object, like trigger reminder campaigns based on reservations or membership renewals, and avoid storing duplicate data on people's profiles!

To get started, choose the trigger type Important date and select the relevant object type. Narrow your audience further by adding Filters and Audience settings.

Go to the docs →

Store a copy of a push in your notification inbox

Messaging
Store a copy of a push in your notification inbox

When you send a push notification, you can now add a copy of it to your notification inbox. This way, people can revisit the message after dismissing the push or still receive your message if they don't have a device that can receive it.

Push notifications are easy to miss: people dismiss them by accident, or don’t have a device that can receive them. Now you can give any push a home in your notification inbox.

Go to the docs →

Preserve unsubscribe preferences when merging profiles

Messaging
Preserve unsubscribe preferences when merging profiles

When you merge profiles, the primary profile's settings take precedence over the secondary profile's settings. However, now you can update your workspace merge settings to preserve unsubscribe preferences no matter which profile is primary. This helps prevent you from messaging people who opted out.

Go to the docs →

Set up channel-based message limits

Messaging
Set up channel-based message limits

You can now set up channel-based message limits for email, SMS, push notifications, and webhooks. Historically, you could only set a single message limit across your message channels.

You can add per-channel or shared message limits to ensure your audience receives the right number of messages in a specific time frame. With this release, you can also set a wider time frame for your message limit. Instead of 7 days, your message limit can be up to 31 days.

You can limit the number of WhatsApp and SMS messages sent via Twilio, but not other vendors. Learn more about channel limits.

Go to the docs →

New names for familiar parts of Customer.io

UI improvements

We've updated some navigation labels to better match how people think about marketing automation and messaging their audience: Campaigns are now Automations, People are Profiles, and Newsletters are One-time sends.

Here’s what changed:

You used to seeYou’ll now see
CampaignsAutomations
PeopleProfiles
Broadcasts > NewslettersBroadcasts > One-time sends
AnalysisReports
Deliveries & draftsMessage activity (with Sent and Drafts tabs)
Activity logsProfile activity

APIs and data don’t change. Endpoints, field names, and identifiers keep their names. What we now call an automation is still a campaign in the API, and a one-time send is still a newsletter. Any links you’ve bookmarked will still work; we redirect the old paths to the new ones automatically—both in the app and in our documentation.

See which email clients your recipients use

Messaging UI improvements
See which email clients your recipients use

The new Email clients tab in the Analysis section breaks down opens and clicks by email client. This information tells you which clients you should focus on when designing emails, and how privacy proxies affect your open rates.

The Email clients tab shows each client’s share of your opens, human opens, and clicks, with charts for your overall client mix and how it changes day by day. Email client data is available from April 15, 2025 onward.

The Deliverability tab now also shows a daily send volume chart with bounce and spam complaint rates.

This feature is available to premium and enterprise accounts with access to deliverability analytics.

Go to the docs →

Manage all your accounts with a single login

UI improvements

If you have multiple Customer.io accounts, you no longer need a separate login for each one. With guest access, you can sign in to your own account and switch to any account that added you as a guest. If you maintained multiple accounts yourself, you can merge them into a single login.

With guest access, you have:

  • One login for all your accounts: You sign in to your main login, and you’ll see all the accounts you can access. No more inventing a new email address and password for every account.
  • Invite guests like team members: As an admin, you can invite guests to your account.
  • Permissions stay per account: Guests only get the permissions you decide to grant them, and everything they do is recorded in that account’s audit log.
  • Partners can create client accounts: If you’re a partner, you can create client accounts and see them all in one place from the new Partner Settings page.
Go to the docs →

Honor your audience's consent for email open tracking

Messaging

We've added a way for you to honor your audience's consent to track email opens. This also helps you stay in compliance with regional regulations, like France's latest CNIL rule, which takes effect July 14, 2026.

You can now decide when to track email opens. This includes:

  • A workspace setting to track opens for everyone, everyone who doesn’t explicitly opt out, or only people who opt in.
  • A per-contact cio_email_tracking_consent attribute you can set through the API, imports, etc; this attribute represents consent for open tracking.
  • A hosted consent page you can link to from your emails, so recipients can grant or withdraw consent themselves.
Go to the docs →

Custom roles: determine who can send messages

Admin & billing Messaging
Custom roles: determine who can send messages

You can now specify whether teammates can send messages and start or stop your workflows, like automations. Previously if you could create an automation or broadcast, you could also activate that automation or send that broadcast. With this change, you can give team members the ability to build and edit automations and content without letting them send things, so you can maintain strict control over who can and can't send messages.

To activate your workflows and send messages, you need the Execute permission for the workflow. To resend deliveries, retry attempted messages, or refire webhooks, you need the Send permission for Deliveries & Drafts and Edit permission for the relevant workflow.

Custom roles created before this release have the same permissions as before—unless you update the role.

Go to the docs →

Set your own exit conditions for automations

Messaging UI improvements
Set your own exit conditions for automations

People can now exit your automations early when they meet segment or event conditions. This means you no longer have to depend on conversion criteria to end journeys early. You can define segment or event conditions that match or differ from your automation's goal.

Read more →

Design Studio: find and fix errors with the new review panel

Messaging Design Studio
Design Studio: find and fix errors with the new review panel

Use the review panel to find errors that could prevent your email from sending, audit your images, validate your links, and see how you score against SpamAssassin to improve the quality of your message.

The panel features a new readiness score which flags critical errors and warnings, and highlights tips to improve common issues in email.

Previously, these tools were hidden in the code editor. Now you can access them from the same review panel in either the visual or code editors!

Go to the docs →

Dark mode styles for in-app messages

Messaging
Dark mode styles for in-app messages

You can now set separate dark mode values for color properties in in-app messages—like fills, text, and borders—in your in-app messages. This feature is now available for our JavaScript web integration and our iOS and Android SDKs.

Click on any color property in Design Studio to expose separate light and dark values. Your in-app messages with automatically respect your audience’s system preferences.

Go to the docs →

Automatically clean up stale segments

Messaging Automation
Automatically clean up stale segments

Auto-archive is an optional, workspace-level setting that archives unused dynamic segments. This helps you keep your list of segments up-to-date and relevant to your current workflows.

You can exempt segments from auto-archiving and restore segments that were automatically archived at any time.

Go to the docs →

No-code notification inbox for your website

Messaging
No-code notification inbox for your website

We've made it easy to set up a notification inbox for your website, complete with messages styled to match your brand's look and feel. You can do it all without a developer.

When you set up an inbox, you can style it with the icon, colors, where it’ll appear on your website, and your “unread” indicator. Then you can set up automations or broadcasts to send messages to the inbox—complete with images and calls to action. With the styles you set up in Customer.io, your inbox and messages will look like a natural part of your app, with none of the front-end work.

Go to the docs →

Add brand variants to Design Studio

Messaging Design Studio
Add brand variants to Design Studio

You can now save more than one branded look for a global component, then switch between these variants as you build on-brand messages. We also added images and sections to global components so you can set their default styling in one place!

Go to the docs →

Customize your sidebar navigation

UI improvements
Customize your sidebar navigation

You can now show or hide which navigation items appear on your left-hand sidebar. This helps you navigate faster and reduces clutter when you don't use certain features.

Scroll to the bottom of the menu, click More, and choose Customize sidebar to get started.

Go to the docs →

Set up Salesforce faster with sync templates and agent field suggestions

Data & integrations AI

Set up your Salesforce integration in fewer steps. Sync templates for contacts, leads, and accounts come with common mappings, and Agent can suggest fields based on your goals.

Getting Salesforce data into Customer.io used to mean manually configuring identifiers, picking fields, setting filters, and choosing your Data Pipelines format for every sync. Now, sync templates handle the common cases for you.

When you connect Salesforce, you can choose templates for contacts, leads, and accounts. Each template starts with common identifiers, mappings, filters, and fields. Pick a template, review the preview, add or remove fields, and enable the sync.

  • Agent-assisted field selection: Click Add fields and ask Agent to suggest fields for your goal, like “segment by company size” or “personalize onboarding emails.” Agent adds relevant fields from your Salesforce schema so you can review them before syncing.
  • Preview before you enable: See the number of fields, profiles or records that will sync, excluded records, and sample rows before you commit.
  • Template or custom setup: Use templates for common syncs, or create a sync from scratch when you want full control over every setting.
Go to the docs →

Debug web in-app messages with the in-app SDK debugger

Messaging API & developers
Debug web in-app messages with the in-app SDK debugger

We now offer an in-app debugger to help you test and troubleshoot your in-app messages and implementation. Add cio_debug_session=true to any page on your site to see the SDK's live state—the workspace it's connected to, the person it's identified, the route it's on, and every message that's active or queued—right on your own site.

Go to the docs →

Collect plain text feedback in anonymous messages

Messaging
Collect plain text feedback in anonymous messages

You can now add plain text fields in anonymous messages to collect feedback from visitors you haven't identified yet. This can help you gather feedback from users who might not be comfortable providing their name or email addresses.

Anonymous form submissions appear in a Form Submissions tab on your message’s Overview page. You can browse them or export to CSV so you can share feedback with others and use it to improve your product or service.

Go to the docs →

Create custom skills for the agent

AI

You can now create custom skills for the agent so it can do things that you and your team do regularly in Customer.io. You might add skills to help the agent enforce your brand voice, review automation drafts, or report metrics in a specific format.

Go to the docs →

Dark mode is here!

UI improvements
Dark mode is here!

Now you can set your color scheme in Customer.io: your system preference (the default), light mode, or dark mode.

Click Settings in the top-right corner of Customer.io to change your Theme to System, Light, or Dark for all your workspaces.

Go to the docs →

Simplified HubSpot integration setup

Data & integrations AI
Simplified HubSpot integration setup

We've made it easier to integrate your HubSpot data and activate it in Customer.io. Our HubSpot integration now includes templates for contacts and companies—the most common data types you'll want to bring into Customer.io. These templates automatically map common fields to Customer.io and you can use AI to suggest additional fields based on your goals.

Go to the docs →

New security and privacy settings for MCP connections

AI

You can now independently control whether MCP connections can edit live data and access sensitive profile attributes. By default, both settings are off, ensuring that your external AI tools using our MCP connections can't inadvertently expose sensitive data to AI tools or touch things like live segments and automations unless you explicitly let them.

Go to the docs →

Search across more things with quick look previews

UI improvements
Search across more things with quick look previews

Universal search now covers even more data, including templates, people, product documentation, and newsletters. You can even preview results without leaving your current page.

Where our previous universal search only covered automations, segments, and in-app messages, we’ve expanded it to cover more of your data, so search can help you find what you need without clicking around.

This release also includes inline previews: click a search result to see key details—like a person’s ID, email, subscription status, and creation date—so you can confirm you’ve found the right thing before you click through.

Go to the docs →

Switch between multiple accounts

UI improvements
Switch between multiple accounts

You can now log into multiple Customer.io accounts and switch between them without logging out.

If you manage multiple Customer.io accounts—for different clients, subsidiaries, or test and production environments—you no longer need to log out and back in to move between them. Just go to the workspaces dropdown in the top-left corner, click your account, and click Add another account to login to another one.

Go to the docs →

Seamlessly reset email content and change editors

Messaging UI improvements
Seamlessly reset email content and change editors

You can now use Reset message content to quickly change the email editor you're using and start from scratch. This means you no longer have to delete email blocks in automations or switch message types in newsletters to start over and change email editors!

Go to the docs →

Change your automation's trigger type

UI improvements
Change your automation's trigger type

Previously, if you created an automation and later realized you needed a different trigger type, you'd have to create a new automation. Now, you can change your trigger type in your existing automation!

You can only modify the trigger type when the automation is in a draft or stopped state. This ensures you have time to review and update any workflow items impacted by a change to your trigger.

If you need to make changes before you start the automation, you’ll see warnings under each action block needing attention.

Go to the docs →