Using URL Scheme

The URL scheme lets users and developers of other apps send commands to Craft. This page explain how it works and what are the current capabilities.

Note: We are planning to add more capabilities to the existing ones in the future.

 

Here are the available commands that Craft understands:

  • Open a document
  • Create a document
  • Append to an existing document
  • Start search in a Space

 

Open page

Inputs:

  • blockId - you can access it if you click on 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 [click copy deeplink, it will have the id]

Example: craftdocs://open?spaceId=<spaceId>&blockId=<blockId>

Note: It does not work when you are not the member of the space 

 

Open space

Inputs:

  • spaceId - you can get this from a simple deeplink, when clicking on Copy Deeplink
  • (optional) tab - calendar or search or documents

Example: craftdocs://openspace?spaceId=<spaceId>&tab=<tab>

Note: It does not work when you are not the member of the space 

 

Create document

Inputs:

  • spaceId - you can get this from a simple deeplink, when clicking on 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 on 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 on Copy Deeplink
  • query - Make sure it's percentage encoded

Example: craftdocs://opensearch?spaceId=<spaceId>&query=<query>

Access to Daily Notes

  • Yesterday craftdocs://openByQuery?query=yesterday&spaceId=<spaceId>
  • Today - craftdocs://openByQuery?query=today&spaceId=<spaceId>
  • Tomorrow - craftdocs://openByQuery?query=tomorrow&spaceId=<spaceId>