World’s largest virtual agentic engineering & quality conference
Haptik's Test Bot and debug logs check one conversation at a time. They don't score Contakt's generative answers at scale. Here's how to test a Haptik chatbot.

Akarshi Aggarwal
Author

Salman Khan
Reviewer
Last Updated on: July 24, 2026
Haptik chatbots run at a scale most teams never touch. The platform, owned by Jio Platforms, has handled more than 15 billion AI-powered conversations, across 100-plus languages, with nearly a quarter of that traffic in non-English languages.
The testing tooling has not scaled with that volume. Natively, you test a Haptik bot by clicking Test Bot and chatting with it, one conversation at a time, then reading debug logs to see why a step or entity missed. That is a fine way to build. It is not a way to prove a generative-answer bot survives millions of real, multilingual, off-script users.
This guide covers how a Haptik chatbot is actually built, why it passes the in-studio Test Bot and fails in production, the four dimensions worth testing, and a step-by-step approach that adds automated evaluation over the messaging API.
Overview
What Is a Haptik Chatbot?
An Intelligent Virtual Assistant built in Haptik's low-code Conversation Studio from Skills, FAQs, and NLU, with generative answers via the Contakt suite, deployed on WhatsApp, web, and other channels.
What Does the Platform Give You for Testing?
What Do Those Tools Miss?
They run one conversation at a time and focus on NLU debugging. They do not sweep hundreds of persona-varied, adversarial, multilingual conversations or score Contakt answers for hallucination, tone, and safety.
How Do You Close That Gap?
Point TestMu AI's Agent Testing platform at the bot's messaging endpoint. It runs autonomous evaluators across 10 personas, scores every conversation on 9 quality metrics, and returns a Green, Yellow, or Red verdict.
Haptik builds Intelligent Virtual Assistants in a low-code Conversation Studio, a drag-and-drop canvas of conversational flows. The classic bot is intent-driven and scripted; the current generation adds Contakt, Haptik's generative AI suite driven by large language models. Testing the two halves means testing two different failure surfaces.
What a real Haptik chatbot is made of:
Because Contakt generates answers rather than reading them from a script, the same question phrased two ways can produce two different answers, only one of which is grounded. For the test types that apply to any bot, our library of chatbot test cases is a useful starting point.
The Test Bot is a good build-time check. It is also a single conversation, typed by the builder, close to the path they had in mind. Most production failures live in the inputs nobody typed there, and Haptik's own debug guide names most of them.
| Failure Mode | Where It Comes From | What Breaks with a Real User |
|---|---|---|
| Wrong or missed step detection | An under-trained intent routes a user to the wrong Skill or step, or detects no step at all. | A customer asking to track an order lands in a returns flow and gets a confidently wrong answer. |
| Entity extraction errors | A required slot like a date, order ID, or city fails to populate or captures the wrong value. | The bot proceeds with a missing order number and stalls, or acts on the wrong record. |
| Contakt knowledge hallucination | The LLM over-generalizes beyond the ingested knowledge base on an out-of-scope question. | The bot invents a policy or price the knowledge base never contained, and the user acts on it. |
| Multilingual and code-switching errors | Language auto-detection misfires on mixed-language input, common when a quarter of traffic is non-English. | A Hinglish message is misrouted, and the bot answers in the wrong language or the wrong intent. |
| Disambiguation and channel failures | Multiple start steps trigger at once, or a channel like WhatsApp handles a rich element differently than the studio preview. | The conversation stalls on disambiguation, or a flow that passed in preview breaks on WhatsApp. |
Whether the bot handles order tracking, insurance queries, or lending support, the same four dimensions decide whether it is ready for real users. Each needs a different kind of scenario, not just another manual Test Bot session.
| Dimension | What It Checks | Example on a Haptik Bot |
|---|---|---|
| Task Success | Whether the bot completed the job, including correct step detection and entity capture along the way. | The right Skill fires, the order ID is captured correctly, and the reply reflects the real order status. |
| Conversation Quality | Coherence across turns, context retention, and recovery when the user changes direction or language. | The bot holds a detail from turn one and applies it to a follow-up several turns later, in the same language. |
| Safety | No invented facts from Contakt, no PII leakage, and refusals where policy requires them. | The bot declines an out-of-scope question instead of fabricating an answer from thin grounding. |
| Resilience | Behavior under adversarial input, ambiguous phrasing, mixed-language input, and API failures. | The bot handles a Hinglish, half-finished request without stalling or looping on disambiguation. |
Testing happens in three layers: what you check by hand in Conversation Studio, how you drive the deployed bot over the messaging API, and how you score that bot against the messy real-user traffic the first layer never simulates.
Use the Test Bot button to chat with the bot in the studio, and Share Bot to hand a test link to a colleague. When a turn goes wrong, open the debug window on that message to see the two views Haptik provides: a high-level Basic Info summary and a full Detailed Info JSON with step detection, entity capture, spell correction, and per-step confidence scores.
This is the right place to diagnose why a specific step or entity missed. Its blind spot is volume and variety: one conversation at a time, on inputs you typed, is not the angry user, the mixed-language message, or the injection payload you did not think to try. And it inspects NLU decisions, not whether a Contakt answer was actually true.
To test at scale, reach the deployed bot programmatically. Haptik exposes a messaging API: an asynchronous send that acknowledges immediately and delivers the reply to your webhook, plus a synchronous webhook mode, in beta, that returns the bot reply inline. Both use provisioned credentials and Haptik's own message format, so the practical move is a thin adapter.
# A thin adapter exposes a simple message-in, text-out endpoint over Haptik's API
# POST /chat -> { "reply": "..." }
curl -X POST "https://your-haptik-adapter/chat" \
-H "Content-Type: application/json" \
-d '{"message": "track my order 48213"}'
# The adapter calls Haptik's synchronous webhook, decodes the reply,
# and returns { "reply": "Your order is out for delivery." }The adapter is the seam. It hides Haptik's message format behind a plain endpoint that takes a user message and returns the reply text, which is exactly what the third layer needs. You can also point testing at the live channel, such as the deployed WhatsApp number or web widget, when an API path is not provisioned.
This is where TestMu AI's Agent Testing plugs in, at the endpoint the bot already serves. Instead of manual Test Bot runs, autonomous evaluators hold full multi-turn conversations with the deployed bot the way real users would, across 10 pre-built personas including confused, impatient, angry, and off-script users, and score every conversation on the same 9 quality metrics each time.
Connecting a Haptik bot takes only the adapter endpoint plus a prompt describing what it should and should not do. The platform generates 60 to 100 or more scenarios from that prompt automatically, spread across happy-path flows, edge cases, and adversarial input, so coverage stops depending on which failure cases you thought to try manually.
Connecting Agent Testing to a Haptik bot does not require a platform SDK. It calls the adapter endpoint directly, adapting to its request shape with a body template and a response path, then layers three inputs on top before generating a full scenario set.
# Point the evaluator at the Haptik adapter endpoint
testmu-a2a test \
--agent https://your-haptik-adapter/chat \
--body-template '{"message": "{{message}}"}' \
--response-path "reply" \
--spec "Retail support bot that tracks orders, handles returns, and answers product FAQs" \
--count 30From there, autonomous evaluators run the generated scenarios against the endpoint and score each on the 9 quality metrics. A Contakt answer is checked against what the bot should actually know, not just whether it returned text, and every run rolls up into a Green, Yellow, or Red verdict, the same model our overview of AI agent testing walks through in depth.
Note: Point TestMu AI's Agent Testing at your Haptik endpoint and get a Green, Yellow, or Red production-readiness verdict before your first real user does. Start testing free
A clean Test Bot session tells you one path worked. It does not tell you whether the answer was honest, complete, or safe on inputs you did not try. Agent Testing scores each conversation on 9 quality metrics that apply to any chat bot, tuned for the ways a multilingual, generative-answer bot goes wrong.
Every score also carries a confidence level, High, Medium, or Low, based on how many scenarios actually ran, so a Green built on ten scenarios is never mistaken for a Green built on three hundred. That distinction is what separates a demo that passed from a bot that is ready.
The four dimensions cover a user trying to get help. Red-teaming covers a user trying to break the bot on purpose: override its instructions, exfiltrate data, or coax out PII. Haptik bots are exposed here because they collect PII and run business logic across public channels like WhatsApp. The testmu-a2a-cli runs adversarial probes against the endpoint, scoring categories including prompt injection, jailbreak, data exfiltration, and PII leakage at basic, intermediate, or advanced intensity.
testmu-a2a redteam \
--agent https://your-haptik-adapter/chat \
--intensity advanced \
--spec "Haptik retail bot that collects order and contact details"
# Target specific attack categories only
testmu-a2a redteam \
--agent https://your-haptik-adapter/chat \
--categories prompt-injection,jailbreak,pii-leakageThe output is a letter grade, A+ to F, per category rather than one pass or fail, because a bot can resist a direct jailbreak and still leak data through a cleverly framed request. For any bot that collects customer PII, that per-category grade is the gap between a vulnerability you found and one an attacker finds.
Co-Founder, Steadfast Systems
Discovered @TestMu AI yesterday. Best browser testing tool I've found for my use case. Great pricing model for the limited testing I do 👏
Deliver immersive digital experiences with Next-Generation Mobile Apps and Cross Browser Testing Cloud
A Skill edit, a knowledge base update, or a model change ships the moment you publish. The testmu-a2a-cli adds the endpoint-level sweep to your pipeline: it installs with pip, authenticates from CI secrets instead of an interactive login, and writes JUnit XML that GitHub Actions, GitLab CI, and Jenkins read natively.
# .github/workflows/haptik-chatbot-tests.yml
name: Haptik Chatbot Tests
on: [push]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install TestMu A2A CLI
run: pip install testmu-a2a-cli
- name: Run Haptik chatbot regression suite
env:
TESTMU_USERNAME: ${{ secrets.TESTMU_USERNAME }}
TESTMU_ACCESS_KEY: ${{ secrets.TESTMU_ACCESS_KEY }}
run: |
testmu-a2a test \
--agent ${{ vars.HAPTIK_ADAPTER }} \
--body-template '{"message":"{{message}}"}' \
--response-path "reply" \
--spec "Haptik retail bot that tracks orders and answers product FAQs" \
--format junit --output results.xml
- name: Publish results
uses: dorny/test-reporter@v1
if: always()
with:
name: Haptik Chatbot Test Results
path: results.xml
reporter: java-junitGate on exit code: 0 for all scenarios passed, 1 for any failure. Run the full evaluation for Skill, knowledge base, or model changes, and a smaller smoke set for a change that does not touch bot behavior. The discipline is the same one covered in our guide to AI agent regression testing.
A Green verdict means the bot passed on the scenarios you ran, with the personas you tested, on the metrics you configured. Here is what it does not cover:
None of this is a reason to skip testing. It is a reason to keep testing after launch, not just before it.
Take the Haptik chatbot you already have passing in the Test Bot. Point it at a harder question than you typed there: what happens when a user is angry, switches to Hinglish mid-sentence, asks something Contakt was never grounded on, or tries to talk the bot out of its rules. The Test Bot and debug logs catch the step and entity bugs. TestMu AI's Agent Testing catches the rest, running the deployed bot through hundreds of personas and adversarial probes and handing back a go-live verdict before a real user finds the gap first.
Point the evaluator at your endpoint, check the setup docs, and run your first evaluation before the next Skill or model change ships.
Author
Akarshi Aggarwal is a community contributor with 2+ years of experience in marketing and growth. She specializes in automation testing and frameworks like Cypress, Playwright, Selenium, and Appium. Akarshi has written numerous technical articles, contributing valuable insights into automation testing practices. She actively engages with the tech community, sharing expertise on test automation and quality engineering. On LinkedIn, she is followed by over 7,000 QA professionals, software testers, DevOps engineers, developers, and tech enthusiasts.
Reviewer
Salman is a Test Automation Evangelist and Community Contributor at TestMu AI, with over 6 years of hands-on experience in software testing and automation. He has completed his Master of Technology in Computer Science and Engineering, demonstrating strong technical expertise in software development, testing, AI agents and LLMs. He is certified in KaneAI, Automation Testing, Selenium, Cypress, Playwright, and Appium, with deep experience in CI/CD pipelines, cross-browser testing, AI in testing, and mobile automation. Salman works closely with engineering teams to convert complex testing concepts into actionable, developer-first content. Salman has authored 120+ technical tutorials, guides, and documentation on test automation, web development, and related domains, making him a strong voice in the QA and testing community.
Did you find this page helpful?
More Related Blogs
TestMu AI forEnterprise
Get access to solutions built on Enterprise
grade security, privacy, & compliance