Build deep links that open Messages.app with a pre-filled number and body. Pick universal for cross-platform, or Apple-only for iPhone, iPad, and Mac.
sms:
<a href="sms:">Message us</a>
sms://) — opens Messages on iPhone (and routes to iMessage if the recipient is Apple), Google Messages on Android, Messages.app on Mac, Phone Link on Windows. The right default for a website CTA.imessage://) — forces Messages.app, supports Apple ID email recipients, and silently fails on Android. Use it when your audience is exclusively Apple (e.g. iOS app onboarding).Deep links can't force a blue bubble. Apple decides based on whether the recipient's phone number or email is registered with iMessage at the moment of send. On an iPhone, an sms: link to an iMessage-enabled recipient will still send as blue iMessage — but only because the recipient is registered, not because you specified it in the URL.
To programmatically guarantee blue-bubble delivery (with SMS fallback for non-Apple recipients), you need an iMessage API that handles registration, delivery routing, and read receipts.
<a href="sms:+15551234567?body=I'd%20like%20a%20demo">Text our team</a>imessage:+15551234567 (forces Messages.app, skipping the universal scheme prompt)Deep links are great for one-tap. For outbound, scheduled, drip, and transactional sends, Blooio is the iMessage API that integrates with every major CRM.
See the iMessage API →An iMessage link is a URL that opens the Apple Messages app with a pre-filled recipient and message body, defaulting to iMessage (blue bubble) when the recipient is iMessage-eligible. The two common schemes are imessage:+15551234567 (Apple-only, forces Messages.app) and sms:+15551234567?body=Hi (universal — opens any default messaging app on any platform).
imessage:// only works on Apple platforms (iOS, iPadOS, macOS) and always launches the Messages app. sms:// works everywhere — iPhone, Android, desktop — and opens whatever the device's default messaging app is. On an iPhone, both will end up sending iMessage if the recipient is iMessage-capable. For universal links use sms://. For Apple-only flows use imessage://.
From a deep link, no — Apple decides based on the recipient's iMessage status. If the recipient is registered with iMessage, the bubble is blue automatically. The only way to programmatically guarantee blue-bubble delivery is through an iMessage API like Blooio that handles registration and delivery routing for you.
Yes — iMessage also works with Apple ID emails. To pre-fill an iMessage email recipient, use imessage:user@example.com. For SMS this won't work (SMS requires a phone number), so it's not portable to Android.
The imessage:// scheme is Apple-only — Android has no handler for it. Use the sms:// scheme for cross-platform links; it will open Google Messages or Samsung Messages on Android and Messages.app on iPhone.
Deep links require the sender to tap a button each time, which doesn't scale for outbound campaigns, drip sequences, or transactional notifications. For that, use a dedicated iMessage API like Blooio — it integrates with HighLevel, n8n, HubSpot, Make, Zapier, and any backend via REST, and handles iMessage registration plus SMS fallback automatically.