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:- Trigger — The event that starts the automation
- Rule (optional) — A condition that must be satisfied
- 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
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:- Send welcome email
- Enroll in orientation course
- Assign onboarding forms
- 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
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