Problem
Team documentation lived primarily in a task management platform with no reliable, scheduled backup process. Docs were updated frequently, ownership was distributed, and there was no single recovery path if content was accidentally deleted or overwritten.
Manual exports were inconsistent — sometimes weekly, sometimes never — and files landed in shared drives without a predictable structure.
Objectives
- Run automated backups on a fixed schedule without manual intervention
- Export docs in a format suitable for search, audit, and recovery
- Organize backups by date and workspace area for fast retrieval
- Document the system so another team member could maintain it
- Avoid storing credentials or sensitive identifiers in the automation itself
Solution
I built a backup pipeline around ClickUp's native Docs export flow. Playwright handles the browser-based export step, producing PDF and HTML files. Make receives the exported files, uploads them into a Google Drive backup folder, and records backup metadata in a tracking log.
The system is intentionally boring: a clear export path, predictable backup destinations, a visible backup log, and a short SOP for restore steps.
Architecture
The pipeline has two parts. Playwright handles the browser-based ClickUp Docs native export so the backup uses the same PDF and HTML artifacts a human operator would download. Make handles the receiver/upload side: accepting the exported files, placing them in Google Drive, and writing a backup log entry.
Private folder names, internal URLs, and workspace identifiers are not part of the public case study.
- 1ClickUp DocsTrigger
Documentation source for the backup pipeline.
- 2Playwright native exportAction
Browser automation drives the native ClickUp export flow.
- 3PDF / HTML filesAction
Exported files become portable backup artifacts.
- 4Make receiver / upload stepAction
Make receives or handles the exported files for storage.
- 5Google Drive backup folderOutput
Files are uploaded to a public-safe backup destination.
- 6Backup logOutput
Metadata and status are recorded for recovery checks.
Workflow
- Updated or backup-eligible ClickUp Docs are identified in a public-safe way.
- Playwright runs the native ClickUp Docs export flow.
- The export produces PDF and HTML backup files.
- The exported files are handed off to Make.
- Make uploads the files to the Google Drive backup folder.
- Backup metadata and status are written to the backup log or tracking sheet.
Tools Used
- ClickUp — source documentation system
- Playwright — browser automation for the native ClickUp Docs export flow
- Make — receiver/upload step and workflow handoff into storage/logging
- Google Drive — backup storage destination
- Google Sheets — backup log or tracking sheet where run metadata and status are recorded
Technical Decisions
Native export over API assumptions: The backup uses ClickUp's native Docs export path through browser automation. That keeps the public flow aligned with confirmed exported artifacts instead of implying an API-only implementation.
Playwright for browser control: Playwright handles the part of the workflow that needs browser-based interaction with the export UI.
Make for receiving and storing files: Make handles the handoff after export, including upload into Google Drive and logging backup status.
Track every run: A backup log or tracking sheet keeps the pipeline auditable without exposing private folder names, URLs, or IDs.
Challenges Solved
- Browser-based export: Playwright handled the native ClickUp Docs export flow instead of relying on a public API assumption.
- Portable backup artifacts: PDF and HTML files provided recovery-ready copies in formats that could be opened outside the source system.
- Storage handoff: Make handled receiving or uploading the exported files into Google Drive.
- Handoff risk: A backup log and one-page SOP made the restore process easier for another team member to follow.
Results
- Backups run automatically every week with zero manual exports
- Recovery drill completed successfully using a dated folder from a prior month
- Run log provides audit trail for compliance questions about documentation retention
- Team reported confidence increase in editing docs knowing rollback was possible
Future Improvements
- Add optional diff view between weekly manifests
- Push backup integrity checks to a simple dashboard
- Archive backups older than 12 months to cold storage tier
- Mirror critical docs to a secondary provider
Lessons Learned
Start with the restore workflow, not the export workflow. Defining what "recovery" looks like forced better folder conventions and clearer naming from day one.
Also: a backup system nobody trusts is useless. A single successful restore demo did more for adoption than any documentation.
If I Rebuilt This Today
I would keep the Playwright export logic isolated and easier to test with public-safe fixtures, then keep the Make upload/logging side simple and observable. I'd also generate a human-readable index page per backup folder.
Engineering Notes
- Correct public-safe flow: ClickUp Docs → Playwright native export → PDF / HTML files → Make receiver/upload step → Google Drive backup folder → Backup log
- Backup log or tracking sheet should record run metadata and status without exposing private IDs or folder names
- Manifest-style tracking may be useful for comparing backup runs, but exact implementation details should stay generalized unless confirmed
- Next iteration: evaluate whether updated docs can be identified more precisely without exposing internal workspace details