
Top 7 SMS OTP service providers to secure your customers | How to choose the right one?
Choosing the right OTP provider requires defining your requirements and goals, vetting various providers, and understanding how well each solution works with your existing tech stack.
At the most practical level, your SMS OTP service provider should give you all the features you need to deliver OTPs to your customers.
Every SMS one-time passcode (OTP) service provider is different.
Some providers offer a more extensive network of carrier partnerships, enabling you to send OTPs worldwide with better deliverability. Others focus on building a strong infrastructure to manage domestic OTP deliveries.
OTP providers also vary in the availability and flexibility of APIs and SDKs for integration into existing systems, impacting the ability to customize and implement the OTP experience in your existing tech stack.
Choosing the right OTP provider requires defining your requirements and goals, vetting various providers, and understanding how well each solution works with your existing tech stack.
In this guide, we’ll explain the features you need to look for in an SMS OTP service provider, the top seven most popular SMS OTP service providers in the market, and how to choose the right one for your needs.
What features should I look for in an SMS OTP service provider?
Consider eight features when choosing an SMS OTP service provider.
- Time-to-deploy
- SMS OTP conversion rates
- Fraud detection
- Security and compliance
- Analytics and tracking
- Integrations
- Customer support
- Price
1. Time-to-deploy
Developers already have enough on their plates— and adding a complicated tool t that requires intensive onboarding and implementation is counterproductive to achieving your other development needs.
When selecting an OTP provider, look for services that require minimal setup. This will allow your team to start sending OTPs with little to no downtime.
Your SMS OTP service provider should also provide clear documentation and SDKs that make it straightforward for developers to integrate OTP with your platforms, significantly reducing the time and resources needed for deployment.
2. SMS OTP conversion rates
One of the most frustrating experiences a customer can have is receiving a delayed OTP, or worse, not receiving an OTP at all. Delayed or undelivered OTPs can cause anxiety, potentially leading the customer to abandon the transaction or lose trust in your brand.
Verify that an SMS OTP provider has high delivery rates to ensure that your customers can receive and act upon OTP messages.
3. Fraud detection
In international markets, OTPs in SMS and voice channels are particularly susceptible to SMS Pumping fraud.
Advanced fraud detection should include dynamic risk assessment algorithms that adapt to emerging threats and unusual patterns.
4. Security and compliance
When assessing the security and compliance of an OTP service provider, there are two key aspects you need to consider: data encryption and regulatory compliance.
End-to-end encryption ensures that an OTP is encrypted at the origin and only decrypts at the receiver’s device. This protects the OTP message from being intercepted or read by hackers. To verify the robustness of the encryption, look for an OTP service provider that uses recognized standards like AES (Advanced Encryption Standard) with a suitable key length (e.g., 256-bit).
Additionally, look for OTP service providers that adhere to data protection regulations like the General Data Protection Regulation (GDPR) in the European Union, the California Consumer Privacy Act (CCPA), and the Health Insurance Portability and Accountability Act (HIPAA) as they are mandatory for different countries.
5. Analytics and tracking
Choose an SMS OTP service provider that offers detailed analytics and tracking. Real-time insights into OTP delivery rates and failures help identify issues as they arise.
Custom reports with a trend analysis of KPIs, such as success rates of OTP deliveries across different regions, can highlight areas for improvement, whether in technology or carrier partnerships. You can also leverage these reports to make strategic decisions and draw behavioral insights.
6. Integrations
Even the most robust OTP provider must play well with your existing tech stack. Think about which platforms you need your OTP tool to communicate with. Does this OTP solution fit your long-term technological needs?
Plivo, for example, integrates with most popular tools including Zapier, Microsoft Power Automate, Integromat, Pipedream, Integrately, GitHub Actions, EngageBay, and more.
7. Customer support
Look for an SMS OTP service provider that is available 24/7. This level or service translates to immediate assistance, minimized downtime, and enhanced reliability. Having multiple support channels, such as email, phone, web-based chatbots, and SMS, will also provide more convenience, accessibility, and personalization for your company.
8. Price
There’s no getting around pricing. Look for an OTP service provider with clear, straightforward pricing. Most OTP providers offer multiple pricing plans; look for one designed to scale with your business as you grow. Check out Plivo’s pricing.
The 7 best SMS OTP service providers for security and reliability
Here are our top seven picks for the best OTP service providers. Read a detailed analysis of why we chose these platforms below.
1. Plivo

Key features
- Turnkey single-API solution: All you need to do is integrate using a single API with Plivo and it’ll take care of the heavy lifting. For instance, Plivo keeps numbers ready for usage, so customers do not need to purchase any numbers separately. Bottom line: Plivo customers can conveniently use a secure solution without worrying about compliance issues.
- Multichannel support: Plivo supports both SMS and voice OTP to ensure businesses have the flexibility they need to authenticate users.
- High deliverability: Verify API enjoys specialized routes from carriers that are not available with the SMS API. It also uses intelligent routing to identify optimal routes and number types for enhanced conversions. Plivo also ensures sender ID and template compliance to ensure carriers do not fail them due to compliance issues.
- Built-in fraud control: Plivo’s Fraud Shield includes an autopilot mode to help you monitor your messaging patterns, build thresholds for each country, and automatically send alerts with irregular patterns.
You can fine-tune and override messaging throughput thresholds for each country and access an in-built reporting to evaluate your cost savings from preventing fraud attacks using Fraud Shield.
- Support: Premium 24-hour support, comprehensive documentation, seven global points of presence, and 99.99% uptime SLAs are available.
- No additional costs: Plivo has straightforward pricing plans where you only pay for what you use. There are no charges for authentication, regulatory compliance, fraud shield, and SMS verification, making it an ideal solution for those on a modest budget.
{{cta-style-1}}
Pros
- Supports SMS OTP delivery in 220+ countries
- High deliverability rates, minimizing SMS failures
- Customizable OTP templates for a personalized user experience
- Detailed analytics for tracking OTP success rates
- Robust security features protect data integrity
- Comprehensive API and documentation support ease of integration
- Scalable solutions cater to businesses of all sizes
- 99.99% uptime SLAs available with 24-hour support
Cons
- The vast array of features can be overwhelming for new users.
Most suitable for Companies that need a scalable, customizable SMS OTP solution with extensive integration capabilities, security, and reliability. G2 rating: 4.5 stars, 724 reviews
2. Twilio

Key features
- Multichannel authentication support: Twilio provides APIs that enable you to send OTPs through SMS, passkeys, WhatsApp, email, voice, and TOTP (authenticator apps like Authy and Google Authenticator), going beyond traditional email and website communication.
- Fraud monitoring: Twilio uses one API endpoint to validate users and detect fraud. It also lets you customize geo-permissions, rate limits, and other fraud controls.
Pros
- Wide range of additional communication channels available
- Extensive API for custom integrations and workflow automation
- Fraud detection and security features to protect customer data
- Real-time analytics dashboard to monitor and optimize OTP deliveries
- Global reach with localized number support
Cons
- Steeper learning curve due to platform complexity
- Pricing can become expensive as usage scales.
Most suitable forTech-savvy businesses and developers seeking a robust, customizable OTP solution.
3. Authkey.io

Key features
- Multichannel support: Authkey.io supports SMS, email, and voice OTP.
- Live analytics: It gives detailed analytics about OTP delivery, failure, and latency reports.
Pros
- Cost-effective solution for businesses on a tight budget
- User-friendly platform ideal for those new to OTP services
- API support for straightforward integration
- Quick and easy setup with minimal configuration required
- Responsive customer support team
Cons
- Limited advanced features for complex implementations
- Somewhat restricted global coverage compared to larger providers
Most suitable forStartups and small to medium businesses looking for an affordable, reliable OTP service with basic features.
4. Exotel

Key features
- Real-time analytics: Exotel provides real-time analytics and delivery reports, allowing businesses to track the status of each OTP code sent.
- Customizable OTP timers and lengths: Exotel allows users to customize the length of the OTPs and set timers for how long an OTP is valid.
Pros
- Simple and intuitive user interface
- A reporting dashboard with conversational AI
- An extensive reach in the Asia-Pacific (APAC) and Southeast Asia (SEA)
- High delivery speed for OTPs
Cons
- Limited global presence
Most suitable forBusinesses primarily operating in APAC & SEA, as they have an extensive network in this region.
5. SMSCountry

Key features
- Quick integration: SMSCountry allows you to send OTPs directly from anywhere with an easily integrable SMS API that supports several applications through SDK, XML, Web, and HTTP-API plug-ins.
- Compliance and security: The OTP provider is powered by 100+ direct-to-carrier connections in 180+ countries, enabling users to send OTPs internationally.
Pros
- Easy to use and integrate, reducing time to market
- Supports 180+ countries
- Cost-effective for businesses mindful of budget constraints
- Real-time delivery reports for tracking OTP status
- Dedicated account management and 24/7 customer support
Cons
- Limited functionality for advanced customization needs
- Fewer global direct carrier connections may affect delivery in certain regions.
- No option to add team members from the dashboard
Most suitable for SMBs seeking a reliable, no-frills basic OTP service that's both affordable and easy to implement.
6. MSG91

