Automation and agent settings

Automation and agent settings

Who can do this: Owner for everything under Automations. Edit to open Agents; Manage Members for the Agent AI provider panel. See the .

What it's for

A reference for the choices in the rule editor and the Agents page: what each trigger and action needs, what it does, and what the loop, retry and limit settings are. For the order to do things in, read . Defaults below are only those found in code.

Before you start

•

A rule belongs to one data table. It is saved enabled.

•

Actions marked "left off on copy" are switched off when you use Duplicate project, and by Leave automations and connectors switched off on import. They can email, message, call outside addresses, spend AI credit or open payments.

Needs your administrator: email from Platform mailbox (default), the Platform AI key, exchange-rate sources, and OCR for scanned documents are installation settings under /system/config. A missing email setting, or an exchange-rate source that is deactivated or has no key, shows up as a Failed action in Run history; the exact messages are listed in . The other two behave differently. With no AI provider for the agent role, the platform falls back to its default AI settings and there is no "key missing" message. A scan without OCR leaves Extract text from document at Succeeded, and the reason appears only in the action's Error / notes column (optional).

Triggers

Chosen under Trigger in the rule editor. Conditions use Match all or Match any.

Trigger

Needs

Fires

Loop option

Notes

On event

At least one of Created, Updated, Deleted (default Updated)

On each matching row change

Yes

Only when these columns change applies to Created and Updated; computed columns are refused; not allowed with Deleted alone

On status change

Status column; optional From state, To state (default any)

When the column enters the state

Yes

Different from Updated plus a condition, which fires on every update while the row stays there

On schedule

