Skip to main content

Overview

Automations are the workflow engine of Firstwork. They let you define event-driven processes that automatically execute actions when specific conditions are met. From sending welcome emails to advancing candidates through stages, automations eliminate manual work and ensure consistency.

Anatomy of an Automation

Every automation has three components:
  1. Trigger — The event that starts the automation
  2. Rule (optional) — A condition that must be satisfied
  3. Actions — One or more operations to perform

Triggers

Trigger Configuration

Each trigger can be scoped to:
  • Specific hiring flows
  • Specific stages within a flow
  • Specific forms or form elements
  • Specific contract types or statuses

Actions

Automations can execute one or more actions in sequence:

Communication Actions

Data Actions

Integration Actions

Flow Control

Input Variables

Automations support Input Variables that allow you to parameterize workflows:
  • Map data from the triggering event to action inputs
  • Use Object Graph paths to dynamically resolve values
  • Set default values for optional inputs
Example:

Automation Execution

Execution Records

Every automation run creates an Automation Execution record:

Action Executions

Each action within an automation also creates an Action Execution record:

Reliable Execution

Automations execute reliably in the background with:
  • Automatic retries on transient failures
  • Durable state — progress is preserved even during maintenance
  • Full execution history for debugging and auditing
  • Scalable processing — handles thousands of concurrent automations

Common Automation Patterns

Trigger: OnChange — Application created Action: Send email with application confirmation and next steps Trigger: FormElementSubmission — All required fields submitted Rule: Compliance check passes Action: Update Application — Advance to next stage Trigger: OnChange — Application enters “Background Check” stage Action: Webhook — Send candidate data to Sterling API Trigger: Schedule — Daily at 9 AM Rule: Document expires within 30 days Action: Send email reminder to candidate Trigger: OnChange — Application status changed to “Rejected” Action: Slack message to #hiring-team channel Trigger: OnChange — Contract created with status ACTIVE Actions:
  1. Send welcome email
  2. Enroll in orientation course
  3. Assign onboarding forms
  4. Notify manager via Slack

Webhook Triggers

External systems can fire automations using webhook triggers. Each automation with a webhook trigger gets a unique URL that external services can call to start the workflow. This is useful for:
  • Receiving results from background check providers
  • Integrating with custom internal tools
  • Connecting to third-party services like Zapier or Make
See Webhooks and the API Reference for details.

Best Practices

[!NOTE] Avoid infinite loops: Be careful when automations trigger other automations. Use rules to prevent re-execution on data that an automation itself modified.
  • Start simple — Begin with single-action automations and add complexity as needed
  • Use descriptive names — Make it clear what each automation does and when it fires
  • Monitor executions — Regularly review execution logs for failures
  • Test in staging — Always test automations in a staging environment first
  • Use rules wisely — Add conditions to prevent unnecessary action executions