Key features
- Built-in IP security: The OTP service provider comes with in-built IP data security that ensures the flow is halted when an unusual login is attempted to prevent potential fraud activities.
- Multichannel support: MSG91 supports multiple channels including SMS, email, Voice, and Whatsapp.
Pros
- Robust APIs for flexible OTP service integration
- Comprehensive analytics for insights into OTP performance
- Global coverage ensuring worldwide OTP delivery
- Advanced data security protocols for customer data protection
- Scalable pricing model that accommodates growing businesses
- Exceptional uptime and reliability track record
Cons
- Pricing transparency could be improved for clearer budget planning.
- The platform's extensive features present a learning curve.
- Limited reports—only offers a pre-selected timeframe for accessing reports.
Most suitable forBusinesses that need multichannel support with other basic functionalities of an OTP provider.
7. TeleSign

Key features
- Global coverage: Telesign’s verification API can authenticate customers across 230 countries and over 80 languages.
- Dynamic routing: The OTP provider’s API intelligently routes messages using the most effective routing available to provide high-speed delivery.
Pros
- Extensive global network for reliable OTP delivery across different regions
- Support for a wide range of languages and localizations
- Developer-friendly APIs and SDKs for easy integration
Cons
- Inflexible pricing plans with plenty of friction in free trials
- Significant delay in receiving OTPs
- Lacks accurate number validation
- Doesn’t support its entire list of countries and numbers
Most suitable for Startups and small businesses needing a simple, budget-friendly OTP solution.
How to choose an SMS OTP service provider?
There is a wide range of SMS OTP service providers on the market right now—but how do you decide which one meets your needs best?
If choosing an OTP provider feels daunting, here are six steps to help:
Step 1: Determine your OTP requirements and goals
Before diving into the selection process, get clear on your specific needs for an OTP service. Consider things like the data security level of your application, the volume of OTPs you'll need to dispatch, and whether you anticipate significant growth as this will require a scalable solution.
Step 2: Look at key features
Jot down a list of the must-have and nice-to-have features you need from your OTP provider, like high deliverability rates, speed of OTP delivery, the ability to customize your OTP messages, and authentication flows.
Step 3: Research the best OTP service providers
Begin your search by compiling a list of potential OTP providers. Read online reviews, testimonials, and case studies to explore each provider's reputation.
Step 4: Set your OTP provider budget
Seek out pricing plans that offer transparency and don't hide fees in the fine print. Consider how the pricing structure fits your expected volume of OTP messages and whether the provider offers the scalability you need without increasing costs.
Step 5: Check for integration support
Look for providers that offer robust support for integration, including SDKs, APIs, and comprehensive documentation. These tools and resources will significantly smooth the integration process and reduce the time to deployment.
Step 6: Test, analyze, and report on ROI
Once you’ve set up your new OTP system, take measures to determine its return on investment. The goal is to have an efficient tool with a positive ROI.
The bottom line is that regardless of which OTP service provider you choose, it must deliver on your goals. It should give you complete control and flexibility over how, when, and where you want to send OTPs.
Get started with Plivo today
Choosing the right SMS OTP service provider involves considering key factors. Start by understanding your business’s needs and goals, listing out specific of your must-have and nice-to-have features like customization, global presence, and customer support.
Think Plivo might be the perfect OTP SMS service provider for your needs? Find out today with a trial.

Support Agents: Who Are They, and What Do They Do?
Support agents serve as a middle ground between your company and its customers. Let’s see some steps to hire the best and build a functional team.
Needless to say, customer support is a vital organ for business success, directly affecting customer satisfaction, loyalty, and revenue. In fact, a study notes that in 2024, poor customer experiences cost organizations worldwide an estimated $3.7 trillion, marking a 19% increase from the previous year.
Customers often switch companies if they don't receive good customer service, regardless of product satisfaction. Conversely, they are often willing to go out of their way to do business with a company that offers better service.

Support agents are at the forefront of delivering these sensitive experiences, making their role crucial in fostering customer relationships and driving business growth.
In this article, we’ll explain who they are, what they do, the essential skills needed to become one, and some steps to build your support team with the best support agents.
Who are support agents (and who are they not)?
A support agent is a trained representative of your company primarily tasked with resolving customers' complaints, answering inquiries, and providing usage guidance on your company’s products and services.
Beyond handling tickets, they also provide emotional support by ensuring customers feel heard, valued, and reassured throughout the interaction. This, in turn, strengthens customer trust and loyalty.
Support agents play a vital role in enhancing customer satisfaction—which indirectly drives ROI through repeat purchases—but they are not sales representatives or marketers. Marketers and sales reps acquire customers and sell.
On the other hand, support agents retain these customers and boost repeat purchases through efficient assistance.
4 primary responsibilities of a support agent
A support agent's primary responsibilities include serving as the first point of contact, handling queries, providing proactive support, and gathering essential feedback.
1. Serving as a brand's first-line contact
When things go wrong, customers become frustrated and demand to speak with anyone—even the CEO. Your support agents step in to act as the first line of defense, de-escalate situations, and provide solutions professionally.
They also represent your brand through every empathic response, ensuring customers leave with a positive experience and a lasting impression of excellent service.
2. Handling customer inquiries
Customer support agents handle all customer inquiries. Depending on the technicality of the query, they might sometimes involve a specialist or higher executive.
For instance, if a customer has a dispute over billing that involves policy exceptions, your agent might need to coordinate with or escalate to a higher executive for approval.
3. Providing proactive support
Support agents detect customer needs ahead of time and promptly contact them even before they log a complaint. This helps reduce inbound tickets and boosts customer satisfaction.
As an omnichannel customer support platform, Plivo CX’s proactive service enables your support team to provide a more refined and automated proactive support.

4. Gathering feedback to optimize product offerings and marketing
Your support agents are the most valuable source of feedback since they interact with customers daily. They can help you gather recurring concerns, pain points, and suggestions that drive meaningful product improvements.
Plivo CX’s metrics tool automates this feedback collection process and ensures your agents focus on core tasks instead.

Essential soft skills of a good support agent
Being a support agent involves not only resolving queries but also understanding and communicating with customers on a personal level. This is why certain soft skills, beyond technical competency, are essential when recruiting one.
Active listening and empathy
Active listening involves paying close attention to every word and emotion communicated rather than focusing solely on the problem.
Unsurprisingly, active listeners excel at expressing empathy since they’re more likely to understand how customers feel better. This deeper connection allows them to communicate effectively, provide reassurance, and de-escalate tense situations.
Good communication skills
A good support agent must convey their points concisely while considering the appropriate tone.
They know when to avoid passive-aggressive words such as “actually, ought to,” colloquialisms, and slang to maintain clarity.

Adaptability
Different customers present with different complaints, personalities, and communication styles. Some are patient and easy to communicate with, whereas some are aggressive and impatient.
So, a one-size-fits-all approach won’t work, and that’s why an ideal support agent must be able to adapt to each high and low while maintaining efficient support delivery.
Problem-solving skills
Customer support playbooks are valuable, but not every customer complaint will fit neatly into predefined solutions. Situations like this require your support agent to think outside the box while staying within your company’s guardrails.
A good support agent must be able to devise quick solutions to new problems and escalate as soon as possible when necessary.
6 steps to hire the right support agent and build a functional support team
Your support team can either make or mar your business. Hiring the right agent and building a functional team is, therefore, essential. Let’s see how to do that.
1. Define your staffing needs and ideal agent
You can figure out how many support agents to hire based on your historical ticket volume, scale of business expansion, and anticipated growth in the next quarters. This ensures you don’t over-hire and bloat your expenses or under-hire and cripple your support delivery.
Plivo CX’s reporting and metrics tool provides a comprehensive ticket summary, which helps you determine your historical ticket volume.

Simultaneously, you need to define who your ideal agent is—that is, the skills they should preferably possess, availability, technical proficiency, lingual capacities, and experience. You can diversify your recruitment process if you’re catering to multilingual audiences.
Once you’ve identified your staffing needs and ideal candidate profile, you can post your job listing on your company’s career page and on popular job boards like LinkedIn to attract qualified applicants.
2. Prioritize agents with empathy and problem-solving skills
You need a team of agents who can dialogue with different kinds of customers, resonate with them emotionally, and make them feel heard while providing adequate support. That’s why you should prioritize agents with empathy.
Also, look for agents with strong problem-solving skills—someone who can think quickly on their feet and provide solutions to out-of-the-script problems.
Tools like TestGorilla and Testify help you assess your applicant’s skills and ability to address different scenarios. For a more tailored assessment, present candidates with real scenarios or past customer complaints from your database and ask them to resolve the issue.
3. Test for relevant technical competency
Technical competency is your support agent’s ability to resolve customers’ technical queries. This could include troubleshooting software issues and providing answers to product-specific technical queries.
Usually, your agents don’t need to be tech geeks or specialists for L1 tickets. An entry-level customer support agent with the necessary soft skills can do a great job here.
However, it’s a different ball game for agents managing L2 and L3 tickets. They should have the necessary expertise to manage complex and product-related technical issues like specialists.
This primarily hinges on their hard skills portfolio, which you need to consider when hiring. Provide real-world scenarios to assess these skills and ensure they genuinely have what it takes to be your ideal agents.
4. Provide comprehensive agent training
From the onboarding stage, you need to identify the gaps in your hires’ competencies and design individualized or group training to boost their efficiency. Training can include soft skills, lingual capacity, and upskilling hard skills for more proficiency.
Agent training is not a one-time process. Plivo CX’s coaching tools help your agents leverage past interactions with customers to continuously refine their delivery—how to respond or handle similar situations when they arise again.

