Skip to content

Exports

Verified against v0.10.0 · internal/api/export.go, internal/poker/csv.go, internal/standup/csv.go, internal/plugin/csv.go

Any session exports to CSV from a link in its own room, or directly:

GET /api/sessions/{id}/export.csv

You must be a member of the space to fetch it. The file is named after the session title, sanitised.

Finding the session to export is the space page’s job: search the titles and filter by kind, then open the one you want and take the CSV from its room.

A space's session list filtered to poker with the search box reading 'sprint', narrowed to Sprint 34 planning, Sprint 34 sizing, Sprint 33 planning and Sprint 32 planning — two open, two ended.A space's session list filtered to poker with the search box reading 'sprint', narrowed to Sprint 34 planning, Sprint 34 sizing, Sprint 33 planning and Sprint 32 planning — two open, two ended.
Search matches titles and the kind filter cuts the rest; every session in the list, live or ended, exports.

Pokerticket, story, status, estimate, votes, detail. votes is how many people voted; detail spells out who voted what, and is only present for the current story once it has been revealed.

Standupname, yesterday, today, blockers, skipped.

Plugin-provided kindsid,kind,title,phase plus one column per top-level field of the ceremony’s wire state. The retrospective plugin’s document is revealed, columns, cards, groups, actionItems; authorship is absent from cards until the facilitator reveals.

Full column semantics are in the CSV reference.

The CSV is rendered from the same redacted view the WebSocket sends, not from raw storage. An unrevealed vote is therefore structurally absent from the export — you cannot use the export as a side channel to read votes early.

Any cell beginning =, +, -, @, tab or carriage return is prefixed with a single quote before it is written.

Without this, a story titled =HYPERLINK("http://evil.example","click") becomes a live formula the moment someone opens the file in Excel, Sheets or LibreOffice. Parley writes CSV that a spreadsheet will treat as text.

CapabilityStatusWhat to do instead
JSON, Markdown or PDF exportNot builtParse the CSV, or read the session over the API. A general export framework is on the roadmap.
Exporting a whole space at onceNot builtExport sessions individually, or query Postgres directly — the schema is documented.
Scheduled or automatic exportNot builtCall the endpoint from cron with a member's session cookie.