Obsidian Callouts: Tips, Examples, and Scripts for Writers

Obsidian is a markdown editor. For an overview of how I use Obsidian when writing a novel, please read Organize and Write Your Next Novel with Obsidian. Read on to find out about using Obsidian callouts to make and track annotations in your manuscript.

What Are Obsidian Callouts?

Obsidian callouts are something new to me. I didn’t have any purpose for them to begin with. But all of that has changed, and I find them a very useful and pleasant way to engage with my manuscript.

A callout is a paragraph or group of paragraphs within a blockquote or admonition block that is formatted in a special way to make it stand out or serve a certain practical use. They can be used in various ways, such as blockquotes, sidebars, hint panels, information panels (similar to those found in Wikipedia), image galleries, margin notes, sticky notes, or for a myriad of other purposes.

I decided to try using Obsidian Callouts to annotate my manuscript as I drafted my November 2025 book. I love the “Clue” callout from the “Fancy a Story” theme, and I thought it would be fun to use it to keep track of clues in my mysteries, ensuring that all clues or red herrings are resolved one way or another by the end of the story.

Types of Obsidian Callouts and How to Use Them

There are many different types of Obsidian Callouts available in the default setup or that can be added through alternate themes and CSS snippets. I didn’t want to go crazy with them, but to stick to a limited number of useful formats. If I am to be productive, I have to not spend all of my time testing out all of the different possibilities and tweaking code. I therefore limited myself to:

Callout TypeFound inHow I Used It
ClueFancy a Story themeto mark my clues in a fun way
QuestionBuilt in default setupthings I’m not sure if I will pursue, questions I need to hammer out
NoteBuilt in default setupnotes needed for reference in the story and/or to be transferred to my series wiki after the book is drafted
TodoBuilt in default setupan task or list of tasks that I need to follow up on within the manuscript
DoneBuilt in default setuptasks that had been completed
PolaroidFancy a Story thememake photos look like Polaroids — because they are fun
TimelineFancy a Story themevisual timelines for backstory or the main story

There are some other great Callout types available in the default Obsidian setup, Fancy a StorySanctumITS, and other themes and CSS snippets. Check them out! Fancy a Story includes a number of image gallery display modes I haven’t used, as well as email, letter, and text conversation callouts, and more. I may use their Comic callout for storyboarding at some point, but that isn’t something that I usually do. Both Timeline and Comic are possible alternatives for visual outlining if you don’t want to use Outline, Kanban, or Canvas. In Obsidian, you have many options!

How to Use Obsidian Callouts to Annotate Your Book

Tracking tasks

A [[!Todo]] callout (expanded) with a checkbox inside it for a scene note that needs to be made earlier in the story; and

A [[!Done]] callout (collapsed) for a scene note that needed to be done in a later scene and has now been completed.

A [[!Todo]] callout in Obsidian (expanded) with a checkbox inside it for a scene note that needs to be made earlier in the story; and

A [[!Done]] callout (collapsed) for a scene note that needed to be done in a later scene and has now been completed.

A [[!Todo]] callout (expanded) with a series of scene follow-up checkboxes inside it, completed and incomplete.

A [[!Todo]] callout in Obsidian (expanded) with a series of scene follow-up checkboxes inside it, completed and incomplete.

When I finished all of the tasks within a Callout, I changed the Callout type from Todo to Done. It is very easy to just double-click the word “Todo” and type “Done”

Notes to be referred back to later or transferred to the series wiki

A [[!Note]] Callout (collapsed) for a piece of information that I needed to remember later, and

A [[!Clue]] Callout (collapsed) for a clue that will need to be referred back to later in the story/solution.

A [[!Note]] Callout in Obsidian (collapsed) for a piece of information that I needed to remember later, and

A [[!Clue]] Callout (collapsed) for a clue that will need to be referred back to later in the story/solution.

Clues to remember and follow up on

A [[!Clue]] callout (collapsed) for a one of the clues the detective will need to solve the mystery. It needs to be followed up on so that it isn’t orphaned or conflicted later on.

An Obsidian [[!Clue]] callout (collapsed) for a one of the clues the detective will need to solve the mystery. It needs to be followed up on so that it isn't orphaned or conflicted later on.

The same [[!Clue]] callout expanded to show details of why this detail is important.

The same Obsidian [[!Clue]] callout expanded to show details of why this detail is important.

Timeline

I used the Timeline Callout for the first time on my most recent book. Very handy for keeping a visual timeline of the backstory or main story. There are plenty of options for numbering and CSS options for styling. This one is very basic. It autonumbers and depending on how wide your frame is, the entries either alternate side or are all displayed on one side.

Example timeline callout in Obsidian with numbered items alternating to the left and right of the line

Just for fun

I nearly forgot about the Polaroid Callout from Fancy a Story Theme. This one is just because it looks cool. There are a lot of other nifty Callouts in Fancy a Story, I haven’t tried them all out, but the Comic callout might be fun for storyboarding, if you like to do that. And the Pinned and Paper fold Callouts are cool replacements for Note.

Example of a polaroid callout in Obsidian

Searching for Obsidian Callouts in Your Vault

