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!
Sync data between Salesforce and Customer.io
Data integrationsOur Salesforce integrations were available in early access for the past few months while we polished the feature. Now we’re excited to announce our Salesforce integration is available to everyone on premium or enterprise plans. By syncing your Salesforce data with Customer.io, you’ll be able to nurture leads, keep up with your contacts, and activate all the complex relationships that you normally store in your enterprise CRM.
Read more
Sending in-app messages just got easier
MessagingIn the past, you not only had to know who you wanted to send your in-app message to, but how you identified them—by email or ID. Now, you can send in-app messages to your audience without needing to know how you identified them. Whenever and however you identify people, they’ll get your message.
If you already set them up with the To field, you have nothing to worry about. We’ve taken care of things for you. Your messages will go to the right person, whether you identify them by ID or email address.
Pause and resume newsletters
Messaging Ui improvementsYou can now pause a newsletter, fix a typo or other information in your message, then resume sending. You can pause a newsletter using any message channel - email, in-app, etc. You must have Workspace Admin or Author permissions to pause and resume a newsletter.
Go to the docsBuild in-app messages the easy way with our new drag-and-drop editor
Messaging Ui improvementsWhile we’ve supported in-app messages for a while, we knew that our initial in-app message editor was clunky and hard to use. We’ve rebuilt it from the ground up, so you can create in-app messages with a drag-and-drop editor. Now you can easily build in-app messages that look and feel like parts of your app or website. With this release, we even added support for video in in-app messages!
Read more
Test emails before verifying your domain
Messaging Ui improvementsYou can now send emails to a team member before verifying your domain so you can test them without delay. Admins and Workspace Admins can manage message sending and who receives test emails from General Workspace Settings.
Go to the docsExport attributes and events from your Data Index
Data integrations Ui improvementsYou can now export attribute and event data by going to Data & Integrations > Data Index in your workspace. You must be a Workspace Admin to export your data index.
Go to the docsGrant read-only access to account settings with the new Member role
Admin billing Ui improvementsWe’ve added a new account-level role, Member, so you can grant read-only access to account settings. You can also grant Members the ability to manage account info and billing, manage API credentials, or enable access for Customer.io support teams. Everyone who was a Workspace Admin, Author, or Viewer now also has a Member role to reflect the account-level permissions they already had. No one’s access to your account has changed. We did not grant or remove permissions from any team member.
Go to the docsAssign different roles for each workspace a team member has access to
Admin billing Ui improvementsIn the past, you could only assign a single role to each team member then limit which workspaces they had access to. Now, you can specify a different role for each workspace they have access to. This gives you more control over what your team members can manage across workspaces.
Go to the docsEnable SSO with SAML
Data integrationsWe now support SAML for many single-sign on (SSO) providers, so you can use your identity provider (IdP) with Customer.io—including Cloudflare, Jumpcloud, and more. Go to Account Settings > Security > Enable Single Sign-On (SSO) to get started. You must have the Admin role to configure SSO.
Go to the docsCapture data from Salesforce (now in Early Access)
Data integrationsSalesforce is great at storing and organizing relationships with your customers. Customer.io is great at activating those relationships. Now, if you’re on a premium or enterprise plan, you can use the two together and send your Salesforce data to Customer.io where you’ll send messages to your contacts, nurture leads, and more. With this native, two-way integration, you can even send your Salesforce data to other downstream destinations, like your analytics platform or data warehouse.
Read more
Apple Vision Pro Support
Mobile sdkAlong with all the other great features in our iOS 3.0 SDK release, we also added support for Apple’s visionOS. You’re no longer limited to phones and tablets; now you can engage with your Apple Vision Pro users in augmented reality too, sending personalized push notifications and tracking behavioral activity like you would from your mobile apps.
We’ve added a handy sample app to our iOS SDK, so you can see what Customer.io looks like in VR. But, if you’ve developed an app with our mobile SDK already, our visionOS support should come naturally to you.
Go to the docsDisable CSS pre-processing for your workspace
MessagingCSS pre-processing converts your CSS styles to inline attributes in your emails. Disabling this means we won’t change the code of your template, ensuring it stays exactly as you designed it. We’ve added a workspace setting so you can disable CSS pre-processing for emails created in the code editor. In the past, you could only disable this on an email. Now, you can also disable this for all new messages made with the code editor. Go to Workspace Settings then click Email > Default Email Settings to change this setting.
Go to the docsMeeting Apple’s App Store Privacy Requirements
Mobile sdkBeginning May 1, 2024, Apple’s App Store requires mobile apps and the SDKs you use to build your app to include privacy manifests. This includes Customer.io’s SDKs. We’ve updated our SDKs to include privacy manifests. Update your app to one of the versions listed below (or later) before May 1st, 2024 to ensure that your apps meet Apple’s requirements and aren’t rejected from the App Store.
- iOS: ≥ 3.1.0 or ≥ 2.13.0
- React Native: ≥ 3.6.0
- Flutter: requires iOS ≥ 2.13.0. Follow our update instructions to update the iOS native package in Flutter.
- Expo: requires React Native ≥ 3.6.0. Install the latest React Native SDK and run
expo prebuild --clean
.
Add/remove an individual from a manual segment
Messaging Ui improvementsYou can now add a person to or remove them from a manual segment through their profile page. Go to a person’s profile then click the Segments tab. Go to the tab Doesn’t Belong To then click Add to segment beside any manual segment so they join it. Or, under Belongs To, click Remove from segment so they leave it. Keep in mind, after you remove people from or add them to manual segments, they may trigger campaigns.
Go to the docsiOS 3.0 release
Mobile sdkThe latest version of our iOS SDK is out, providing a seamless integration with Customer.io Data Pipelines. This update makes it easier to support both Customer.io and your data to downstream destinations—like your analytics platform, CRM, or data warehouse—and lets you track anonymous users.
Read more
Upgrade your liquid version for new messages in Workspace Settings
MessagingThis applies to accounts created before Nov 28, 2023; all other accounts use our latest liquid version. You can now upgrade your workspace so that all new messages moving forward use our latest liquid version. The latest liquid version offers improved filters (e.g. default
filter), faster rendering, and better tools for troubleshooting liquid syntax. Take a look at the differences between our latest and legacy versions of liquid to see if you’re ready to make the switch. Then go to General Workspace Settings to upgrade. Keep in mind, you will still have to manually upgrade existing messages. If you run into unexpected syntax issues with the latest liquid, use our fallback logic.
Download your billing invoice
Ui improvementsAs an Admin, you can now download your billing invoice from Account Settings > Plans & Billing > Billing History. Click Download invoice beside any billing period for a PDF.
Go to the docsCheck your DMARC policy
Ui improvementsWe now check your DMARC policy when verifying your email sending domains to enforce Gmail and Yahoo’s new sending requirements. Visit your Workspace Settings and click Manage Domain to check the state of your DMARC policy and whether we recommend you update it. These requirements are designed to help prevent email spoofing and phishing attacks.
Go to the docsUpgrade to the latest liquid version
MessagingIf your account was created before Nov 28, 2023, you now have the ability to upgrade to our latest liquid version, which provides faster rendering and new functionality. Check out what’s new and deprecated with the latest version. You can update a message through the Actions dropdown while editing.
Go to the docsGenerate liquid for objects and relationships with AI
Messaging Ui improvementsWe know that liquid is complicated, even moreso when you need to reference objects, relationships, and people in the same message. To make things easier, we built a tool that uses AI to generate your message and liquid for you.
Because AI features are tricky, we’ve made this an Experimental feature so you can use it if you’re comfortable taking advantage of AI-style features. To enable the feature, go to the icon in the upper right corner and click Experimental Features. From here, you can enable Email Content for Object Campaigns.
Then, in campaigns triggered by objects or relationships, you can click Generate with AI to generate messages and associated liquid. The AI tool works like most AI-chat applications, so you can continually refine your prompt to get the results you want. Then copy the results into your message and you’re ready to go.
Go to the docsWe support images up to 3MB again
MessagingA couple of weeks ago, we changed the file size limit from 3MB to 1MB to scale our file storage and follow best practices for email. But after considerable feedback, we’re changing it back to 3MB to better support your needs. We’ll continue looking for solutions to storage and deliverability optimization.
We appreciate your feedback and are always looking for ways to improve our product—whether by adding new features or fixing recent changes! If you have feedback on this or any other feature, please let us know.
Go to the docsSimplified push messaging setup for iOS
API developers Mobile sdkWe’ve released updates for our iOS-supporting SDKs, so they’ll automatically register device tokens and capture opened
metrics for push notifications. Now that we handle these things, you can remove some code, simplifying your integration and improving reliability when you update our SDKs in the future.
This release updates the platforms below. We’ve linked to upgrade documentation for each SDK, highlighting the code you can remove from your app when you upgrade:
- iOS 2.11
- React Native 3.4
- Flutter (affects iOS native SDK)
- Expo: Upgrade to
1.0.0-beta.14
and runexpo prebuild --clean
.
Reverse ETL: updates to sync interval calculation and suppressed profiles
API developers Automation Data integrations Ui improvementsWe’ve made two updates to enhance your reverse ETL integrations. First, we added a setting that allows you to decide how imports handle suppressed profiles. Second, we updated our import logic such that all reverse ETL imports start at a predictable time based on when your imports first started and your interval setting. For more information and examples, go to your database’s documentation. For more on our suppressed profile setting, go to Add a sync > Step 4. For more on interval calculation, go to Sync intervals and skipped syncs.
Go to the docsUpload images smaller than 1MB
MessagingWe changed the limit for image uploads from 3MB to 1MB. This helps us control the scale of file storage and follows best practices for image sizes in emails.
Go to the docsTrigger campaigns by objects and relationships
Messaging Ui improvementsYour toolbox in Customer.io just expanded! You can now trigger campaigns based on an update to an object, an update to a relationship, or the addition of a relationship to an object. This is helpful when, for instance, you want to send a person through a journey when an account object they’re a manager of is updated or when their role at the account has changed. Go to Campaigns in the left hand navigation and click Create Campaign in the top right to get started.
Go to the docsNew and improved setup for campaign triggers
Messaging Ui improvementsWe revamped our campaign creation experience so that it is easier for you to find and refine the triggers you need. Go to Campaigns in the left hand navigation and click Create Campaign in the top right to get started.
Go to the docsImport objects via CSV
Data integrations Ui improvementsYou can now import a CSV of objects or relationships through our UI or API. This is helpful if the data is not available through an integration or you are just getting started and need to quickly backfill data. To import objects or relationships through our UI, go to Data & Integrations > Imports. To import them through our API, use our import endpoint. Note: the people and objects referenced in your relationship CSV must already exist in your workspace for the import to succeed. Also, keep in mind that importing objects and relationships can trigger campaigns! Check that your CSV is correct before initiating import.
Go to the docsUse in-app messages with our Data Pipelines JavaScript
Data pipelines MessagingUntil now, if you wanted to take full advantage of Data Pipelines and send in-app messages to your web audience, you may have had to use both our Data Pipelines JavaScript SDK and our Journeys Web SDK. Handling multiple SDKs for the same platform can be a pain, so we’ve added in-app support to our Data Pipelines JavaScript snippet. Now you can do everything in Customer.io with a single JavaScript SDK.
Go to the docsRetrieve and update language variants for messages through our API
API developers MessagingYou can now retrieve and update translations of messages using our App API. This includes campaigns, newsletters, API-triggered broadcasts, and transactional messages.
Go to the docs