
AI Voice Agents - The Complete Guide to Voice Chat (2025)
Learn everything about an AI voice agents, its benefits, implementation tips, and the AI voice chat applications for business success.
Longer wait times, high call volumes, and language barriers in call centers often frustrate customers. Complex interactive voice response (IVR) menus only add to the problem, leading to customer dissatisfaction. That’s why companies are adopting smarter self-service solutions like artificial intelligence (AI) voice agents. In fact, experts predict the voice bot market will reach $98.2 billion by 2027, showing a clear trend toward smarter solutions to improving customer experience.
AI voice agents technology combines Natural Language Processing (NLP), machine learning, and voice recognition to transform customer interactions. It provides quicker, more efficient service and improves the overall customer experience.
In this guide, we'll explore what AI voice agents are, their key features, practical use cases, and tips on how to implement a voice agent in your business.
What is an AI voice agent?
An AI voice agent is a two-way conversational tool that communicates with the customer. It automates inbound and outbound calls without human intervention and transfers calls to a human agent when needed.

The biggest advantage? Callers can navigate an IVR by speaking naturally, without listening to long, complex menus or pressing numbers on a keypad.
Popular AI voice agent examples include Apple's Siri, Google Assistant, and Amazon's Alexa. These tools simplify interactions, provide instant answers, and automate tasks. In contrast, advanced bots like IBM’s Watson Assistant and Microsoft’s Cortana handle customer support, sales inquiries, and internal communications.
Types of AI voice agents
Here’s a breakdown of the four main types of AI voice agents and how they can benefit your business:
Rule-based AI voice agent
Rule-based voice agent use predefined sets of questions and rules to offer answers or perform tasks. Such voice agents handle routine tasks and customer FAQs. They answer all queries that fall under the if-this-then-that logic.
For example, an e-commerce site using a bot to guide customers in checking their order status or a banking site handling routine inquiries like balance checks, bill payments, transaction histories, etc.
AI-assisted voice agent
AI-assisted voice agents use machine learning and natural language to interpret conversations so they can analyze the context and grasp what the speaker means. This makes them far more capable and user-friendly than the conventional, rule-based voice agents.
Let’s suppose a user asks Alexa, 'What's the weather tomorrow?' and then follows up with, 'How about next week?' it remembers the context. This adaptability means customers don’t have to repeat themselves, creating a more contextual customer experience.
Conversational AI voice agent
Conversational voice agents make conversations using natural language. They’re more nuanced than AI-assisted voice agents as they can handle complex conversations using everyday language to create more personalized interactions.

Google Duplex, and IBM Watson Assistant, are examples of conversational voice agents. They can make phone calls, make reservations, and handle natural conversations with a human-like tone.
Voice-activated voice agent
These bots use voice commands to answer practical questions and perform routine tasks. They are more flexible than personal voice agents that adapt to speakers and perform customized tasks.
Such bots serve as digital assistants to AI-assisted bots like Siri.
How does an AI voice agent improve customer engagement?
A customer calling your sales team wants to feel valued and understood. An AI voice agent does that. It puts the customer at the center, creating a better experience and driving business benefits as a result. Let’s understand it with a few use cases.
Use case: Get a quick update on order status, 24/7

Assuming the AI voice agent is integrated into your CRM, it greets the customer by name. Instead of navigating through a branched IVR to get their order status, the customer can simply say ‘order status’ and the voice bot pulls out the order details from the CRM and gives the user a real-time update within seconds.
Sheraz Ali, the Founder of HARO Links Builder states that their voice agent managed over 30% of customer interactions in one of their company projects and drastically reduced wait times.
“It also improved our response efficiency and led to a 20% increase in customer satisfaction scores and a reduction in operational costs within three months.”
Benefits:
- Decreased waiting time.
- Limited IVR menu navigation.
- No human intervention is required.
- Quick response times.
- Reduced business costs.
- Tangible increase in customer satisfaction.
Use case: Improve language learning for students

A language learning platform uses a voice agent to provide real-time translations and personalized tutoring. So the voice agent instantly supports students in any subject by translating and clarifying complex terms in their preferred language.
Benefits:
- Reduced requirement for multilingual staff.
- Increases inclusivity as the bot answers in the user’s preferred language.
- Language barriers are removed.
Use case: Improve patient outcomes in healthcare

It's easy to miss appointments or forget to deliver prescriptions to the patient’s home timely. A healthcare service can employ a voice agent to deliver personalized care and offer preliminary health assessments, medication reminders, and easy appointment scheduling, all according to the individual patient's needs.
Benefits:
- Saves time by streamlining appointment bookings.
- Ensures medication adherence with timely reminders.
- Reduces workload for healthcare providers with automated support.
Use case: Streamline routine financial services

Once integrated with the banking system, the voice agent automates routine financial tasks, provides instant account information, processes transactions, and delivers personalized financial advice around the clock.
Benefits:
- 24/7 access to financial services without wait times.
- Improves customer experience with quick, accurate responses.
- Automates routine tasks, freeing up staff for complex queries.
- Provides personalized advice to improve financial decision-making.
Use case: Get personal shopping assistance

An e-commerce platform can use a voice agent to assist customers with product selection, provide personalized recommendations, and automate the sales process from start to finish.
Benefits:
- Delivers a personalized shopping experience 24/7.
- Boosts sales with customized recommendations.
- Reduces cart abandonment by guiding customers to checkout.
- Improves customer satisfaction with fast, accurate service.
Features of an AI voice agent
To understand why voice agents are so effective, let’s look at the key features that improve the overall customer service experience while streamlining business operations.
The best voice agents for businesses come equipped with:
Natural language understanding (NLU)
An AI voice agent understands user queries by converting speech into text using AI and NLP. It then forms an appropriate response and converts it back into speech using text-to-speech (TTS) technology. This ability to understand and respond in natural, conversational language sets AI voice agents apart from traditional IVR systems, which rely on rigid, menu-based responses.

