Skip to content

ap calendar

Agenda Panda treats calendars as reviewable JSON. The normal loop is pull or generate calendar.json, dry-run the sync, review in the dashboard, then apply.

Terminal window
ap calendar
ap calendar --week
ap calendar 2026-05-01 --detail
ap calendar --interactive
  • ap calendar shows the month view for the active workspace
  • ap calendar --week shows a weekly view
  • ap calendar <date> --detail shows a detailed day view
  • ap calendar --interactive lets you navigate the calendar in the terminal

Use import when you want to bulk-create posts from a JSON file. external_id is optional: if you provide it, Agenda Panda preserves it so the posts are immediately syncable with your chosen stable IDs. If you omit it, Agenda Panda assigns a stable sync identity automatically so imported posts can still be pulled and synced later.

Terminal window
ap calendar import --file posts.json
ap calendar import --file posts.json --dry-run
cat posts.json | ap calendar import --json

Each item needs:

  • content
  • connection
  • schedule

Optional fields:

  • external_id
  • timezone
  • media, image, or video

Schedules must be UTC ISO 8601 values with a Z suffix. timezone is optional display metadata only.

Use sync when you want a stable, reviewable file that can be edited repeatedly over time.

Terminal window
ap calendar sync --file calendar.json --dry-run
ap calendar sync --file calendar.json
ap calendar sync --file calendar.json --delete-missing

Sync requires external_id on every item so Agenda Panda can decide whether to create, update, skip, or delete each post safely. ap calendar pull includes one for every item, including older posts that predate sync identity support.

--delete-missing only removes unposted calendar_sync items that are no longer present in the file.

Pull the current server state down as a CalendarItem[] JSON array:

Terminal window
ap calendar pull --file calendar.json
ap calendar pull --from 2026-05-01 --to 2026-05-31
ap calendar pull --include-published

By default, pull excludes already-published posts.

Terminal window
ap calendar pull --file calendar.json
# edit calendar.json in your IDE or ask your agent to update it
ap calendar sync --file calendar.json --dry-run
ap dashboard
ap calendar sync --file calendar.json
[
{
"external_id": "launch-day-x",
"content": "Shipping today.",
"connection": "x",
"schedule": "2026-05-01T14:00:00Z",
"timezone": "America/New_York",
"media": "https://agendapanda.com/api/media/abc12345.png"
}
]
  • connection can be a connection ID or an unambiguous platform name
  • schedule must be UTC for import and sync
  • timezone is optional metadata for display
  • Use hosted HTTPS media URLs inside calendar.json

See Calendar as Code for the full JSON guide.