5. Equip your support agents with AI-powered tools
Gartner notes that more than 80% are either using or planning to integrate AI-powered chatbots in 2025. Advanced chatbots are essential because they can handle the majority of L1 tickets, thus freeing up your agents to do other complex tasks.
An example is Plivo CX’s openAI-powered AI chatbot, which can leverage your database in real time to make decisions, autonomously handle refund requests, modify orders, and make personalized recommendations.

Your team also needs an omnichannel platform that centralizes all communication channels into a single dashboard. This allows agents to access everything they need without constantly switching tabs, ultimately improving response time and efficiency.
An example is Plivo CX’s unified agent desktop designed to eliminate data silos, unify all incoming customer requests, and integrate with homegrown systems, CRM, ERP, helpdesk, and more.

6. Establish KPIs and reasonable expectations
Establish KPIs, such as first response time, average resolution time, and first contact resolution, to assess the efficiency and effectiveness of your support agents.
Customer Satisfaction Scores (CSATs) will help determine whether customers are getting the help they need and how they need it.
Plivo CX’s agent metrics and reporting tool enables you to monitor and measure your support agent’s performance while exposing gaps that need filling.

You also need to set individualized, SMART expectations and goals for your support agents. Ensure each agent does not handle more tickets—whether in quantity or complexity—than they can. This will reduce the incidence of customer service burnout and enhance the quality of your support delivery.
Scale your customer support operations with Plivo CX
Hiring the right support agent is just one part of building a functional customer support team. You also need to provide them with the right tools to enhance their efficiency and effectiveness.

That’s where Plivo CX comes in.
As an omnichannel platform designed to streamline support delivery, Plivo CX offers a unified agent desktop to centralize your support channels, multilingual AI-powered voice support, and OpenAI-powered chatbots to slash your ticket queue.
We also offer:
- Seamless integrations: Connect Plivo CX with your existing tools, including CRM, ERP, helpdesk, and more.
- Data-driven optimization: Track real-time analytics and generate custom reports to gain insights into customer interactions and agent performance.
- AI-enhanced efficiency: Prioritize urgent tickets, ensure brand consistency, and adapt quickly to changes with AI-powered support.
- Rich communication: Enhance interactions with multimedia support, including images, videos, and documents.
- Increased productivity: Streamline workflows with message templates, internal notes, and skills-based routing.
- Comprehensive features: Leverage call recording, IVR, multi-language support, and robust security features for a complete solution.
Book a demo today and start building a world-class support team with Plivo CX.

The Power of Multilingual Customer Support: 7 Must-Know Strategies
Multilingual customer support enhances user experience and expands global reach. Let’s explore its benefits and best practices for implementation.
It’s ten minutes past 2 pm. A new high-value customer submits a technical complaint—but, in Spanish. The problem? None of your service reps speak Spanish.
Now, you have only two options.
First, you say, “Thank you for reaching out. We currently accept queries only in English. Please resend your message in English so we can assist you. Thank you for your understanding!"
Or, you scramble from Google’s translator to other free versions of online interpreters, which might give you an inaccurate response.
Whichever you choose, your customer will likely not find it encouraging. Your inability to efficiently serve customers in their native language passes a message; that they’re not a valued part of your brand.
According to Hyken’s report, 65% of consumers want to be treated valuably. Failure to deliver this expectation results in a poor support experience, increased churn rates, and a negative brand reputation.
To avoid such outcomes, you need to implement multilingual customer support, and this article will show you how to do that.
What is multilingual customer support?
Multilingual customer support is the ability to provide consistent, high-quality assistance in multiple languages to your customers while accounting for geographical, cultural, and contextual differences that influence communication.
As your business scales, there is also an increasing need to serve a diverse market audience. This mandates your support team to be capable of sustaining interactions with individuals of different languages outside your native business borders.
Even within your business borders, you’re bound to interact with customers of different linguistic needs. According to the United States Census record, the number of residents who utilize other languages besides English has nearly tripled in the last decade.
So, you must be ready to cater to this diversity once necessary.
Benefits of multilingual customer support
Multilingual support increases customer satisfaction, boosts retention, and ensures you can tap into diverse markets for more opportunities. Here’s how it does that:
Improved customer satisfaction
According to Unbabel’s 2021 multilingual CX report, one in three global consumers cite a lack of multilingual support as their top concern in localized customer experience.
Uni- or bilingual provisions lead to frustration since your customers can’t express themselves the way they want, and this culminates in a bad customer experience.
On the other hand, providing multilingual support can enhance customer satisfaction and boost your customers’ LTV. This explains why 64% say they will pay more for a service or product if the brand offers a multilingual support service.
Higher customer retention
57% of global consumers see it as a bias when a brand fails to offer multilingual support. Two in three will also switch to another brand if their current brand does not offer broader language support.
But what happens if you fill up this communication gap? 73% of respondents in Unbabel’s survey say they will remain loyal.
This means multilingual provisions can help you retain your existing customers and also gain an edge over your competitors in attracting new ones.
Interestingly, 40% of consumers will likely overlook poor customer service many times if it is offered in their native language. This gives you enough time to address issues plaguing your support delivery before customers bounce.
Broader reach and competitive advantage
Scaling your business often requires crossing borders and serving new audiences. Multilingual support ensures you can easily resolve the issues coming up in these regions, eliminate communication barriers, and rapidly build a robust brand reputation.
Also, multilingual support can serve as the spearhead of your competitive advantage in new markets. That’s because your potential customers will likely choose you over competitors who do not offer multilingual support, all things being equal. So, you can make it a focus of your marketing strategy.
7 must-know strategies to implement multilingual support
One in four consumers say they will not spend more than $500 on brands offering limited language support. You can avoid this by implementing a sturdy multilingual support system.
Let’s go through how you can do that.
1. Be upfront about your available language options
First, inform your customers and audience about your current capacity. Include the languages you support on your website, applications, social media profiles, and customer support pages.

This helps to manage customer expectations and reduce frustrations pending the time you make provisions for multiple languages.
2. Embrace diversity in recruitment
The most direct approach to creating a multilingual support system is to recruit multilingual customer service reps. These reps are especially crucial for managing L2 and L3 tiers of requests that AI might not be able to handle.
Ensure you have at least one native or non-native representative for each region you serve. You can also organize language training for your existing service reps instead of overhauling the entire team.
This reduces your employee acquisition cost and helps you work with people already in tandem with your support operations.
3. Use AI chatbots to provide multilingual support
Advanced AI chatbots use ML and NLP to analyze user inputs such as complaints and provide appropriate responses while leveraging customer data. This is like having an inbuilt translation system, making them a good fit for handling multilingual L1 requests regardless of the language.
As an omnichannel platform designed to scale your support team, Plivo CX offers an OpenAI-powered chatbot capable of handling multilingual tickets and addressing your customers in the language they choose.

4. Integrate multilingual voice support
According to a 2024 report from Statista, 54% of customers prefer to resolve issues via phone calls over other digital channels and email. To cater to this group, you need to integrate multilingual voice support technology.
An example is Plivo CX’s voice software, which prompts your customers to choose their preferred language from over 27 supported languages right on the call.
With an integrated programmable IVR, your callers can self-select options for quicker routing, shorter wait times, and faster resolution.

5. Offer language preferences in self-service options
Self-service options include FAQs, knowledge bases, chatbots, AI-powered virtual assistants, and community forums. Your customers must be able to choose their preferred language of interaction on all of these platforms in order to cater to their needs.
Additionally, ensure that automated responses, IVR systems, and in-app customer support are available in multiple languages.