Personalization capabilities
Customers want quick, personalized responses to their queries, unlike complex IVR systems that frustrate them with lengthy menus. An AI voice agent offers contextual conversations, adapting to the user’s intent. It detects speech cues, skips irrelevant interactions, and also transfers calls to the right agent.
Hence, when comparing voice agents to IVRs, the bot's ability to offer personalized interactions like a human outshines communication systems that follow even the best IVR practices.
Multi-language support
AI voice agents break down language barriers, supporting multiple languages to provide a more inclusive and accessible customer experience. Businesses can easily connect with diverse customer bases across the globe.
For instance, Plivo supports speech recognition in 27 languages and their regional variants.
{{cta-style-1}}
Integration with other platforms and services
AI voice agents easily integrate with platforms like customer relationship management (CRM) systems, Enterprise resource planning (ERP) tools, and ticketing software. They access and update customer data in real time to ensure accuracy.
These bots also pull relevant details, automate follow-up actions, and sync with communication channels like email or chat. This creates a personalized and consistent customer experience across all touchpoints.
Benefits of voice agents
Let’s now look at the benefits of AI voice agents.
Enhanced user experience
Many businesses have concerns over the quality of a voice agent for customer service. However, a voice agent answers queries quickly regardless of the time of the day. Speedy, reliable answers are important to providing excellent service, making voice agents an invaluable tool for businesses looking to improve customer satisfaction.
Additionally, businesses can:
- Handle routine queries and common tasks faster than human agents.
- Remove the need for users to navigate complex IVR menus.
- Manage high-volume calls without errors.
Better cost efficiency
An AI voice agent doesn’t just save time, it also saves money. It boosts user satisfaction and reduces support times by automating repetitive queries. This frees up staff for higher-value tasks, and interacting with customers after hours has improved lead conversion.
The direct benefits to businesses are:
- Reduces the need for a larger customer support team.
- Allows human agents to focus on complex, high-value inquiries.
- Engages users outside business hours to boost marketing return on investment (ROI).
- Lowers training costs and minimizes the risk of providing incorrect information.
Accessibility for users with disabilities
With over one billion people living with disabilities worldwide, voice agents make services more inclusive. They enable hands-free, accessible interactions, allowing customers with visual, motor, or cognitive impairments to engage with the business easily. This not only improves customer satisfaction but also broadens the company’s reach to a more diverse audience.
Data collection and analysis for improved services
Voice agents don’t just serve customers — they also gather insights. Use this data to analyze data and improve services, personalize marketing efforts, and make more informed business decisions.
24/7 availability
Unlike human agents, voice agents are always accessible. They ensure customers get help whenever they need it, contributing to a more consistent and reliable customer experience.
Future of AI voice technology
As IBM's data engineer, Chris Hay puts it, "We're entering an era where every mom-and-pop shop can have the same level of customer service as an enterprise." This statement captures the transformative potential of voice recognition technology.
AI voice chat applications benefit businesses of all sizes by delivering top-tier customer experiences. Tech giants are already paving the way. Microsoft has updated its Copilot AI with advanced voice capabilities, allowing it to handle complex queries with natural language reasoning, while Meta has introduced voice AI to its messaging apps.
AI voice assistants will move beyond smartphones, integrating into wearable devices like the recently unveiled Meta Orion augmented reality glasses. For businesses handling sensitive client relationships, this could mean smarter, empathetic bots that mirror the tone and approach of a human assistant.
Key upcoming trends:
- Hyper-personalization: Customized voices and targeted recommendations.
- Advanced problem-solving: Managing complex queries using natural language.
- Real-time analytics: Analyzing customer tone for deeper insights.
Yet, challenges remain. Arvind Rongala, the founder of a skill-management solution provider, shares, “There are still issues, especially with data privacy and ensuring interactions are human-like. In addition to resolving problems with bias in training data and regulatory compliance, businesses must strike a balance between automation and personalization. For example, adhering to GDPR regarding the storage of voice data can be challenging, but doing so is essential to fostering trust.”
Ultimately, businesses need to prioritize data security, explore multi-device integration options, and develop stronger contextual understanding for natural interactions.
Launch an AI voice agent with Plivo
Any scaling business needs a voice agent that's easy to integrate, globally accessible, and cost-effective without sacrificing quality.
Plivo checks all these boxes, offering seamless integration, seven global points of presence for low-latency interactions, and competitive rates starting at just $0.0040 per minute. It's ideal for businesses willing to scale while keeping operational costs in check.
In fact, Plivo can reduce operational costs by up to 40%.
Moreover, its commitment to reliability is backed by a 99.99% uptime guarantee, with failover capabilities that switch within two seconds if any disruptions occur.
You can launch voice agents with Plivo using just a few lines of code.
- Log in to your OpenAI Account: Secure your API key and RealTime API access.
- Log in to your Plivo Account: Sign up and get a voice-enabled number.
With integration options for leading speech-to-text (STT) and TTS providers like Deepgram and ElevenLabs, you can launch AI voice agents in multiple regions, including India, using local numbers.
Use Plivo-powered voice agents for:
- Personal shopping assistance: Offer personalized recommendations, go through product selections, and close sales.
- Healthcare automation: Improve patient outcomes with medication reminders, and appointment scheduling, and offer preliminary health assessments.
- Inclusivity in education: Break language barriers in learning with real-time translations and personalized tutoring across multiple subjects.
- Routine financial services automation: Provide instant account information, personalized financial advice, transaction processing status, etc. to customers.
With a 24/7 AI voice agent, your business can handle these tasks around the clock, ensuring that customers are never left waiting. Want to improve customer experience with Plivo? Contact us today.
.jpg)
RCS Marketing 101: Your Complete Guide
Discover how RCS marketing delivers rich, branded messages that drive engagement for your business.
SMS marketing works, but let’s be honest: it feels a bit outdated compared to modern apps.
But what if you could send rich, interactive messages with branded content, images, buttons, and carousels straight to your customers’ native messaging apps?
Rich communication services (RCS) makes that possible.
If you’re ready to explore how RCS marketing can transform your engagement strategy, this guide will walk you through everything you need to know. Let’s get started.
What is RCS marketing?
RCS marketing uses rich communication services to send interactive, branded messages through a customer’s default messaging app. It’s a modern upgrade to SMS that lets businesses share images, buttons, carousels, and more — all without needing third-party apps.
A user on Reddit summed up this perfectly:

RCS lets you send messages that are visually branded with logos and colors while remaining interactive. This turns static updates into an app-like experience inside a message.
This shift is part of a broader industry move, led by Google and backed by major mobile carriers, to upgrade messaging infrastructure and make RCS the default standard on Android devices.
As support continues to grow, businesses are adopting RCS as part of their customer engagement strategy. Platforms like Plivo make that adoption easier with a reliable, enterprise-grade gateway to deliver rich, reliable RCS campaigns at scale.
RCS vs. SMS marketing: A quick comparison
Marketers today are looking for ways to deliver more interactive and visual communication, and RCS is clearly leading the way.
While SMS still works well for simple alerts, it lacks the creativity and engagement that RCS marketing offers.
Let’s take a quick look at RCS vs. SMS marketing.
4 key benefits of RCS marketing
RCS marketing makes messaging feel more natural for both you and your customers. And since you can see what’s working and what’s not, it’s easier to pivot your strategy and get better results.
Here are its four key benefits.
1. Improved user interaction
One of the biggest advantages of RCS marketing is how seamless it makes the experience for your customers. Instead of typing out replies or clicking a link to open a website, users can just tap a button right inside the message.
Want them to book a demo, check order status, or browse products? It’s all possible with just a tap.
Fewer steps mean less effort, and that leads to more people following through. In fact, individuals spend up to 37 seconds engaging with RCS messages, which is a lot longer than most other types of mobile messaging.

That extra time and interaction can make all the difference when you’re trying to convert interest into action.
2. Consistent brand experience
RCS marketing doesn’t just tell people who you are — it shows them.
Verified business profiles help people know they’re getting messages from the real brand. Every message shows your brand’s logo, name, colors, and a checkmark. These small details make it clear that the message is coming from a genuine source.

