Notumation
Basics

Actions Reference

Complete guide to all 31 action types available in Notumation.

What Are Actions?

Actions are the steps that run after a trigger fires. Each flow can have one or many actions, executed in order. Notumation supports 31 action types across four categories. Every step’s output is accessible to all downstream steps via the variable system.

Database Actions

Query Database

Searches a database using filters and sorts. Configure by selecting the database, adding filter conditions (property, operator, value), sort order, and max results. Use the “Save result as” field to reference results in later steps. Example: find all tasks assigned to the trigger row’s creator.

Find a Row (Lookup)

Finds a single row in a database by matching a property value. Configure by selecting the database, the property to match, and the value. Saves the full page object so you can access any of its properties in later steps. Example: look up a customer by email address.

Create Page

Creates a new row in a database or a standalone page. Configure by selecting the parent (database or page) and setting property values. Use template variables like {{trigger.Name}} to populate fields dynamically. Example: when a deal closes, create an onboarding task in another database.

Update Page

Updates properties on an existing page. Target the triggering row, a page from a previous step, or browse your workspace to pick any page. When targeting a non-trigger page, select which database it belongs to so you get the right property list. Update multiple properties at once. Example: set Status to “Complete” and add a completion date.

Duplicate Page

Clones a row with all its properties. Copies all writable properties (skipping computed fields like formulas and rollups). Optionally duplicate into a different database. Example: when a template task is marked ready, duplicate it into the active tasks database.

Move Page

Moves a page to a different parent database. Configure by selecting the page to move and the target database. Example: when a lead is qualified, move it from the Leads database to the Deals database.

Archive Page

Moves a page to the trash. Configure by specifying the page ID. Example: archive a task when its parent project is archived.

Restore Page

Restores a previously archived page from the trash. Configure by specifying the page ID. Example: undo accidental archiving via a manual flow.

Set Relation

Adds or removes a relation link between two pages. Configure by specifying the source page, the relation property, and the target page(s). Example: link a new invoice to its corresponding project automatically.

Create Database

Creates a new database under a page. Configure by selecting the parent page and entering a title. Properties default to a Name column; add more via the Update Database step. Example: for each new client, create a dedicated tasks database under their page.

Update Database

Renames a database or adds new properties to it. Configure by selecting the database and optionally entering a new title. Example: add a “Priority” select property to a database when it reaches a certain size.

Page & Content Actions

Search Pages

Searches across the entire workspace by title. Returns page IDs, titles, and properties. Save the results for use in later steps. Example: find pages mentioning a customer name.

Get Property

Reads a specific property value from a page and saves it for use in later steps. Automatically extracts the plain value (text from rich_text, name from select, etc.). Configure by specifying the page and property name. Example: read the “Budget” from a project page before creating a related invoice.

Get Block

Reads a specific block by ID. Returns the block’s type, content, and metadata. Useful for inspecting content before modifying it. Example: check what’s in a specific block before deciding whether to update it.

Add Content

Appends blocks (text, headings, lists, toggles, callouts) to a page body. Configure by selecting the page and writing content. Supports template variables. Example: add a summary paragraph to a meeting notes page after a flow runs.

Update Block

Modifies an existing block on a page by finding content and replacing it. Configure by specifying the page, the text to find, and the replacement text. Example: update a status banner at the top of a project page.

Delete Block

Removes a block from a page. Match by content text or specify a block ID directly. Example: remove outdated content from a template page.

Add Comment

Posts a comment on a page. Configure by specifying the page and the comment text (supports template variables). Example: comment “Approved by automation” when a review flow completes.

List Comments

Reads all comments from a page. Returns comment IDs, text content, and timestamps. Save the results and use them in later steps or loops. Example: scan comments for a keyword and respond automatically.

Set Icon

Changes the icon of a page to an emoji or external URL, and optionally sets the cover image. Example: set a checkmark emoji when a task is completed.

Logic Actions

If / Otherwise

Branches the flow based on a condition. Configure by setting a property, operator, and value. Steps after this one only run when the condition is true. Example: if Priority is “Urgent”, send a notification; otherwise, just log.

Switch / Case

Multi-branch conditional based on a value. Configure by setting an expression (any template variable) and defining cases to match against. Each case has a value and a label. Use * for a default/catch-all case. The result includes which case matched (by index). Example: route tasks differently based on their Status value.

For Each

Loops over a list of pages from a previous query. Configure by selecting the source step and setting a max iteration count. Steps inside the loop execute once per page. Example: query all incomplete tasks and update each one. See Conditions & Loops for details.

Set Variable

Stores a computed value under a name for use in later steps. Unlike “Save result as” (which saves a step’s output), Set Variable lets you define arbitrary values — combine data from multiple steps, set defaults, or build computed strings. Example: greeting = “Hello, {{trigger.Name}}!”

Delay

Pauses execution for a specified duration. Configure by setting the amount and unit (seconds, minutes, or hours). Example: wait 10 minutes after creating a page before checking if it was edited.

Log Message

Writes a message to the execution log with a severity level (debug, info, warning, error). Useful for debugging flows or recording key data points during execution. Template variables are resolved in the message. Example: log “Processing {{trigger.Name}} with status {{trigger.Status}}” at info level.

Abort Flow

Stops the entire flow immediately. All subsequent steps are skipped. The flow is recorded as failed with the abort message. Use with conditions to implement guard clauses. Example: if the trigger row is missing required data, abort with “Missing required fields”.

External Actions

Send Notification

Sends a message to Slack, Discord, or any webhook URL. Configure by selecting the channel type, entering the webhook URL, and writing the message. All fields support template variables. Example: post a message to Slack via webhook URL.

Call API (HTTP Request)

Sends an HTTP request to any external URL. Configure by setting the method (GET, POST, PUT, PATCH, DELETE), URL, headers, and JSON body. All fields support template variables. The response status, headers, and body are saved for use in later steps. Example: post data to a CRM. See the Webhooks guide for more.

Run JavaScript

Executes a JavaScript snippet in a sandboxed environment. The sandbox has no network or file system access. Use the ctx global to read trigger data and previous step results. Return a value to pass data forward. Example: format a date string, calculate a sum, or transform JSON data.

Get Workspace Users

Lists all members in the Notion workspace. Returns user IDs, names, emails, and types (person or bot). Save the result and use it in later steps. Example: find a user by email to @mention them in a comment.

Data Flow

Every step’s output is automatically available to all downstream steps. You can reference data in two ways:

  1. By name — Set “Save result as” on a step (e.g., created), then use {{created}}, {{created.id}}, {{created.Name}} in later steps.
  2. By step ID — Every step has an auto-generated ID (e.g., step-1). Use {{step-1}}, {{step-1.id}}, etc. This works even without “Save result as”.

Steps that return a Notion page (create, update, archive, restore, duplicate, move, set_icon, set_relation, lookup) expose all the page’s properties. Steps that return other data (call_api, search_pages, get_users, etc.) expose their specific output fields.

The variable picker in the flow builder shows all available data from the trigger and every previous step.