SmartBlocks adding a new dimension to Roam, making it a programmable note-taking tool for networked thought.

Table of contents


SmartBlocks makes it easy to reuse text in a dynamic way in Roam. It can be compared to other snippet/template insertion tools like TextExpander and Alfred. However, SmartBlocks completely lives in your Roam graph and can smartly interact with your graph. All SmartBlocks workflows are defined in the graph and are performed in your graph. SmartBlocks are made of the following key components:

  • Workflows: These are the definitions of what the SmartBlock will do. It serves as a template for the SmartBlocks actions. These can be predefined or custom workflows.

  • Commands: Commands are instructions that make your SmartBlock do amazing and dynamic things.

  • Trigger: is the keystrokes you type so that the workflow is run.


Getting started video series by R.J Nestor

Other Useful videos

Learning SmartBlocks

To learn how to build and use SmartBlocks, the flowing steps are recommended.

If you're a beginner, or your workflows requirements are basic then steps 1 - 3 may be all you need.

If your workflow requirements are more complex, or if you're a developer, then continue with steps 4 through 9.

  1. Enhance your command knowledge
  1. Experiment with alternative methods
  1. Customize your Smartblock Trigger
  1. Dig deeper for JavaScript developers


There is an active community at channels #roam42 and #roam-js. Stop by if you need help or want to share your ideas.