Video link:

As per the TRAI regulation for SMS in India, Phase 2 (Template scrubbing) of the DLT platform is planned to go live from April 1, 2021 (deadlines for each enforcement are detailed below).


To be compliant with DLT scrubbing guidelines and send SMS using Exotel, follow the steps listed below: 


1. Register your SMS content templates with Brand Name(s) on the DLT operator portal

All of your SMS templates must be uploaded to an operator's DLT site. The templates will be synchronized across all other operator platforms after they have been authorized. The processes for registering your SMS templates are as follows.

Check Exotel for your current SMS templates 
here. You may also download your templates from Exotel, which has a suggested DLT format for them. Please keep in mind that before forwarding the suggested template format to DLT for approval, you should thoroughly evaluate it because the variable requirements may change. Read the FAQs below to learn more about Exotel and the DLT template format.

Add Brand Name(s) to your Content Templates on DLT

  • Every Content Template registered by a Principal Entity should have the content field 'Brand Name(s)' (Complete business name/brand name/trademark). New templates registered from October 11, 2020, onwards should include 'Brand Name(s)', and if this is not done, the template may be refused.
  • By October 31, 2020, any OTP templates expressly (Transaction and Service-related) that have been registered shall be updated with 'Brand Name(s)'.
  • After October 31, 2020, Content Templates for OTP without 'Brand Name(s)' would be regarded as invalid.

Below are examples (as shared by VIL DLT Team) for your understanding in mentioning ‘Brand Name(s)’:


Scenario 1: Entities notably called with abbreviations and unique

Scenario 2: Entities whose abbreviations represent 2 different names, must use the complete entity name at the footer.

Scenario 3: Entities whose registered name is different from their registered trademark name, can use their trademark name.

Scenario 4: Entities having multiples brands operated under their registered name, should use their complete brand name.

Entity name


Entity name with same abbreviations:

National Payments Corporation of India (NPCI);


Entity name: Bundl Technologies Private Ltd (Swiggy)


Atria Convergence Technologies Ltd (ACT Fibernet)


Template examples

