Create SMS Template for Indian Orgs (as per TRAI Regulations)

TRAI has formulated certain guidelines to enhance control, prevent any fraudulent practice and provide greater safety to the end customer. As per the guidelines, the orgs that want to communicate with their customers will now have to register themselves with Telecom Operators for sending SMS. The system is governed using Blockchain technology also known as Distributed Ledger Technology (DLT).

Message Categories

For DLT enabled orgs, the following are the three different SMS categories available.

  1. Promotional: Any message sent with an intention to promote or sell a product, goods, or service. Service content mixed with promotional content is also treated as promotional. Sender ID of 6 numeric digits needs to be used. Promotional messages sent to non-registered customers after receiving their consent will come under the category of Service Explicit.
  2. Service Explicit: Any service message which doesn’t fall under the category of service message (inferred consent) will be considered as Service explicit message. To send such messages, the Sender ID of 6 alphabetic characters needs to be used. Promotional messages sent to registered customers after receiving their consent will come under the category of Service Explicit.
  3. Service-Inferred/Implicit: Any message, arising out of the customer's actions or their relationship with the sender, that is not promotional, and is not in the interest of the customer to block. Sender ID of 6 alphabetic characters needs to be used. Notifications such as order confirmations, payment alerts, purchase updates, website/app login OTP, and other vital updates can be transmitted from Service Implicit route.


  1. An Org should register itself on any of the DLT platforms and share the Entity ID with Capillary.
    • To make an org DLT enabled, raise a ticket and tag the Engage+ Sustenance team requesting to enable the DLT settings.
    • For existing Orgs, this will be taken care of as part of the Feature rollout process. 
    • DLT settings have to be enabled only for Indian clients.
  2. An org should register Headers/ Sender IDs on the DLT platform. Multiple sender IDs can be registered under an Entity ID depending on the type of message.
    Once the Header is registered it needs to be shared with the Capillary Gateways team ( The Gateways team will do the Domain and Gateway mapping. This step is internal to Capillary.
  3. Org needs to register Content templates in the DLT platform.

Uploading Template 

The following are the key points to remember before uploading a file:

  • You can use only the templates that are currently active and approved by the DLT Portal.
  • Existing templates with the same template ID will be overridden. For example, when you change a message related to a template ID in the excel, it overrides the one which is in Engage+.
  • Different DLT portals act differently and hence they can provide different CSV files. These may include whitespaces, curly braces({}), quotes(“”) or anything. Engage+ will take care of such things and trim the final file accordingly.

To upload an SMS template, follow these steps

  1. On the dashboard, click Creatives, and then click the SMS tab.
  2. Click Upload template.
  3. Upload the CSV file with all the required details.
    • Users can upload a file containing DLT approved content templates by clicking on the Upload template button.
    • Follow all the mentioned instructions.
    • The template will be successfully uploaded after it gets approved by TRAI.
    • Only the templates with valid Template name, Template ID, Type, Sender ID, Approval status, Status, Template message will be saved in Engage+.
  4. Click Done.

Columns of a CSV file:

The sample CSV file contains the following mandatory fields that you need to upload:

  • Template ID: Unique ID of the template . It is a 19 or 20 digit unique numeric identifier which is provided by the DLT portal.

            Note: To avoid shortening of your value(truncation), you should change the type to text.

  • Template name: Unique name of the respective template.
  • Type: Specify whether the template is promotional, service explicit or service implicit.
  • Header: Sender ID used for broadcasting each message.
  • Registered DLT: It consists of  the registered DLT portal that is used for the template. For example, Vodafone Idea or Jio.
  • Approval Status: The current status of the template from the DLT’s end - approved, pending or rejected.
  • Actual Status: It specifies if the template is active or inactive in the DLT portal.
  • Template message: It contains the actual template message that the end user will receive.

If there is an error in any row of the uploaded file, the template in that row will not be saved in the Capillary system. However, the file containing error details can be downloaded to check the errors.

Guidelines to add links in Template

You can also add links in template message. In India, as there is DLT compliance, users need to ensure the following guidelines while adding a link in SMS:

  • The users need to add the link in {#var#} tag only so that the whitelisted template does not get affected. This is due to DLT compliance restriction and hence adding links outside {#var#} tag will result in template mismatch leading to delivery failure. 
  • If there are any recurring messages that have links in SMS, the link has to be added in the {#var#} tag.
  • If there are templates set for coupon expiry reminder or resend messages and has links, these links must be added in the {#var#} tag, otherwise the campaign will fail once the feature gets enabled for your ORG.

To know how the link works internally, see the following: 

  • The system replaces the mentioned link with an internal tiny URL.
  • The link added by you will be transformed, that is the appearance of the link which has to be tracked would change. For example, if the link is, it would be changed to
  • The changing of the link would also affect the characters of the SMS script. The replaced link would be 20-22 characters in length and hence the SMS character count can be changed by 15 characters (either add or remove). This could also affect the credits used for a particular SMS script.

Using approved templates

  1. Once the file is successfully uploaded all the templates will be shown in Creatives > SMS.
    In the campaign creation flow,  while adding creative users can select any of the listed templates.
  2. Selecting the template will open the edit SMS screen. However, in the edit SMS screen, only the variable portion of the template can be edited.
  3. You can replace the variables with static text or labels, but a maximum of 30 characters are allowed per variable {#var#} field. Hence, while adding text, users will be able to add a maximum of 30 characters. In case labels are used and a variable field resolves to more than 30 characters the message will fail for sure. Hence, the message for that user will be skipped by Engage+.
  4. You can map a content template against multiple sender IDs.
    • The DLT portal allows this.
    • In such a case the user will have to select one of the sender ids that’s tagged to the content from the delivery settings section
  5. If any of the sender IDs tagged to the content is not shown in the dropdown it means that the sender ID is not registered with Capillary. The gateways team should be contacted to have that sender ID registered with Capillary.

View the details of failed messages (if any)

Details on the percentage of message failures with corresponding reasons will be available both on Engage+ Message Summary Page and Member Care.

Messages might not get delivered due to the following reasons.

  • Error related to DLT template
  • Error related to Sender ID
  • Customers in the NDNC list


  1. The Delivery Rate is lower than normally expected OR Delivery Rate shows 0% for Promotional message or Delivery Rate shows 0% for messages with Numeric Sender ID.
    • The delivery statuses for Promotional SMS (SMS sent from Numeric Sender IDs) are not shared by Gateway Partner, hence are not used to calculate any metrics in Message Performance. For more details, click here.
  2. How will a brand be onboarded for DLT compliance from an Engineering perspective? 
    • For a detailed answer, click on this link.
  3.  I am not able to see sender IDs in the Delivery settings section even after sharing the sender IDs with the Gateway team?
    • Capillary has enabled DLT compliance with three gateways namely Kaleyra, ICS, and Karix. If the Org is integrated with any other gateway the DLT feature will not work for that Org.
  4. Does Capillary stored DLT templates allow special characters and Regional Language text?
    • Special Characters and Regional language are allowed even in Capillary templates. These need to be less than 30 character if added in place of {{#var}} or it can be part of the static text approved from DLT. The 'Allow Unicode characters' feature takes care of this. It is turned on by default is on. Screen reader support enabled.
  5. Can we reach out to NDNC customers with a template with optout tag?
    • Reaching out to NDNC customers is directly handled by Telecom Operators - Airtel/ Vodafone, Jio etc. The customers are directly applying for NDNC to these operators. These are some extra settings for example customer can apply for NDNC but can wish to be reached out on certain days or time period. All this will be unknown to Capillary/ Gateway Partner/ Brand. So adding optout tag or not adding is irrelevant for NDNC. We can send entire customer list to operators and they can filter NDNC by their own. Screen reader support enabled.
  6. In general practice users copy and paste the templates from vendor portal to excel where space issues may occur. How to handle this? Screen reader support enabled.
    • We can't handle space issues with static text. If space in coming in {#Var} field or just before or after it it will be taken as 1 character. It is advisable that the excel downloaded from DLT portal is uploaded directly to Engage+. Copy/ pasting templates in excel or manual creation of DLT template upload excel is not advisable as error can occur not only in Template content but Template id etc. as well. Screen reader support enabled.
  7. How can we target NDNC users?
    • NDNC targeting can happen as explained here. Suppose Person1 is NDNC customer. No brands can reach out to Person1 and this will be handled directly by Operators as Person1 would have applied for DND with operators. But Brand-A collected Person1 consent against service explicit or promotional messages. Consent can be collected via microsite signup/ missed call/ manual signing consent form etc. Then Brand A will upload Person1's name and Phone number in "consent customer details" to DLT. This list will overwrite the DND status DLT has for Person1 and is valid only for 6 months. Consent need to be refreshed after 6 months. DLT will then send me messages from Brand A only (for rest brands i remain DND). Screen reader support enabled.
  8. If this is enabled, Will there be a need for an opt out tag? You had mentioned a single SMS will be sent to both DND & non DND users. If a customer has chosen not to receive SMS from brands, Would the SMS be triggered & failed at delivery? In that case are we charging clients for such SMS? How do we know the counts of customers who have not received SMS? Would delivery rate shown on campaign pages be accurate?
    • Optout tag is not mandatory. If a brand wants to add it they need to add a #var in the content while getting it registered in DLT portal. Yes, SMS will be triggered but fail at delivery if customer is in DND. Yes, we are charging the same amount to Orgs (Gateway or operators have the same charge for delivered or non delivered) You will know the count from the delivery rate. Delivery rates shown on campaigns are accurate. We are also doing product enhancement to tell reasons for non delivery -should be live in next 1 month. Delivery rates for Promotional messages (numeric sender id) will be unknown as these are not shared by gateway partners after DLT regulation.
  9. Suppose a client doesn't want to target customers who have not opted to receive SMS from the brand, is there a provision to do so? Do we get such customer details from telecom operators?
    • DND works at Category/ Industry level - not at brand level. So a customer will be in the NDNC list for retail and not for brand X. We get a DLR stating that the customer is DND - this happens only after we have tried to reach out to the customer but the delivery failed. There is no proactive system/ data in the public domain by which Capillary/ brand can know which customer is DND. We are thinking of making a reactive system by adding DND status to the customer after getting the DLR, but for this also we will have to trigger the message once to the customer. The enhancement is not confirmed and depends on tickets we get on this.
  10. If we are not sending an opt out tag to the DND users, how will they opt out? Suppose I'm a DND customer & if I don't have an option to opt out I might raise a complaint which will result in bad customer service.
    • Capillary can't make a change to the template registered for the Org in DLT. If the Marketer created a template with a #var where optout can be added, they can add the same from creative Labels as before.
  11. Can we directly sync templates from the DLT portal without having to upload it on Engage+?
    • The respective APIs are not provided by the DLT portals and hence you cannot access these templates from the portal directly as of now.
  12. Is the order of column header names the same for all the DLT service providers?
    • No, the header names and column order can differ with different DLT providers. However, Engage+ understands which header name means what and hence the order does not really matter. Even the header names can vary from portal to portal (say, Template ID can be Temp ID for some service providers), but all such the cases will be handled by the product itself.
  13. Does a template have an expiry associated with it post approval?
    • A template is expired after 3 years post approval. However, the provision of deleting a template before 3 years is provided by both DLT portal and Engage+.
  14. Will the template overrides based on the template name?
    • No, the template override is based on the template ID which is the unique ID. If the template name is same, you will be asked to change it to make the search easier.
  15. Why is there a limit of 500 rows per CSV file?
    • This is to provide a real-time experience to the customer and to reduce the load on the system, since the upload happens in real time. Also, if the customer wants to upload, say 1000 rows, he can always upload 2 CSV files containing 500 rows each. There is no limit on the number of CSV files to be uploaded.

  16. Some templates which were active at the time of upload have become inactive now, will it affect the delivery of SMS?
    • If the status is inactive, the operator will not broadcast the message to any customer even if the status was active at the time of upload. Therefore, it will affect the delivery of SMS.

Create SMS template for other Orgs

To create an SMS template for other orgs (non-Indian orgs) refer to the following.

  1. On the dashboard, click the Creatives tab, and then click the SMS tab.
  2. Click Create new.
  3. Enter a Creative name.
  4. Enter a Creative message. Click +Add Label to use appropriate tags in your message.
  5. Click Save.


  1. You can see a sample view of your message on the right-side panel.
  2. Optout tag is compulsory to include. To know more about each tag, see the Message content section.
  3. If you want to include special characters in your message content, select Allow Unicode characters checkbox.
  4. You can also create SMS content from Create message section.