Support in-app messages across multiple apps

Updated August 21, 2026

This feature requires an updated version of the Customer.io SDK

You need to update your SDKs before you can support multiple apps in the same workspace.

You might have more than one mobile app in your workspace if your apps can share audience members. If you have more than one mobile app, your in-app message settings include a Where this message appears section. This is how you pick the mobile app you want to send a message to.

How it works

When you have multiple mobile apps, you have to choose the app you want to send a message to. Whether someone sees a message depends on which of your apps they’re using, which page/screen they’re on, and whether or not they have a version of your app that supports multi-app targeting.

The Where this message appears setting: Web is unchecked, App is checked with the Baseball Fans app selected, and iOS and Android are both checked
graph LR a[Person opens your<br>website or app] --> w{Website or<br>mobile app?} w -->|website| web{Message<br>includes Web?} web -->|yes| pr[Page rules decide the<br>page or screen] web -->|no| no1[No message] w -->|mobile app| sdk{"Device reports which<br>app it belongs to?"} sdk -->|yes| match{"Device's app and platform<br>match the message's targeting?"} sdk -->|no, older SDK| legacy{Message created before<br>app targeting?} match -->|yes| pr match -->|no| no2[No message] legacy -->|yes| pr legacy -->|no| no3[No message] pr --> show[Person sees<br>your message]
  • Each message targets one mobile app. If you want to send a message to more than one app, you’ll need to copy the message in your workflow.
  • New messages start with your default app selected. When you create a message, we select your workspace’s default app and its available platforms.
  • Page rules apply within the app and platforms you select. You’ll only see page rule options for your selected platforms. Your app and platform choices decide which app shows your message; page rules decide which pages or screens within that app.

Minimum SDK requirements

To send in-app messages to multiple apps from the same workspace, your mobile apps need to use one of the following SDK versions or later:

  • iOS: 4.7.5 or later
  • Android: 4.20.2 or later
  • React Native: 6.6.3 or later
  • Flutter: 4.2.2 or later
  • Expo: 3.7.2 or later

An app on an older SDK version doesn’t report which of your apps it is. When you use Where this message appears to target an app other than your default app, people on those older versions don’t receive the message. Messages that target your default app still reach them, as do messages you created before app targeting.

Messages created before app targeting

If you already sent in-app messages from a workspace before you set up multi-app targeting, those messages will continue to work. They’ll either go to your original mobile app or wherever you initialized the Customer.io SDK (like a website using our JavaScript integration).

When you edit one of these messages, you can change the Where this message appears setting to pick a different app and platforms for the message.

Add a new mobile app

Supporting multiple mobile apps for in-app messages hinges on our mobile push setup. We use your mobile push credentials to differentiate between mobile apps.

  1. Go to > Workspace settings > Push.
  2. Click Add app.
  3. Enter the app name and description.
  4. Add your app’s push credentials. For Apple’s Push Notification service (APNs), upload your .p8 key and enter your Key ID, Team ID, and Bundle ID. For Firebase Cloud Messaging (FCM), upload your service account .json key.
  5. Click Save.
    The settings for an app named Baseball Fans, showing the app name and a Platforms table with the app identifier and credential status for iOS and Android

Set your default app

The first app you add is your default app, but you can change it later. The default app is the app that you’ll send messages to unless you change your selection in the Where this message appears setting of your message.

  1. Go to > Workspace settings > Push.
  2. Click the app you want to set as default.
    The settings for an app named Baseball Fans, with the Set as default button above the app name
  3. Click Set as default.

Websites don’t have app identities

While we support multiple mobile apps in your workspace, where you’ll pick the specific app you want to send a message to, our JavaScript integration doesn’t have a concept of app identities.

If you show in-app messages on more than one website, the Web checkbox covers all of them. Mutually exclusive page rules are the only way to show messages on the correct site.

Design considerations

You can send to multiple apps from the same workspace, but our Design Studio doesn’t have a concept of app-specific default styles.

Instead, we recommend that you prefix your global styles with the app name, or a marker that helps differentiate styles for each of your apps. That way, when you style messages, you can easily sort for the correct styles—like app1-h1, app2-h1, etc.

This kind of labelling mechanism also helps agents better understand what styles to apply to different messages—if you use Customer.io’s agent or another LLM using our MCP or CLI tools to build an in-app message for you.

If you delete an app

You can’t delete an app while your messages still target it. When you try, we tell you how many push and in-app messages use the app, so you can point them at a different app or delete them first. That count includes drafts and messages in stopped automations, not just the ones actively sending.