This consistency matters because 88% of people are more likely to buy from a brand they trust.
3. In-depth analytics
With RCS marketing, you can track open rates, button clicks, and how people interact with each part of your message.
You get clear visibility into what’s working and where users are dropping off.
This makes it much easier to measure the return on investment (ROI) and fine-tune your campaigns. The more you understand how people engage, the better you can shape your messaging for results.
4. Higher conversion potential
RCS marketing makes it easier for customers to take action — whether that’s browsing products, booking a service, or making a purchase — all within the message itself.
With fewer clicks and no need to switch apps, the path to conversion feels effortless. And when it’s that easy, more people follow through.
For example, EaseMyTrip used RCS to run a post-COVID travel survey. They added quick-tap answer options and followed up with a thank-you coupon. The campaign saw a 4x higher click-through rate than email, 10x more survey completions, and a 2.7% increase in conversion rate.
5 major use cases of RCS marketing
Here are five major use cases showing how brands are using RCS marketing effectively.
1. Product promotions
RCS makes product promotions feel more like browsing a store than reading a message. Brands can send image carousels that customers can swipe through to explore new arrivals, check product details, and see what’s available without leaving their messaging app.

2. Abandoned cart reminders
The average cart abandonment rate is over 70%, which means most shoppers never make it to the finish line. RCS marketing can help bring them back by making the reminder more engaging and easier to act on.
You can send a message that shows exactly what they left behind, along with a clear button to complete the purchase. It’s visual, straightforward, and the entire experience stays within their messaging app.
3. Appointment confirmations and reminders
A PhD thesis from Manchester Metropolitan University found that forgetfulness is the most common reason people skip their appointments.
RCS makes it easier for both businesses and customers to stay on the same page. You can send a message that shows the appointment details along with a simple calendar view. Add buttons to confirm, reschedule, or cancel — all within the chat.

4. Customer surveys and feedback
Getting feedback is important, but most customers lack the time or patience to complete lengthy forms. RCS marketing makes it easier by allowing brands to ask short, targeted questions and receive quick responses.
Plus, the rich features of RCS let you include images, ratings, or multiple-choice options, making feedback feel more like a conversation.
5. Customer support follow-ups
After a support request is resolved, following up shows customers you care and helps close the loop on their experience. But if the follow-up message gets buried in an email inbox or goes unnoticed, that opportunity to connect is lost.
With RCS marketing, you can send a quick message to check if everything’s working fine. You can include helpful buttons like “Change Password,” “Manage Account,” or “Talk to Support.”

RCS marketing myths and realities
Despite RCS marketing’s growing adoption and proven results, some common misconceptions still hold businesses back from trying it. Let’s look at a few of the biggest myths and what’s actually true.
Myth 1: RCS marketing is too expensive
At first glance, RCS business messaging can seem like a pricey upgrade. Rich visuals, tap-to-action buttons, and branded layouts look premium, so it’s easy to assume they come with a hefty cost.
But cost alone doesn’t tell the full story.
What you get in return matters more. RCS drives significantly stronger engagement with higher click-through rates, increased interactions, and better overall outcomes.
Take Club Comex, the loyalty program of North American paint brand Comex. They sent two rich and interactive RCS campaigns to their members and saw a 10x higher click-through rate, which helped increase revenue by 115%.
That’s the value side of the equation. Better targeting and richer content mean more people click, engage, and convert.
Myth 2: RCS marketing doesn’t reach enough users to be worth it
This concern made sense in the early days of RCS, when adoption was still catching up. But the landscape looks very different now.
In June 2024, the 12-month growth of RCS users reached 36.3%, showing faster uptake than other messaging channels. More Android devices support RCS by default, and it’s being rolled out across more networks globally. Even Apple has announced support, which means RCS is on track to reach a massive number of smartphone users worldwide.
With that kind of growth and widespread support, the hesitation around RCS is starting to fade. Brands can confidently invest in RCS marketing knowing it will connect with more customers than ever before.
Myth 3: RCS gets treated like spam and ends up ignored just like emails
Unlike email, RCS messages appear directly in the user’s primary messaging app alongside personal conversations. They include rich media and interactive elements, making them more engaging and less likely to be ignored.
This creates a more natural, conversational experience that drives higher open and response rates than traditional marketing channels.
Why choose Plivo for your RCS marketing needs
With RCS, you can turn simple messages into rich, branded conversations that feel more like chatting than broadcasting.
Plivo gives you the tools to make that shift without the hassle. From verified messaging to smart automation, everything works together to help you connect better and respond faster.
When combined with AI Agents and a unified customer data platform, RCS becomes more than just messaging. You can deliver personalized experiences at scale, automate everyday interactions, and keep conversations flowing without lifting a finger.
Here’s what you get with Plivo’s RCS API:
- Real-time personalization: AI Agents tailor conversations using customer profiles and behavior triggers to improve engagement and conversions.
- Multi-channel fallback: If RCS isn’t supported, messages automatically switch to SMS to ensure delivery and maintain consistent communication.
- Conversational automation: AI Agents handle FAQs, process orders, schedule deliveries, and route complex queries within RCS.
- All-in-one messaging platform: Manage RCS, SMS, WhatsApp, Voice, and more from a single dashboard.
- Reliable performance: 99.99% uptime and global infrastructure keep your campaigns running smoothly.
With Plivo’s no-code tools, you can quickly launch AI-powered RCS messaging across channels and deliver a consistent customer experience from day one.
See how you can launch your first RCS marketing campaign with Plivo by requesting a demo today!

WhatsApp Agent Setup: How to Launch AI-Powered Conversations at Scale
Learn how WhatsApp agent setup works using Plivo to launch AI-powered, no-code agents that handle support, sales, and engagement at scale.
Your customers are on WhatsApp but are your agents?
If you’re still relying on manual replies, scripted chatbots, or email follow-ups, you’re leaving response time and revenue on the table.
The smarter path? AI-powered WhatsApp agents. They’re full-service, no-code agents that can resolve issues, qualify leads, and send personalized offers 24/7.
In this guide, we’ll walk you through WhatsApp agent setup using Plivo and understand how these agents help you automate conversations that convert.
What is a WhatsApp AI agent?
A WhatsApp AI agent is an automation designed to operate over the WhatsApp Business API. Unlike scripted bots, agents are built to understand intent, pull in context from your internal systems, and complete business tasks like answering account-specific questions or initiating transactions.
Plivo’s WhatsApp AI agents can be trained to use your brand voice, integrated with your CRM or helpdesk, and customized to handle specific use cases, such as subscription renewals, cart recovery, refund processing, or customer onboarding.
They are accessible through a no-code interface and support a multilingual, omnichannel customer experience across WhatsApp, SMS, RCS, and voice.
What you need before setting up your agent
To go live with a WhatsApp agent, you need:
- A verified Meta Business Account
- An active WhatsApp Business Account (WABA) tied to a phone number
- Pre-approved message templates for outbound communication
- WhatsApp Business API access through a business solution provider (BSP) (Plivo offers this natively)
- A platform to design, train, and manage agents (Plivo Agent Studio)
Also read: How to Create WhatsApp Message Templates: A Complete Guide
Optional but recommended integrations:
- CRM (like Salesforce, HubSpot, or Zoho)
- Helpdesk (like Zendesk or Freshdesk)
- E-commerce or billing tools (Shopify, Stripe, etc.)
Step-by-step: How to set up a WhatsApp agent with Plivo
Follow this step-by-step guide for a smooth WhatsApp agent setup with Plivo.
Step #1: Choose your primary use case and define agent scope
Don’t build a generic bot. Start with why you’re automating. This could be handling support queries, sending order updates, re-engaging inactive customers, or managing subscription renewals.

