RCS Deeplinks

RCS Deeplinks are special URLs that let users start RCS conversations with your business directly from any digital channel. When a customer clicks an RCS deeplink, their device opens the RCS messaging app with your business already set as the recipient. You can even pre-fill a message for them.

The RCS Deeplink API gives you a one-click entry point that takes customers from any digital touchpoint straight into an RCS conversation. You embed these deeplinks in emails, websites, mobile apps, or QR codes, and your customers get:

  • No more manual steps to reach you
  • Better engagement
  • Immediate action from promotional materials
  • Support for both RCS-enabled devices and SMS fallback

This feature is supported in select markets only. To determine if this feature is available in your market, please contact your Account Manager.

Yes

No

You Create a Deeplink

You Embed It Anywhere

Customer Clicks

Messaging App Opens

Device Supports RCS?

RCS Conversation Starts

SMS Conversation Starts

Message Pre-filled & Ready

Customer Reviews & Sends

Before you generate RCS deeplinks, make sure you have:

  • An active RCS agent registered with Vonage
  • Your RCS agent's sender ID (external account ID)
  • Valid Vonage API credentials (JWT authentication)

Send a

POST
request to the Channel Manager API deeplink endpoint:

https://api.nexmo.com/v1/channel-manager/rcs/deeplink/generate

Request Body:

{
    "sender_id": "some-example-external-account-id",
    "country": "US",
    "fallback_number": "+14155552671",
    "prefilled_message": "Send me more information on this promotion."
}
Parameter Type Required Description Constraints
sender_id string Yes A unique sender identifier on the Vonage platform. This cannot be blank, include whitespaces, or be changed after creation.
country string Yes Two-letter country code for your customer Valid ISO 3166-1 alpha-2 code
fallback_number string No Phone number for SMS fallback E.164 format (e.g., +14155552671)
prefilled_message string No Message text you want to pre-fill "Max 3,072 characters; don't URL-encode it"

Response:

{
    "deep_link": "https://tools.vonage.com/rcs/v1/deeplink/egUQB..."
}

Once you have the deeplink URL, you can embed it wherever your customers are:

<a href="{RETURNED_DEEPLINK_URL}">
  Chat with us about our Spring Sale!
</a>

QR Code

// Use the complete URL from the API response
const deeplinkUrl = response.deep_link;
const qrCode = generateQRCode(deeplinkUrl);

Email Campaign

<button style="background: #007bff; color: white; padding: 12px 24px;">
  <a href="{RETURNED_DEEPLINK_URL}" 
     style="color: white; text-decoration: none;">
    Start a Conversation
  </a>
</button>

Mobile App

// React Native example
const deeplinkUrl = response.deep_link;

<TouchableOpacity onPress={() => Linking.openURL(deeplinkUrl)}>
  <Text>Contact Support</Text>
</TouchableOpacity>

Here's what your customer experiences:

  1. Customer clicks your deeplink from any channel.
  2. System checks their device (Does it support RCS?).
  3. The correct RCS application opens with your pre-filled content.
  4. Customer reviews and edits the message if they want.
  5. Customer sends the message to your RCS agent.
  6. Conversation starts in Messages API.

Technical Limits

Message Length

The pre-filled message has a maximum limit of 3,072 characters. However, we recommend you keep it under 500 characters for a better user experience. Shorter messages are easier for customers to read and edit before sending.

Character Encoding

We support UTF-8 encoding for all messages. When you send your request, don't URL-encode the prefilled_message yourself. We handle all the encoding automatically when we generate the link for you.

Each time you call the API, it creates a unique encrypted deeplink. Even if you send identical requests, you get different links every time. Each link contains encrypted data that includes your agent information and the message content.

Rate Limiting

Standard Channel Manager API rate limits apply to deeplink generation. If you're running high-volume campaigns where you use the same parameters repeatedly, consider caching the deeplinks instead of generating new ones for each use.

Further information