Get AI summaries of any video or article — Sign up free
Getting Started with Roam42 Smart Blocks with Brandon Toner thumbnail

Getting Started with Roam42 Smart Blocks with Brandon Toner

Robert Haisfield·
5 min read

Based on Robert Haisfield's video on YouTube. If you like this content, support the original creators by watching, liking and subscribing to their content.

TL;DR

Smart Blocks are Roam42 expansions that run Roam-aware commands during template expansion, enabling automation beyond static text insertion.

Briefing

Smart Blocks turn Roam42 into a template-driven automation layer—letting users trigger workflows with a simple double-semicolon and then run actions like inserting dates, jumping to related blocks, or pulling in content—without needing separate browser extensions. The practical payoff is tighter daily workflows and easier sharing of repeatable processes across devices, since Smart Blocks are built to run as Roam/JS expansions.

Brandon Toner, a pharmacist in Nova Scotia, describes using Roam for “everything,” but emphasizes a key mental discipline: Roam can easily drift into scattered, divergent thinking if users don’t intentionally manage convergence. His approach is to alternate exploration with self-checks—if notes become too broad or expansive, he constrains attention and reshapes the system. That same philosophy carries into Smart Blocks: start simple, iterate, and adjust the workflow as real usage reveals what’s missing.

Smart Blocks themselves are extensions built by Chris for Roam42 that populate a template engine. At their core they’re “mostly around expansions,” but they include Roam-aware commands that can execute actions during expansion—such as calculating dates, creating links, or grabbing information from the web. Toner compares the value to TextExpander: Smart Blocks can replace the need to install and configure text-expansion tools on every device because they live inside Roam and run wherever Roam runs.

A central example is a Daily Page workflow. Toner triggers a Smart Block from the Daily Page using “two semicolons,” then selects a template (like a morning journal). The template can automatically stamp the time in AM/PM format, create a “date yesterday” jump link, pull in block references (e.g., from a prompts library), and generate tasks that connect back to prior-day work. Block references can be copied directly as IDs, or Smart Blocks can fetch them depending on the template design.

Beyond filling in templates, Smart Blocks introduce a query-like capability through commands such as “block mentions,” which returns blocks that mention a page reference with optional filtering. This enables a more guided Daily Page: instead of manually searching, the template can embed tasks scheduled for today, show them with direct editability, and limit how many results appear. Toner also experiments with “controlled randomization,” using tags (like Seedlings, Fleeting notes, or Evergreen categories) so random picks stay meaningful rather than returning irrelevant blocks.

Smart Blocks also point toward integrations and community-driven expansion. They’re JavaScript-enabled, and examples live in a public repository (including “spark blocks” labeled examples). Demonstrations include fetching a random quote from a site, adding a Wikipedia extract to a page, and syncing Todoist tasks into Roam. The broader vision is “algorithms of thought”: encoding repeatable thinking processes—question sequences, branching prompts, and convergence steps—while keeping an “exit button” so creativity isn’t trapped by rigidity.

Advice at the end is consistent: Roam has a low floor and high ceiling, so users should start by automating what they already do daily, learn the Smart Block anatomy (the required “42 smart block tag,” the workflow under it, and the double-semicolon trigger), and then layer complexity gradually. Because Smart Blocks are still in beta, the recommended mindset is experimentation, documentation, and sharing with the Roam42 community so others can build on working patterns and push the boundaries faster.

Cornell Notes

Smart Blocks in Roam42 let users trigger template-based workflows with a double-semicolon, then run Roam-aware commands during expansion. They can automate daily rituals—like stamping time, creating “yesterday” jump links, inserting block references, and generating tasks—without relying on external text-expansion tools. A key capability is “block mentions,” which behaves like a lightweight query: it can return filtered sets of blocks that mention a page, enabling editable “today” task lists and other guided views. Smart Blocks also support controlled randomization by selecting from tagged note types, keeping results relevant. The bigger promise is community-shared templates and JavaScript-enabled “algorithms of thought” that encode repeatable thinking processes while preserving flexibility.

What makes Smart Blocks different from simple text templates in Roam42?

