Baserow Automation Actions - Free Data and Logic Nodes
An action is a workflow node that runs after a trigger and does the actual work: creating or changing rows, sending an HTTP request, an email, or a Slack message, or steering the process itself through conditional branching or a loop - the open-source edition of Baserow ships a complete set of free action nodes for this, with no code execution and no AI prompts involved.
Overview
Actions run one after another, in sequence, once a trigger has started the workflow. Each node receives input from the trigger and from the results of earlier actions, which makes it possible to chain steps such as “fetch rows, change one of them, then send a notification.”
| Type | Function | Example nodes |
|---|---|---|
| Data actions | Table operations | create/update/delete rows, get rows, aggregate data |
| Workflow logic | Controlling the process | Router (conditions), Iterator (loops) |
| Integrations | External communication | HTTP request, email, Slack message |
Important: while a workflow sits in Draft status, none of its actions run - see Workflow Management for the full picture of workflow states and publishing.
Table Data Actions
Create a row. Adds a new record to a specified table based on trigger data or conditions. Field values can be static, pulled from the trigger, or combined - including through Baserow formulas that compute a value on the fly.
Batch create rows. Creates up to 1,000 rows at once from an array of objects. Object keys must match the destination table’s field names or IDs.
Update a row. Changes specific fields on an existing record without touching the rest. Requires a row ID - an integer or a value that can be converted to one.
Batch update rows. Updates several existing records in a single step. Each object in the array must include an id property identifying the target row.
Delete a row. Removes records that are no longer needed. Deleted rows land in the workspace trash first and are only removed permanently once the retention period expires.
Get single row. Returns the full data for one specific record - either by an exact row ID or as the first row matching a set of refinements.
List multiple rows. Returns a set of records based on criteria such as filters and sorting. The result can be fed into an Iterator node for sequential processing.
Summarize field. Calculates aggregate values (sum, average, count, and others) across several rows without retrieving each record’s data individually.
Start workflow. Launches another published workflow that has a Manual trigger, which lets the same process be reused across several automations.
Controlling Workflow Logic
Router (conditional branching). Builds if-then logic with several conditional paths. First match wins - the workflow follows the first branch whose condition turns out true. If none match, the default branch runs instead. A Router node cannot be deleted until every action wired to its outputs has been removed.
Iterator (loop over items). Processes each item in a list one after another. Especially useful paired with “List multiple rows,” letting you run a personalized action against every row in the result set.
Core Actions
Send an HTTP request. Connects to external APIs using GET, POST, PUT, PATCH, DELETE, or HEAD. Supports query parameters, custom headers, JSON or form-data payloads, and a configurable timeout. Typical integration targets include Dropbox, CRM platforms, Salesforce, HubSpot, Gmail, and Shopify. For calls back into Baserow itself, the authorization header is built from a personal API token ; method and path details are covered in the database REST API reference .
Send an email. Sends notifications through a configured SMTP server. Supports multiple recipients, CC and BCC, dynamic subject and body content, and HTML formatting. On a self-hosted deployment, automations can reuse a pre-configured SMTP server.
Integrating with External Services
Send a Slack message. Posts a message to a Slack channel whenever the workflow runs. Requires a Slack Bot integration with the chat:write scope granted.
File Processing
Read a CSV file. Reads rows from a CSV file or directly from raw CSV content. Returns an array of rows for use in later actions, such as an Iterator or a batch row creation. Configurable options cover the data source, separator, encoding, and header detection.
Testing Actions
Actions are tested one at a time, in order:
- Make sure every earlier node has already been tested.
- Configure the required settings and field mappings.
- Click “Test this event” in the sidebar.
- Review the sample data that becomes available to later actions.
Common issues include untested upstream nodes that an action depends on, an incorrect row ID, missing authorization headers, and Router conditions that fail to return a boolean value.
Constraints to Keep in Mind
- Batch operations are capped at 1,000 rows per action (the limit is configurable on a self-hosted deployment).
- Row ID values must be integers, or values convertible to one.
- Only a published workflow with a Manual trigger can be started this way.
- A Router node cannot be deleted until every action wired after it is removed first.
Frequently Asked Questions
What happens to a row removed by a Delete action? It moves to the workspace trash and stays there until the retention period runs out, rather than disappearing immediately.
Can a single action create more than 1,000 rows? Not on a default hosted setup, but a self-hosted deployment can raise that limit through configuration.
Why did Router take a branch I didn’t expect? Router applies a first-match-wins rule - if several conditions are true at once, only the first one in order actually fires.
How do I find out which action failed during a workflow test? The run history from a test records which node failed and what error message it returned.
Next, read Workflow Management for the draft, paused, and published states, the test run process, and automatic disabling after repeated failures.