Skip to main content
The CleverTap connector adds RCS and SMS as sendable channels inside CleverTap. Campaigns are built and triggered in CleverTap; a stateless middleware service translates each send into OneXtel’s format and relays delivery reports, replies, and click events back. Because the connector holds no database of its own — every routing decision comes from the incoming request — OneXtel can run it as multiple parallel instances. You deploy nothing.
Pick your channel once. The sections below have an RCS and an SMS tab. Choosing a tab in any section switches every section on the page to that channel.

What it handles

Outbound RCS

RCS sends from CleverTap campaigns, using either CleverTap’s composer output or a pre-made OneXtel template.

Outbound SMS

DLT-registered SMS from CleverTap’s Generic SMS provider, with delivery reports mapped onto CleverTap’s SMS error codes.

SMS fallback

If RCS delivery fails, OneXtel retries automatically over SMS using a DLT-approved template.

Delivery and clicks

Delivery reports, suggestion-button replies, and URL-click events relayed into CleverTap.

Inbound replies

Free-form RCS replies — text, media, location, contact — routed back to CleverTap.

Before you start

Have these ready:
  • Your OneXtel API key — see API keys.
  • CleverTap access to Settings → Channels → SMS, with permission to add a provider.
  • OneXtel access to callback configuration.
  • For SMS: a DLT-registered sender ID, DLT entity ID, and DLT templates in OneXtel. See DLT registration.

Connector endpoints

Every URL in this guide sits on one host. Copy them from here as you go.
The host is onex-aura.com, with a hyphen. Dropping it gives you ct.onexaura.com, which resolves to a real server that does not run the connector — so the mistake shows up as a timeout or a silent failure rather than an obvious DNS error. Check the hyphen before you save anything.

Set up

Work through the parts in order.

Part A — Create the provider and configure RCS and SMS fallback

1

Create the provider

In CleverTap, go to Settings → Channels → SMS, add a provider, and set Provider to Generic RCS Provider. Give it a clear nickname.
2

Set the messaging endpoint

Authentication is set to none because the API key travels as a header, not as an auth scheme CleverTap manages.
CleverTap Provider Configuration with Generic RCS Provider selected, the messaging endpoint, No Authentication, and an apikey header

Provider Configuration — provider, messaging endpoint, and the apikey header

3

Set the RCS sender and body parameters

Set RCS Sender ID to your OneXtel RCS sender profile, or to a pool. If you use a pool, only templates assigned to that pool will resolve. If your account has more than one sender profile, you can also choose the profile per campaign with an optional sender_id pair — see Part C.
Sending from several senders through one provider. CleverTap fixes the RCS Sender ID on the provider, not on the campaign, so by default one provider sends from one profile. If you run several brands or senders on one CleverTap project, put a placeholder of the form <brand>_onextel_rcs in RCS Sender ID instead of a real profile — for example acme_onextel_rcs.OneXtel reads any sender ID in that shape as a placeholder rather than a real sender, and takes the actual profile from the sender_id key-value pair on each campaign. That pair stops being optional and becomes required: a campaign that omits it is rejected rather than sent from the placeholder.The same applies to SMS, with <brand>_onextel_sms and the SMS provider’s Sender ID. One provider and one endpoint then serve every sender on the account.
Under RCS Body Parameters, add these key-value pairs. The $$ syntax tells CleverTap to fill the value from the campaign’s custom params.
CleverTap RCS Config showing the RCS Sender ID and the message_type and template_id body parameters

RCS Config — sender ID and body parameters

4

Enable SMS fallback

Turn on SMS Configuration / Enable Fallback SMS and set SMS Sender ID to your OneXtel SMS sender ID.Under SMS Body Parameters, add:
CleverTap SMS Configuration with Enable Fallback SMS on, the SMS Sender ID, and five SMS body parameters

SMS Configuration — fallback sender and body parameters

5

Save, then copy both callback URLs

Save the provider, then reopen it. Under Callback Config you will find two read-only URLs. Copy both — you paste them into OneXtel in Part D.The Inbound URL only appears after you reopen the saved provider; immediately after the first save you may see only the Delivery Report URL.

Part B — Add templates in CleverTap (optional)

