Policy Renewal Reminder

by Telenow AI

Turn premium-due reminders into same-day UPI payments, in the customer’s own language.

financeNative
Install Policy Renewal ReminderReviewed & approved · install free · connect your tools
1.1.0
Version
5
Tools

Last updated 2026-07-12

Screenshots

Live dashboard — outcomes, KPIs & status mix
Live dashboard — outcomes, KPIs & status mix
Policies
Policies
Guided setup — create the agent & connect your data
Guided setup — create the agent & connect your data

About Policy Renewal Reminder

Policy Renewal Reminder

Turn every premium-due reminder into a same-day UPI renewal — call the policyholder in their own language, beat the objection, and collect on the call.

Built on the Telenow App Platform as a pure declarative app: the data model, the agent tools, the insurer/Razorpay webhooks, the renewal workflow, the multilingual agent, and the objection playbook all run on-platform. No external server.

The problem (and the number)

In Indian life insurance, 13th-month persistency sits around ~63% — roughly one in three policies lapses at the very first renewal. A lapse doesn't just lose the next premium; it forfeits the cover the family bought, the bonuses and guaranteed additions already accrued, and it usually means a costlier, medically-underwritten revival later.

The single biggest lever is collecting on the call. A generic SMS/WhatsApp reminder converts around 10–15%. A live, in-language renewal call that explains why the cover matters, handles the objection, and puts a payment link / UPI mandate in front of the customer right then lifts collection to 35–50%.

Policy Renewal Reminder does exactly that, automatically, in the policyholder's own language.

How it works

PAS / LMS  ──(policy_due webhook)──►  policy object (status: due)
     │                                       │
     │                              fires object.policy.created
     ▼                                       ▼
 dedupe on policy #                 renewal_reminder workflow
                                     ├─ delay ~10 min
                                     └─ outbound-call  {{settings.renewal_agent_id}}
                                           → dials {{trigger.data.phone}}
                                           → passes policy_no, premium, due_date, product, language
                                               │
                                               ▼
                              Policy Renewal Agent (Sarvam, multilingual)
                              find_policy → explain value → handle objection (playbook)
                              → offer payment link / UPI mandate
                              → mark_renewed | mark_promised | record_objection

Razorpay  ──(razorpay_paid webhook, x-razorpay-signature)──►  payment object
                                               │
                                      fires object.payment.created
                                               ▼
                                    payment_confirm workflow
                                    ├─ update-object policy → status: renewed
                                    └─ send-message {{settings.wa_channel}} → receipt

Everything the agent does on the call updates the same policy rows you see on the dashboard — and the dashboard's Call now button dials through the same agent and tools.

Agent tools (used mid-call — all declarative)

ToolDoesHandler
find_policyLook up the policy by number (or phone) to read back premium, due date, productobject.query policy
mark_renewedPremium paid on the call — persistency winobject.update policy (match policy_no → status renewed)
mark_promisedCustomer commits to a date but doesn't pay nowobject.update policy (match policy_no → status promised)
mark_lapsedCustomer firmly refuses / wants to surrenderobject.update policy (match policy_no → status lapsed)
record_objectionSave why they hesitated (no money / poor returns / has cover / surrender / later)object.update policy (match policy_no)

