Skip to main content
Application workflows manage the entire candidate journey for a job — from the moment someone applies through interview completion and final decisions. Every job in Alex has exactly one application workflow attached to it, and a single workflow can be shared across multiple jobs.

Structure

An application workflow is organized by rounds. At the top of the editor, you’ll see tabs for each round (Round 1, Round 2, etc.). Each round tab contains the blocks that define what happens during that stage of the interview process. Within each round, you build blocks. A block is a sequence that starts with a trigger and is followed by one or more actions. Each round can have multiple blocks, but you can only have one block per trigger per round. For example, Round 1 can have one “Interview Completed” block — not two. However, across different rounds, triggers can absolutely repeat. You can have an “Interview Completed” block in Round 1 and an “Interview Completed” block in Round 2, each with different actions.

Building Blocks

Every block follows the same pattern:
  1. Trigger — the event that starts the block (drag one from the left sidebar)
  2. Actions — the steps Alex takes in response (drag and connect below the trigger)
Actions run sequentially, top to bottom. You can chain as many actions as you need.

Example: New Applicant Block

This block fires when a new application comes in, filters the candidate in the ATS, adds a note, and then starts outreach via an Initiate Outreach group — which contains a sequence of emails, SMS, and waits to get the candidate to schedule.

Example: Interview Completed Block

This block fires when a candidate finishes an interview, then writes data back to the ATS (updating a submission field, adding a note, and uploading the report), and finally notifies the recruiter and candidate. An interview completed block with ATS sync actions and notification emails

Outreach with Initiate Outreach

The Initiate Outreach group is a special container — it holds its own sequence of outreach steps inside it. This is where you configure how Alex reaches out to candidates for a specific round. Inside an Initiate Outreach group, you can place a sequence of:
  • Send Email — send an email invitation
  • Send SMS — send a text message
  • Phone Call — have Alex call the candidate
  • Wait — pause for a specified amount of time before the next step
For example, an outreach sequence might be:
  1. Send an email invitation
  2. Wait 1 hour
  3. Call the candidate
  4. Wait 2 hours
  5. Send an SMS reminder
These outreach steps run until the candidate responds — once they reply to a message, schedule an interview, or pick up the phone, the remaining outreach steps are cancelled and Alex takes over the conversation.

Conditional Logic

Use utility actions to add branching logic to your workflow:
  • Filter By Application / Candidate / Job — query your ATS to check conditions against the candidate, job, or application entity, then branch into Yes/No paths
  • Is — check conditions against Alex’s native fields (score, name, location, etc.) and branch accordingly
Each condition is built from logical truth statements using AND and OR clauses. You group conditions into sets where all conditions within a set must be true (AND), and then the candidate passes if any one of those sets is true (OR). This gives you precise control over branching — for example, you could pass candidates who (score > 80 AND location = “New York”) OR (score > 90 AND any location). For example, after an interview is completed, you could use an Is condition to check if the candidate’s score is above 50. If yes, advance them to the next round. If no, send a rejection email.

Settings

The Settings tab on the workflow controls global configuration that applies across all rounds:
  • Outreach Hours — prevent Alex from contacting candidates outside of specified hours (a blackout window for outbound calls and texts).
  • ATS Link — for candidates who come directly to Alex (not from the ATS), use Link Candidate to automatically match or create the candidate in your ATS, and Create Application to create the application entity. You can set the timing for when the application is created: right away (when invited), when the candidate engages, or only after the interview completes. This is only available when an ATS is connected.

Initiate Outreach and Round Progression

A round’s outreach lives inside an Initiate Outreach group, and round changes are handled by the Move to Round utility:
  • Initiate Outreach — a container that holds the round’s outreach steps (see Outreach with Initiate Outreach above). On an AI interview round it invites the candidate to the interview; on a human round it sends a scheduling link and hands the candidate off to the assigned recruiter or hiring manager. If multiple interviewers are assigned, the candidate sees a unified availability view and the interview is round-robined based on who is free. Human rounds require the Coordinator add-on — see Coordinator for details.
  • Move to Round — moves the candidate to another round in the interview process.
Place any ATS updates, notifications, or conditions before the Initiate Outreach group or Move to Round step in your block.

Using Pre-made Blocks

Instead of building every block from scratch, you can use the Blocks tab in the left sidebar. Alex provides pre-made blocks based on best practices for candidate engagement. Drag a pre-made block onto the canvas and it will create a fully configured block that you can then customize. You can also save your own blocks for reuse across workflows.