Skip to main content

What Are Automations?

Automations are event-driven workflows that execute actions when specific conditions are met. They are the backbone of process orchestration in Firstwork — connecting hiring flows, communications, integrations, and data updates into seamless, automated pipelines. Admins build automations using a visual workflow canvas where they define a trigger, optional conditions, and one or more actions to execute.

Automation Scope

Each automation is tied to one of three contexts:
ContextDescription
Hiring FlowResponds to events within a specific hiring pipeline
People / OnboardingResponds to events related to contracts and onboarding flows
Check-in FormsResponds to events related to recurring worker check-in forms

Triggers

Triggers define what starts an automation. Each automation has one trigger.

On Change

Fires when a specific field value changes — most commonly when an application moves to a new stage or status. Admins can optionally filter by the previous value, the new value, or a specific form element.

Schedule

Fires on a recurring time-based schedule. Supports daily, weekly, monthly, and yearly frequencies with configurable intervals, specific days, start/end times, and timezones. Admins can also define a filter rule to target only records that match specific criteria, and attach a callback action (email or Slack message) with threshold-based triggers (count or percentage).

External API

Fires when a candidate or application is created through an external API call. Admins select which form elements should be processed when the automation runs.

Webhook

Fires when an external system sends an HTTP request to a unique webhook URL generated for the automation. Admins configure field mappings between the incoming payload and the platform’s data model, along with a lookup strategy:
  • Get or Create — Find an existing record or create a new one
  • Get Only — Only match existing records
  • Create Only — Always create a new record

Recollection

Fires when a data re-collection event occurs — typically when a candidate re-submits flagged documents or fields.

Form Element Submission

Fires when a specific form element is submitted — commonly used for signature events (Review & Sign) to trigger post-signature workflows.

Actions

Actions define what the automation does when triggered. Multiple actions can be chained in sequence.

Communication

ActionDescription
Send EmailSend a templated email via SendGrid, with dynamic variables from candidate data
Send SMSSend a text message via Twilio, Plivo, or Exotel
Send Slack MessagePost a message to a Slack channel

Status & Records

ActionDescription
Update Application StageMove an application to a different stage
Update Worker StageChange the status of a worker’s contract
Update Check-in Form StatusChange the status of a check-in form submission
Create ContractCreate a new contract from an application (transitions a candidate to a worker)
Create ApplicationCreate a new application in a hiring flow
Delete Application DataRemove application data

Form & Data

ActionDescription
Update Form FieldsWrite values to specific form elements
Run AI AgentTrigger a browser automation agent
Re-collect DataRequest document or field re-submission from the candidate
Extract Data from DocumentRun OCR processing on an uploaded document
Review and SignTrigger a signature flow

Integrations

ActionDescription
WebhookMake an HTTP request to any external service, with configurable method, headers, body, and authentication
VeriffTrigger identity verification
E-VerifyInitiate US employment eligibility verification
AI CallerPlace an AI-powered phone, audio, or video call
Google SheetsRead from or write to a Google Sheets spreadsheet
App IntegrationExecute a custom app integration action

Fountain ATS

ActionDescription
Update Fountain StageMove an application within the Fountain ATS
Push Data to FountainSync data from Firstwork to Fountain
Re-collect on FountainRequest document re-collection via Fountain

Flow Control

ActionDescription
Send for Manual ReviewCreate a task for an admin to review
Jump ToExecute a compliance rule
Run AutomationChain to another automation
Python FunctionExecute custom server-side logic
AI ActionUse AI to make a decision or process data
Event ActionCreate or manage a scheduler event

Assignments

ActionDescription
Assign CoursesEnroll a candidate or worker in LMS courses
Tag ActionsAssign, remove, or clear tags on a record
Update FunnelReset a custom link to allow re-entry to a flow
Send Check-in FormSend a check-in form to a worker

Action Availability by Context

Not all actions are available in every context:
  • Hiring Flow automations additionally support: stage updates, contract creation, funnel updates, and Fountain sync actions
  • People / Onboarding automations additionally support: worker stage updates
  • Check-in Form automations additionally support: check-in form status updates

Execution Policies

When multiple instances of the same automation could run simultaneously, the execution policy determines behavior:
PolicyBehavior
QueueExecutions run one at a time in order
SkipNew executions are skipped if one is already running
ContinueAll executions run concurrently

Input Variables

Automations support parameterization through input variables. Each variable has a name, data type, and a dynamic data path that resolves values from the triggering event’s context. Variables can be referenced within action configurations to create flexible, reusable workflows.

Execution Monitoring

Every automation run creates a detailed execution record including:
  • Which automation ran and what triggered it
  • The status of each action (success, failure, or skipped)
  • Timing information (start time, end time, duration)
  • Input data, output data, and error details for each action
Admins can review execution history through dedicated log views organized by automation logs, navigation logs, communication logs, and idle rule logs.

The Visual Workflow Builder

The automation editor presents a visual canvas where admins:
  1. Define a trigger as the starting node
  2. Add conditional branches to route logic based on data
  3. Chain action nodes in sequence
  4. Configure each node’s parameters
  5. Toggle the automation active or inactive
The canvas supports searching, rearranging nodes, and managing input variables from a side panel.