Triggers and pipelines · AutessaDB
Database triggers
AutessaDB triggers run work when rows change. A trigger fires on INSERT, UPDATE or DELETE, optionally only when specific columns change in a specific way, and runs a tool, an agent, a multi-agent, or an insert or update in another table, with the row's values passed in as @@{column} and the previous values as @@{old.column}. Because a trigger can run an agent, a row change can also have an agent call or email a customer, following your instructions, such as when an order is marked delayed.
-- the problem
Glue code between data and actions breaks quietly
Welcome emails, document processing and rollups usually live in a cron job or a queue worker that someone has to maintain. AutessaDB triggers keep the reaction next to the data, visible and editable on the table itself, and record every firing.
What you get
- Events: INSERT, UPDATE or DELETE.
- Filter mode: Any Column, or Specified Columns with filters combined by AND or OR.
- Operators: Changed, Became Null, Became Non-Null, Equals, Not Equals, Is Null, Is Not Null, numeric comparisons, Contains, Starts With, Ends With, Value Added, Value Removed, Contains Value and boolean checks.
- Comparison values can be literals or references to other columns.
- Actions: Invoke Tool, Invoke Agent, Invoke Multi-Agent (a fresh single-turn conversation each time) or Update AutessaDB.
- Typing @@ opens autocomplete over the table's columns.
- Clone, disable and re-enable triggers from the list; disable is the safe move while debugging a loop.
-- how it works
How does database triggers work in AutessaDB?
Name it
Open the table's Triggers tab, create a trigger and name it, for example "Send Welcome Email".
Pick the event and filter
Choose INSERT, UPDATE or DELETE and either Any Column or Specified Columns, for example transcript Became Non-Null.
Configure the action
Pick the tool, agent, multi-agent or target table, and map values with @@{column}.
Save and watch
Create Trigger, then check its firings in Trigger Execution History.
-- every option
Trigger anatomy
| option | what it does |
|---|---|
| Identity | Name, optional description, enabled switch. |
| Event | INSERT, UPDATE or DELETE. |
| Condition | Any Column, or Specified Columns with AND/OR filters. |
| Invoke Tool | Any tool you can access, each argument mapped to a literal or a column. |
| Invoke Agent | An agent with a prompt such as "Analyze this feedback: @@{feedback_text}". |
| Invoke Multi-Agent | Delegate to a manager; each firing is a fresh single-turn conversation. |
| Update AutessaDB | Insert or update a row in a target table, mapped from the source row. |
| @@{old.column} | The previous value, on UPDATE and DELETE. |
-- example
Full reference in the AutessaDB CLI docs and the API reference.
-- permissions
Who can do what?
| access | can |
|---|---|
| READ | View the table's triggers and their execution history. |
| PUBLISH or ADMIN | Add a new trigger. |
| ADMIN | Edit, delete, enable or disable an existing trigger. |
-- faq
Questions about database triggers
What can an AutessaDB trigger do?
Run a tool, an agent, a multi-agent, or insert or update a row in another table, with the changed row's values passed in.
Can a trigger fire only when a specific column changes?
Yes. Use Specified Columns with operators such as Changed, Became Non-Null or Value Added.
Should I key triggers on status flags?
Prefer artifact columns: "transcript became non-null" is more robust than "status equals transcribed" and works alongside hand edits.
100% customizable, code and all
Make AutessaDB fully your own.
Use it out of the box, then change anything. Ask Autobot, Autessa’s AI builder, for a new field, screen, report, workflow or agent and it builds it into your copy of the app. Or open the code and edit it yourself. Nothing is locked: the app, its data and its code are yours.
Start free and make it yours