Skip to main content
A Work doc is Markdown text. It can embed boards, items and other docs. This page covers what you can do with a doc besides write it. For creating and appending, see Boards, columns and items.

Version history

A doc keeps its own history.
  • Auto-saved versions. While you edit, the doc saves a version at most every 10 minutes, and only when the text changed. Work keeps the newest 50.
  • Saved versions. You can save a version with a name, such as “Before the rewrite”. Work keeps the newest 200.
  • Open and restore. Open a version to read it. Restore brings its text back. The text you replaced is saved first, as a version called “Before a restore”, so a restore never loses anything.
  • Restore is a normal edit. If a gate holds doc edits, a restore waits for approval like any other edit. If the doc changed after you opened it, the restore is refused with 409 and you read the new text first.
  • Who can see history. History can hold text that was removed on purpose, so it needs Manage authority on top of being able to read the doc. Someone who cannot read the doc gets “not found”.
In the app: open a doc, then More, then Version history. The API is GET /v1/docs/{id}/versions, GET /v1/docs/{id}/versions/{versionId}, POST /v1/docs/{id}/versions (body { "name": "..." }) and POST /v1/docs/{id}/versions/{versionId}/restore (body { "expectedVersion": 7 }).

Export

Export a doc as Markdown or HTML from the doc’s More menu. On the web you can also choose Print or save as PDF, which uses your browser’s print dialog. The phone app does not make PDF files yet.
  • An embedded board is written as a table. Only the columns and items you may read are included, up to 12 columns and 200 rows. A line says how many rows were left out.
  • HTML export has no scripts. Links that are not web or email links are written as plain text, and images are written as links.
  • The API is GET /v1/docs/{id}/export?format=markdown or format=html. It returns the file name, the content type and the content.

Import

Import a Markdown or HTML file from Docs, then More, then Import from file. Work creates a new doc and opens it. An HTML file is converted to Markdown. The doc never stores the HTML. A file over 4 MB is refused in the app, and the API refuses content over 1,000,000 characters. The API is POST /v1/docs/import with format (markdown or html), content, and optionally title and workspaceId.

Checklists and blocks

Write a task as - [ ] item. In a doc, tap the box to tick it. This changes one character of the text and saves it, unless someone else saved the doc in between. Then your tick is not saved and the doc shows the newest text. The editor has buttons to add a heading, checklist, bullet list, numbered list, table, quote, code block or divider. A table is Markdown text; there is no cell editor.

Agents

Agents use the same features through MCP: boardy_list_doc_versions, boardy_create_doc_version, boardy_restore_doc_version, boardy_export_doc and boardy_import_doc. See Work MCP tools. Source: worksong-ai/worksong:services/work/docs/doc-history-export.md@9f5aa83, worksong-ai/worksong:services/work/src/Boardy.Api/DocPortability@9f5aa83, worksong-ai/worksong:services/work/src/Boardy.Dashboards/Application/DocVersionActions.cs@9f5aa83, worksong-ai/worksong:services/work/src/Boardy.Api/Program.cs@9f5aa83. Docs version: Worksong 2.0 with Work 1.2.