Template eg: OTP for online purchase of Rs. {#var#} at {#var#} thru State Bank Debit Card {#var#} is {#var#}. Do not share this with anyone – SBI or State Bank of India

Template eg.1: Amt. of {#var#} for {#var#} ({#var#}) will be credited to ur A/C of {#var#} - National Payments Corporation of India

Template eg.2: Amt. of {#var#} for {#var#} ({#var#}) has been generated with the due date of {#var#} – Nuclear Power Corporation of India

Template eg.1: Dear Customer, ₹{#var#} has been deducted from your Swiggy Money (Powered by ICICI Bank) balance at {#var#}. Updated Swiggy Money balance is ₹{#var#} – Swiggy

Template eg.2: Dear Customer, Thank you for choosing ACT. Our engineer will visit in the next {#var#} hours to confirm the feasibility at your location. – ACT Fibernet

Template eg.1: Congratulations! \n Your shopping has unlocked a gift voucher of Rs.1000 redeemable on on Rs.2499 spend. Valid till 15th Dec. TC. Use Code: {#var#} – Pantaloons

Template eg.2: As we turn 2 in India, visit the American Eagle store and get a {#var#} OFF on our ENTIRE COLLECTION, exclusively for you! Limited period offer. *T&C apply. Stay safe and keep shopping with us! Learn more – American Eagle

Template eg.3: Congratulations! \n Your shopping has unlocked a gift voucher of Rs. {#var#} redeemable at {#var#} on Rs.{#var#} spend. Valid till {#var#}. TC. Use Code: {#var#} – Louis Philippe

2. Update your templates on Exotel

Once you have updated your SMS templates on the DLT portal with Brand Names(s), make sure you update the same on Exotel (Settings -> SMS Templates) as well as add any missing Templates to avoid failures.

3. Configure your SMS API requests with DLT Parameters

You can comply by integrating the additional DLT Parameters while submitting messages to Exotel in our SMS API. ‘DltEntityId’ and ‘DltTemplateId’ are the new parameters added to our SMS API which you need to pass. Detailed documentation can be found here.

`DltEntityId` is mandatory to be provided from October 19, 2020 otherwise, your SMS may failIf you are unable to accommodate the API changes, you can follow the next approach temporarily.

4. Add DLT information on Exotel

If you use the Exotel dashboard (Campaigns, SMS button or SMS applets) to send SMS or are unable to accommodate the API changes at the moment, you can update your DLT information on Exotel.

  • To configure your DLT Entity ID on Exotel, set it on the Dashboard Settings. This is mandatory to be provided by October 19, 2020, to avoid SMS failure. You can find the Entity ID on your DLT portal like VIL (Login->Account Setting->Entity ID).

Please Note: Double-check the Entity ID entered. In case of incorrect ID the SMSes will fail.

  • To configure template ID on Exotel, you can set it against each of your templates here

  • Once you have configured, both DLT entity ID and template ID, these will be passed to the operators while sending SMSes to your account.

  • While adding a template, you can use {#var#} as a placeholder for replacing alphanumeric text similar to DLT. Alternatively, %s continued to be supported as well. Read the FAQs below to understand more about template format.


How to map DLT SMS type on Exotel for SMS templates?

Exotel supports 3 SMS types, "transactional", "transactional opt-in" and "promotional". For backward compatibility, we will continue to support all 3 as of now. However, with DLT guidelines you can map your SMS types on Exotel as per the below table:

SMS Type on DLT
SMS Type on Exotel
Banking OTP
Service Implicit
Service Explicit
Transactional / Transactional Opt-In

How to map the DLT template format on Exotel?

Exotel supports 3 variable placeholders - %d for numeric and %s for alphanumeric strings and {#var#} for both. Such a placeholder can be replaced with any number of characters. Whereas DLT supports variable format with {#var#} and it only allows a replacement of up to 30 characters.

Please do note, that your traffic so far might be replacing more than 30 characters for your SMS on Exotel as a replacement of the placeholder %s or %d. To be compliant on DLT, use multiple combinations of {#var#} to allow the number of character replacements your SMS would need.

What all changes are required if I'm using Exotel's Send SMS API?

  • Below are the API parameters which you need to review and adhere to as per DLT guidelines:
    • From: This should be the Sender ID or the ExoPhone (Linked to a Sender ID) present in your Exotel account and registered on the DLT portal.
    • Body: This is the actual content of your SMS. Make sure the corresponding template is present in your Exotel account and exactly matches with the Template as registered on DLT.
    • DltEntityId NEW: Entity Id of your business as registered with the DLT (Distributed Ledger Technology) portal in India.
    • DltTemplateId NEW: Content Template Id against the SMS body registered with DLT (Distributed Ledger Technology) portal in India. Such a template body should be linked with the Sender ID (From) on the DLT portal
  • To read the complete API documentation, refer here.

I send SMS using non-API methods - SMS Campaigns, SMS Applets or SMS Button, what should I do?

  • SMS Template should be registered on DLT.
  • SMS Template should be present on Exotel.
  • DLT Template ID and Entity ID should be configured on Exotel as explained above.

How to identify if my SMS are going alright?

  • Download SMS report from Exotel's Dashboard and identify SMSes where
    • `DltTemplateId` or `DltEntityId` column is empty, indicating Template ID was not configured on Exotel Dashboard properly or not passed in the API request.
    • If `DltTemplateId` and `DltEntityId` is set, but SMS Status is `failed` (post DLT enforcement), please validate the content exactly matches with the template registered on DLT. 

Some common pointers to ensure template matching succeeds

  • Ensure DltEntityId is passed in API or set on Exotel Dashboard.
  • Ensure DltTemplateId is passed in API or set on Exotel Dashboard against each template.
  • DON'T register templates with %s and %d on DLT, instead replace it with {#var#} or use download the templates (as mentioned in step 1) for the proposed format for DLT registration.
  • Variable-length i.e. text replacing {#var#} placeholder on DLT should not exceed more than 30 characters. Use multiple variables like {#var#}{#var#} in your templates on DLT to ensure the template match doesn't fail.
  • UPDATED 10/05/2021: Exotel now supports {#var#} as a placeholder to replace content similar to DLT along with %s and %d as placeholders for replacing string and digits respectively.
  • The text should exactly match the Template registered on Exotel as well as on DLT. Even a single character mismatch of space or special characters can result in mismatches.
  • Header (Sender ID) Mapping against each template should be verified. In case the ‘X’ header is mapped on the DLT platform with a ‘Y’ text, then it should be used accordingly. If you wish to use any other header, Changes on the DLT platform should be done accordingly.

[ To learn more about other DLT mandates, refer to this knowledge base or reach out to ]

If you have any questions or concerns, please connect with us using the chat widget on your Exotel Dashboard or Whatsapp us on 08088919888.