Calendar as Code
Your content calendar is a JSON file. Store it in git, review changes in PRs, roll back with git revert.
JSON Format
Section titled “JSON Format”[ { "external_id": "launch-post", "content": "We just launched v2.0!", "connection": "x", "schedule": "2026-03-15T14:00:00Z" }, { "external_id": "follow-up", "content": "Here's what's new in v2.0.", "connection": "linkedin", "schedule": "2026-03-16T10:00:00Z", "media": "https://example.com/og-image.png" }]Fields
Section titled “Fields”| Field | Required | Description |
|---|---|---|
external_id | Yes | Stable identifier for matching across syncs |
content | Yes | Post text |
connection | Yes | Connection ID or platform name |
schedule | Yes | UTC ISO 8601 datetime with Z suffix |
media | No | URL or local file path |
Syncing
Section titled “Syncing”# Preview changesap calendar sync --file calendar.json --dry-run
# Apply changesap calendar sync --file calendar.jsonSyncing is idempotent - run it twice, get the same result. Safe for CI/CD.
Git Workflow
Section titled “Git Workflow”# Pull current calendarap calendar pull -o calendar.json
# Edit in your IDE, commit, pushgit add calendar.jsongit commit -m "Add launch week posts"git push