> ## Documentation Index
> Fetch the complete documentation index at: https://docs.alex.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Job Workflows

> Automate how jobs are imported and configured in Alex from your ATS

Job workflows automate how jobs are pulled from your ATS into Alex. When a new job is created or becomes active in your ATS, the job workflow detects it, filters it, and configures it -- setting up rounds, interview guides, and more.

**Only one job workflow can be active at a time.** Since the job workflow is global for your entire ATS integration, it serves as the single source of truth for how Alex handles new jobs. To activate a different job workflow, you must first deactivate the currently active one.

You can create multiple job workflows (e.g., one for engineering roles, one for sales roles), but only one can be active at any given time.

## Structure

Job workflows are built around the **New Job from ATS** trigger, which fires when a new job is synced from your ATS. A second trigger, **Job Updated**, fires shortly after an existing job in Alex stops being edited -- useful for re-applying configuration when a job changes. Each trigger starts its own block of actions and utilities that define how the job gets imported and configured.

A typical job workflow looks like:

1. **New Job from ATS** (trigger) -- fires when a new job appears in your ATS
2. **Filter By Job** (utility) -- check conditions to decide if this job should be imported (e.g., only active or open jobs)
3. **Configure Job** (action) -- set up the job in Alex with rounds, interview guides, and settings
4. **Update Job Field** (action) -- optionally update fields on the job in your ATS (e.g., mark it as "Job generated")

<img src="https://mintcdn.com/apriora/81Rt6W6xFoyYGCgW/images/workflows-job-workflow.png?fit=max&auto=format&n=81Rt6W6xFoyYGCgW&q=85&s=b3c1d49351ed5c8c71771cb12cd6da10" alt="Job workflow with Configure Job action panel open" width="2914" height="1552" data-path="images/workflows-job-workflow.png" />

## The Configure Job Action

The **Configure Job** action is unique to job workflows. It defines how Alex sets up each imported job. When you click on it, you can configure:

### Initial Status in Alex

Set the default status for newly imported jobs (e.g., Active, Paused).

### Application Workflow

Select which application workflow will be attached to the imported job. This determines how candidates will be managed for this job going forward.

### Interview Rounds

The number of rounds and their types (AI Interview or Human) are determined by the application workflow you select above. The Configure Job action then lets you define how the **interview guides** are set up for each AI interview round when the job is created. For each round, you can specify:

* **Guide Source** -- how the interview guide is set:
  * **Generate** -- auto-generate a guide from the job description
  * **From Template** -- use an existing interview guide as a template
  * **Use Existing Guide** -- attach a specific existing interview guide
* **Generation Instructions** -- custom instructions for guide generation (e.g., "Screening call with basic technical questions")
* **Question Limit** -- optionally cap the number of questions

This is powerful because it lets you fully automate job setup. For example, if your application workflow defines three rounds, you could configure every imported job to have:

* Round 1: Auto-generated screening guide based on the job description
* Round 2: Technical guide generated from a Python template
* Round 3: Human round (no guide configuration needed -- handled by Coordinator)

## Available Actions

Job workflows have a different set of actions compared to application workflows:

**Triggers:**

* New Job from ATS
* Job Updated

**Actions:**

* Create Note
* Update Candidate Field
* Update Job Field
* Update Job Submission Field
* Upload Candidate Attachment
* Configure Job
* API Request

**Utilities:**

* Is
* Filter By Job

## Tips

* Use **Filter By Job** to only import jobs that meet certain criteria -- for example, only jobs in a specific department or with a specific status in your ATS.
* The **Configure Job** action can set up multiple rounds at once, so you can standardize your interview process across all imported jobs.
* If you need custom logic for different types of jobs, use the **Is** or **Filter By Job** utilities to branch and apply different configurations.