You do not need a CleverTap template to send a OneXtel template. The template_id key-value pair you add to the campaign in Part C tells OneXtel which approved template to send, and the campaign’s other key-value pairs fill its variables. A Text Free Form campaign with the right pairs is enough.Add templates here only when you want to build campaigns from them inside CleverTap — for example, to start from a prebuilt card or carousel layout in the campaign composer.To add one, open the saved provider, switch to its Templates tab, and create the template with the exact same name as its OneXtel template code — for example payment_success_onex — and the same type (Text, Rich Card or Carousel). Template names are unique per provider, so the same name can be reused across a UAT and a production provider.CleverTap documents this in Generic RCS → Add a Template and, for the fields of each template type, in RCS Message Templates.
Do not use CleverTap’s {{1}} placeholders to personalize. CleverTap’s template editor recommends positional variables such as {{1}} and {{2}}, but their values are not passed to OneXtel. If a template you add here contains them, CleverTap still asks for a value before it lets you publish — fill it with anything. What the recipient sees comes from the campaign’s key-value pairs, set up in Part C.

Part C — Build the campaign and personalize it

Everything OneXtel needs to render the message travels in the campaign’s RCS Body Key-Value Pairs: which template to send, its message category, and the value of each variable.
1

Create the campaign

In CleverTap, create a new campaign. Under From, select the provider you created in Part A. Under Who, choose your audience. Under What, choose the Text Free Form type and enter a message body — or, if you added templates in Part B, pick one of those.When the campaign sends a OneXtel template through template_id, the body you enter here is only what CleverTap shows while you build. The recipient receives the OneXtel template.
2

Add the RCS key-value pairs

CleverTap campaign composer showing the RCS Body Key-Value Pairs section with message_type, template_id and a custom parameter

Campaign composer — RCS body key-value pairs

To personalize a template variable, add a key-value pair for it here, in the campaign’s What section — not in the provider setup. Type @ in the value field to open CleverTap’s personalization menu, choose the user or event property, and set a default for recipients who do not have it. CleverTap resolves the token for each recipient at send time and the connector passes the resolved value to OneXtel under the same key.If the OneXtel template reads Hi [custom_param1], the key is custom_param1. A key that does not match the bracketed name character for character leaves the placeholder unfilled on the handset.
CleverTap RCS Body Key-Value Pairs with sender_id, message_type, template_id, and a custom_param0 key whose value is the @Profile - Name token with a default

Campaign composer — a personalized key-value pair for the template placeholder

For the token syntax and defaults, see CleverTap’s RCS Message Editor and Personalize Message.
3

Add the fallback SMS block

Toggle on Fallback SMS, enter the fallback text, and add:
CleverTap Fallback SMS block with its text and the type, templateId, unicode, entityId and fallback_id key-value pairs

Campaign composer — Fallback SMS block and its key-value pairs

4

Save the campaign as a draft

Save the campaign, but do not publish it yet. Set up the callbacks in Part D first, so the delivery reports, replies, and clicks from the very first send reach CleverTap.
A fallback only fires if the SMS block is complete. If fallback_id, templateId, or entityId is missing or misnamed, the RCS send still goes out normally — but the fallback silently lacks what OneXtel needs, and that failure is not surfaced back to CleverTap as an error. Verify the fallback explicitly rather than assuming it works.
type values are narrower than earlier guides stated. Live testing accepts only SI, OTP, and SE — TXN, TRANS, and Promo are rejected as invalid type. See Send SMS — India.

Part D — Configure the callbacks before you send

Before you publish, create four callbacks in OneXtel. They carry delivery reports, replies, clicks, and fallback reports back to CleverTap. Each one needs a custom header named callback, set to one of the two CleverTap URLs you copied at the end of Part A.All four use HTTP Method POST.
These are two different URLs, and swapping them is the most common setup error. Pasting the Delivery Report URL where the Inbound URL belongs causes CleverTap to reject the relay with providerId query parameter is required for replied events.
Two things that catch people out:
  • RCS delivery reports and suggestion-button replies share the /dlr webhook — OneXtel sends both there.
  • The SMS fallback report is a genuinely separate webhook on the SMS channel. Do not reuse the RCS DLR entry for it.
See Callback configuration for how to add a callback and its headers.
OneXtel Edit Callback screen with Channel RCS, Callback Format RCS, Type Delivery Notification and HTTP method POST

RCS delivery notification webhook — Channel RCS, Type Delivery Notification, POST

OneXtel Additional Configuration section with a header named callback set to a CleverTap cb.wzrkt.com URL

Additional Configuration — the callback header carries the CleverTap URL

OneXtel Edit Callback screen with Type Incoming and the inbound request preview

Inbound webhook — Type Incoming

OneXtel Edit Callback screen with Type URL Click and the click event request preview

URL click webhook — Type URL Click

OneXtel Edit Callback screen with Channel SMS and the SMS delivery report default parameters

SMS fallback webhook — note the channel is SMS, not RCS

Part E — Send and validate

Send to a small test audience first, and confirm each of these independently before sending to everyone:
1

