Cualify.
OutboundInboundBookingCollectionsPricingSecurityBlog
Sign inStart a pilot

Cualify Field Notes

Building India's AI calling stack — in public.

One short essay every other Friday on voice AI, Indian SMB GTM, and what we ship. No spam. Unsubscribe in one click.

Cualify.

AI calling agency for Indian SMBs. Multilingual voice agents, INR billing, DPDP-ready from day one.

Built in Mumbai · Stored in Mumbai

Product

  • Outbound sales
  • Inbound support
  • Appointment booking
  • Collections
  • Voice library
  • Docs

Company

  • Pricing
  • Cualify vs Bolna
  • Changelog
  • Security
  • Blog
  • About
  • Contact

Legal

  • Terms of service
  • Privacy policy
  • Data Processing
  • Acceptable Use
  • 15-day refund

Compliance

  • DPDP Act 2023
  • TRAI / DLT
  • 99.5% SLA
  • Sub-processors
  • Customer KYC
  • Contact DPO

© 2026 Cualify Technologies. All rights reserved.

[email protected]·[email protected]·+91 80 0000 0000

Changelog

Built in public.

Every meaningful change we ship to Cualify — features, fixes, security, compliance. Updated as we go. No surprise releases.

  1. 31 May 2026

    Improved

    Dashboard usage meter — see your approved minutes before calls pause

    Orgs on a reviewer-set minute cap now see a usage meter on the dashboard (used vs limit), turning amber at 80% and red at 100%, with a one-line 'email us to raise it' nudge. It mirrors the dispatch gate exactly, so there's no surprise when calls stop. Orgs with no cap don't see it.

    Compliance

    Usage limits now enforced at dispatch

    The per-org minute cap a reviewer sets at approval now actually blocks calling once reached — across the REST API, test calls, and campaign launches. A capped org that exhausts its allowance is stopped with a clear 'contact us to raise the limit' message until an admin raises it. Closed a gap where campaign launch skipped the approval + usage gates. Free-tier limits (1 agent, no custom agents) were already enforced at agent creation.

    Compliance

    Terms strengthened — sole call responsibility + indemnity

    The Terms of Service now state explicitly that the customer bears sole responsibility for every call placed through their account, and that Cualify (a technology platform) isn't liable for escalations, complaints, regulatory notices, or penalties arising from those calls. Indemnity broadened to match. This is the language behind the responsibility checkbox in onboarding — the accepted version is recorded per org.

    Compliance

    Onboarding now captures real KYC — registered vs unregistered, SPOC, consent

    The onboarding 'Company details' step is now a proper Business verification step. Registered businesses must provide a GSTIN (no longer optional); unregistered ones provide promoter name + PAN. We also capture a named single-point-of-contact, the use-case, dialer/CRM posture (with an optional Cualify Dialer ₹5K/mo add-on for those without telephony), and an explicit consent block — terms acceptance plus a 'we take sole responsibility for every call' acknowledgement — recorded with timestamp + IP for a DPDP-grade audit trail. All of it surfaces in the admin review queue.

    Security

    Admin roles — scoped staff access to the admin dashboard

    Internal: super admins can now grant teammates a scoped role (onboarding / support / finance / viewer) from a new Team & roles page. The onboarding team sees ONLY the onboarding-review tab; finance sees billing/revenue; etc. Sensitive mutations (approve org, issue refund, adjust credits) are enforced server-side per role, not just hidden in the UI. Non-breaking: existing admins keep full access until explicitly scoped.

    Compliance

    Onboarding review — every new org is manually approved before it can call

    Internal: new admin 'Onboarding review' tab. Every new workspace now lands in a pending queue and cannot dispatch a single call (test, API, or campaign) until a Cualify reviewer reads its KYC and approves with a per-month usage cap + a written justification. Reject/suspend paths included, all audit-logged. An email fires to [email protected] the moment a new org signs up. This is the compliance backbone of an AI-calling platform — we don't let anyone dial Indian numbers until we've accepted the risk.

    Fixed

    Customer-app mobile pass — calls + contacts + invoices + wizard + settings tabs

    5 fixes across the customer app: wide tables on /calls and /contacts wrapped in ResponsiveTable (no more body-scroll), /billing/invoices upgraded to the helper for the swipe-hint, /campaigns/new wizard step pills collapse to number-only on the smallest phones with the active label showing, /settings tab-strip mask-image switches off on md+ and uses a tighter 6px fade on mobile so 'Compliance' doesn't get cropped.

    New

    REST API + webhooks docs (the developer surface)

    Full reference for /api/v1: bearer-token auth (cuk_live_...), all shipped endpoints (calls POST/GET/GET-by-id, contacts POST/GET, webhooks POST/GET/DELETE), error envelope, rate limits, cURL quickstart. Webhooks doc covers the HMAC-SHA256 signature scheme (Stripe-style t=…,v1=…), Node + Python verification examples, per-event payload schemas, replay-attack guard, retry semantics.

    Read API reference →

    New

    4 more docs filled in — compliance + billing + Exotel deep-dive

    TRAI calling windows (09:00-21:00 explainer + when transactional bypasses), NDNC/DND scrub (how Cualify scrubs against TRAI's 85M-number registry + own suppression lists), manual-vs-autorenew billing (the trust-vs-friction trade-off), and Exotel App Bazaar setup (the App SID step every Exotel customer hits). All four were dead links from the docs index.

    Read TRAI windows →

    New

    3 high-traffic docs filled in (bolna-numbers, DLT, credit-packs)

    Previously dead links from the /docs index. Bolna number registration walkthrough (HowTo JSON-LD), DLT compliance handoff explainer (TechArticle), and credit-pack pricing + expiry + stack-with-plans guide (TechArticle + 4-question FAQ). All three were referenced from existing docs so the broken links were costing trust on setup.

    Read DLT guide →

    Fixed

    /admin dashboard fully usable on mobile

    12-tab nav now scrolls horizontally on phones instead of wrapping into 3 rows. Every wide admin table (clients, audit log, recordings, invoices, refunds, calls, voice-ops, billing, system-health — 12 tables across 8 pages) wrapped in a ResponsiveTable helper with -mx-4 overflow-x-auto + min-width floor + 'swipe' hint shown only on mobile. Audit-log filter inputs stack to single-column on phones instead of crushing to illegibility.

    Improved

    Admin dashboard — Pusher real-time on live-calls counter

    Every call.status transition through the Bolna webhook (started/failed/completed) now fires on a cross-org admin-global Pusher channel. The /admin dashboard subscribes and refetches on event, so the live-calls counter pulses within ~200ms instead of up to 30s. Falls back to pure polling when Pusher isn't configured.

    Improved

    HowTo JSON-LD on the Bolna trial-pool docs

    Closes the JSON-LD sweep across every shipped /docs page. 3-step HowTo (₹0 cost, 2-minute total) targets 'free ai calling india' and 'how to test ai voice agent without setup' queries.

    Improved

    SoftwareApplication + Article JSON-LD across pricing and use-cases

    /pricing now emits SoftwareApplication (with AggregateOffer ₹4,999–₹89,999) and BreadcrumbList on top of the existing Product + FAQ schemas. Each of the 4 /use-cases/* pages emits per-page Article JSON-LD so they can rank independently for long-tail intent queries.

    Improved

    Admin dashboard refresh feels live — no skeleton flicker

    Set placeholderData=keepPreviousData on the executive-dashboard query so the cards don't blank out into skeletons every 30s. staleTime=25s means switching browser tabs no longer triggers an extra refetch on top of the polling cadence.

    Improved

    Admin dashboard — materialized views + 15-min refresh cron

    Pre-computed the 4 most expensive /admin queries (revenue MTD/today/yesterday, calls today/yesterday/24h-completed, top-5 customers by revenue, 30-day revenue+calls+signups series) into Postgres materialized views, refreshed every 15 min by an Inngest cron. The live status counter (queued/dialing/in_progress) stays a live query. Combined with the cross-org indexes from batch C.1, dashboard load drops from 4-10s to sub-second.

    Improved

    Customer KYC section on /security + Organization JSON-LD on /about

    /security now documents the 2-layer customer KYC story (GSTIN registry verify + cert upload) so procurement teams have one page to share. /about emits Organization + AboutPage JSON-LD so Google's Knowledge Graph can build the company panel for branded searches.

    Fixed

    Mobile tables no longer trigger body horizontal scroll

    The 19-row /vs-bolna comparison and the 4-plan /docs/billing/plans table both overflowed the viewport on phones, forcing the BODY to scroll horizontally. Both now use a local overflow-x-auto wrapper (same pattern as the pricing feature matrix) with a swipe-hint shown only on mobile.

    Compliance

    PAN + GSTIN certificate uploads

    Customers can now upload their PAN card and GSTIN certificate (PDF/JPG/PNG/WebP, max 5 MB) from /settings/organisation → Compliance documents. Storage is Vercel Blob, files live in our Mumbai region, URLs are unguessable. Pairs with the existing API-verified GSTIN badge for a complete procurement-trust story.

    Upload your docs →

    Improved

    Onboarding funnel analytics — step-completed, back-clicks, time-in-step

    Wizard now fires onboarding_step_completed on every advance (with time-in-step ms) and onboarding_back_clicked on back navigation. We added onboarding_first_call_dispatched on the wow-moment CTA so we can measure the activation funnel from signup to ringing phone.

    Improved

    SEO sweep — TechArticle + HowTo + FAQ across remaining docs

    TechArticle JSON-LD on /docs/quickstart/voice-language, HowTo on /docs/quickstart/clone-template (4 steps, ₹0 cost), TechArticle + 4-question FAQ on /docs/billing/refunds. All eligible for Google's rich-result formats.

    New

    Twilio + Plivo telephony walkthroughs

    Full HowTo-grade docs for Twilio (15 min, ~$10 first-call cost) and Plivo (15 min, often 20-40% cheaper than Twilio on APAC/LATAM). Each with rich-result-eligible HowTo JSON-LD so they appear in Google's expanded results.

    Read Twilio guide →

    Improved

    Workspace email advisory on /settings/organisation

    Founders on personal-email providers (gmail/yahoo/etc) now see a soft warning on the org settings page explaining the upgrade gate before they hit checkout — better UX than discovering it at the Razorpay step.

    Compliance

    Workspace email enforcement on paid tiers

    Starter, Growth, Scale, and Enterprise upgrades now require the org owner to be on a workspace email — gmail/yahoo/outlook etc are rejected at checkout. Pilot tier stays open to personal email. Helps procurement teams verify business legitimacy and matches DPDP grievance-officer requirements.

    Read the policy →

    New

    Plivo telco adapter — third carrier in the multi-telco picker

    Connect Plivo with just Auth ID + Auth Token. Verified live against Plivo's Account API before persisting, same atomic verify-before-save pattern as Exotel + Twilio. Useful for international outbound where Plivo's minute-rates beat Twilio.

    Connect Plivo →

    Improved

    Rich SEO — TechArticle + FAQ + HowTo schema across docs

    Added JSON-LD structured data to docs/billing/plans (TechArticle + 4-question FAQPage), docs/compliance/dpdp (TechArticle), and docs/telephony/exotel (HowTo, 6 steps, ₹500 cost). Pages qualify for Google's expanded rich-result formats.

    Fixed

    Footer link audit — /vs-bolna + /changelog now discoverable

    Marketing footer was missing the Bolna comparison page and the changelog — both now in the Company column alongside Pricing. Added /docs to the Product column too.

  2. 30 May 2026

    New

    Multi-telco connect — Exotel + Twilio + Bolna pool in one picker

    The /integrations/telephony page now shows a 3-tile provider picker. Add Twilio with just Account SID + Auth Token. Bolna trial pool surfaced as the zero-setup default for product evaluation. Plivo + Telnyx slot in next.

    Telephony setup docs →

    New

    /vs-bolna comparison page

    Honest 19-row side-by-side vs Bolna AI, including rows where Bolna wins. Helps prospects pick the right tool without bouncing around the internet.

    Read the comparison →

    Compliance

    GSTIN verification via Setu

    Type your GSTIN in org settings, click Verify, and we hit the GST registry through Setu to confirm the legal entity. Verified orgs get a green badge across the platform — useful for procurement teams checking business legitimacy.

    Verify your GSTIN →

    Improved

    Admin dashboard performance — 5-20x faster

    Added five cross-org Postgres indexes designed for the executive dashboard's exact query shape. The 4-10 second load times drop to under a second once the migration applies. Skeleton loading on /billing wallet card + /notifications table too.

    Security

    Security headers hardened to A+ on securityheaders.com

    Added Cross-Origin-Resource-Policy same-site, Origin-Agent-Cluster for process isolation, X-Permitted-Cross-Domain-Policies none, expanded Permissions-Policy to lock down 22 features, CSP upgrade-insecure-requests.

    Improved

    Sitemap + robots.txt rewrite for SEO

    Sitemap now covers /docs/* + /vs-bolna + all use-cases (28 paths, tiered priority). Robots.txt explicitly allows GPTBot / ClaudeBot / PerplexityBot so AI assistants recommend Cualify when asked about Indian AI calling tools.

    Fixed

    Hero waveform alignment

    Bars on the homepage hero now centre vertically instead of reading bottom-heavy. Pure CSS fix — anchored each rect at the true midline before scaleY animates.

    Improved

    About page — single-founder feature

    Rewrote the about page around co-founder Utsav Rana with a full bio drawn from CarDekho Capital strategy + FMS Delhi MBA + 2.5 years operations at Ajanta Agencies. Magazine-style 4:5 portrait, credentials grid.

    Meet the co-founder →

  3. 29 May 2026

    New

    Customer-success email triggers (50/80/95% usage)

    Daily cron emails the org admin a tone-appropriate nudge at 50%, 80%, 95% of monthly plan minutes. Idempotent via per-cycle table so we don't spam.

    New

    7 docs pages — Quickstart, Telephony, Compliance, Billing

    First-call quickstart, clone-template, voice + language, trial-pool, full Exotel setup, DPDP, compare plans, refunds.

    Browse docs →

    Improved

    5-minute onboarding wizard with 'Make my first call' CTA

    Onboarding now ends with a direct path to a ringing test call via the Bolna trial pool — no telephony setup required to hear your first AI agent.

  4. 28 May 2026

    New

    Floating support widget on every page

    Bottom-right button on every authenticated page opens WhatsApp / Email / Docs in one tap. Pre-fills the current page URL so we don't have to ask 'where are you stuck?'

    Fixed

    Test calls work without Exotel — Bolna trial pool fallback

    Customers without telephony credentials can now make test calls via the Bolna Twilio trial pool. No KYC needed for product evaluation.

  5. 27 May 2026

    Compliance

    Manual subscription renewals (no UPI AutoPay mandate required)

    Pay one month upfront via Razorpay one-time order; we email a reminder 7/3/1 days before expiry. Designed for early-stage businesses uncomfortable with auto-charge until trust is built.

    How it works →

Earlier history compressed — this changelog goes live from launch (Q2 2026). For deeper context on what was shipped in Q1 (foundation + first PMF iterations), see the About page roadmap or email [email protected].