Smart Blocks are template expansions that include Roam-specific commands executed during the expansion. Instead of only inserting static text, they can calculate or insert dates/times, create links (like “date yesterday”), and pull in block references. In practice, Toner’s Daily Page templates use these commands to auto-populate time, jump portals, and task structures rather than requiring manual setup each day.

How does a Smart Block get created and triggered in Roam42?

A block becomes a Smart Block when the title includes the “42 smart block tag.” Everything nested underneath that tagged block becomes the Smart Block’s workflow. To run it, the user triggers it from the interface with “two semicolons,” which brings up the pre-populated list of Smart Blocks to choose from.

What is “block mentions,” and why does it matter for workflow design?

“Block mentions” returns a list of blocks that mention a page reference, with optional filtering. Toner uses it to build a Daily Page view that surfaces tasks with today’s date embedded in a specific format, then embeds those tasks with context and direct editability. This turns Roam into a guided dashboard rather than a place where the user must manually search for relevant items.

How does controlled randomization avoid the “random results are meaningless” problem?

Instead of randomizing across all pages, Toner recommends tagging or categorizing content (e.g., Seedlings, Fleeting notes, Evergreen/reference types) and then randomizing within those constrained sets. That way, a “random blog premise” or “random fleeting thought” stays aligned with the kind of material the user wants to draw connections from that morning.

Why does Toner prefer Smart Blocks over external tools like TextExpander?

Smart Blocks work across devices because they run inside Roam (built as Roam/JS), so the same workflow can be used at work and at home without installing and configuring separate extensions. Toner’s pharmacy environment sometimes lacks his usual extensions, so Smart Blocks remove that friction by keeping templates and automation inside Roam itself.

What role does community play in Smart Blocks’ growth?

Smart Blocks are shared through a public repository (including “spark blocks” examples). As more people build and publish useful templates or integrations, others can copy them into their own Roam databases. Toner also encourages documenting bugs and suggesting new commands, so constraints and feature gaps can be addressed quickly as the system matures.

Review Questions

  1. How do the required “42 smart block tag” and the double-semicolon trigger work together to define and run a Smart Block?
  2. Describe how “block mentions” can function like a query engine and give an example of a workflow it enables on the Daily Page.
  3. What strategy does Toner use to make randomization useful rather than noisy, and how do tags/categories support that?

Key Points

  1. 1

    Smart Blocks are Roam42 expansions that run Roam-aware commands during template expansion, enabling automation beyond static text insertion.

  2. 2

    A block becomes a Smart Block when its title includes the “42 smart block tag,” and it runs via a double-semicolon trigger.

  3. 3

    Daily Page templates can automatically insert time (AM/PM), create navigation links like “date yesterday,” and pull in block references to connect today’s work to prior context.

  4. 4

    The “block mentions” command returns filtered sets of blocks that mention a page reference, enabling editable “today” task dashboards without manual searching.

  5. 5

    Controlled randomization becomes practical when users constrain randomness to tagged note types (e.g., Seedlings or Fleeting notes) instead of randomizing across the entire graph.

  6. 6

    Smart Blocks reduce dependence on external text-expansion tools because they work across devices inside Roam.

  7. 7

    The long-term vision is community-shared Smart Blocks and JavaScript-enabled “algorithms of thought,” but the recommended approach is to start simple and iterate.

Highlights

Smart Blocks can replace TextExpander-style workflows because they run inside Roam across devices, including environments where external extensions aren’t available.
“Block mentions” turns Daily Page templates into a guided view by returning filtered block sets that mention a page reference.
Controlled randomization works when randomness is constrained by tags/categories, preventing irrelevant results.
Smart Blocks are JavaScript-enabled and supported by a community repository of examples (spark blocks), including web-fetch and Todoist-style integrations.
The most effective workflow design comes from managing divergence vs. convergence—explore freely, then constrain and refine systems intentionally.

Topics

  • Smart Blocks
  • Roam42 Workflows
  • Template Automation
  • Block Mentions
  • Controlled Randomization

Mentioned

  • Brandon Toner