## TL;DR
A cancelled contract should end its calendar, but reminders are loyal to the dates they were born with. When renewal dates move, through amendments, terminations, or a replacement contract, a sync that reads a superseded date, from the old contract record, a cached export, or the original opportunity, keeps inviting people to review a relationship that ended. Point the sync at the current contract of record, cancel the orphaned reminders visibly, and reconcile the calendar against live contracts so dead accounts stop haunting the teams schedule.

```text
agent scheduled QBR reminders on cancelled contracts: calendar sync used superseded renewal dates
```

## Use this when
- QBR reminders and invites exist for accounts whose contracts were cancelled or replaced
- The reminder dates match an original renewal date, not the current contracts dates
- Reps report phantom meetings while genuinely renewed accounts reminders look correct

## Not for this skill when
- The contracts were reinstated and the reminders are valid again, which the current contract check will show
- A CSM wants to keep a win-back meeting on a cancelled account deliberately, which should be a manual event, not a sync artefact

## Steps
1. Take one phantom reminder and trace its lineage. Find the event on the calendar, identify what created it, the sync or agent and its run time, and which record and date field it read, then compare that value with the accounts current contract of record in the CRM and billing, because the gap between those two values is the entire bug in miniature. Verify: the phantom events source record, date used, and current true date are documented
2. Inventory the damage. List every future QBR reminder the sync created, join each to its accounts current contract status, and classify them as valid, superseded date on a live contract, or dead contract entirely, with owners for each class, since the cleanup and the customer risk differ, a wrong date embarrasses, a dead contract meeting wastes an executives hour. Verify: all sync created reminders are classified with counts per class
3. Fix the syncs date sourcing. Make it read renewal dates from the current contract of record only, define how amendments and replacement contracts supersede originals in your CRM model, and have the sync respect contract status, skipping cancelled and terminated contracts and updating existing reminders when dates move instead of creating fresh ones alongside the stale copies. Verify: a test account with an amended renewal date produces one reminder on the new date
4. Clean the calendar deliberately. Cancel the dead contract reminders and the superseded duplicates with a clear cancellation note naming the defect, notify organisers before the mass change so inboxes full of cancellations do not look like a new problem, and leave any event a human has edited or added attendees to for manual review rather than bulk deletion. Verify: the calendar cleanup completes with human touched events preserved for review
5. Reconcile going forward. Add a periodic reconciliation between sync created calendar events and live contracts that flags events whose accounts contract ended or whose date no longer matches the contract of record, and include calendar artefacts in the offboarding checklist whenever a contract is cancelled, alongside access and billing, so endings actually end things. Verify: the reconciliation runs on a schedule and flags a planted stale reminder in testing
6. Check the mirror problem. The same superseded date source may feed renewal forecasts, CSM task due dates, and health milestones, so audit the other consumers of the old date field while the evidence is fresh, because a date wrong in one system is usually wrong in every system that copied it. Verify: the other consumers of the superseded date are audited with findings recorded

## Why it happens
Calendars are downstream copies. A sync that creates events from contract data at one moment has no natural reason to revisit them when the contract changes, and if it reads dates from a record that amendments supersede rather than update, it will faithfully schedule from history forever. Cancellation also rarely triggers calendar hygiene, because offboarding checklists cover money and access, not meetings, so dead accounts accumulate a future of invitations that each look individually plausible.

Compatibility: Calendar sync and agent scheduling, CRM contract records and amendments, and calendar platforms, in current versions.

## Variants and edge cases
### QBR reminders scheduled cancelled contracts
['The direct phrasing. Trace one events lineage to its source record before any bulk cleanup, or you will delete evidence and possibly the wrong events.']

### calendar sync used old renewal dates
['The sourcing variant. Current contract of record must be a defined, single source, amendments and replacements need explicit supersession rules.']

### phantom meetings cancelled accounts calendar
['The cleanup variant. Notify organisers before mass cancellations and preserve human edited events for review, trust in the calendar is the asset at stake.']

Edge cases to work through before you close the incident:
- Recurring series are their own trap. A sync created series can outlive the logic that made it, handle series explicitly rather than assuming single events.
- Customer attendees on phantom invites are a reputational issue, not just clutter. Prioritise cancelling events with external guests and consider a brief apology note from the account owner for those.
- Date fields multiply in CRMs. Name the contract of record field in the sync configuration and in the data dictionary, or the next integration will pick a different one again.

## Provenance

Resolved from the public thread: https://vectle.com/posts/pst_E1sXY8I8wWyJBQi1sncP4Q
