Automations

Automations let you build workflows that run automatically when certain events occur. Each automation consists of a trigger (what starts it) and one or more actions (what it does), with optional branching for conditional logic.

Creating an Automation

Automation list

  1. Open a base and navigate to the Automations tab in the top bar
  2. Click "New Automation"
  3. Name your automation and configure a trigger
  4. Add one or more actions
  5. Toggle the automation on when ready

Workflow builder

Triggers

A trigger defines when the automation runs. Available trigger types:

Record Created

Fires whenever a new record is created in the selected table. You can optionally add filter conditions to only trigger for records matching specific criteria.

Example: When a new record is created in the Deals table where Stage = "Closed Won"

Record Updated

Fires when a record in the selected table is modified. You can specify which fields to watch — the automation only triggers when one of those fields changes.

Example: When the Status field is updated on any record in the Tasks table

Record Deleted

Fires when a record is removed from the selected table.

Webhook

Fires when an HTTP request is received at a unique webhook URL. See the Webhooks guide for detailed setup.

Scheduled (Cron)

Runs on a defined schedule using cron syntax. Useful for periodic reports, cleanup tasks, or batch processing.

Examples:

  • 0 9 * * 1 — every Monday at 9:00 AM
  • 0 */6 * * * — every 6 hours
  • 0 0 1 * * — first day of every month at midnight

Button Click

Fires when a user clicks a button in the table toolbar or record detail view. This is useful for on-demand actions that a team member triggers manually.

Actions

Actions define what the automation does. You can chain multiple actions — each action can use data from the trigger and from previous actions.

Send Email

Send an email via your configured SMTP connection. Supports HTML templates with placeholder syntax. See Email and SMS for SMTP setup.

Fields:

  • To — recipient email (supports {{record.Email}} syntax)
  • Subject — email subject line
  • Body — HTML or plain text body with template placeholders

Send SMS

Send an SMS message via sms.to integration. Supports Unicode for non-Latin scripts.

Fields:

  • To — phone number in international format (e.g., +37060000000)
  • Message — text content with template placeholders

Create Record

Creates a new record in any table within the same base (or across bases). Map fields using static values or template syntax.

Update Record

Updates an existing record. Select which record to update (the triggering record, a linked record, or find by criteria) and set the new field values.

Delete Record

Deletes a record by ID. Use with caution — deleted records cannot be recovered.

Google Docs (Create Copy with Replacements)

Creates a copy of a Google Docs template and replaces placeholders with record data. See Google Docs Integration.

HTTP Request

Makes an HTTP request to any external URL. Useful for integrating with third-party APIs.

Fields:

  • Method — GET, POST, PUT, PATCH, DELETE
  • URL — the endpoint
  • Headers — custom headers (e.g., Authorization: Bearer {{token}})
  • Body — JSON payload with template placeholders

Branching (If/Else Router)

You can add conditional branches to your automation flow. A router step evaluates conditions and sends execution down different paths.

Setting up a branch:

  1. Add a Router step after your trigger (or after any action)
  2. Define conditions using the same filter syntax as views
  3. Each branch can have its own chain of actions

Condition operators:

  • equals, does not equal
  • contains, does not contain
  • is empty, is not empty
  • greater than, less than
  • is before, is after (for dates)

Example: Lead routing

Trigger: Record Created in "Leads" table
  └─ Router:
      ├─ If Country = "Lithuania" → Send Email (Lithuanian template)
      ├─ If Country = "Germany" → Send Email (German template)
      └─ Else → Send Email (English template)

Template Syntax in Actions

All text fields in actions support template placeholders:

  • {{record.FieldName}} — inserts the value of a field from the triggering record
  • {{record.FieldName|transform}} — applies a transform to the value

See the Template Syntax guide for the full list of transforms and conditional blocks.

Testing and Debugging

Workflow editor

  • Use the Test button on any automation to run it with a sample record
  • Check the Run History tab to see past executions, their status, and any error messages
  • Failed runs show the exact step that failed and the error details
  • You can re-run a failed automation from the history view

Best Practices

  1. Start simple — get one trigger and one action working before adding complexity
  2. Use filters on triggers — avoid running automations on every single record change
  3. Test with real data — the test button uses actual records, so use a test table if needed
  4. Name your automations clearly — e.g., "Send welcome email on new client signup"
  5. Monitor run history — check periodically for failures, especially after changing table schemas