Skip to content

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.

[
{
"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"
}
]
FieldRequiredDescription
external_idYesStable identifier for matching across syncs
contentYesPost text
connectionYesConnection ID or platform name
scheduleYesUTC ISO 8601 datetime with Z suffix
timezoneNoIANA timezone for display metadata
mediaNoHosted HTTPS media URL or a local file path you want the CLI to upload
Terminal window
# Preview changes
ap calendar sync --file calendar.json --dry-run
# Apply changes
ap calendar sync --file calendar.json
# Remove unposted calendar_sync items missing from the file
ap calendar sync --file calendar.json --delete-missing

Syncing is idempotent - run it twice, get the same result. Safe for CI/CD.

Terminal window
ap calendar pull --file calendar.json
# edit calendar.json in your IDE or with your agent
ap calendar sync --file calendar.json --dry-run
ap dashboard
ap calendar sync --file calendar.json
Terminal window
# Pull current calendar
ap calendar pull --file calendar.json
# Edit in your IDE, commit, push
git add calendar.json
git commit -m "Add launch week posts"
git push