Node blocks

A Node file is an automation drawn as blocks: notes flow from left to right — from where they come from, through filters, to what happens to them. Here is every block and how they connect. Bold is a name as it reads on screen. The rest of Voidless is in the Guide.

01 The shape of every automation

Source

Where notes come from, and when the automation runs: a note was saved, a time came, you ran a command.

Filter

Splits the notes in two: the ones that match go out of yes, the rest out of no. Optional, and any number in a row.

Action

What happens to the notes that reach it: moved, renamed, a field set, listed in a note…

Sourcenotes → Filteryes → Action

The smallest automation is a source linked straight to an action. A filter only decides which notes go on.

03 When it runs

04 Sources — where notes come from

Every source but Ticked links watches a folder (empty = the whole vault) and can leave folders out with Except.

On save

The note you just saved, if it's in the folder.

On schedule

Every note of the folder, once a day at the time set (HH:MM, empty = as soon as the app is open), on the days picked (none = every day).

Made today

A note made today, when it's saved — for setting new notes up.

From ⌘P

A note you run the automation on: the open one from ⌘P, where each one with this block is listed by its name — Run “Inbox” on this note — or any note from its right-click menu in the sidebar. Works even when the automation is off.

Ticked links

The notes linked from ticked tasks of one note: tick - [x] [[Some note]] → Some note goes on. With In any note — the ticks of whichever note you save.

05 Filters — which notes go on

Each one sends the matching notes to yes and the rest to no. A filter with nothing filled in sends nothing anywhere.

YAML field

A field of the note: is, is not, contains, is empty, is not empty. status is done.

Tag

The note has the tag, in YAML tags or as #tag in the text. project also matches project/web.

Text

The note's name (or text) contains the words — or matches a pattern (regex). Case doesn't matter.

Folder

The note is inside the folder or its subfolders.

Date

Made or last changed more (or fewer) than N days ago.

Tasks

All its tasks are ticked — or some are still open. Notes without tasks go to no.

No links to it

No other note links to it.

Words

More (or fewer) words than N.

First N

Sorts the notes (by date changed, by date created or by name) and sends the first N to yes, the rest to no.

06 Actions — what happens to them

Blocks marked once per note do their thing to a note only once — saving it again doesn't rename it again or add a second line, and a reminder you removed by hand doesn't come back. Their footer says how many notes they did before; again lets them do those once more. An action with an empty field does nothing (Rename, Reminder and AI come filled in, ready to go).

Every text of an action takes the same variables: {{name}}, {{folder}}, {{created}}, {{date}}, {{time}} and any field of the note, like {{status}}. The { } button by the field lists them; a name that's neither is pointed out on the block.

Create note

Makes a note — folder, a name pattern, an F1 template if you like — and hands it on, so the blocks after it fill it. {{date}} in the name: one note a day; {{name}} or a field: one per incoming note. A note that's there already goes on as it is, never written over.

Add textonce per note

Adds a block of text at the end of each note it gets. After Create note it fills the new one. A text that starts with a YAML block (between --- lines) puts those fields into the note's YAML — fields the note has stay, tags join its own — and adds the rest at the end.

Move

Into a folder (made if it's not there). Links to the notes follow them.

Set field

Writes field: value as a line at the end of the note — one line, updated in place on the next run — or removes it. set if empty leaves a value that's already there. Switch it to in YAML for a field that filters, boards and variables read (status). {{date}} in the value is today.

Edit tags

Adds a tag to the YAML tags — or takes it off there; a #tag in the text stays. {{folder}} tags each note with its folder.

Template fields

Adds the YAML fields of a template (F1) the note doesn't have yet. Fields it has stay as they are.

Renameonce per note

By a pattern: {{name}}, {{created}}, {{date}}, {{folder}} or a field like {{status}}. A note whose field is still empty waits until it's filled. Links follow.

Log a lineonce per note

Adds a line about each note to another note (a log): {{link}}, {{name}}, {{folder}}, {{date}}, {{time}}.

Reminderonce per note

Puts a reminder in the note, N days from the run at the time set.

AIonce per note

Claude reworks the note as you ask and puts its version below it (or in a copy). Your text stays; ⌘P → Apply AI suggestion takes what you pick. Runs only on Run now and ⌘P — each note is a paid request.

List

Writes the notes into a List note as a checklist of links (or a table with fields as columns). The block makes that note itself and keeps it up to date; ticks you make there stay. It never writes over a note of yours.

To Trash

Puts the notes in the system Trash. Asks every time.

07 Ready chains

The first five come with the app: on an empty canvas they're the buttons in its middle, once it has blocks — under Examples on the bar. They come in with the folder of a move (or the field name) left empty — or the name of the note to make — so nothing happens until you fill it in. The review list is ready at once: Run now writes it.

Done notes go to the archive

On save→ YAML field status is doneyes → Move Archive

Review notes untouched for a month

On schedule→ Date changed more than 30 days agoyes → List To review
Ticked links in To review→ Move Archive

Two chains in one file: the list fills up on its own; tick a note in it → it moves to the archive and leaves the list.

New notes get a field

Made today→ Set field status = inbox, if empty, in YAML

“If empty”: a status you change by hand later that day stays. “In YAML”: filters and boards see it.

A daily note

On schedule 09:00→ Create note Journal / {{date}}, template Daily→ Add text - [ ] Inbox

One note a day: once it's there, the next runs that day leave it be.

A log of finished notes

On save→ YAML field status is doneyes → Log a line to Log

A live list by tag

On save→ Tag activeyes → List Active

Run now builds the list once; after that every save adds or removes just that note — the rest of the list and your ticks stay.

Ten latest notes

On schedule→ First N by date changed, newest first, 10yes → List Recent

Both ways out of one filter

On save→ YAML field status is done
yes →Move Archive
no →List In progress

Finished notes leave for the archive, the rest are listed in one note.

08 If nothing happens