Plivo provides a library of prebuilt AI agents for common use cases like cart recovery, lead qualification, appointment reminders, and product recommendations. You can choose to use one as-is or customize it to fit your business process. Each agent is compatible with WhatsApp and designed to operate across channels as needed.
Step #2: Build the agent using Plivo’s no-code platform
Since your API access is already set up, you can begin building your agent in Plivo’s Agent Studio. This is a visual, drag-and-drop builder where you create conversation flows using blocks that represent actions, responses, conditions, and triggers.

You can structure your flow to respond to specific keywords, match customer intent, route inquiries to different departments, or escalate to a live agent when needed. Each step in the journey can include media-rich responses like buttons, product carousels, quick replies, and file attachments.
Beyond logic design, you can also configure fallback rules for when the agent is unsure, and add human handoff conditions to ensure escalations happen smoothly with full context transferred to the live agent.

This step allows you to fully customize the agent’s tone, workflow, and logic to reflect how your brand communicates.4
Step #3: Train your agent with AI
Plivo supports integration with internal systems like your CRM, order management platform, inventory tools, or helpdesk. This means your agent can access real-time customer data, past orders, preferences, and policies to deliver personalized responses.
You can also connect your knowledge base, including FAQs, SOPs, product documentation, or policy articles. These resources train the agent to respond accurately and contextually, without needing scripted answers.

For natural language understanding, Plivo gives you the flexibility to choose the AI model that powers your agent.

Step #4: Test, launch, and monitor your agent
Once your flow is built and trained, run controlled tests:
- Check for flow accuracy and intent matching
- Review how it handles incomplete or unclear inputs
- Test human handoff and see if the agent transfers the full context

Plivo’s real-time dashboard lets you:
- Monitor delivery, engagement, and satisfaction metrics
- Track where users drop off in conversations
- Identify areas to improve agent logic or content
- Compare campaign and agent performance across channels
After launch, your agent keeps learning. As more customers interact, you’ll gather insight to improve how it responds or what paths it offers.
Plivo is purpose-built for WhatsApp AI agent deployment
Plivo’s platform is designed to help you move from idea to live AI-powered engagement without requiring engineering support or external consultants. When you use Plivo for WhatsApp agent setup, you get:
- Access to prebuilt agents for sales, support, and engagement
- Intuitive no-code builder (Agent Studio) that puts you in control
- Deep integration with your business systems for real-time, contextual replies
- Support for the best LLMs on the market, so your agent is trained with intelligence
- Built-in compliance with WhatsApp’s policies and global data laws
- Unified interface to manage messaging across WhatsApp, SMS, RCS, and Voice
- Enterprise-grade infrastructure with 99.99% uptime and expert onboarding support
Automate outcomes with WhatsApp agent setup in Plivo
Smart WhatsApp automation starts with smart setup. With Plivo's no-code platform, you can automate customer conversations, boost sales, and scale support — all without a development team.
Plivo offers the tools to build agents that reflect your brand, the infrastructure to scale securely, and the intelligence to adapt with your customer needs.
Whether you're trying to cut support wait times, recover abandoned carts, or drive upsells through personalized outreach, a well-built WhatsApp agent can make it happen, and Plivo makes it achievable.
Ready to get started? Request a free trial today!

The Definitive Guide to Automating WhatsApp for Business
Learn how WhatsApp automation can simplify customer communication and scale operations. Know about its key benefits and use cases. Get started today.
Remember when WhatsApp was just a simple messaging app? Launched in 2009, it was a tool for friends and family to stay in touch.
Fast-forward to today, and WhatsApp has become a global powerhouse with over 3 billion monthly active users. Businesses worldwide leverage WhatsApp to connect with customers, share updates, and provide support.
Many businesses struggle to keep up with the growing volume of customer messages on WhatsApp. Manually handling inquiries, sending updates, or following up on leads can quickly become overwhelming and inefficient.
This is where WhatsApp automation steps in.
By automating repetitive messaging tasks, businesses can reduce manual workload, respond faster, and deliver more personalized, timely communication.
In this article, we'll explore what WhatsApp automation is, why it's essential for modern businesses, and how you can implement it to improve customer engagement and operational workflows.
What is WhatsApp automation?
WhatsApp automation is the use of technology to automatically send and manage messages on the platform, especially for business and customer engagement purposes.
It doesn’t require human intervention for every interaction. As a result, businesses can handle customer inquiries, deliver updates, and engage with prospects efficiently.

