Regulation Impact

Learn about the impact of regulations by the Telecom Regulatory Authority of India (TRAI). This impact is limited only to Indian users.


The Telecom Regulatory Authority of India (TRAI) requires distributed ledger technology (DLT) registration for all the service providers for bulk SMS services in India. Starting February 1, 2021, it is mandatory to send messages to customers via a pre-approved template. For more information regarding DLT registration, refer to SMS Regulations.

What This Means to Our Clients

This requires the following changes from your side when you create an SMS campaign on the CleverTap dashboard.


Template IDs

A template ID is required for the SMS campaigns targeted to Indian mobile numbers and having MSG-91 as the service provider. A template ID may or may not be required for other service providers. We recommend checking with your service provider.

Future Campaigns

Future campaigns are the campaigns that have started after February 1, 2021.

When you create campaigns after the mandated date, you must use a pre-approved template. In the campaign setup where you choose a service provider, we now provide an extra field to provide a template ID.


Template ID

This field is optional because it is only required for sending SMS messages to phone numbers in India. Check that you provide a matching template ID every time you create an SMS campaign for customers in India.

For generic service providers, you can edit the settings to additionally set up a key-value pair as shown below:

  • Key: This indicates the name of the key for a template ID your service provider is expecting you to send. In the example shown below 'content_id' is the name of the key expected by the service provider.
  • Value: Specify $$TemplateId. You can enter the value of the template ID at the time of the campaign creation.


For example, if the key name for a template ID is expected as content_id.

The Template ID that you have to use in the campaign, has to be entered in the WHAT section of the campaign.


Create Message

The value that you will enter here is the one that is being accepted by your service provider for passing the Template ID. The Template ID parameter that you put in the endpoint URL.
Check with the service provider which key they accept for Template ID and accordingly add that key and then the Template ID value in the message section.

Current Campaigns

Current campaigns are the campaigns that were started before February 1, 2021.


To receive all your running campaigns, perform the following steps:

  1. From the dashboard, navigate to Campaigns.
  2. Select the channel as SMS from the filter.
  3. Select the status as Running, then click Apply.

Filter Running Campaigns

  1. Click on the Subscribe to Reports link.
Subscribe to Reports

Subscribe to Reports

  1. Once the Campaign Summary Emails window displays, enter a report name.
  2. Select Campaign overview.
  3. Click Send Report.
Set Up for Email Subscription

Set Up for Email Subscription

You will then receive a report via email with all the running SMS campaigns and their relevant campaign IDs.


To receive all your running journeys, perform the following steps:

  1. From the dashboard, navigate to Journeys.
  2. Select the status as Running from the filter, then click Apply.

Filter Running Journeys

  1. Select the desired campaign and click the Email report link.

Select Journeys

  1. Once the Email report window displays, enter a report name.
  2. Select Nodewise for the report type.
  3. Click Email report.

Nodewise Email Report

You will then receive a report via email that you can filter by campaign channel as SMS to get a list of all SMS campaigns with their campaign IDs.

Match IDs

After you have a list of all campaign IDs from the campaign and journey steps above, perform the following steps:

  1. Match these IDs to the template IDs from the SMS service provider's dashboard.
  2. Send this data to the CleverTap platform in the JSON format/JSON payload and hit our endpoint.

Base URLs

Use the appropriate URL depending on your location:


The X-CleverTap-Account-Id and X-CleverTap-Passcode are used to authenticate the request. Please refer to the authentication guide to view how to get their values.

The following headers are all required:

HeaderDescriptionTypeExample Value
X-CleverTap-Account-IdYour CleverTap account ID.String"X-CleverTap-Account-Id: ACCOUNT_ID"
X-CleverTap-PasscodeYour CleverTap account passcode.String"X-CleverTap-Passcode: PASSCODE"
Content-TypeRequest content-type is always set to application/JSON.String"Content-Type: application/json"

The following is a sample JSON:

"campaign_id" : 1563478922,  // campaign ID
"template_id" : "455633413", // template ID
"campaign_id" : 1563478922,  
"template _id" : "455633413"

Your CleverTap campaigns will now have the correct template IDs tagged to them.