A cron schedule (default hourly, 0 * * * *), Timezone (default your browser's)

At each matching time

No: "Schedule-type rules are not subject to the loop guard."

Run: For each filtered row (default) or Once for the table (conditions ignored). Relative to a date column: once per row, a set number of minutes, hours or days before or after it

Manual

Nothing

Only when someone runs it

No

Run: On the selected rows (default), On all matching rows, or Once for the table (conditions ignored)

Inbound webhook

Nothing. The Webhook URL is made on first save

When a system posts JSON to it

No

No conditions. Optional Signing secret (optional). Read the body as {{webhook.field}}

Customer message

Optional Channels (default Any channel): portal_chat, telegram, whatsapp, max, email, webchat

When a customer writes in an Inbox conversation linked to a row of this table

No

Message text, sender and link are {{message.text}}, {{message.senderName}}, {{message.url}}. Your own replies never fire it

On event, On status change and On schedule rules can also be marked Show in table Run menu, so editors can run them by hand. Manual rules are always in that menu.

Rule-level settings

Setting

What it does

Default

Name, Table

Required

Table: the first one, or the one you filtered to

Description

Shown as the tooltip on a Button column

Empty

Inputs

Named values for runs. Types: Text, Number, Date, Date + time, Yes / no, Pick a row, Pick an option. Required for manual runs; each has a default template such as {{TODAY}}

None

Guards

Checked before a run on a row. Block refuses and says why. Confirm needs a tick. A formula over the row decides when

None

Stop on error / Continue on error

What happens to later actions after one fails

Stop on error

Stages and branches

Group actions under Run this stage only if; branches run the first arm whose Take this arm if matches, with otherwise last

None. Stage-level error policy is carried but not editable on screen

Actions

Each rule has actions that run in order. "Left off on copy" is yes for the ones that reach outside the space.

Action

Needs

What it does

Left off on copy

Set fields on this row

Column and value pairs (Value, Param, Trigger row, Formula)

Writes cells of the trigger row

No

Create a row

Target table (default Same table) and fields

Adds a row. Options: link back to the new row, Match an existing row by these target columns (the key) and skip or update, Name this row for later steps

No

Move this row to a status

Status column, Move to state

Moves the row through its status workflow. Allowed-transition rules, required fields and row lock apply; a refused move fails the action

No

Update related rows

A reference column, or a key into another table; fields; How many to update (required)

Writes rows linked to this one, highest-ordered first

No

Send email

To: recipients, subject, body

Emails. Recipient tabs: Address, Column, Member, Group, External. Attach files from file columns. Send from: Platform mailbox (default) or a project email connector

Yes

Send external message

Channel, recipients, body

Sends on Telegram, WhatsApp, MAX and other messenger channels, or by email, in-app, portal or portal chat. Delivery: One channel only, Messenger, else email (default), All available channels

Yes

Notify person column

A person or email column, subject, body

Emails the person in that column

Yes

Call webhook

http(s) URL, method POST, PUT or PATCH

Queues a delivery with optional JSON body (default the row) and Request headers. See Webhook deliveries

Yes

Fetch URL (write back)

URL, method, a response mapping (required)

Calls a public https address and writes parts of the answer to columns. Timeout (ms)

Yes

Import FX rates

Rate source, currency pairs, target table

Imports exchange rates. Only sources an administrator activated are offered

Yes

Run agent

An internal agent, a task

Runs the agent on this row. Uses AI credit unless you use your own key

Yes

Create rows from source

Source and target tables, match column, field map

Copies or scales rows between tables. Max rows

No

Allocate across rows

Total, weight and destination columns

Splits a total across rows in proportion

No

Post ledger (FIFO)

Consumption table, catalogue and balance columns

Writes off stock oldest-first and records the cost

No

Recompute row

Nothing; optional Only these formula columns

Refreshes formula, rollup and lookup values so later actions see them

No

Import the row's file

A file column and a saved import profile

Imports the first attached file into the profile's table

No

Transcribe audio

A speech connector, audio and transcript columns

Sends audio to the speech provider; the text arrives later

Yes

Extract text from document

A file column, a text column

Reads PDF, DOCX, DOC, RTF, XLSX, XLS into text; scans go to OCR if an administrator set it up

No

Generate document from template

A template document, a documents column

Makes a document for the row. If this row already has one: skip (default), add, or replace

No

Call connector action

A connector and one of its actions

Runs an action a connector publishes

Yes

Request payment (link)

Payments connector, amount column, link column, description

Opens a payment and writes the link. See

Yes

Issue access link (pay without signing in)

An app connection, directory row, link column, page URL

Writes a reusable access link on the directory row

Yes

Issue recurring invoice

Invoice and line tables

Issues invoices. Payment terms (days from issue to due)

No

Match catalogue items

Request lines table, catalogue columns

Matches requested articles or names to catalogue rows. Which lines to process: only unmatched (default)

No

Run another automation

A rule that can be run on demand

Runs it as a step. If it declines (conditions do not match, blocked, busy): skip this step and continue, or fail this step

No

One more action type, "import from source", is created by the import wizard's repeat option and is not in the picker. It is also left off on copy.

Defaults found in code: Create rows from source reads up to 1,000 rows; Allocate across rows uses 2 decimals and the largest-remainder rule; Issue recurring invoice uses 14-day terms; Extract text from document keeps 50,000 characters and allows at most 200,000; Fetch URL (write back) times out after 10,000 ms; Send external message blocks an identical text to one contact for 24 hours (Suppress identical for (min), 1440) and allows 6 messages per contact per hour (Max per contact).

Run-time settings

Setting

Where

What it does

Default and limits

Max executions per hour

Limits

Runs the space may start per hour

1,000. Empty uses the default

Max executions per day

Limits

Runs per day

10,000

Chain depth

Not on screen

Longest run of rules triggering rules before a run is Skipped with "Loop guard"

8

Runs per originating change

Not on screen

Runs one change may cause in an hour

500

Allow this rule to run on changes made by automation

Rule editor, event and status rules

Lets the rule see changes written by other rules, which is what makes chains work

On for new rules. An old rule keeps what it was saved with

Cycle check

Always on

A rule that already ran on the same row earlier in the chain is Skipped, naming the rules

Not changeable

Waiting

Automatic

A run waits while an earlier run in its cascade is still writing

Not changeable

Run retry

Automatic

Only for Run agent failures the provider calls temporary. Waits 1, 5, 20, then 60 minutes; five attempts in all

Not changeable. The retry icon on a run starts over with five attempts

Webhook delivery retry

Automatic

For Call webhook. Retries timeouts, 408, 429, 5xx; 10-second timeout; response stored up to 4 KiB; five attempts then Abandoned

Not changeable

Preview and All matching rows

Run / test dialog

A fan-out run is capped per tick

500 rows

The two "Not on screen" limits can be set over the API (maxChainDepth, maxRunsPerTree on the quota route), and saving Limits keeps them. Ask your integrator.

Agent settings

On the Agents page. A new agent starts as Conversational and Enabled.

Setting

Applies to

What it does

Default

Type

All

Conversational, Row processor, Generic data, Portal completion

Conversational

Name, Instructions

All

The agent's name and system prompt

Empty

Audience

Conversational

portal (logged-in customer) or public (anonymous visitor)

portal

Mutations

Conversational

ask confirms with the customer before writes; auto does not

ask

Inbound channels (trigger)

Conversational

webchat, portal_chat, telegram, max, email

webchat

Max reply length

Conversational

Soft cap in characters; over it the agent summarises

1500 when blank

Escalation group

Conversational

Assigned and notified when the agent escalates

None

Run mode

Row processor

One call mode (fills this row only), Field extraction (one call, platform validates fields; targets are chosen per rule), Agent loop mode (several steps, other tables)

Agent loop

Document scope

Not Portal completion, not One call or Extraction

Documents it may read or write. Empty means everything it can already access; for a public agent, every published document

Empty

Portal key

Portal completion

The key the app calls: a to z, 0 to 9, -, _, unique in the space. Endpoint POST /api/portal/<project>/completions/<key>

None

Who may call it

Portal completion

Selected portal groups, or every signed-in portal user

Groups, none selected: nobody can call it

Max input (characters)

Portal completion

Longest accepted text

4,000 (1 to 60,000)

Output budget (tokens, incl. reasoning)

Portal completion

Reply cap

1,000 (16 to 40,000)

Reply format

Portal completion

Text, or JSON validated against your schema; a reply that does not match is refused (422). Schema up to 20,000 bytes

Text

Enabled

All

Off stops it

On

Per-agent model choice is not on screen. The model comes from the pool, or from your own key's Model.

Agent AI provider

Setting

What it does

Default

Use our own AI key for agents in this project

Switches every agent and the Portal AI assistant to your provider

Off (Platform)

Provider

OpenRouter, Z.ai, MiniMax, Alibaba (Qwen), or Custom (self-hosted / OpenAI-compatible)

OpenRouter in a new form

Model

Required

Empty

Base URL (OpenAI-compatible)

Custom only. Public https only; private addresses are rejected

Empty

API key

Write-only; shown masked. Required for hosted providers, optional for a keyless custom endpoint

None

Max parallel jobs

Simultaneous model calls

1 (minimum 1)

Provider enabled

Off puts agents back on the platform pool

On

Fall back to the platform pool if our key is unavailable

Off: if your key is limited or down, runs wait or fail rather than use platform credit

Off

Careful: a Custom endpoint receives your agents' full prompts. Own-key usage is not metered against your plan, so your provider bills you.

Portal AI

Setting

What it does

Default

Portal AI (under Space features in Edit) or AI assistant (in External Portals)

Gives signed-in portal users a read-only chat assistant scoped to their own access

Off

Agents (under Space features)

Lets conversational and portal completion agents run; Portal AI should be on beside it. Row-processor and data agents started by Run agent do not need it. The banner on the Agents page says this

Off

Rate limit

30 requests per 5 minutes per portal user, 120 per hour per address

Not changeable

· · · · · .