Back to The Times of Claw

How to Manage Subscription Renewals in DenchClaw

Learn how to manage subscription renewals in DenchClaw CRM—track renewal dates, automate reminders, identify churn risk, and close more expansions.

Mark Rachapoom
Mark Rachapoom
·7 min read
How to Manage Subscription Renewals in DenchClaw

How to Manage Subscription Renewals in DenchClaw

Subscription renewals are a make-or-break moment for any SaaS or service business. Miss one, and you lose ARR. Rush it last-minute, and you miss the opportunity to expand. The goal is to see renewals coming 90 days out, get ahead of any risk, and show up to the conversation with context — not scrambling to remember who this account even is.

DenchClaw gives you a local-first CRM built on DuckDB where renewals are visible, trackable, and proactively surfaced by your AI agent. Here's how to set it up.

The Renewal Management System#

A good renewal system needs four things:

  1. Renewal dates tracked on every account — visible, queryable
  2. Risk signals surfaced before the renewal window opens
  3. Reminders that fire before it's too late
  4. Action tracking — who's been contacted, what was discussed, what's the current state

DenchClaw handles all four. Let's build it.

Step 1: Add Renewal Fields to Your Accounts Object#

Start by extending your company or accounts object with renewal-specific fields.

Tell the agent:

"Add these fields to the company object: Contract Renewal Date (date), Contract Value (number), Contract Start Date (date), Renewal Status (enum), Next Steps (text), Expansion Opportunity (text)"

For Renewal Status, use an enum that mirrors your renewal workflow:

- name: Renewal Status
  type: enum
  options:
    - Not Started
    - In Progress
    - At Risk
    - Expansion Opportunity
    - Renewed
    - Churned
    - Multi-Year Locked

Add a Health Score#

If you have customer health data (product usage, support tickets, NPS), add a health score field:

- name: Health Score
  type: number  # 0-100
- name: Health Tier
  type: enum
  options: [Green, Yellow, Red]

Step 2: Build the Renewal Calendar View#

Create a calendar view on your accounts object using the Contract Renewal Date field:

views:
  - name: Renewal Calendar
    type: calendar
    view_settings:
      dateField: Contract Renewal Date

Now you can see every renewal plotted on a calendar — 30, 60, 90 days out. Switch to table view sorted by renewal date and you get your renewal queue in order.

Step 3: Create Renewal Window Views#

Build tiered views that surface accounts entering different renewal windows:

90-Day Renewal Window#

Ask the agent: "Create a view showing accounts with renewal dates in the next 90 days, sorted by contract value descending"

The resulting YAML:

- name: Renewing Next 90 Days
  filters:
    - field: Contract Renewal Date
      operator: within_days
      value: 90
    - field: Renewal Status
      operator: not_in
      values: [Renewed, Churned, Multi-Year Locked]
  sort:
    - field: Contract Value
      direction: desc

At-Risk Renewals#

- name: At Risk Renewals
  filters:
    - field: Renewal Status
      operator: equals
      value: At Risk
  sort:
    - field: Contract Renewal Date
      direction: asc

Expansion Opportunities#

- name: Expansion Targets
  filters:
    - field: Renewal Status
      operator: equals
      value: Expansion Opportunity
  sort:
    - field: Contract Value
      direction: desc

Step 4: Automate Renewal Reminders#

This is where DenchClaw shines. Set up proactive renewal reminders:

"Every morning at 8am, check if any accounts have renewal dates in the next 30 days with Renewal Status = 'Not Started'. If yes, message me on Telegram with the account name, renewal date, contract value, and a link to their CRM entry."

The agent creates a cron job. You'll wake up to a message like:

"🔔 3 renewals approaching in 30 days:

  • Acme Corp — $48,000 — Renews April 15 (Renewal Status: Not Started)
  • Beta Inc — $24,000 — Renews April 22 (Renewal Status: Not Started)
  • Gamma LLC — $12,000 — Renews April 28 (In Progress)"

No more renewal surprises. The agent is your renewal radar.

Escalating Reminders#