6. Train support agents in cultural sensitivity
Multilingual support should cater to lingua-cultural nuances that affect communication. Otherwise, you risk irking your customers.
For instance, there are certain words or expressions that might be normal in American English but seen as aggressive in British English.
One example is the word “sure.” To an American, it’s simply a means of acknowledgment. But it could come off as passive-aggressive to a non-American.
Train your support reps to understand these nuances and avoid them when speaking with individuals of different cultural backgrounds.
7. Localize knowledge base and FAQs
Language location refers to adapting your website content to a visitor’s regional language based on factors like their browser settings, IP address, or geographical location.
o do this, you first need to translate your knowledge base and FAQs into the different languages you support. You can do this manually or with AI. Then let your web development team handle the transitioning.
This method spares customers the hassle of manually selecting their preferred language. However, you should still offer a visible option on your support pages for them to adjust language preferences if needed.
Deliver modern multilingual support with Plivo CX
Language differences stifle quality support delivery and effective communication.
To help you, Plivo CX offers a multilingual omnichannel support system through its Unified Agent Desktop, OpenAI-powered agentic chatbot, and inclusive voice support to help you overcome these challenges.
We also offer:
- Seamless integrations: Connect Plivo CX with your existing tools, including CRM, ERP, helpdesk, and more.
- Data-driven optimization: Track real-time analytics and generate custom reports to gain insights into customer interactions and agent performance.
- AI-enhanced efficiency: Prioritize urgent tickets, ensure brand consistency, and adapt quickly to changes with AI-powered support.
- Rich communication: Enhance interactions with multimedia support, including images, videos, and documents.
- Increased productivity: Streamline workflows with message templates, internal notes, and skills-based routing.
- Comprehensive features: Leverage call recording, IVR, multi-language support, and robust security features for a complete solution.

SMS Lead Generation: Everything You Need to Get Started
Struggling with SMS lead generation? Learn how Plivo CX's AI-powered SMS marketing helps e-commerce brands drive conversions, automate campaigns & boost ROI.
Let’s be real—getting leads isn’t the problem. Getting them to engage? That’s the real challenge. You can have the best offer, but if your message is not seen, it won’t get results.
The good news is that SMS is breaking through the noise. In fact, 76.2% of consumers say SMS is more effective at generating actions that lead to a purchase than email.
Why? Because texts land directly in your customer’s hands—no spam filters, no distractions, just instant, personal communication.
SMS lead generation is quickly becoming a cornerstone of modern marketing. In this article, we’ll dive into why SMS lead generation is rapidly becoming a must-have for businesses looking to engage, convert, and grow their customer base.
Why SMS is an effective lead generation tool
SMS marketing is a powerful tool for lead generation. It helps businesses build and nurture a qualified audience directly through SMS. Here are some key advantages that make SMS so effective for lead generation:
High open rates & immediate attention
Text messages are almost always read – often within minutes. Studies confirm SMS open rates around 98%, higher than email. The immediate visibility means your lead-gen offers (coupons, event invites, etc.) get seen right away, capturing customer attention in real time.
💡 Pro tip: Time your SMS campaigns strategically—sending messages when customers are most active can increase engagement and conversions.
Direct & personal communication
SMS creates a direct and personal connection between brands and potential customers. With the ability to personalize messages based on customer preferences, past interactions, or purchase history, SMS helps brands build stronger relationships and trust.
Example: "Hi [Name], your favorite moisturizer is back in stock! Shop now before it’s gone: [link]."
💡Pro tip: Use first names, purchase history, or location-based offers to make SMS messages feel even more relevant and personal.
Real-time engagement
SMS enables businesses to engage with customers instantly. This makes SMS a preferred medium for promotions, updates, and limited-time offers. It allows for two-way conversations, where businesses can answer questions and send timely reminders when a lead is most interested.
💡 Pro tip: Use SMS for flash sales or time-sensitive deals—customers are more likely to act quickly when they receive an offer with a clear deadline.
Cost-effective marketing
SMS campaigns are a cost-effective way to engage potential customers and increase sales. With message costs ranging from $0.015 to $0.050 per SMS, businesses can reach large audiences without significant money spent.
Despite the low cost, SMS generates high response rates and a strong return on investment, making it an excellent text message lead generation tool for lead nurturing, promotions, and customer retention. For budget-conscious marketers, SMS offers maximum impact with minimal expense.
Example 1: A boutique clothing store replaces printed discount flyers with SMS promo codes, saving on printing costs while directly reaching active shoppers.
Example 2: Instead of investing in costly retargeting ads, a home décor brand uses SMS flash sale alerts to attract customers for exclusive discounts and limited-time offers
Automation & scalability
With SMS automation, businesses can send messages to thousands of customers efficiently. Automated workflows allow brands to set up welcome messages, abandoned cart reminders, or follow-ups without manual effort.
Whether you’re targeting a small segment or a nationwide audience, SMS can scale to meet your needs
💡 Pro tip: Set up an automated drip campaign to send SMS messages over time. This helps to guide potential customers toward a purchase.
Together, these advantages explain why more businesses are leveraging SMS for lead generation.
Proven SMS techniques for lead generation
You know SMS works—but how do you use it to drive more leads? Here are some tested strategies that top brands rely on to turn texts into conversions.
Offer exclusive content or discounts
People love getting something extra, especially when it feels exclusive. By offering discounts, special deals, or early access to new products via SMS, you create an immediate incentive for customers to respond.
Make sure your offer is time-sensitive to create urgency, which further motivates recipients to act quickly. Phrases like “For you only,” or “Exclusive offer just for our subscribers” can make recipients feel valued and increase the chances of conversion.

Create compelling CTAs for immediate action
Create your SMS messages with a clear, strong call-to-action (CTA) that urges instant response. Since texts are typically read quickly and have a character limit, use that brief moment to spark action.
Pro tip: Use action-oriented language like “Claim your offer now,” “Get started today,” or “Shop while stocks last” to prompt immediate responses.

Lead generation through SMS thrives when your CTA is clear, direct, and compels the recipient to act fast.
Use opt-in keywords and shortcodes
Simplify the process of joining your SMS list through keywords and shortcodes. For instance, you might advert JOIN to 12345 for updates.” This text-to-subscribe approach makes opt-ins instant. A customer sends a one-word text and is automatically added to your campaign.
Example:
A fitness apparel brand wants to grow its SMS list. They advertise:
“Text FIT to 56789 for 15% off your first order and exclusive updates!”
By texting “FIT” to 56789, customers are instantly added to the SMS list. This quick, frictionless opt-in process allows leads to sign up easily with just one text.
Pro tip: Make sure to choose an easy-to-remember keyword related to your campaign (e.g., text SALE, VIP, DEMO, etc.).
Segment your audience for targeted campaigns
One-size-fits-all messaging yields mediocre results. Instead, segment your SMS leads based on factors like demographics, purchasing behavior, and engagement history.
Example:
An online clothing store wants to send targeted offers. They segment their audience into two groups: frequent shoppers and seasonal browsers.
- Frequent shoppers: Receive exclusive offers like “Thanks for being a loyal customer! Enjoy 25% off your next order.”
- Seasonal browsers: Receive a message like “Welcome back! Get 15% off your next purchase, just for you.”
Businesses that segment their SMS campaigns see higher conversion because the messaging is more personalized and on-point.
Utilize SMS automation for timely follow-ups
Don’t rely on manual texting, set up automated SMS workflows that send follow-up messages, reminders, or abandoned cart notifications. These automated texts can remind customers about products they’ve left behind, share additional offers, or provide updates on the status of their orders.
SMS automation ensures no customer is left unattended and helps move prospects down the funnel with well-timed nudges.
Example:
An online home goods store uses SMS automation to follow up with leads.
- Welcome message: As soon as a customer subscribes, they receive an immediate “Welcome! Get 10% off your first order. Shop now!”
- Follow-up offer: If the customer hasn’t made a purchase within two days, they receive a reminder: “Still thinking it over? Here’s 15% off your first order!”
By implementing these techniques, you can steadily grow your list of SMS leads and keep them actively engaged.
Best practices for SMS lead generation
While SMS is powerful, success largely depends on how you use it. Here are some best practices to ensure your SMS lead generation campaigns are effective and well-received:
Personalize and be relevant
Treat SMS leads like individuals, not numbers on a list. Use personalization wherever possible—greet recipients by name and tailor messages to their interests or past interactions.
For example, if you know a customer’s preferred product category, mention it. Personalization shows that your texts are for them, which improves response rates.
In this SMS (image below), they address the customer by name (Elizabeth) and highlight their status as a “Platinum Comfort Crew member.” Personal touches like this make the recipient feel special and valued.

Optimal timing and frequency
A staggering 90% of consumers respond to a text within 30 minutes, which underscores the importance of reaching your audience at the right moment.
To maximize engagement, aim to send texts between 10 AM and 8 PM, avoiding early mornings before 8 AM, late evenings after 9 PM, Mondays, and rush hours. Mid-afternoon often works best.
When it comes to frequency, it’s all about balance. Nearly 60% of smartphone users opt out of a brand’s messages when they feel overwhelmed by too many updates.
Pro tip: Space out your messages and keep them meaningful—aim for one or two valuable texts per week to avoid overwhelming your audience and maintain engagement.
Keep messages concise and clear
SMS has a character limit, which means you must communicate your message clearly and concisely. Your text should get to the point quickly, without any unnecessary fluff.
Focus on one core message in each SMS, whether it's an offer, update, or reminder. Use short, direct language, and avoid long sentences or paragraphs.

