Calendar as Code
Your content calendar is a JSON file. Store it in git, review changes in PRs, and sync the final version into Agenda Panda after a dry-run plus dashboard review.
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 |
timezone | No | IANA timezone for display metadata |
media | No | Hosted HTTPS media URL or a local file path you want the CLI to upload |
Syncing
Section titled “Syncing”# Preview changesap calendar sync --file calendar.json --dry-run
# Apply changesap calendar sync --file calendar.json
# Remove unposted calendar_sync items missing from the fileap calendar sync --file calendar.json --delete-missingSyncing is idempotent - run it twice, get the same result. Safe for CI/CD.
Recommended review loop
Section titled “Recommended review loop”ap calendar pull --file calendar.json# edit calendar.json in your IDE or with your agentap calendar sync --file calendar.json --dry-runap dashboardap calendar sync --file calendar.jsonGit Workflow
Section titled “Git Workflow”# Pull current calendarap calendar pull --file calendar.json
# Edit in your IDE, commit, pushgit add calendar.jsongit commit -m "Add launch week posts"git push