In order for Obsidian Callouts to be a practical tool in a manuscript, you need to be able to find them all to make sure they have been dealt with. Here is a query for all Callouts in this draft, sorted by chapter, and the result.

```query  
"[!" path:"KK 13 Deaths Charm/Drafts/Draft 1"
An example Obsidian query to find all Callouts in the draft

Here are some other queries I tried out for Callouts. Replace the path with your manuscript draft.

Todo callouts:

```query  
"[!Todo]" path:"KK 13 Deaths Charm/Drafts/Draft 1"     

Done callouts:

```query  
"[!Done]" path:"KK 13 Deaths Charm/Drafts/Draft 1"     

You get the idea!

Final Thoughts on Using Callouts for Writing

I have tested out callouts in this way for five books now. I am ambivalent on using the Note callout. I have previously used a Note property in the yaml section of the chapter (each listed in a bulleted series). That seems to be a better place for my use (short bits of information I need to keep track of in the future).

But if I need to make a longer note or am really in the groove and don’t want to go back to insert it into the yaml header, or if it needs to be positioned in relation to certain content, I insert it and then (if appropriate) cut and paste the info to my yaml header when I review/process the chapter.

Appendix

Removing Obsidian Callouts When Compiling with Longform Plugin

If you would like to remove callouts from your manuscript when compiling it in Longform, you can use this custom step.

module.exports = {
  description: {
    name: "Remove Callouts",
    description: "Removes all Obsidian callout blocks and one blank line after each.",
    availableKinds: ["Scene"],
    options: [],
  },

  compile(input, context) {
    return input.map(scene => {
      const lines = scene.contents.split("\n");
      const resultLines = [];
      let inCallout = false;
      let skipNextBlank = false;

      for (let i = 0; i < lines.length; i++) {
        const line = lines[i];

        // Start of a callout block
        if (/^>\s*\[!\w+.*?\]/.test(line)) {
          inCallout = true;
          continue; // skip this line
        }

        if (inCallout) {
          if (/^>/.test(line)) {
            continue; // still in callout, skip line
          } else {
            // Exiting callout block
            inCallout = false;
            // If this line is blank, skip it and continue to next
            if (/^\s*$/.test(line)) {
              continue; // skip this one blank line
            }
          }
        }

        // Not in callout, add line to result
        resultLines.push(line);
      }

      return {
        ...scene,
        contents: resultLines.join("\n"),
      };
    });
  },
};

To add this custom step to your vault:

  1. create a /steps folder inside your vault.
  2. copy the above text into a text file and save it as remove-callouts.js
  3. go into the settings for the longform plugin and select /steps as the location for User script step folder

Removing Tasks with Longform Plugin

And if you need one to remove checkboxes, here is the step script to do that:

module.exports = {
  description: {
    name: "Remove Markdown Tasks",
    description: "Removes Markdown task list items and one blank line after each.",
    availableKinds: ["Scene"],
    options: [],
  },

  compile(input, context) {
    return input.map(scene => {
      const lines = scene.contents.split("\n");
      const resultLines = [];

      for (let i = 0; i < lines.length; i++) {
        const line = lines[i];

        // Check for a Markdown task item
        if (/^\s*[-*]\s+\[[ xX]\]/.test(line)) {
          // Skip this task line
          // Also check if the next line exists and is blank — skip that too
          const nextLine = lines[i + 1];
          if (nextLine !== undefined && /^\s*$/.test(nextLine)) {
            i++; // skip the blank line too
          }
          continue;
        }

        resultLines.push(line);
      }

      return {
        ...scene,
        contents: resultLines.join("\n"),
      };
    });
  },
};

FAQ

Q: What is a callout in Obsidian?
A: A callout in Obsidian is a special block that highlights information, such as notes, questions, tasks, or visual elements, using distinctive formatting.

Q: How do I create a callout in Obsidian?
A: You create a callout by starting a block with > [!type] followed by your content. The type can be Note, Tip, Warning, etc., depending on the theme and CSS.

Q: What’s the best callout for tracking clues in mystery writing?
A: The Clue callout from the Fancy a Story theme is a fun and visually clear way to track clues in your manuscript.

Q: Can I search for all callouts in my vault?
A: Yes, you can use the Obsidian search pane with a query like "[!Todo]" or "[!Clue]" along with a path to limit results.

Q: How do I remove callouts before publishing?
A: The Longform plugin allows you to create a custom step that strips callouts before compiling your manuscript.

author avatar
P.D. Workman Authorpreneur
P.D. Workman is a USA Today Bestselling author and multi-award winner, renowned for her prolific output of over 100 published works that span various genres. With a knack for crafting page-turners, Workman captivates readers with everything from cozy mysteries like the Auntie Clem's Bakery series to gripping young adult and suspense novels. Her stories resonate deeply as she masterfully weaves sensitive themes—such as childhood trauma, mental illness, and addiction—into compelling narratives that evoke a powerful emotional response. Readers are drawn to her unique voice and empathetic portrayal of complex issues. With each new release, fans eagerly anticipate another thrilling blend of thought-provoking storytelling and relatable characters that define P.D. Workman’s brand as an author of unforgettable page-turners—gripping tales that leave a lasting impact long after the last page is turned.

Tell me what you think!

Scroll to Top
pdworkman.com
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.