Set up escalating alerts based on proximity:

  • 90 days out: Weekly digest of upcoming renewals
  • 60 days out: Individual alerts for large contracts ($50k+)
  • 30 days out: Daily alerts for any pending renewal
  • 14 days out: Urgent alert if still Not Started

Step 5: Track the Renewal Conversation#

For each account in the renewal window, use their entry document as a running renewal log:

"Add a note to Acme Corp's entry: 'March 25 — initial renewal call with Sarah Chen. They're happy with the product, exploring upgrade to Enterprise tier. Send proposal by April 1. Risk: none.'"

The agent writes this to the company's DuckDB-linked document. Next time you open the account, full context is there.

Also update the entry directly:

"Update Acme Corp: set Renewal Status to 'Expansion Opportunity', set Next Steps to 'Send Enterprise proposal by April 1', set Health Tier to 'Green'"

Step 6: Build a Renewal Analytics Dashboard#

Understand your renewal pipeline at a glance. Ask the agent to build a dashboard:

"Build a Dench App showing: total ARR up for renewal this quarter, breakdown by renewal status (pie chart), renewals by month for the next 6 months (bar chart), and at-risk ARR by health tier"

Key SQL for renewal ARR:

SELECT 
  SUM(ef_value.value::decimal) as total_arr,
  ef_status.value as renewal_status
FROM entries e
JOIN entry_fields ef_value ON e.id = ef_value.entry_id
JOIN fields f_value ON ef_value.field_id = f_value.id AND f_value.name = 'Contract Value'
JOIN entry_fields ef_status ON e.id = ef_status.entry_id
JOIN fields f_status ON ef_status.field_id = f_status.id AND f_status.name = 'Renewal Status'
JOIN entry_fields ef_date ON e.id = ef_date.entry_id
JOIN fields f_date ON ef_date.field_id = f_date.id AND f_date.name = 'Contract Renewal Date'
WHERE ef_date.value::date BETWEEN CURRENT_DATE AND CURRENT_DATE + INTERVAL 90 DAYS
GROUP BY ef_status.value;

Step 7: Post-Renewal Cleanup#

After a renewal closes, update the record and set up the next cycle:

"Mark Acme Corp as Renewed. Set their new Contract Renewal Date to one year from today. Set Renewal Status back to 'Not Started'. Log the renewal amount as $52,000."

The agent updates DuckDB and the account is back in your 12-month pipeline for next year.

Connecting Renewals to Your Success Workflow#

The best renewal conversations happen when you have context. Before a renewal call, ask the agent:

"Summarize everything about Acme Corp for my renewal call: their contract value, health score, usage data, support history, any open tickets, and key contacts"

Because all this data lives in your local DuckDB, the agent pulls it instantly and formats it as a pre-call brief.

Frequently Asked Questions#

How many accounts can DenchClaw track renewals for?#

DuckDB handles thousands to millions of rows without performance issues. For renewal management specifically, even 10,000 accounts with full field data runs smoothly on a modern laptop.

Can DenchClaw send renewal emails automatically?#

Yes. If you connect Gmail via the gog skill, the agent can draft or send renewal outreach emails. For compliance reasons, you might prefer to review drafts before sending — configure the agent to create Gmail drafts rather than send directly.

How do I track multi-year contracts?#

Add a Contract Length (Years) field and a Multi-Year boolean. Create a separate view for multi-year contracts. For renewal reminders, calculate the reminder date based on contract length: a 3-year contract signed March 2024 renews March 2027, so a 90-day reminder fires in December 2026.

Can I manage renewals for both SaaS subscriptions and annual service contracts?#

Yes. Use the Renewal Status enum to distinguish types, or add a Contract Type field (SaaS, Service, License, Retainer). Build separate views per contract type if your workflows differ.

How do I handle early renewals or co-terminus deals?#

Add an Early Renewal Discount field and a flag for co-terminus deals. Track the conversation in the entry document. For multi-product customers who want to align renewal dates, the entry document becomes the place to track the negotiation and agreed-upon terms.

Ready to try DenchClaw? Install in one command: npx denchclaw. Full setup guide →

Mark Rachapoom

Written by

Mark Rachapoom

Building the future of AI CRM software.

Continue reading

DENCH

© 2026 DenchHQ · San Francisco, CA