For example, instead of saying, “We have a new collection of products that we think you might like, and it’s available on our website,” say, “New collection just dropped! Shop now and get 10% off!”
If more detail is needed, include a link to a mobile-friendly landing page for the lead to learn more.
Track and analyze performance
Treat SMS campaigns like any other marketing effort – track the results and adjust the strategy accordingly. Monitor key metrics such as open rate, click-through rate, response rate, and conversion rate.
Also, pay attention to unsubscribe rates after each SMS campaign. Analyzing these data points will tell you what’s working and what isn’t. You can experiment with A/B testing for different CTAs, message lengths, or timing to see what drives the best results
For instance, you may find that messages sent on Friday evenings receive higher engagement or that one offer generates more conversions than another. Use this insight to refine your approach, perhaps adjusting send times, wording, or segment targeting.
The role of SMS marketing automation in lead generation
Automation simplifies lead generation by handling manual tasks, ensuring no lead slips through the cracks. With SMS marketing automation, businesses can send the right message to the right lead at the right time—without manual effort for each interaction. This makes capturing and nurturing leads easier, faster, and more efficient.
Here’s why SMS automation is so important and how it works:
Key benefits of SMS marketing automation
✅ Instant follow-ups: Automatically send a welcome message as soon as a lead opts in, keeping them engaged from the start.
✅ Personalized offers: Use customer data to send relevant offers, product recommendations, and reminders tailored to their interests.
✅ Higher conversion rates: Schedule automated follow-ups to nurture leads, recover abandoned carts, or re-engage inactive customers.
✅ Timely touchpoints: Ensure leads receive timely updates, promotions, and reminders without manual effort.
✅Scalable communication: With the right SMS lead generation tool, you can manage high volumes of leads with automated workflows. This frees up your team while maintaining consistent outreach.
As a robust omnichannel customer engagement tool, Plivo CX checks all the boxes for a reliable and efficient SMS lead generation platform.
With its user-friendly interface and powerful analytics tools, Plivo CX optimizes your SMS marketing for maximum impact and streamlines your lead generation and conversion process with automation.
As a testament to its efficiency, Deckers Brands found Plivo's queuing system to be a game-changer. Jacob Martine, project manager at Deckers Brands, states,
"With fewer worries about rate limits and batch sizes, our developers face less burden. If we need to send 50,000 messages, we simply send them all—Plivo handles the rest, delivering without us worrying about the process."
Drive more leads with SMS marketing powered by Plivo CX
E-commerce managers face a tough challenge—reaching customers at the right time is harder than ever. Manual campaign management takes too long, and generic messages don’t drive conversions. Without automation and personalization, it’s easy to miss opportunities to connect with potential buyers
Plivo CX is an all-in-one customer engagement platform designed to maximize SMS lead generation results. It brings together real-time delivery, intelligent automation, and data-driven insights so businesses can capture and convert more leads via SMS.
Here’s how Plivo CX can get more leads by elevating your SMS marketing:
- Powerful audience targeting: Build highly focused campaigns by syncing your e-commerce platform data or importing contacts. With the Audiences feature, segment audiences based on purchase behavior, engagement data, and demographics to send highly personalized SMS campaigns.

- Multi-channel engagement: Connect with your customers on their preferred channels—whether it's SMS, MMS, or Email. This increases the chances of meaningful interactions and conversions.
- AI-powered SMS personalization: Use the Copywriter AI to generate compelling, data-driven SMS messages instantly. Fine-tune your messages to resonate with your audience instantly.

- Send messages at the ideal time: Automate and schedule messages to align with optimal timings across different time zones, ensuring they reach customers when they are most likely to engage, maximizing impact.

- E-commerce integrations: Effortlessly connect with e-commerce platforms like Shopify, WooCommerce, BigCommerce, and Magento to personalize and send SMS directly from your e-commerce platforms.
- Track conversions & optimize ROI: Gain valuable insights into what resonates with your audience and continuously optimize your campaigns for maximum ROI.

With Plivo CX’s robust global messaging network covering 220+ countries, businesses can scale their SMS marketing effortlessly, reducing costs by up to 70% while tripling ROI.
Plivo CX users generate an average of $71 for every $1 spent, making it a must-have for data-driven, high-impact SMS campaigns.
Don’t let missed opportunities hold your business back—start driving more leads and conversions today with Plivo CX.

How to Add Two-Factor Authentication to a Ruby Application with Plivo
Plivo's SMS API and Voice API enables businesses to communicate with their customers at global scale. Sign up for free now.
Two-factor authentication (2FA) can play a key role in securing your applications against password data breaches. Authentication with a one-time password (OTP) delivered to your users over SMS is an effective approach to implementing two-factor authentication. Plivo’s premium direct routes guarantee the highest possible delivery rates and the shortest possible delivery times for your 2FA SMS messages. In this blog post, we walk you through a sample implementation of 2FA using the Plivo SMS platform and PHLO, our visual workflow builder.
Prerequisites
Before you get started, you’ll need:
- A Plivo account — sign up for one for free if you don’t have one already.
- An SMS-enabled Plivo phone number to send messages to the US and Canada. To search for and rent an available number, go to Phone Numbers > Buy Numbers on the Plivo console.

Create a PHLO to send OTP via SMS
PHLO lets you construct your entire use case and build and deploy workflows visually. With PHLO, you pay only for calls you make and receive, and building with PHLO is free.
To get started, visit PHLO in the Plivo console and click on Create New PHLO. A pop-up window gives you a list of prebuilt templates to start with. Choose Two-Factor Authentication and click Create Application to create a PHLO with the prebuilt components to build a workflow that can manage sending the OTP via SMS, with failover to use a phone call to deliver the OTP as a text-to-speech (TTS) message.
Use the PHLO in a Ruby application
We have a demo application available for this in our GitHub repository that you can clone to see how the implementation works.
- Clone the repository from GitHub.
- Change your working directory to 2fa-ruby-demo.
- Install the dependencies using the Gemfile file.
- Edit the config.yaml file. Replace the PLIVO_AUTH_ID, PLIVO_AUTH_TOKEN, PLIVO_NUMBER, and PHLO_ID placeholders with your own values.
PLIVO_NUMBER, and PHLO_ID placeholders with your own values.

Note: Enter your phone number in E.164 format.
Generate the OTP
Generate an exclusive six-digit authentication code. To create the OTP, use the time-based OTP generation algorithm. Here’s how it’s done in ruby.
Send OTP via SMS or a phone call
A single function helps us to trigger the PHLO to send SMS messages and make calls; the rest of the work is done by PHLO. Use the mode argument to tell PHLO whether to trigger a call or an SMS message by passing the value “sms” or “call.”
Verify the OTP
After the user enters the OTP they received on their handset, this ruby code verifies it.
Test
To run the application, start Redis using the redis-server command. Build and Run the app using the command $ ruby app.rb. You can use the URL http://localhost:3000/ to run the sample application in your browser.
On the browser page, choose your country and enter your mobile number, then click on Send Verification Code. Check your mobile phone — you should get an SMS message with an OTP code. Enter the code in the browser form and click Verify, and the application will confirm that you’re verified.
What if you don’t get the SMS message you were expecting, or you wait too long to enter the value you received? The application gives you a link so you can use a phone call as a fallback OTP channel. Click on “Didn’t receive sms? Call me.” You should then receive a call, and when you answer it, you’ll hear a text-to-speech message that gives you an OTP code, which you can use in the form for verification.
Simple and reliable
Edit the sample application to see how simple it was to code. Our simple APIs work in tandem with our comprehensive global network. Plivo’s premium direct routes guarantee the highest possible delivery rates and the shortest possible delivery times for your 2FA SMS and voice messages. See for yourself — sign up for a free trial account.

How to Add Two-Factor Authentication to a Dotnet Application with Plivo
Plivo's SMS API and Voice API enables businesses to communicate with their customers at global scale. Sign up for free now.
Two-factor authentication (2FA) can play a key role in securing your applications against password data breaches. Authentication with a one-time password (OTP) delivered to your users over SMS is an effective approach to implementing two-factor authentication. Plivo’s premium direct routes guarantee the highest possible delivery rates and the shortest possible delivery times for your 2FA SMS messages. In this blog post, we walk you through a sample implementation of 2FA using the Plivo SMS platform and PHLO, our visual workflow builder.
Prerequisites
Before you get started, you’ll need:
- A Plivo account — sign up for one for free if you don’t have one already.
- An SMS-enabled Plivo phone number to send messages to the US and Canada. To search for and rent an available number, go to Phone Numbers > Buy Numbers on the Plivo console.

