Skip to main content
The URL scheme lets users and developers of other apps send commands to Craft. This page explains how it works and what the current capabilities are.
We are planning to add more capabilities to the existing ones in the future.

Available Commands

Here are the available commands that Craft understands:
  • Open a document
  • Create a document
  • Append to an existing document
  • Start search in a Space
  • Access Daily Notes

Open Page

Inputs:
  • blockId – you can access it if you click Copy Deeplink in a doc, the link has a blockId parameter
  • spaceId – your user id usually (random guid), if it’s a shared workspace, you need to get it by clicking Copy Deeplink
Example:
craftdocs://open?spaceId=<spaceId>&blockId=<blockId>
It does not work when you are not a member of the space.

Open Space

Inputs:
  • spaceId – you can get this from a simple deeplink, when clicking Copy Deeplink
  • tab (optional) – calendar or search or documents
Example:
craftdocs://openspace?spaceId=<spaceId>&tab=<tab>
It does not work when you are not a member of the space.

Create New Empty Document

Input: Simply use this URL to create a new empty document in your currently open space:
craftdocs://createnewdocument

Create Document

Inputs:
  • spaceId – you can get this from a simple deeplink, when clicking Copy Deeplink
  • content – Percentage encoded markdown (images not supported yet)
  • title – Percentage encoded plaintext title
  • folderId – Parameter is required, but can be empty
Example:
craftdocs://createdocument?spaceId=<spaceId>&title=<title>&content=<content>&folderId=<folderId>

Append to Doc

Inputs:
  • spaceId – you can get this from a simple deeplink, when clicking Copy Deeplink
  • index – index of new block (0 for prepend, huge number for append (more blocks than what you have in your doc)
  • parentBlockId – blockId of document
  • content – percentage encoded string
Example:
craftdocs://createblock?parentBlockId=<parentBlockId>&spaceId=<spaceId>&content=<content>&index=<index>

Search in Workspace

Starts a search in a given workspace and prefills search textfield with the query contents. Inputs:
  • spaceId – you can get this from a simple deeplink, when clicking Copy Deeplink
  • query – Make sure it’s percentage encoded
Example:
craftdocs://opensearch?spaceId=<spaceId>&query=<query>

Access to Daily Notes

  • Yesterdaycraftdocs://openByQuery?query=yesterday&spaceId=<spaceId>
  • Todaycraftdocs://openByQuery?query=today&spaceId=<spaceId>
  • Tomorrowcraftdocs://openByQuery?query=tomorrow&spaceId=<spaceId>