With WhatsApp business automation, you can:
- Auto-respond to FAQs and reduce ticket volume.
- Reduce customer support load with proactive messaging.
- Route complex support queries to live agents only when needed.
- Send order confirmations and delivery updates automatically.
- Share return instructions based on customer actions.
- Run re-engagement campaigns with smart timing.
- Integrate with Shopify, Magento, and more for real-time updates.
- Trigger workflows from CRMs or e-commerce platforms.
- Keep messaging compliant with auto opt-outs and logs.
Here’s a breakdown of the three main types of automated messaging on WhatsApp:
Key benefits of WhatsApp automation
By automating routine tasks, WhatsApp can help your business stay responsive and consistent across customer touchpoints. Here’s how it can benefit your business:
Reduce manual workloads and response times
When you automate WhatsApp interactions, every department, from marketing to customer service, runs more smoothly.
By automating routine tasks like order updates, FAQs, and customer inquiries, businesses can significantly reduce the manual effort required.
This means your team spends less time on repetitive tasks and more time focusing on high-priority interactions.
Increases the scalability of customer interactions
As your business grows, the number of customer interactions increases. Automation allows you to scale communication efforts without hiring additional staff or losing the personal touch.
Whether you're dealing with 50 or 5,000 customers, automated responses ensure that each inquiry is handled swiftly and consistently.
Enhances customer experience through personalization
Automated WhatsApp messages can be personalized based on customer data, creating a more relevant and tailored experience.
From addressing customers by name to offering product recommendations based on past purchases, personalization makes customers feel valued. This leads to higher engagement rates and improved loyalty.
Cost-effectiveness compared to manual processes
WhatsApp automation eliminates the need for large customer support teams and reduces the time spent on repetitive tasks.
This saves on operational costs and also leads to a more efficient allocation of resources.
5 popular use cases of WhatsApp automation across industries
Businesses everywhere are finding new ways to use WhatsApp automation. Here are five popular examples:
1. Customer support
Automating common FAQs and routine inquiries on WhatsApp helps customers get instant answers anytime. This reduces the number of tickets support teams have to handle, letting them focus on more complex problems.
2. E-commerce operations
Order confirmations, shipping updates, and delivery notifications keep customers informed every step of the way. Automating returns and collecting feedback via WhatsApp speeds up these processes and improves customer satisfaction.
3.Marketing and lead nurturing
Automated lead follow-ups ensure timely, consistent engagement with prospects, boosting conversion chances. Also, you can use personalized re-engagement campaigns to help bring back inactive customers with offers or updates tailored to their interests.
4.Event management and invitations
Automated WhatsApp invites, updates, and follow-ups keep your audience informed and engaged, boosting the attendance rate. This helps you stay connected and make every event a success.
5.Appointment scheduling and reminders
Timely reminders help customers remember appointments, reducing cancellations and improving the overall experience. Automation makes scheduling easier and more efficient for both businesses and customers.
Step-by-step guide to implement WhatsApp automation for your business
To successfully implement WhatsApp automation, follow these key steps that cover planning, setup, and optimization.
Step 1: Define your use cases and goals
Start by identifying which business functions, such as order updates, customer support, or lead follow-ups, will benefit most from automation.
Set clear, measurable goals like:
- Reducing response times
- Lowering manual workload
- Boosting customer engagement
This will guide your automation strategy and help you track success.
Also, ensure compliance from the start. WhatsApp requires businesses to obtain explicit customer opt-in before sending messages. To stay compliant:
- Use clear, transparent language when requesting consent.
- Collect opt-ins through channels like website forms, checkout flows, or click-to-chat ads.
- Log and manage consent within your systems for audit readiness.
Data privacy and compliance are essential for building trust and maintaining long-term customer relationships.
Step 2: Choose the right WhatsApp business API provider
Select a platform that fits your specific needs. Look for features like:
- Robust CRM integrations
- Audience segmentation
- Flexible automation workflows
These capabilities simplify your communication and scale your efforts efficiently.
Make segmentation a priority, use tagging and grouping strategies to target the right customers with the right messages.
With smart tagging and grouping, you can:
- Deliver personalized messages
- Engage the right people at the right time
- Improve conversion and retention
Step 3: Set up your WhatsApp business account
You must set up a verified WhatsApp Business account to use WhatsApp for automated messaging. This includes:
- Registering your business name and details.
- Verifying a dedicated phone number.
- Getting approval from Meta to use the WhatsApp Business API.
This ensures that your business is recognized as a legitimate sender.
Your WhatsApp API provider will typically assist with onboarding, including submitting documentation and setting up the technical aspects.
Some platforms also offer pre-built tools to help you manage mobile number registration, display name approval, and message template submissions.
Step 4: Create and submit message templates
Start by designing message templates for everyday customer interactions, such as:
- Promotional messages (e.g., limited-time offers)
- Transactional updates (e.g., order confirmations, delivery alerts)
- Support messages (e.g., ticket updates or issue resolution)
Each template must follow WhatsApp’s formatting and content policies.
Once your templates are ready, submit them through your WhatsApp API provider for Meta’s approval. Only approved templates can be used for proactive messaging.
Step 5: Build automation workflows
Now that your account and templates are ready, it’s time to connect WhatsApp with the rest of your tech stack. Integrate with:
- CRM systems (to access customer data)
- Support tools (for query management)
- E-commerce platforms (to track orders and actions)
Use event-based triggers, like a new order, a cart abandonment, or a support ticket, to automatically send relevant messages.
Additionally, plan for human fallback. Automation can’t handle everything. Build intelligent workflows that escalate to a human agent when:
- A customer requests help
- The query is too complex
- Sentiment detection flags a negative experience
This keeps your support experience smooth, responsive, and frustration-free.
Step 6: Test, launch, and optimize
Start with a pilot campaign to ensure everything runs smoothly.
Track key metrics:
- Response time
- Open rate
- Conversion rate
Use these insights to refine your workflows, improve message content, and adjust targeting.
Best practices for WhatsApp automation
Following some proven best practices is essential to get the most out of WhatsApp automation. Here’s what you need to know:
Tips for optimizing messaging frequency and timing
To keep your audience interested, it's vital to message thoughtfully and strategically. Here are some quick tips:
- Avoid over-messaging to prevent unsubscribes.
- Use analytics to identify when your audience is most active and receptive.
- Space out messages to keep it natural.
- Monitor response rates and adjust based on customer behavior and feedback.
Leverage data analytics for campaign performance
By tracking metrics such as open rates, click-through rates, and response times, you gain valuable insights into what works and what doesn’t. Use this data to refine your messaging, target relevant audience segments, and optimize timing.
Regularly reviewing analytics helps you make informed decisions that boost engagement and drive better results over time.
Compliance and customer privacy protection
To protect your customers and stay compliant, focus on these key areas:
Enhance customer communication with Plivo’s AI WhatsApp automation
The growing demand for instant, tailored communication on WhatsApp puts pressure on businesses to respond quickly. Customers expect fast, personalized replies around the clock, and doing this manually often leads to delays, inconsistent service, and missed opportunities.
Finding a way to scale these conversations efficiently is critical for businesses looking to stay competitive.
That’s where Plivo comes in, an industry-leading omnichannel platform that automates and personalizes WhatsApp conversations, delivering timely responses at scale.
By leveraging Plivo’s WhatsApp AI agents, businesses can manage a wide range of customer communication tasks, from pre-sales inquiries to post-purchase support, without increasing their team size.
Here’s how Plivo can enhance your customer communication:
- Brand-aligned AI agents: You can customize the AI agents to reflect your brand’s voice, tone, and style. This makes all customer interactions align with your brand’s identity and deliver a personalized experience.
- AI customer service agent: Plivo’s AI agents work around the clock, ensuring your customers receive timely responses, regardless of the time zone. These agents process orders, resolve support issues, and answer questions.

- Natural, human-like conversations: With AI agents, you can engage in context-aware conversations, mimicking human interactions. They remember customer preferences and history to provide relevant responses like a human agent would.
- Simple, volume-based pricing: Plivo charges a flat fee per conversation rather than per message, making costs predictable and scalable. Volume discounts are available to lower your total spend as your messaging needs grow.

- Built-in compliance: Plivo ensures compliance with GDPR, HIPAA, PCI DSS, ISO 27001, and SOC 2 standards.
- Guaranteed message delivery with fallback options: The platform delivers billions of messages annually and uses SMS and voice fallback channels to ensure your customers always receive important communications.
- 24/7 availability: Plivo's AI agents provide instant, 24/7 assistance, answering questions, processing orders, and resolving customer issues.
- Multilingual support: With support for 70+ languages, Plivo’s AI agents can engage with customers globally and offer a multilingual customer service experience.
- E-commerce platform integrations: Integrate seamlessly with popular e-commerce platforms like Shopify, BigCommerce, WooCommerce, and Magento to deliver a unified customer experience across all touchpoints.
With Plivo’s vast carrier network spanning over 220 countries, businesses can significantly cut SMS costs by up to 70% while achieving threefold returns on investment.
Many companies using Plivo CX have experienced remarkable results, earning an outstanding $71 for every dollar invested in their SMS marketing efforts.
Book a free demo today and see how Plivo’s AI WhatsApp agents can change your customer communication strategy.

How to Build a Call Forwarding App in PHP Using Laravel and Plivo
Voice API | Plivo | You can get started to build a Call Forwarding App in PHP Using Laravel and Plivo
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 PHP 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 Laravel 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 an available number, go to Phone Numbers > Buy Numbers on the Plivo console.

