Automations
Automations run when records change, on a schedule, on demand, or when a webhook URL is called.

Trigger types
| Trigger | Runs when |
|---|---|
| On Create | A record is created in InfoLobby or through a web form |
| On Update | A record is updated in InfoLobby |
| On Delete | A record is deleted in InfoLobby |
| On Schedule | A configured time arrives |
| On Demand | You run it manually |
| On Webhook | A GET or POST request hits the trigger URL |

Finding automations
Each table's triggers page lists that table's automations. The search box filters the list as you type.
Tick All flows to search across every workspace you administer — results show each automation's workspace and table, so you can jump straight to it without remembering where it lives.
Build options
Use the visual builder for common workflows: conditions, loops, record actions, email, HTTP requests, and AI prompts.
Use PHPScript when you need full control.

Visual builder steps
| Category | Step | What it does |
|---|---|---|
| Data | Query Records | Fetch records from a table into a collection variable |
| Data | Get Records From View | Fetch records through a saved view on a table |
| Data | Get Record | Fetch a single record by ID |
| Data | Get Related | Fetch records from a related table for a selected source record |
| Logic | Set Variable | Assign a value to a variable |
| Logic | For Each | Loop over a collection |
| Logic | If / Condition | Branch based on a condition (with optional else). On record-update flows you can also test whether a field changed or changed to a specific value. |
| Logic | Stop Flow | Halt execution with optional reason |
| Actions | Create Record | Insert a new record |
| Actions | Update Record | Modify an existing record |
| Actions | Delete Record | Remove a record |
| Actions | Add Comment | Post a comment on a record (added as the system user) |
| Actions | Send Email | Send via SMTP connection |
| Actions | HTTP Request | GET/POST/PUT/PATCH/DELETE to a URL, with custom headers (one Name: Value per line, tokens supported) and a JSON / form-encoded / raw request body |
| Actions | AI Prompt | Send a prompt to OpenAI |
| Actions | Log Message | Write to the flow log |
| Actions | Execute Flow | Run an on-demand flow on a selected record. Optionally bubble up errors from the called flow. |
Tokens
Inside the visual builder, use {{record.fieldName}} to reference the trigger record's fields. For update triggers, {{before.fieldName}} gives the previous value.
Webhook triggers have {{webhook.get}}, {{webhook.post}}, {{webhook.headers}}, and {{webhook.body}}. Use dotted keys like {{webhook.get.foo}} for a query parameter, or bracket access like {{webhook.get}}["foo"].
Current date and time in the workspace owner's timezone: {{now.date}}, {{now.datetime}}, {{now.time}}, {{now.timezone}}.
Variables from prior steps are available as {{varName}} (scalars) or {{varName.fieldName}} (objects/loop items).
Error alerts
When an automation fails, admins see a warning icon () in several places:
- Workspace overview — next to the workspace name and the table name
- Table grid view — next to the table name (click to go to triggers)
- Triggers list — next to the flow name
- Flow editor — an error panel in the settings tab shows the last error time and details
To clear the error, open the flow editor and click Clear Error, or save the flow. Fixing and re-saving the automation automatically clears the alert.
Only active flows are counted — deactivated flows with errors do not show alerts.
Multi-workspace access
In the flow settings panel, you can grant a flow access to tables in other workspaces where you are an admin. This lets you query or modify data across workspaces.
Common PHPScript helpers
record_get,record_create,record_update,record_delete,record_comment,records_query,records_count,records_query_from_viewsql_select,sql_insert,sql_update,sql_deletecurl_get,curl_post_json,curl_post_form,curl_requestsmtp_email_sendopenai_gpt,openai_assistantsys_current_date,sys_current_datetime,sys_logflow_execute(table, flowIdOrName, recordIdOrRecord, throwOnError)— runs an on-demand flow on a record. Target flow must be active, of type "On Demand", and attached to the supplied table. Returnstrueon success orfalseif the called flow threw andthrowOnErroris false. Recursion is guarded (max 5 deep, cycle detection).