Skip to main content
Back to Blog
automation validation integrity hooks

Built-In Automation Hooks

Swifty Team Feb 15, 2026 3 min read

Business operations generate side effects. When an invoice is marked paid, the payment date should be recorded. When an order is cancelled, related shipments should be flagged for review. When a user changes a record's status, the change should be logged with the timestamp and the actor.

These aren't optional behaviors for serious business applications — they're the connective tissue that makes processes reliable. But they're also tedious to configure individually for every record type and every operation.

Built-in automation hooks handle the common cases automatically.

Automatic Change Logging

Every record modification generates a log entry. The platform captures: the user who made the change, the timestamp, which fields changed, and the previous and new values.

This happens without any configuration. You don't enable logging; you don't mark fields as "tracked." Every change to every record is logged, creating a complete audit trail automatically.

Referential Integrity Checks

Before deleting any record, the platform checks whether other records reference it. A customer that has open orders can't be deleted without resolving those orders first. A product category with assigned products can't be removed without handling the product assignments.

These checks run as automatic pre-delete hooks, not as after-the-fact error handling. The attempt to delete fails gracefully with a clear explanation of what dependency needs to be resolved.

Validation on Every Write

Field-level validation rules defined in the object definition run on every write — create, update, import, API call. The same validation rules that protect the form also protect direct writes from any source.

This means validation is a property of the data model, not a property of the form. Even records imported in bulk, created through automation, or written via integration are subject to the same rules.

Auto-Population Hooks

Certain fields populate automatically based on operational context. Created-at timestamps populate when records are first saved. Modified-at timestamps update on every change. Created-by and modified-by track the user responsible for each operation.

These are not fields that need to be defined or configured — they're present on every object type as system fields, managed by the platform's write hooks.

Sequential IDs and Counters

Auto-numbering sequences run as creation hooks. When a record is created, the sequence fires, generates the next identifier in the configured format, and populates the identifier field — all within the same transaction as the record creation.

The hook-based approach ensures IDs are generated atomically and consistently, regardless of concurrent creation volume.

Related posts

Composed Data Sources

Chain and relate data sources for rich dashboards — compose complex data views from simpler sources without writing code.

Computed Expressions

Transform data with template expressions and built-in functions — format, combine, and derive values from your data without code.

Cross-Source Data Joins

Combine data from multiple sources in one view — join records from your database with data from external services using a shared key.