- Laravel and Plivo PHP packages.
- ngrok — a utility that exposes your local development server to the internet over secure tunnels.
Create a Laravel application to forward incoming calls
First, you need to install Laravel if you haven’t installed it already. We suggest using Composer to install it. Add a new Laravel project with boilerplate code with the command composer create-project laravel/laravel forward_calls --prefer-dist. This will create a forward_calls directory with the necessary folders and files for development. Then change to the newly created “forward_calls” project directory and install the Plivo PHP package (composer require plivo/plivo-php).
Once you’ve installed Laravel and the Plivo PHP SDK, run php artisan make:controller ForwardcallController to create a Laravel 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 PHP 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:
Now, you need to add a route for the “forwardCalls” function in the ForwardcallController class. Open the routes/web.php file and add this line at the end of the file:
Note: We need to add the route of the app to the “except” array to disable CSRF verification - app/Http/Middleware/VerifyCsrfToken.php`
Test the code locally
Now the ForwardcallController is ready to handle incoming calls to your Plivo number by forwarding them to a mobile number configured in the Laravel application using Plivo PHP SDK. To run the code on the Laravel server, use the command
You should see your basic server application in action on http://127.0.0.1:8000/forward_calls.
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 (8000 in this case, as our local Laravel 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://c872a224048b.ngrok.io/forward_calls/) in a browser or use HTTPie to check the XML response from the ngrok URL.

Connect the Laravel 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://c872a224048b.ngrok.io/forward_calls/ 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 Laravel 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 PHP SDK and a Laravel 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 Receive and Respond to Incoming SMS Messages in .NET with ASP.NET MVC and Plivo
SMS API | Plivo | You can get started to Receive and Respond to Incoming SMS Messages in .NET with ASP.NET MVC and Plivo.
Sending an outbound message using the Plivo SMS platform is easy, but communication should be a two-way street. Customers should be able to text you, and you should acknowledge their messages and address their concerns. To do this, you can build an ASP.NET MVC application to receive and respond to incoming SMS messages on a Plivo phone number. In this post, we walk you through how to implement this.
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 as you want to receive incoming SMS messages. To search for and buy an available number, go to Phone Numbers > Buy Numbers on the Plivo console.
- ASP.NET MVC application and Plivo NuGet package.
- ngrok — a utility that exposes your local development server to the internet over secure tunnels.
{{cta-style-1}}
Create an ASP.NET MVC application to receive SMS messages
Once you’ve created the ASP.NET MVC application using this tutorial, you can add the Plivo .NET SDK using the NuGet package manager. Create a Controller, name it ReceiveSMS to handle incoming SMS messages on a Plivo number. Use this code:
Return a Message XML document to reply to incoming messages
To reply to an incoming SMS message, you need to return an XML document from the URL configured as the message_url in the application assigned to the Plivo number. The .NET SDK can manage the XML document generation, and you can use the Message XML element to reply to incoming SMS messages. Create another controller, name it ReplySMS and use this code:
Note: Before starting the app, you have to update Properties/launchSettings.json by setting the applicationUrl as
Test the code locally
Save the file and run the application. You should see your basic server application in action on http://localhost:5000/replysms/.
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 receive and reply to messages. 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 messages (5000 in this case, as our local ASP.NET MVC 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://f658c94814ca.ngrok.io/replysms/\?From=14156667777\&To=14156667778) in a browser. We used HTTPie to check the XML response from the ngrok URL.

Connect the Spring Boot application to a Plivo number
The final step is to configure the app as a Plivo messaging application and assign it to a Plivo number on which you want to receive SMS messages.
Go to the Plivo console and navigate to Messaging > Applications > XML, then click on the Add New Application button in the upper right.
Provide a friendly name for the app — we used “App-Incoming-SMS” — and configured the ngrok URL https://f658c94814ca.ngrok.io/replysms/ as the Message 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 message application you just created. Finally, click Update Number.

Test the application
Send an SMS to the Plivo number you selected. You should see that the ASP.NET MVC application automatically sends a reply back to your mobile number.
And that’s how simple it is to receive and respond to incoming SMS messages using Plivo’s .NET SDK and an ASP.NET MVC application.
Haven’t tried Plivo yet? Getting started is easy and only takes five minutes! Sign up today.

How to Receive a Phone Call in Java with Spring Boot and Plivo
Voice API | Plivo | You can get started to Receive a Phone Call in Java with Spring Boot and Plivo.
Making an outbound phone call using the Plivo Voice API is easy, but communication should be a two-way street. Customers should be able to call you back, and you should answer the calls and address their concerns. 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 Java Spring Boot application to receive an incoming call and greet the caller with a text-to-speech (TTS) message.
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.
- Sprint Boot and Plivo Java packages — use the Spring Initializr to create a demo project with boilerplate code.
- ngrok — a utility that exposes your local development server to the internet over secure tunnels.
{{cta-style-1}}
Create a Spring Boot application to receive incoming calls and play a TTS message
Once you’ve created the Spring Boot application using Spring Initializr, you can add the Plivo Java SDK using Maven or Gradle, or Groovy as per the interface selected. Update the Java application in the created project 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 Java SDK can manage the XML document generation, and you can use the Speak XML element to play a text-to-speech message to the caller. Use this code:
Test the code locally
Save the file and run the application. You should see your basic server application in action on http://localhost:8080/receive_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 handle incoming calls (8080 in this case, as our local Spring boot 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://6764a0cb5536.ngrok.io/receive_call/) in a browser. We used HTTPie to check the XML response from the ngrok URL.

Connect the Spring Boot 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 receive 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-Incoming-call” — and configure the ngrok URL https://b51dbc9d904c.ngrok.io/receive_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 Spring boot application automatically greets the caller with the text-to-speech message configured in the app.
And that’s how simple it is to receive an incoming call on a Plivo number and handle it using XML documents using Plivo’s Java SDK and a Spring boot 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.

How to Receive and Respond to Incoming SMS Messages in Java with Spring Boot and Plivo
SMS API | Plivo | You can get started to Receive and Respond to Incoming SMS Messages in Java with Spring Boot and Plivo.
Sending an outbound message using the Plivo SMS platform is easy, but communication should be a two-way street. Customers should be able to text you, and you should acknowledge their messages and address their concerns. To do this, you can build a Java Spring Boot application to receive and respond to incoming SMS messages on a Plivo phone number. In this post, we walk you through how to implement this.
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 as you want to receive incoming SMS messages. To search for and buy an available number, go to Phone Numbers > Buy Numbers on the Plivo console.
- Sprint Boot and Plivo Java packages — use the Spring Initializr to create a demo project with boilerplate code.
- ngrok — a utility that exposes your local development server to the internet over secure tunnels.
Create a Spring Boot application to receive SMS messages
Once you’ve created the Spring Boot application using Spring Initializr, you can add the Plivo Java SDK using Maven or Gradle, or Groovy as per the interface selected. Update the Java application in the created project to handle incoming SMS messages on a Plivo number. Use this code:
Return a Message XML document to reply to incoming messages
To reply to an incoming SMS message, you need to return an XML document from the URL configured as the message_url in the application assigned to the Plivo number. The Java SDK can manage the XML document generation, and you can use the Message XML element to reply to incoming SMS messages. Use this code:
Test the code locally
Save the file and run the application. You should see your basic server application in action on http://localhost:8080/reply_sms/.
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 receive and reply to messages. 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 messages (8080 in this case, as our local Spring Boot 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://80aefe4087cc.ngrok.io/reply_sms/\?From=14156667777\&To=14156667778\&Text=hi) in a browser. We used HTTPie to check the XML response from the ngrok URL.

Connect the Spring Boot application to a Plivo number
The final step is to configure the app as a Plivo messaging application and assign it to a Plivo number on which you want to receive SMS messages.
Go to the Plivo console and navigate to Messaging > Applications > XML, then click on the Add New Application button in the upper right.
Provide a friendly name for the app — we used “App-Incoming-SMS” — and configure the ngrok URL https://80aefe4087cc.ngrok.io/reply_sms/ as the Message 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 message application you just created. Finally, click Update Number.

Test the application
Send an SMS to the Plivo number you selected. You should see that the Spring Boot application automatically sends a reply back to your mobile number.
And that’s how simple it is to receive and respond to incoming SMS messages using Plivo’s Java SDK and a Spring Boot application.
Haven’t tried Plivo yet? Getting started is easy and only takes five minutes! Sign up today.

SMS: The Best Channel for Marketing
For marketing communications, SMS text messaging provides the best combination of low cost, high immediacy, and almost universal reach.
The more your business grows, the harder it is to reach all your customers and prospects. But among the many communications channels available to you, one stands out for immediacy, cost-effectiveness, and ease of use.
Reaching customers and prospects in a growing business
Everyone wants a growing business. Having more customers means more revenue and a great chance to make the world a better place with your products or services.
But keeping customers active means keeping in touch with them. Sometimes you want to send them notifications of new products or policies. Sometimes you need to send them alerts about essential services or time-critical events. And sometimes you just want to offer them new information.
The problem is staying in touch cost-effectively at scale. Businesses have multiple options, including:
- SMS
- Voice
- Postal mail
- Social media
- Advertising
- Word of mouth
They all have pros and cons when it comes to cost, immediacy, and reach. Email, for example, has low cost but only moderate immediacy. Word of mouth has no cost at all but very limited reach. The best combination of low cost, high immediacy, and almost universal reach is SMS, a.k.a. text messaging. It offers global reach and immediate delivery at a low unit cost per message.
SMS can reach just about everyone. According to Pew Research, 96% of Americans owned a cell phone in 2019, and the most commonly used application for mobile phones is text messaging. That means your customers and potential customers already have what they need to get your messages.
A majority of people say text messaging is their preferred communication method, and according to a widely cited figure, SMS open rates run around 98%. That’s better than any other marketing channel.
SMS has higher deliverability than other electronic channels. Many people decline to answer phone calls from numbers they’re not familiar with, and spam filters often catch bulk email messages before they reach recipients’ inboxes.
Bottom line: SMS has the best reach and the lowest costs for sending bulk messages.
We’ve written a white paper on how to optimize your SMS communications. You should download it and read our advice on topics such as when to use long code phone numbers, toll-free numbers, and short codes; how to take advantage of sender IDs for international calls; and how to avoid having carriers tag your messages as spam.

How to Receive a Phone Call in Node.js with Express.js and Plivo
Voice API | Plivo | You can get started to Receive a Phone Call in Node.js with Express.js and Plivo.
Making an outbound phone call using the Plivo Voice platform is easy, but communication should be a two-way street. Customers should be able to call you back, and you should answer the calls and address their concerns. 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 an Express.js application to receive an incoming call and greet the caller with a text-to-speech (TTS) message.
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.
- Express.js and Plivo npm packages — run npm i -S plivo express body-parser to install them.
- ngrok — a utility that exposes your local development server to the internet over secure tunnels.
{{cta-style-1}}
Create an Express application to receive incoming calls and play a TTS message
Once you’ve installed Express and the Plivo Node.js SDK, create a simple Express 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 Node.js SDK can manage the XML document generation, and you can use the Speak XML element to play a text-to-speech message to the caller. Use this code:
Test the code locally
Save the code in any file — we named the file receive_call.js. To run the code on the server, go to the folder where the file resides and use the command
You should see your basic server application in action on http://localhost:5000/receive_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 handle incoming calls (5000 in this case, as our local Express 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://b51dbc9d904c.ngrok.io/receive_call/) in a browser. We used HTTPie to check the XML response from the ngrok URL.

Connect the Express 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 receive 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-Incoming-call” — and configure the ngrok URL https://b51dbc9d904c.ngrok.io/receive_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 Expressjs application automatically greets the caller with the text-to-speech message configured in the app.
And that’s how simple it is to receive an incoming call on a Plivo number and handle it using XML documents using Plivo’s Node.js SDK and an Express 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.

How to Receive and Respond to Incoming SMS Messages in Node.js with Express.js and Plivo
SMS API | Plivo | You can get started to Receive and Respond to Incoming SMS Messages in Node.js with Express.js and Plivo.
Sending an outbound message using the Plivo SMS platform is easy, but communication should be a two-way street. Customers should be able to text you, and you should acknowledge their messages and address their concerns. To do this, you can build an Express application to receive and respond to incoming SMS messages on a Plivo phone number. In this post, we walk you through how to implement this.
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 as you want to receive incoming SMS messages. To search for and buy an available number, go to Phone Numbers > Buy Numbers on the Plivo console.
- Express and Plivo npm packages — run npm i -S plivo express body-parser to install them.
- ngrok — a utility that exposes your local development server to the internet over secure tunnels.
Create an Express application to receive SMS messages
Once you’ve installed Express and the Plivo Node.js SDK, create a simple Express application to handle incoming SMS messages on a Plivo number. Use this code:
Return a Message XML document to reply to incoming messages
To reply to an incoming SMS message, you need to return an XML document from the URL configured as the message_url in the application assigned to the Plivo number. The Node.js SDK can manage the XML document generation, and you can use the Message XML element to reply to incoming SMS messages. Use this code:
Test the code locally
Save the code in any file — we named the file reply_sms.js. To run the code on the server, go to the folder where the file resides and use the command
You should see your basic server application in action on http://localhost:5000/reply_sms/.
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 receive and reply to messages. 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 messages (5000 in this case, as our local Expressjs 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://31123bc8f94e.ngrok.io/reply_sms/?From=14156667777&To=14156667778) in a browser. We used HTTPie to check the XML response from the ngrok URL.

Connect the Express application to a Plivo number
The final step is to configure the app as a Plivo messaging application and assign it to a Plivo number on which you want to receive SMS messages.
Go to the Plivo console and navigate to Messaging > Applications > XML, then click on the Add New Application button in the upper right.
Provide a friendly name for the app — we used “App-Incoming-SMS” — and configure the ngrok URL https://31123bc8f94e.ngrok.io/reply_sms/ as the Message 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 message application you just created. Finally, click Update Number.

Test the application
Send an SMS to the Plivo number you selected. You should see that the Express application automatically sends a reply back to your mobile number.
And that’s how simple it is to receive and respond to incoming SMS messages using Plivo’s Node.js SDK and an Express application.
Haven’t tried Plivo yet? Getting started is easy and only takes five minutes! Sign up today.

How to Receive a Phone Call in PHP with Laravel and Plivo
Voice API | Plivo | You can get started to Receive a Phone Call in PHP with Laravel and Plivo.
Making an outbound phone call using the Plivo Voice platform is easy, but communication should be a two-way street. Customers should be able to call you back, and you should answer the calls and address their concerns. 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 Laravel application to receive an incoming call and greet the caller with a text-to-speech (TTS) message.
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.
- Laravel and Plivo PHP packages.
- ngrok — a utility that exposes your local development server to the internet over secure tunnels.
{{cta-style-1}}
Create a Laravel application to receive incoming calls and play a TTS message
First, you need to install Laravel if you haven’t installed it already. We suggest using Composer to install it. Add a new Laravel project with boilerplate code with the command composer create-project laravel/laravel receive_calls --prefer-dist. This will create a receive_calls directory with the necessary folders and files for development. Then change to the newly created “receive_calls” project directory and install the Plivo PHP package (composer require plivo/plivo-php).
Once you’ve installed Laravel and the Plivo PHP SDK, run php artisan make:controller ReceivecallController to create a Laravel 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 PHP SDK can manage the XML document generation, and you can use the Speak XML element to play a text-to-speech message to the caller. Use this code:
Now, you need to add a route for the “receiveCalls” function in the ReceivecallController class. Open the routes/web.php file and add this line at the end of the file:
Note: We need to add the route of the app to the “except” array to disable CSRF verification - app/Http/Middleware/VerifyCsrfToken.php`
Test the code locally
Now the ReceivecallController is ready to handle incoming calls to your Plivo number using Laravel and Plivo PHP SDK. To run the code on the Laravel server, use the command
You should see your basic server application in action on http://127.0.0.1:8000/receive_calls.
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 calls (8000 in this case, as our local Laravel 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://6e4d127bf930.ngrok.io/receive_calls) in a browser. We used HTTPie to check the XML response from the ngrok URL.

Connect the Laravel 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 receive 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-Incoming-call” — and configure the ngrok URL https://6e4d127bf930.ngrok.io/receive_calls 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 Laravel application automatically greets the caller with the text-to-speech message configured in the app.
And that’s how simple it is to receive an incoming call on a Plivo number and handle it using XML documents using Plivo’s PHP SDK and a Laravel 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.
Get ready to be STIRred and SHAKEN
STIR/SHAKEN goes into effect June 30. Here’s how Plivo will handle attestation and sign outbound calls as either Verified or Not Verified.
If you read our blog post from a couple of months ago, you’re already familiar with STIR/SHAKEN — Secure Telephone Identity Revisited (STIR) and Signature-based Handling of Asserted Information Using toKENs (SHAKEN). They’re technical frameworks that fight call spoofing by authenticating the calling number.
The US Federal Communications Commission (FCC) has directed carriers to implement STIR/SHAKEN by June 30, 2021. Plivo will be ready; we’re already running a successful pilot program.
When we roll out STIR/SHAKEN support for inbound calls, we’ll validate attestation of calls to Plivo DIDs and toll-free numbers in the US, irrespective of whether they’re used for Voice or Zentrunk. For calls through the Voice API, we’ll pass the STIR/SHAKEN verification level as part of webhook requests to various URLs — answer_url, fallback_url, hangup_url, etc. For both Voice and Zentrunk calls, we’ll also show verification levels on the Plivo console and in Call Detail Reports.
Going in the other direction, we’ll sign all Voice and Zentrunk outbound calls to the US — unless a customer violates the rules:
- The calls breach the Plivo Fair Usage Policy.
- The calls are identified as unsolicited robocalls.
- Plivo gets a traceback request from the Industry Traceback Group about calls made by the customer.
- The calls have invalid caller IDs — for instance, if they don’t adhere to E.164 format or have too many digits.
In these scenarios, Plivo may stop signing all calls initiated by the customer. That could lead to lower answer rates, because calls won’t be marked as Verified. Worst case, they could be marked as spam by receiving networks.
Verification levels for outbound calls
In the STIR/SHAKEN framework, a secure telephony identity (STI) governance authority issues digital certificates. STIR/SHAKEN provides three attestation levels that can be assigned by an STI authentication service, which represent how confident a service provider is in that the number’s owner is truly the one placing the call.
Plivo will sign outbound calls as Verified (attestation A) for calls that use a Plivo DID as caller ID. The DID used should be rented by the same Plivo account that originates the outbound calls. All other outbound calls, assuming they are signed at all, are signed Not Verified (attestation B or C).
We strongly encourage customers to use Plivo DIDs as caller ID to improve their STIR/SHAKEN verification levels.
How verification status maps to STIR attestations
For both outbound and inbound Voice API calls, Plivo will display the verification status of a call as a parameter called Stir Verification, which can have one of three values:
- Verified means the call is from a Verified caller who has authorized access to the customer’s caller ID, and hence should be treated with confidence. Verified is equivalent to attestation level A.
- Not Verified means that, for this call, either the caller is not Verified, or it’s uncertain whether they have access to the caller ID used, or both. Not Verified means the call received attestation level B or C.
- Not Applicable means STIR/SHAKEN doesn’t apply to this call, as would be the case if a call is not addressed to a US number or if it’s a cloud call (WebRTC or SIP).
How to access verification status
Voice and Zentrunk customers have several ways to access STIR verification statuses.
Voice API
Plivo Voice customers can access verification values on the Voice > Calls page of the console as part of call logs, as part of CDR exports, and via Voice APIs in several ways:
Webhook Callbacks
We’ve added a new STIRVerification parameter as part of status update JSON code sent to these callback URLs:
- answer_url
- fallback_url
- hangup_url
We’ve also added the parameter as part of call_status_callback_url for multiparty call events:
Voice API Call Object
You can also access STIR verification as part of the response of the Get CDR API call:
Zentrunk
Zentrunk customers will be able to see STIR verification values in the several ways:
Console
On the Zentrunk > Logs page as part of Call Detail Records (CDR).
Custom SIP header
As part of a new SIP header:
P-Asserted-ID Header
Zentrunk customers can also use the SIP verstat parameter as part of the P-Asserted-ID header:
Upcoming attestation refinements
Soon, Plivo will start taking into consideration more factors to determine the attestation level for outbound calls, including (but not limited to):
- Results of Know Your Customer (KYC) validation, a feature coming to the Plivo console and API in the near future.
- Customers’ own DIDs sourced from other providers and whitelisted with Plivo. We plan to enable whitelisting through the Plivo console and the API in the near future.
- The confidence Plivo has in customer traffic patterns not constituting fraudulent and unsolicited robocall traffic.
Looking forward to less spoofing
We believe STIR/SHAKEN will have a big impact in preventing caller ID spoofing and containing unsolicited robocalls, and we’re excited to join the fight. Talk to a Plivo expert for help getting started.
It’s easy to get started. Sign up for free.
Create your account and receive trial credits or get in touch with us.
.webp)