The bundled Policy Renewal Agent is a multi-context flow: a deterministic find_policy tool node (looks the caller up in this app's data) → a conversation node that explains value, handles the objection, and collects. STT/TTS default to Sarvam (anushka) for multilingual policyholders (Hindi, Marathi, Tamil, Telugu, and more).

Dashboard pages

  • Policy Renewal Reminder (dashboard) — KPI tiles (due this fortnight, recovered premium ₹, persistency %, same-day paid %, at-risk premium ₹), a renewal-status mix bar, recent policies, and payments collected. Also powers the platform dashboard_widget slot in a compact form.
  • Policies — a due-this-fortnight table (plus status filters and search) with Call now to trigger a renewal call for any policy (passes the policy's context variables to the agent).
  • Setup — a configuration checklist, a one-click Create renewal agent button, and the post-install wiring steps.

Knowledge base

renewal-playbook ships four real scripts the agent answers from: why keeping the policy in force matters, objection handling, grace period / free-look / revival, and the payment-link / UPI mandate script.

Install & post-install wiring

  1. Install Policy Renewal Reminder into your org.
  2. Open Setup → Create renewal agent (builds the bundled Sarvam agent, auto-wired to the tools + playbook KB).
  3. Copy the new agent's ID into the app's Renewal agent ID setting (renewal_agent_id) so renewal_reminder can dial.
  4. (Optional) Set WhatsApp channel ID (wa_channel) to auto-send the payment link and the paid receipt, and Payment link base URL (payment_link_base) so the agent can hand over a policy-matched pay link.
  5. Point your systems at the inbound hooks — policy_due (PAS/LMS drops each premium-due policy; token-authenticated by the install's unguessable URL) and razorpay_paid (verified with x-razorpay-signature; on payment.captured it records the payment, marks the policy renewed, and WhatsApps a receipt). Due policies now flow in and auto-dial.

Settings

KeyTypeNotes
renewal_agent_idtext (required)The agent the workflow + "Call now" dial.
wa_channeltextWhatsApp channel for the payment link + paid receipt.
payment_link_basetextBase of the Razorpay/UPI pay link; the policy number is appended so payments auto-match.

Bulk dialing your due book

The real-time path (webhook → workflow → call) covers newly-due policies. To sweep an entire due book, use the app-key campaign API:

POST /api/app-campaigns
{ "agentId": "<renewal agent id>",
  "targetQuery": { "status": "due" },      // over the `policy` object
  "result": { ... write-back ... } }

Monetization

Policy Renewal Reminder is billed on outcomes, not seats: a per-successful-renewal fee — charged only when a policy the agent worked is marked renewed (paid on the call or confirmed via the razorpay_paid webhook). Every renewal recovers a premium that would otherwise have lapsed, so the fee always nets positive for the insurer; promises and objections captured are surfaced as pipeline, not billed.

Ready-made agents it ships

Policy Renewal Agentmulti-step flow

A multilingual (Sarvam) persistency agent that calls policyholders whose premium is due, explains why the cover matters, handles the renewal objection from the playbook, and offers a payment link / UPI mandate to collect on the call.

What your agents can do with it

find_policy

Look up the policyholder's policy by policy number (or phone) to read back the premium, due date and product before speaking.

mark_renewed

Mark the policy as RENEWED once the premium is paid on the call (UPI/payment link captured) or the customer confirms they have just paid. This is a persistency win.

mark_promised

Mark the policy as PROMISED when the customer commits to pay by a date but does not pay on the call, so it can be followed up before the grace period ends.

mark_lapsed

Mark the policy as LAPSED only when the customer firmly refuses to renew — they want to surrender/cancel and will not pay within the grace period — so the book reflects the true outcome and it drops out of the active follow-up list. Always call record_objection first with their reason.

record_objection

Save the reason the customer gave for not renewing yet (no money now, poor returns, has other cover, wants to surrender, will pay later) so the playbook and follow-up can be tailored.

Data it manages

Policy Payment

Permissions it requests

Apps run inside your workspace under least-privilege scopes you can see up front. This app asks for:

Store & manage “policy” records in your workspace
objects:policy
Store & manage “payment” records in your workspace
objects:payment
Read your agents' configuration
agents:read
Place phone calls on your behalf
calls:initiate
Read calls of agents this app is connected to
calls:read
ai:llm
ai:llm
Send WhatsApp messages
whatsapp:send
View your outbound campaigns
campaigns:read
See your name and email
user:profile

What's new in v1.1.0

Changelog

1.1.0 — 2026-07-12

  • Renamed to Policy Renewal Reminder (business-friendly) with a marketplace icon.
  • Added real UI screenshots (dashboard + key pages).
  • Added mark_lapsed so a firm refusal/surrender is recorded — the persistency KPI is now fully reachable.
  • Verified end-to-end loop closure: trigger → workflow → call → agent tools → write-back → dashboard.

1.0.0

  • Initial release.
  • Data model: policy object (policy #, holder, phone, premium, due date, product, language, status, objection, created_at) with due / promised / renewed / lapsed saved views, plus a payment object (policy #, amount, captured_at, phone, method) for on-call collections.
  • Agent tools (declarative): find_policy, mark_renewed, mark_promised, record_objection.
  • Bundled agent: Policy Renewal Agent — a Sarvam multilingual multi-context flow (deterministic find_policy lookup → explain value / handle objection / collect) auto-wired to the tools and the renewal playbook knowledge base.
  • Knowledge base: renewal-playbook — why keeping the policy matters, objection handling, grace period / free-look / revival, and the payment-link / UPI mandate script.
  • Automation: policy_due inbound webhook (PAS/LMS, dedupe on policy #, token-authenticated) and razorpay_paid webhook (HMAC-verified via x-razorpay-signature); renewal_reminder workflow (delay ~10 min → outbound renewal call); payment_confirm workflow (on payment → mark policy renewed → WhatsApp the receipt).
  • Dashboard UI: persistency KPI tiles (due this fortnight, recovered premium, persistency %, same-day paid %, at-risk premium), renewal-status mix, recent policies, and payments collected; also renders into the dashboard_widget slot in compact form.
  • Policies page: a due-this-fortnight table with status filters, search, and per-policy Call now (passes policy context variables to the agent).
  • Setup page: configuration checklist + one-click Create renewal agent and post-install wiring steps.
  • Self-seed: a fresh install auto-loads six realistic demo policies across all four statuses and one captured payment (removable) so the dashboard is populated on first open.

Publisher

Telenow AI

Marketplace publisher · app reviewed by Telenow before listing.

Your data, your keys

Encryption everywhere

Secrets, carrier credentials and API keys stored AES-GCM encrypted; TLS in transit; HMAC-signed webhooks.

Org isolation & RBAC

Strict per-organization data isolation with role-based access for every member.

Full audit log

Every mutating action is logged and filterable, with CSV export for your records.

Telephony compliance

In-app DLT / regulatory flows, TCPA calling windows, and org-wide Do-Not-Call enforcement.

More finance apps

Audit 100% of collection calls — AI and human — against RBI Fair-Practice rules, with evidence.

finance
₹300.00 free credit on signup

Install Policy Renewal Reminder

Sign up free and get ₹300.00 in credit — no card required. Connect your number, pick a template, and go live in minutes.