Renewal Risk Cabinet

Renewal Risk Cabinet

v0.1.0

Structured renewal management command center that surfaces upcoming renewals, risk levels, expansion potential, and required actions across 90/60/30-day windows. A CSM agent and a Workflow agent replace the manual renewal tracker spreadsheets, Gainsight notes, and quarterly renewal fire drills. Every renewal has an action plan on disk.

customer-successrenewalschurn-preventionexpansionenterprisecabinet
2 agents3 jobs1 cabinets10 pages
cabinet /board
renewal-risk app preview

Renewal Risk Cabinet

sales

agents

πŸ”„

Renewal CSM

.agents/renewal-csm/

Renewal Competitor Watch

0 8 * * 1

Weekly Renewal Risk Sweep

0 8 * * 1

βš™οΈ

Renewal Workflow Agent

.agents/renewal-workflow/

Daily Renewal Escalation Check

0 7 * * 1-5

2

Agents

3

Jobs

1

Depts

10

Pages

Renewal Risk Cabinet
πŸ”„ Renewal CSM
βš™οΈ Renewal Workflow Agent
Renewal Competitor Watch
Daily Renewal Escalation Check
Weekly Renewal Risk Sweep
πŸ”„Renewal CSMlead

Owns renewal risk assessment and the customer-facing action plan for every account in the 90/60/30-day window β€” from identifying blocking issues to writing the expansion narrative and sequencing the Workflow agent.

0 8 * * 1
βš™οΈRenewal Workflow Agentspecialist

Orchestrates data collection across CRM, contracts, support, and usage analytics for every renewal account β€” ensuring the Renewal CSM always has fresh, sourced inputs and that action items in renewal plans are tracked to completion.

0 7 * * 1-5
Renewal Competitor Watchactive

Daily Renewal Escalation Checkactive

Weekly Renewal Risk Sweepactive

Renewal Risk Cabinet

A structured renewal management operation: a CSM agent and a Workflow agent scan every account in the 90/60/30-day renewal window each week, assess risk level, surface expansion opportunities, and produce a board view with action owners and deadlines. Every renewal has a written action plan. No renewal should surprise anyone.

Keep your CRM, contracts database, and support system. Replace the renewal-tracker spreadsheets, the Gainsight notes nobody reads, and the quarterly "wait, that's up for renewal?" fire drill.

The team

  • [[.agents/renewal-csm]] β€” Renewal CSM. Owns the renewal risk assessment, expansion identification, and the customer-facing action plan for each renewal in the window.
  • [[.agents/renewal-workflow]] β€” Renewal Workflow Agent. Orchestrates the data pull across CRM, contracts, support, and usage analytics β€” and ensures action items are tracked to completion.

Recurring rhythm

Cadence Job Owner Output
Weekly (Mon 08:00) [[.jobs/weekly-renewal-sweep]] Renewal CSM β†’ Workflow Full renewal board refreshed; action plans updated
Daily (Mon–Fri 07:00) [[.jobs/renewal-escalation-check]] Renewal Workflow 30-day accounts re-checked for blocking issues; escalations flagged
Weekly (Mon 08:00) [[.jobs/competitor-watch-renewals]] Renewal CSM Competitor mention sweep across renewal accounts; counter-narratives

How to run the demo

  1. Open the [[board]] β€” the renewals board: upcoming timeline, $ at risk, risk level, expansion potential, action owner, and days to renewal.
  2. Browse renewals/ β€” the individual renewal action plans the weekly job produces.
  3. Check renewals/index.md for the full 90-day pipeline.

Connectors

Required: CRM (Salesforce / HubSpot β€” contract terms, ARR, renewal dates), contracts database (DocuSign / Ironclad), support (Zendesk / Intercom β€” open tickets), usage analytics (Amplitude / Mixpanel). Recommended: Gong (renewal call transcripts), Slack (escalation delivery), billing system (Stripe / NetSuite β€” payment history, usage overages, expansion signals).

Cross-cabinet link: Competitor context for renewal conversations is cross-referenced with [[../competitive-intelligence]].

Every artifact is a file

The Renewal CSM writes action plans to renewals/<account>-renewal.md. The board webapp reads these directly. Every renewal has a traceable plan with an owner, a date, and a blocking issue β€” not a Gainsight note that scrolls away.

Install
$ git clone --filter=blob:none --sparse https://github.com/cabinetai/cabinets.git && cd cabinets && git sparse-checkout set renewal-risk