Skip to main content
View as Markdown

Auth & Form Triggers

The two triggers a person starts by using your app: authenticating, or submitting a form. Both are the usual entry point for onboarding, notification and CRM-sync workflows.

Auth Trigger

Fires on authentication lifecycle events.

automations:
  - name: welcome-new-user
    trigger:
      type: auth
      events: [signUp]
    actions:
      - name: welcome
        type: email
        operator: send
        props:
          to: '{{trigger.data.user.email}}'
          subject: Welcome aboard
          body: 'Thanks for joining, {{trigger.data.user.name}}.'
Property Description
events Array of signUp, signIn, signOut, passwordReset, emailVerified. Required, at least one.
Event Fires when
signUp An account is created, by any enabled strategy.
signIn A session is issued.
signOut A session is ended by the user.
passwordReset A password reset completes.
emailVerified A verification link is followed.

events is the trigger's only property. There is no way to narrow an auth trigger to a role, a domain, or an OAuth provider in the trigger itself — do that in the first action with a filter/continue gate.

Form Trigger

Fires when a top-level form is submitted.

forms:
  - name: contact-request
    # fields …

automations:
  - name: route-contact-request
    trigger:
      type: form
      form: contact-request
    actions:
      - name: createLead
        type: record
        operator: create
        props:
          table: leads
          fields: { email: '{{trigger.data.email}}' }
Property Description
form References forms[].name. Required. See Forms.

The reference is cross-validated against your declared forms[] when the config is decoded, so a renamed form breaks sovrium validate rather than leaving an automation that never fires.

Submitted values arrive at {{trigger.data.<field>}}, keyed by form field name. For work that must finish before the submitter sees a response, prefer the form's own onSuccess handling — a form trigger runs the automation independently of the submission's reply.

Last updated July 27, 2026

This documentation was written with AI, so errors or outdated content are possible. Sovrium is in beta — contributions and corrections are welcome.

Built with Sovrium