Publish to a test audience

Open the draft, choose the send time, review the summary, and publish it to test devices you control — including one number that is not RCS-capable, for the fallback check.
2

Confirm RCS delivery

A test send shows as Delivered in OneXtel reporting, and the same event appears in CleverTap’s campaign stats.
3

Confirm inbound replies

A reply from a test device appears in CleverTap under People, in that profile’s event timeline.
4

Confirm click tracking

A button or URL click on a template message reaches CleverTap.
5

Confirm SMS fallback

An RCS send to a genuinely non-RCS-capable number triggers the fallback, the SMS arrives, and its delivery status comes back through the /delivery webhook.
6

Go live

Once all four check out, send the campaign to your full audience.

Personalize a template

Personalization happens in CleverTap, before the send reaches OneXtel, and it travels entirely in the campaign’s RCS key-value pairs. The connector does not substitute anything itself: it forwards each campaign key-value pair to OneXtel as a template variable under the same key name, and OneXtel fills the matching [placeholder] in the approved template. The step-by-step is in Part C; this section is the reference.
CleverTap’s recommended method — positional {{1}} placeholders — does not personalize OneXtel templates. Their values are not passed to OneXtel. Use key-value pairs named after the OneXtel placeholders instead. Creating a matching template in CleverTap is optional — see Part B.
When you create OneXtel templates for CleverTap, name the variables [custom_param1], [custom_param2] and so on. Any name is accepted, but one convention keeps campaigns predictable. To check an existing template’s variable names, open it in the OneXtel portal or use Fetch templates.What the connector sends to OneXtel for a custom_param1 pair resolved to Kabir Sethi:
Provider-level parameters are not personalized per user. A key added under RCS Body Parameters in the provider setup (Part A) takes one value per campaign. Per-user values must come from a key-value pair added on the campaign itself, in the What section.
For CleverTap’s own guidance on personalization tokens, defaults, and Liquid expressions, see RCS Message Editor, Personalize Message, and Liquid Tags in the CleverTap documentation.

Buttons and templates

CleverTap’s composer cannot reference a saved OneXtel template by ID directly. To send one, use the template_id custom parameter — every other custom param on that campaign is then passed through as a placeholder value.
This is currently the only reliable way to get a working URL-action or dial-action button. Ad-hoc, non-template cards reliably support only a plain Reply button.

Error code mapping

The connector translates OneXtel’s outcome codes into CleverTap’s own vocabulary, so campaign stats in CleverTap show a CleverTap reason. OneXtel’s original description travels with each failure in the description field.
Delivery eventsFailure codesRCS failure codes differ by operator — Jio and Vi reuse the same numbers for different conditions — so the connector classifies a failure by the operator’s wording rather than its number.For what each operator code means, see RCS error codes.Connector response codesWhen the connector refuses a request itself, it answers with one of these:

Parameter reference

RCS key-value pairsSMS fallback key-value pairs
Behind the scenes the connector calls OneXtel’s send API — /oapi/send_sms for RCS and /send_sms for SMS, both on https://api.onexaura.com. You never configure these directly; they are here for troubleshooting.

Limitations

  • Template previews will not match the real message. CleverTap renders through its own composer, so what you see when building is not what the recipient receives. Confirm with a test send.
  • Fallback failures are silent. An incomplete SMS block does not raise an error in CleverTap.
  • Composer templates cannot use saved OneXtel templates directly — use template_id.
  • CleverTap’s {{1}} placeholder values are not passed to OneXtel. Personalize through a campaign key-value pair named after the OneXtel placeholder instead — see Personalize a template.
  • RCS failure codes are coarse. Every failure reaches CleverTap as 910 or 914; the operator’s own code is in OneXtel reporting.

Get support

If a campaign does not behave as this page describes, email omni.tech@onextel.com with the plugin name (CleverTap), the provider nickname, and what you saw. To let OneXtel see exactly what CleverTap sent and what OneXtel answered:
1

Ask for the logging endpoint

Support will give you a logging version of the connector’s send URL for the affected channel.
2

Point the provider at it

In CleverTap, open the provider under Settings → Channels → SMS and replace the HTTPS Endpoint with the logging URL. Keep the apikey header and everything else as it is.
3

Run the campaign again

Send the campaign to a small test audience.
4

Share the campaign ID

Reply to support with the CleverTap campaign ID, shown under the campaign name in the campaigns list. OneXtel matches it against the logged requests and responses and comes back with the exact cause.
Switch the endpoint back to the normal connector URL — https://ct.onex-aura.com/rcs/send or https://ct.onex-aura.com/sms/send — once the issue is closed.