Create a PHLO to send OTP via SMS
PHLO lets you construct your entire use case and build and deploy workflows visually. With PHLO, you pay only for calls you make and receive, and building with PHLO is free.
To get started, visit PHLO in the Plivo console and click on Create New PHLO. A pop-up window gives you a list of prebuilt templates to start with. Choose Two-Factor Authentication and click Create Application to create a PHLO with the prebuilt components to build a workflow that can manage sending the OTP via SMS, with failover to use a phone call to deliver the OTP as a text-to-speech (TTS) message.
Use the PHLO in a Dotnet application
We have a demo application available for this in our GitHub repository that you can clone to see how the implementation works.
- Clone the repository from GitHub.
- Change your working directory to 2fa-dotnet-demo.
- Install the dependencies using the package.json file.
- Edit the config.js file. Replace the PLIVO_AUTH_ID, PLIVO_AUTH_TOKEN, PLIVO_NUMBER, and PHLO_ID placeholders with your own values.

Note: Enter your phone number in E.164 format.
Generate the OTP
Generate an exclusive six-digit authentication code. To create the OTP, use the time-based OTP generation algorithm. Here’s how it’s done in dotnet.
Send OTP via SMS or a phone call
A single function helps us to trigger the PHLO to send SMS messages and make calls; the rest of the work is done by PHLO. Use the mode argument to tell PHLO whether to trigger a call or an SMS message by passing the value “sms” or “call.”
Verify the OTP
After the user enters the OTP they received on their handset, this dotnet code verifies it.
Test
To run the application, start Redis using the redis-server command. Build and Run the app from Visual Studio. You can use the URL http://localhost:5001/ to run the sample application in your browser.
On the browser page, choose your country and enter your mobile number, then click on Send Verification Code. Check your mobile phone — you should get an SMS message with an OTP code. Enter the code in the browser form and click Verify, and the application will confirm that you’re verified.
What if you don’t get the SMS message you were expecting, or you wait too long to enter the value you received? The application gives you a link so you can use a phone call as a fallback OTP channel. Click on “Didn’t receive sms? Call me.” You should then receive a call, and when you answer it, you’ll hear a text-to-speech message that gives you an OTP code, which you can use in the form for verification.
Simple and reliable
Edit the sample application to see how simple it was to code. Our simple APIs work in tandem with our comprehensive global network. Plivo’s premium direct routes guarantee the highest possible delivery rates and the shortest possible delivery times for your 2FA SMS and voice messages. See for yourself — sign up for a free trial account.
What is SMS? A Complete Guide to Building Better Customer Relationships via Text Messaging
Learn about the different types of SMS and what they mean for your business, including how to engage customers through text messaging.
SMS — short message services — is one of the best tools for building relationships with your customers. 81% of Americans use SMS every day, and more than three-quarters of Americans wish they could text with a business. SMS is one of the most popular and frictionless communication channels in the world.
How popular is SMS? According to Statista, more than 2 billion text messages were sent in America in 2019. According to Gartner, “various sources report SMS open and response rates as high as 98% and 45%, respectively.”
What Is SMS?
SMS, or text messaging, lets people send messages of up to 160 alphanumeric characters between cell phones and other computer devices. Most carriers support longer messages through “concatenated SMS,” which automatically segments messages longer than 160 characters into multiple text messages and combines them at the receiving end.
SMS is almost 30 years old. The first text message, sent in 1992, simply read, “Merry Christmas.” The service was first offered to consumers in 1993, and growth was slow, in part because, initially, consumers couldn’t exchange messages with people who had service on other carriers. Also, early “dumb” mobile phones had only numerical keypads, so sending alpha characters required multiple keypresses, using a system called T9 — short for “text on 9 keys.” After Nokia offered the first smartphone with a QWERTY keyboard in 1996, texting began to get easier.
SMS popularity increased in 2007 when the iPhone was released. CBS News reported that in the first quarter of 2006, Americans sent and received 65 texts per month. By the second quarter of 2008, Americans were sending and receiving a whopping 357 text messages a month — a 450% increase. “Nicholas Covey, director of insights for Nielsen Mobile, attributed the spike in messaging to the spread of QWERTY-style keypads, whose users send 54% more text messages than those with ordinary keypads,” the New York Times reported. By the fourth quarter of 2007, American cell phone subscribers sent more text messages than they made phone calls.
Since then, SMS usage has grown further. As of 2020, according to 99firms, 5 billion people in the world could send and receive SMS messages, and over 90% of text messages are read within three minutes.
Types of SMS: P2P and A2P
There are two primary types of SMS content: person-to-person (P2P) and application-to-person (A2P).
P2P SMS is what most people imagine when they think of text messaging. P2P SMS is generally conversational, and it takes place between real people, generally in real time.
A2P SMS comes in three varieties, as we explain in our SMS best practices guide:
- Informational messaging happens when a consumer gives their phone number to a business and asks to be contacted in the future.
- Promotional messaging occurs when a message is sent that contains a sales or marketing promotion.
- Transactional messages are non-marketing messages that provide important information to customers, such as a welcome message, an order confirmation, or a shipping update.
If a business wants to send SMS messages to customers, they have to take into account certain legal and regulatory considerations. For example, senders of A2P SMS messages must obtain consent from recipients, and they must send messages from an approved SMS number type.
Different countries have different requirements and regulations regarding A2P SMS, so businesses should check local rules.
Common ways businesses can leverage SMS
SMS is the most popular messaging platform, but not all businesses take advantage of it. In 2019, 54% of consumers said they wanted text messages from businesses, but a shockingly small 11% of businesses sent them, Small Business Trends reports.
That’s a shame, because it’s not difficult to automate communicating with customers through SMS. Automation allows you to send text messages to users to welcome them after they sign up for your service. You can remind them of sales and special offers, send order and delivery confirmations, and build community and closer relationships with your audience.
One Plivo customer, Jungleworks, “relies on SMS for coordinating order information, scheduling, reminders, and arrival ETAs. Using Plivo’s SMS API, Jungleworks keeps customers up-to-date with real-time text messages throughout the entire customer journey.”
Meanwhile, Houst uses Plivo to communicate via SMS directly with their customers. Houst’s use of SMS has grown exponentially but stayed reliable. Plivo allows them to “send messages from the same phone number for each property, which keeps a great consistency and user experience.”
Build better relationships with SMS messaging
Now you know what SMS is — a simple, modern communication method that your audience uses and likes. Take advantage of the popularity of SMS to talk directly with your customers in the way they prefer. Sign up for a free trial of Plivo.

How to Add Two-Factor Authentication to a Node.js Application with Plivo
Plivo's SMS API and Voice API enables businesses to communicate with their customers at global scale. Sign up for free now.
Two-factor authentication (2FA) can play a key role in securing your applications against password data breaches. Authentication with a one-time password (OTP) delivered to your users over SMS is an effective approach to implementing two-factor authentication. Plivo’s premium direct routes guarantee the highest possible delivery rates and the shortest possible delivery times for your 2FA SMS messages. In this blog post, we walk you through a sample implementation of 2FA using the Plivo SMS platform and PHLO, our visual workflow builder.
Prerequisites
Before you get started, you’ll need:
- A Plivo account — sign up for one for free if you don’t have one already.
- An SMS-enabled Plivo phone number to send messages to the US and Canada. To search for and rent an available number, go to Phone Numbers > Buy Numbers on the Plivo console.

Create a PHLO to send OTP via SMS
PHLO lets you construct your entire use case and build and deploy workflows visually. With PHLO, you pay only for calls you make and receive, and building with PHLO is free.
To get started, visit PHLO in the Plivo console and click on Create New PHLO. A pop-up window gives you a list of prebuilt templates to start with. Choose Two-Factor Authentication and click Create Application to create a PHLO with the prebuilt components to build a workflow that can manage sending the OTP via SMS, with failover to use a phone call to deliver the OTP as a text-to-speech (TTS) message.
Use the PHLO in a Node.js application
We have a demo application available for this in our GitHub repository that you can clone to see how the implementation works.
- Clone the repository from GitHub.
- Change your working directory to 2fa-node-demo.
- Install the dependencies using the package.json file.
- Edit the config.js file. Replace the PLIVO_AUTH_ID, PLIVO_AUTH_TOKEN, PLIVO_NUMBER, and PHLO_ID placeholders with your own values.

