
A monthly design-workspace reset for 38 clients, run from one command.
Each month, every mapped client needed the same manual sequence in Figma, Drive, a tracking sheet, ClickUp and Slack. One job now does it, checks its own work and repairs what it breaks.

The business problem
Every month, someone repeated the same sequence for each client: duplicate the Figma template, rename it, set sharing, update the cover, archive an older month to Drive, update a tracking sheet, update a task and notify the account manager. Figma offers no API for most of those steps, so it could not be scripted the usual way.
What changed
Yash built a TypeScript job. A browser-automation layer does what Figma will not expose: duplicating, renaming, sharing and editing the cover’s month text. API clients handle ClickUp, Google Sheets, Google Drive and Slack. Each client gets a shared client file and a restricted internal file. The job checks every cover after it is written and repairs it if the month text did not land. It archives the file from two months earlier to Drive and removes churned clients from the tracking sheet. A double-click launcher lets a designer run it without using a terminal.
Before & after
| Area | Before | After |
|---|---|---|
| Monthly setup | Repeated manual work per client | One run per month, with a dry-run mode first |
| Covers | Errors found by clients | Each cover re-read and repaired before handoff |
| Reruns | Risk of a second duplicate file | Live check by exact title, then reuse and repair |
| Archive | Done when remembered | Month M−2 archived to Drive; gaps found by an audit command |
The business value
The first live run, for July 2026, covered 38 clients. After fixing three bugs found along the way, 34 had both files correctly shared with the sheet and tasks updated. Three clients had no design project mapped, and one needed a manual clean-up of a duplicate.
No time saving was measured, so none is claimed here. The project was run live for one month and then handed over with a launcher and a plain-language setup guide. A scheduled cloud run was drafted but not switched on, and Slack handoffs have a pause switch.
Why the system is dependable
Reliability is in the rerun. Before creating anything, the job looks for an existing file with the exact title. Writes are re-read, covers are verified, and a repair-only command exists. It never deletes files in Figma. A mistake during development, where keystrokes were read as shortcuts and changed a cover’s opacity, led to a rule: confirm what is selected on screen before sending any input. Seventeen unit tests cover the naming and date logic.
A closer look at the build
Rebuilt interface with fictional client names and illustrative figures. It shows the shape of a run report, not a real run.
Could this work for your team?
If an important monthly process still lives in someone’s recurring checklist, and one of its tools has no API, it may still be a good candidate for dependable automation.
More case studies


A salesperson describes the deal in a chat thread. The contract request builds itself.
