Hur Abbas

Revenue data

Closing a quiet billing leak

When customers cancelled, their phone lines often kept running, because removing them was a separate manual step. I noticed the gap while working on nearby billing automation. Now every cancellation opens a reviewed ticket.

Role
Spotted, designed and built
Company
RepairDesk
Status
Live
Built with
Stripe webhooks, n8n, Zoho CRM, Zoho Desk

The problem

RepairDesk provides business phone lines alongside its software. Cancelling the subscription didn't remove the line; someone had to remember to. Across 650+ accounts with a line on file, there was no reliable link between the two, so lines could keep costing money long after the customer left.

What I built

CancellationScheduled or nowFind the accountMatch to the CRMAlready open?Skip duplicatesTicketPhone team queueRemoveBy a personNo number?Close with a noteLog and alertevery outcome is written to a log and posted to the team's chatDue before the cancellationtakes effect, or today if immediate
The workflow finds and assigns the work. A person still removes the line, by design.

The removal itself stays manual: it involves the phone system and the carrier, and a wrong removal would cut off a live customer. The automation makes sure the work is never forgotten.

How it evolved

  1. Look up the carrier firstThe plan was to check the carrier account live. Mapping accounts to carrier records reliably wasn't possible yet, so I parked it.
  2. Filter by plan nameOnly plans with phone features would create tickets. The product catalog had too many variants for name matching to be safe.
  3. Review every cancellationI removed the filter. A ticket the team closes in seconds is cheaper than a line that runs for months.
  4. Fix required fieldsThe help desk rejected tickets without a contact and a correctly formatted due date.
  5. Keep context across stepsAn API step replaced the data the next steps needed. Passing context explicitly fixed it, and the current version has run cleanly since.

Outcome

650+phone lines covered by an automatic check
Everycancellation now reviewed
0lines that depend on someone remembering

A recurring cost that nobody owned now has an owner, a queue and a due date.

What I'd do next

Escalate overdue tickets automatically, then add the carrier mapping so tickets show exactly which line to remove.