Note: Enter your phone number in E.164 format.
Generate the OTP
Generate an exclusive six-digit authentication code. To create the OTP, use the time-based OTP generation algorithm. Here’s how it’s done in Node.js.
Send OTP via SMS or a phone call
A single function helps us to trigger the PHLO to send SMS messages and make calls; the rest of the work is done by PHLO. Use the mode argument to tell PHLO whether to trigger a call or an SMS message by passing the value “sms” or “call.”
Verify the OTP
After the user enters the OTP they received on their handset, this Node.js code verifies it
Test
To run the application, start Redis using the redis-server command. Start a Node.js server by using the $ node app.js command. The Node.js server will run the app in localhost on 8000 port. You can use the URL http://localhost:3000/ to run the sample application in your browser.
On the browser page, choose your country and enter your mobile number, then click on Send Verification Code. Check your mobile phone — you should get an SMS message with an OTP code. Enter the code in the browser form and click Verify, and the application will confirm that you’re verified.
What if you don’t get the SMS message you were expecting, or you wait too long to enter the value you received? The application gives you a link so you can use a phone call as a fallback OTP channel. Click on “Didn’t receive sms? Call me.” You should then receive a call, and when you answer it, you’ll hear a text-to-speech message that gives you an OTP code, which you can use in the form for verification.
Simple and reliable
Edit the sample application to see how simple it was to code. Our simple APIs work in tandem with our comprehensive global network. Plivo’s premium direct routes guarantee the highest possible delivery rates and the shortest possible delivery times for your 2FA SMS and voice messages. See for yourself — sign up for a free trial account.
How to Add Two-Factor Authentication to a PHP Application with Plivo
Plivo's SMS API and Voice API enables businesses to communicate with their customers at global scale. Sign up for free now.
Two-factor authentication (2FA) can play a key role in securing your applications against password data breaches. Authentication with a one-time password (OTP) delivered to your users over SMS is an effective approach to implementing two-factor authentication. Plivo’s premium direct routes guarantee the highest possible delivery rates and the shortest possible delivery times for your 2FA SMS messages. In this blog post, we walk you through a sample implementation of 2FA using the Plivo SMS platform and PHLO, our visual workflow builder.
Prerequisites
Before you get started, you’ll need:
- A Plivo account — sign up for one for free if you don’t have one already.
- An SMS-enabled Plivo phone number to send messages to the US and Canada. To search for and rent an available number, go to Phone Numbers > Buy Numbers on the Plivo console.

Create a PHLO to send OTP via SMS
PHLO lets you construct your entire use case and build and deploy workflows visually. With PHLO, you pay only for calls you make and receive, and building with PHLO is free.
To get started, visit PHLO in the Plivo console and click on Create New PHLO. A pop-up window gives you a list of prebuilt templates to start with. Choose Two-Factor Authentication and click Create Application to create a PHLO with the prebuilt components to build a workflow that can manage sending the OTP via SMS, with failover to use a phone call to deliver the OTP as a text-to-speech (TTS) message.
Use the PHLO in a PHP application
We have a demo application available for this in our GitHub repository that you can clone to see how the implementation works.
- Clone the repository from GitHub.
- Change your working directory to 2fa-php-demo.
- Install the dependencies using the composer.json file.
- Edit the config.ini file. Replace the PLIVO_AUTH_ID, PLIVO_AUTH_TOKEN, PLIVO_NUMBER, and PHLO_ID placeholders with your own values.

Note: Enter your phone number in E.164 format.
Generate the OTP
Generate an exclusive six-digit authentication code. To create the OTP, use the time-based OTP generation algorithm. Here’s how it’s done in PHP.
Send OTP via SMS or a phone call
A single function helps us to trigger the PHLO to send SMS messages and make calls; the rest of the work is done by PHLO. Use the mode argument to tell PHLO whether to trigger a call or an SMS message by passing the value “sms” or “call.”
Verify the OTP
After the user enters the OTP they received on their handset, this PHP code verifies it.
Test
To run the application, start Redis using the redis-server command. Start PHP server by using the $ php -S localhost:8000 command. PHP server will run the app in localhost on 8000 port. You can use the URL http://localhost:8000/ to run the sample application in your browser.
On the browser page, choose your country and enter your mobile number, then click on Send Verification Code. Check your mobile phone — you should get an SMS message with an OTP code. Enter the code in the browser form and click Verify, and the application will confirm that you’re verified.
What if you don’t get the SMS message you were expecting, or you wait too long to enter the value you received? The application gives you a link so you can use a phone call as a fallback OTP channel. Click on “Didn’t receive sms? Call me.” You should then receive a call, and when you answer it, you’ll hear a text-to-speech message that gives you an OTP code, which you can use in the form for verification.
Simple and reliable
Edit the sample application to see how simple it was to code. Our simple APIs work in tandem with our comprehensive global network. Plivo’s premium direct routes guarantee the highest possible delivery rates and the shortest possible delivery times for your 2FA SMS and voice messages. See for yourself — sign up for a free trial account.

How to Build a Voice-controlled Virtual Assistant (IVR) in Go with Gin and Plivo
Plivo's SMS API and Voice API enables businesses to communicate with their customers at global scale. Sign up for free now.
A virtual assistant can help your business if you have clients who call your phone number. Interactive voice response (IVR) helps you to automate call reception by routing callers to the most appropriate department or the agent most qualified to meet their needs. Among its many advantages, IVR can provide increased operational efficiency, a stronger brand image, and better customer insights.
A voice-controlled virtual assistant is one step ahead of the legacy Touch-Tone/DTMF controlled one because of the flexibility it allows end-users. They can just speak into their phone’s microphone to provide input to control the call.
Building a voice-controlled virtual assistant using Plivo’s automatic speech recognition (ASR) feature in Go using the Gin application is simple. This guide shows you how to set up a voice-controlled IVR phone tree to a Plivo number and manage the call flow when the call reaches the Plivo voice platform. To see how to do this, we’ll build a rails application to receive an incoming call and use the GetInput XML element to capture speech input and implement a simple IVR phone system.
Prerequisites
Before you get started, you’ll need:
- A Plivo account — sign up for one for free if you don’t have one already.
- A voice-enabled Plivo phone number if you want to receive incoming calls. To search for and buy a number, go to Phone Numbers > Buy Numbers on the Plivo console.

- Golang, Gin, and Plivo go packages.
- ngrok — a utility that exposes your local development server to the internet over secure tunnels.
How it works

Create a Gin web application to create a voice-controlled virtual assistant
Once you’ve installed Golang, Gin, and Plivo go packages, create a simple Gin web application to handle incoming calls on a Plivo number. To handle an incoming call, you need to return an XML document from the URL configured as the Answer URL in the application assigned to the Plivo number. The Go SDK can manage the XML document generation, and you can use the GetInput XML element to capture speech inputs and implement a simple IVR phone system. Use this code:
Test the code locally
Save this code in any file (name the file something like virtual_assistant.go). To run this file on the server, go to the folder where this file resides and use the following command:
And you should see your basic server app in action on http://localhost:8080/virtual_assistant/.
Expose the local server to the internet using ngrok
Once you see the application working locally, the next step is to connect the application to the internet to return the XML document to process the incoming call. For that, we recommend using ngrok, which exposes local servers behind NATs and firewalls to the public internet over secure tunnels. Install it and run ngrok on the command line, specifying the port that hosts the application on which you want to receive incoming calls (8080 in this case, as our local Gin web application is running there):

Ngrok will display a forwarding link that you can use as a webhook to access your local server over the public network.
Test the link by opening the ngrok URL (https://59d9-49-206-115-115.ngrok.io/virtual_assistant/) in a browser or use HTTPie to check the XML response from the ngrok URL.

Connect the Gin web application to a Plivo number
The final step is to configure the application as a Plivo voice application and assign it to a Plivo number on which you want to activate the voice-controlled virtual assistant.
Go to the Plivo console and navigate to Voice > Applications > XML, then click on the Add New Application button in the upper right.
Provide a friendly name for the application — we used “App-Virtual-Assistant” — and configure the ngrok URL https://59d9-49-206-115-115.ngrok.io/virtual_assistant/ as the Answer URL. Select the HTTP verb as POST, then click Create Application.

Now go to Phone Numbers > Your Numbers and click on the number to which you want to assign the application. From the Plivo Application drop-down, choose the voice application you just created. Finally, click Update Number.

Test the application
Make a phone call to the Plivo number you selected. You should see that the VirtualAssistant rails application automatically routes the call to the Sales and Support departments based on the speech inputs received on the call.
And that’s how simple it is to set up a voice-controlled virtual assistant on a Plivo number and handle it using XML documents using Plivo’s Plivo’s Ruby SDK and a rails application. You can implement other use cases on the Plivo Voice platform, such as phone system IVR, call forwarding, and number masking, as your business requires.
Haven’t tried Plivo yet? Getting started is easy and only takes five minutes. Sign up today.
Transparent pay-as-you-go pricing puts Plivo on top
Pay-as-you-go pricing is a key Plivo advantage. Compare our pricing page and Twilio’s and see how much you can save.
One of the key advantages of cloud computing is the ability to pay for only the resources you use. It’s true of the hardware resources you save if you spin up cloud instances, and it’s true of SaaS software like Plivo.
Using the cloud for computing and storage resources is a huge win over buying hardware. Hardware is expensive. It’s not easy to scale up as your needs change. It requires administrators to install and maintain it. And often it sits underutilized, meaning you’re not getting the full value out of your precious capital expenditures.
The same advantages apply to cloud software. You don’t have to pay an annual license fee (though you may have to pay an annual or monthly subscription fee). You don’t have to install anything, so you need fewer sysadmin resources. Your software doesn’t get out of date — you’re always working with the most recent version. There’s no contract to sign. The SaaS provider handles everything from security to availability — all you have to do is hand over your credit card.
With Plivo, the benefit is even bigger, because Plivo is pure pay-as-you-go — simple usage-based pricing. Check out our pricing page. Every phone call you make or receive, every text message you send or receive costs the same amount, and we tell you what you’ll pay in black and white right on our website, so you can see what Plivo costs compared to what our competitors charge — if they’re as transparent about their pricing as we are. There are no hidden fees or surcharges — what you see is what you pay.
Or rather, we should say, what you see is the most you’ll pay. If you commit to using Plivo for a certain level of voice and messaging traffic every month, we’ll give you a volume discount. You should talk to our sales team about how much of a discount you can enjoy for your individual use case.
To get you started, we have another great pricing scheme — free. Sign up for Plivo and we’ll give you free credits so you can see how easy it is to send messages and make voice calls with our APIs and our cloud communications platform. We have great getting started documentation and free 24/7 support. The sooner you try us out, the sooner you can start saving.

How to Build a Call Forwarding App in Go with Gin-Gonic and Plivo
Plivo's SMS API and Voice API enables businesses to communicate with their customers at global scale. Sign up for free now.
Businesses use call forwarding all the time to route incoming calls to available agents, extensions, or departments that cater to the caller’s needs. Creating a call forwarding app is simple when you use Plivo’s Go SDK. This guide shows you how to receive incoming calls on Plivo numbers and manage the call flow once a call reaches the Plivo voice platform. To see how to do this, we’ll build a Go Gin application to forward the call to a mobile number using the Dial XML element.
Prerequisites
Before you get started, you’ll need:
- A Plivo account — sign up for one for free if you don’t have one already.
- A voice-enabled Plivo phone number if you want to receive incoming calls. To search for and buy a number, go to Phone Numbers > Buy Numbers on the Plivo console.

- Golang, Gin, and Plivo go packages.
- ngrok — a utility that exposes your local development server to the internet over secure tunnels.
How it works

Create a Gin web application to forward incoming calls
Once you’ve installed Golang, Gin, and Plivo go packages, create a simple Gin web application to handle incoming calls on a Plivo number. To handle an incoming call, you need to return an XML document from the URL configured as the Answer URL in the application assigned to the Plivo number. The Go SDK can manage the XML document generation, and you can use the Dial XML element to forward the call to a mobile number. Use this code:
Test the code locally
Save this code in any file (name the file something like forward_call.go). To run this file on the server, go to the folder where this file resides and use the following command:
And you should see your basic server app in action on http://localhost:8080/forward_call.
Expose the local server to the internet using ngrok
Once you see the application working locally, the next step is to connect the application to the internet to return the XML document to process the incoming call. For that, we recommend using ngrok, which exposes local servers behind NATs and firewalls to the public internet over secure tunnels. Install it and run ngrok on the command line, specifying the port that hosts the application on which you want to forward incoming calls (8080 in this case, as our local Gin web application is running there):

Ngrok will display a forwarding link that you can use as a webhook to access your local server over the public network.
Test the link by opening the ngrok URL (https://e67a-49-206-115-115.ngrok.io/forward_call) in a browser or use HTTPie to check the XML response from the ngrok URL.

Connect the Gin web application to a Plivo number
The final step is to configure the application as a Plivo voice application and assign it to a Plivo number on which you want to forward incoming calls.
Go to the Plivo console and navigate to Voice > Applications > XML, then click on the Add New Application button in the upper right.
Provide a friendly name for the application — we used “App-call-forward” — and configured the ngrok URL https://e67a-49-206-115-115.ngrok.io/forward_call as the Answer URL. Select the HTTP verb as POST, then click Create Application.

Now go to Phone Numbers > Your Numbers and click on the number to which you want to assign the application. From the Plivo Application drop-down, choose the voice application you just created. Finally, click Update Number.

Test the application
Make a phone call to the Plivo number you selected. You should see that the Gin web application automatically forwards the call to the phone number configured in the call forwarding app.
And that’s how simple it is to receive an incoming call on a Plivo number and forward it using XML documents using Plivo’s Go SDK and a Gin web application. You can implement other use cases on the Plivo Voice platform, such as phone system IVR, receive DTMF/Speech inputs, and number masking, as your business requires.
Haven’t tried Plivo yet? Getting started is easy and only takes five minutes. Sign up today.

How to Build a Voice-controlled Virtual Assistant (IVR) in Ruby Using Rails and Plivo
Plivo's SMS API and Voice API enables businesses to communicate with their customers at global scale. Sign up for free now.
A virtual assistant can help your business if you have clients who call your phone number. Interactive voice response (IVR) helps you to automate call reception by routing callers to the most appropriate department or the agent most qualified to meet their needs. Among its many advantages, IVR can provide increased operational efficiency, a stronger brand image, and better customer insights.
A voice-controlled virtual assistant is one step ahead of the legacy Touch-Tone/DTMF controlled one because of the flexibility it allows end-users. They can just speak into their phone’s microphone to provide input to control the call.
Building a voice-controlled virtual assistant using Plivo’s automatic speech recognition (ASR) feature in Ruby using Ruby on Rails is simple. This guide shows you how to set up a voice-controlled IVR phone tree to a Plivo number and manage the call flow when the call reaches the Plivo voice platform. To see how to do this, we’ll build a rails application to receive an incoming call and use the GetInput XML element to capture speech input and implement a simple IVR phone system.
Prerequisites
Before you get started, you’ll need:
- A Plivo account — sign up for one for free if you don’t have one already.
- A voice-enabled Plivo phone number if you want to receive incoming calls. To search for and buy a number, go to Phone Numbers > Buy Numbers on the Plivo console.

- Rails and Plivo Ruby packages.
- ngrok — a utility that exposes your local development server to the internet over secure tunnels.
How it works

Create a Rails application to create a voice-controlled virtual assistant
First, you need to install Rails if you haven’t installed it already. Use the command gem install rails, or use bundler or RVM to install it. Add a new Rails project with boilerplate code with the command rails new myrailsapp. This will create a myrailsapp directory with the necessary folders and files for development. Then add the Plivo Ruby gem (gem ‘plivo’, ‘~> 4.16.0’) as a dependency in the gemfile and use the command bundle install to install it.
Once you’ve installed Rails and the Plivo Ruby SDK, change to the newly created myrailsapp project directory and run rails generate controller Plivo voice to create a Rails controller to handle incoming calls on a Plivo number. To handle an incoming call, you need to return an XML document from the URL configured as the answer URL in the application assigned to the Plivo number. The Ruby SDK can manage the XML document generation, and you can use the GetInput XML element to capture speech inputs and implement a simple IVR phone system. Use this code in the PlivoController class in app/controllers/plivo_controller.rb file:
Test the code locally
Add a route for the inbound function in the PlivoController class. Open the config/routes.rb file and add this line after the inbound route: get ‘plivo/virtual_assistant’. To run the code on the rails server, use the command rails server. You should see your basic server application in action on http://127.0.0.1:3000/plivo/virtual_assistant/.
Expose the local server to the internet using ngrok
Once you see the application working locally, the next step is to connect the application to the internet to return the XML document to process the incoming call. For that, we recommend using ngrok, which exposes local servers behind NATs and firewalls to the public internet over secure tunnels.
Install ngrok, but before you start the ngrok service, whitelist ngrok by adding it to the config.hosts list in the config/environments/development.rb file with this command. You’ll face a Blocked host error if you fail to add it.
Now run ngrok on the command line, specifying the port that hosts the application on which you want to receive messages (3000 in this case, as our local Rails application runs there):
Ngrok will display a forwarding link that you can use as a webhook to access your local server over the public network.

Test the link by opening the ngrok URL(https://e3b9-49-206-112-65.ngrok.io/plivo/virtual_assistant/) in a browser or HTTPie to check the XML response from the ngrok URL.

Connect the Rails application to a Plivo number
The final step is to configure the application as a Plivo voice application and assign it to a Plivo number on which you want to activate the voice-controlled virtual assistant.
Go to the Plivo console and navigate to Voice > Applications > XML, then click on the Add New Application button in the upper right.
Provide a friendly name for the application — we used “App-Virtual-Assistant” — and configure the ngrok URL https://e3b9-49-206-112-65.ngrok.io/plivo/virtual_assistant/ as the Answer URL. Select the HTTP verb as POST, then click Create Application.

Now go to Phone Numbers > Your Numbers and click on the number to which you want to assign the application. From the Plivo Application drop-down, choose the voice application you just created. Finally, click Update Number.

Test the application
Make a phone call to the Plivo number you selected. You should see that the VirtualAssistant rails application automatically routes the call to the Sales and Support departments based on the speech inputs received on the call.
And that’s how simple it is to set up a voice-controlled virtual assistant on a Plivo number and handle it using XML documents using Plivo’s Plivo’s Ruby SDK and a rails application. You can implement other use cases on the Plivo Voice platform, such as phone system IVR, call forwarding, and number masking, as your business requires.
Haven’t tried Plivo yet? Getting started is easy and only takes five minutes. Sign up today.
It’s easy to get started. Sign up for free.
Create your account and receive trial credits or get in touch with us.