> ## 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.

# Coordinator

> How Alex coordinates handoffs and scheduling for human-led interview rounds

<Warning>Coordinator is a separate product that requires its own purchase. It is not included in the core Alex platform.</Warning>

Coordinator automates the scheduling between candidates and interviewers. Instead of manually going back and forth with candidates to find a time, Alex handles the entire process -- reaching out to the candidate, reading the interviewer's live calendar availability, helping the candidate book a time, and putting the meeting on both calendars.

The interviewer's calendar simply starts filling up with meetings for qualified candidates. All they need to do is show up.

The interviewer for a given round can be anyone on your team -- a recruiter, hiring manager, engineer, or any other user in Alex. They don't need to be the job owner. For workflows with multiple human rounds, you can assign a different person to each round and Alex will coordinate the handoff to each one independently.

## How It Works

Here's a typical Coordinator flow:

1. A candidate completes an AI interview and meets your criteria (e.g., score threshold).
2. The candidate reaches a **human round**, and its **Initiate Outreach** group runs -- Alex emails the candidate a scheduling link with the assigned interviewer's live calendar availability.
3. The candidate picks a time, and both sides receive a calendar invite with an auto-generated meeting link from the interviewer's calendar provider (Google Meet for Google Calendar, Microsoft Teams for Outlook).
4. Everyone joins the meeting -- including Alex, who records the conversation and takes notes.
5. After the meeting, Alex generates a report with notes on the interview and delivers it to the Alex dashboard. The report can also be pushed back to your ATS. Reports from human rounds contain notes only -- they do not include scores.

## What Alex Handles

* **Scheduling emails** -- Alex sends the candidate a link showing the interviewer's real-time availability. With Outlook, Alex can send scheduling emails on behalf of the interviewer.
* **Calendar invites** -- once the candidate picks a time, both the candidate and interviewer receive a calendar invite on the interviewer's connected calendar (Google Calendar or Outlook/Teams).
* **Meeting links** -- Alex uses the interviewer's calendar provider to create the meeting link: Google Meet for Google Calendar, Microsoft Teams for Outlook. Interviewers who prefer Zoom can connect a Zoom account to override this default.
* **Rescheduling** -- both candidates and interviewers can reschedule if needed.
* **Availability management** -- if all available times are booked, Alex nudges the interviewer to open up more slots or increase their calendar visibility.
* **Meeting recording and notes** -- Alex joins the meeting, records it, and generates a report with notes that gets delivered to the dashboard and can be synced back to your ATS.

## Calendar Integrations

Coordinator needs the interviewer's **calendar** connected so it can read availability and put the interview on their calendar. Supported calendars:

* **Google Calendar**
* **Outlook / Microsoft Teams** (the same Microsoft account covers both the Outlook calendar and Teams meetings)

<Note>When the meeting is a Microsoft Teams meeting, Alex appears in the Teams lobby as an **External** participant and must be admitted manually at the start of each call.</Note>

## Connecting a Calendar

Each interviewer connects their own calendar from **Settings → Profile → Connected Accounts**. The flow is the same for both providers -- only the sign-in screen differs.

<Steps>
  <Step title="Open Connected Accounts">
    Go to **Settings → Profile → Connected Accounts**. You'll see a row for **Gmail (Google)** and one for **Outlook (Microsoft)**, each labeled *Email + Calendar access*.
  </Step>

  <Step title="Connect your provider">
    Click **Connect** on the provider you use. Alex sends you to Google's or Microsoft's sign-in and consent screen, where you approve the calendar and email permissions listed below.
  </Step>

  <Step title="Confirm the connection">
    After you approve, you're returned to Alex. The row now shows a green check, your connected email address, and an **Email + Calendar** label -- the calendar is live and ready for handoffs. You can remove access anytime with **Disconnect**.
  </Step>
</Steps>

<Note>You can't disconnect a calendar while you're the assigned interviewer on a job with active handoffs -- reassign those rounds first.</Note>

## What Alex Reads and Writes

Connecting a calendar grants Alex only the access it needs to read availability and manage the interviews it books. The scopes differ slightly by provider, but the behavior is identical: read free/busy, write only the events Alex creates.

### Permissions by provider

<Tabs>
  <Tab title="Google Calendar">
    | Scope               | What it's for                           |
    | ------------------- | --------------------------------------- |
    | `calendar.freebusy` | Read availability (busy blocks only)    |
    | `calendar.events`   | Create and manage the events Alex books |
    | `gmail.send`        | Send scheduling emails                  |
    | `userinfo.email`    | Identify the connected account          |

    Alex reads availability through Google's **FreeBusy API** and adds a **Google Meet** link to the events it creates.
  </Tab>

  <Tab title="Outlook / Microsoft">
    | Scope                 | What it's for                                             |
    | --------------------- | --------------------------------------------------------- |
    | `Calendars.ReadWrite` | Read availability and create/manage the events Alex books |
    | `Mail.Send`           | Send scheduling emails (on behalf of the interviewer)     |
    | `User.Read`           | Identify the connected account                            |
    | `offline_access`      | Keep the connection alive without re-authenticating       |

    Alex reads availability through Microsoft's **`getSchedule`** and adds a **Microsoft Teams** link to the events it creates.
  </Tab>
</Tabs>

### How Alex uses that access

Both providers follow the same two rules, regardless of which scopes they name.

**Reads: availability only.** Alex reads **free/busy** information -- only the start and end of busy blocks on the primary calendar. Alex does **not** read the title, attendees, or any other content of existing events, does not read events it didn't create, and does not access tasks or reminders.

<Note>
  The event scope (`calendar.events` for Google, `Calendars.ReadWrite` for Microsoft) is used only to create and manage the interviews Alex books -- not to read or change any other events on the calendar.
</Note>

**Writes: only the interviews Alex books.** When a candidate picks a time, Alex creates one event -- title, description, start/end time, the candidate and interviewer as attendees, and a Google Meet / Teams / Zoom link. It only updates or cancels events **it created** (identified by the ID returned at creation) and never touches events it did not create.

## Meeting Provider

By default, Alex creates the meeting using the interviewer's calendar provider:

* **Google Calendar** → the invite includes a Google Meet link.
* **Outlook** → the invite includes a Microsoft Teams link.

This is the recommended setup -- the interviewer only needs to connect a calendar, and the meeting platform follows naturally.

### Overriding with Zoom (optional)

If an interviewer prefers Zoom over their calendar's native meeting platform, they can connect a Zoom account in **Settings → Profile → Connected Accounts**. When Zoom is connected, Alex creates a Zoom meeting instead of using Google Meet or Teams. Disconnecting Zoom returns the interviewer to the calendar default.

## Setup Requirements

For Coordinator to work, the following must be in place:

1. **Coordinator SKU enabled** -- your account must have the Coordinator add-on purchased and activated.
2. **Human round configured** -- the job's application workflow must include at least one human round. The Initiate Outreach group on that human round triggers the Coordinator flow.
3. **Interviewer assigned** -- for each human round on the job, you need to configure who the candidate will be handed off to. This can be any user in Alex -- a recruiter, hiring manager, engineer, or anyone else on your team. Different rounds can be assigned to different people.
4. **Calendar connected** -- every interviewer **must** connect either **Google Calendar** or **Outlook / Microsoft Teams** from **Settings → Profile → Connected Accounts**. The meeting link comes from the connected calendar by default (Google Meet or Microsoft Teams). Without a connected calendar, handoff invitations will not go out.
5. **Zoom connected (optional override)** -- only required if the interviewer specifically wants Alex to create Zoom meetings instead of using the calendar's native meeting platform.

<Warning>If an interviewer has not connected a supported calendar, the human round's outreach will not send scheduling invitations to candidates for that person. Make sure all interviewers have their calendar connected before enabling human rounds.</Warning>

## Recruiter Availability

After connecting a calendar, each recruiter can configure the time windows in which candidates are allowed to book them. Candidates only see slots that fall inside the recruiter's configured availability **and** are free on their actual calendar.

If a recruiter is fully booked, Alex prompts them to open up more slots or widen their availability window.

## Assigning a Recruiter to a Human Round

A human round is one where Alex hands the candidate off to a person (vs an AI interview). There are two ways to assign who that person is:

1. **Per-job round config** -- on a specific job, set the recruiter(s) directly on the human round. Gives you the most flexibility for one-off jobs or special cases.
2. **Job-import workflow** -- if you use a job-import workflow to bring jobs in automatically, you can set a default recruiter there. You can also branch on filters to assign different recruiters to different categories of jobs (e.g. by department or location).

## Triggering Coordinator from a Workflow

You trigger Coordinator by sending a candidate into a **human round** whose **Initiate Outreach** group sends the scheduling link. See [Initiate Outreach and round progression](/workflows/application-workflows#initiate-outreach-and-round-progression) for how outreach groups work.

A common setup looks like:

1. **Interview Completed** trigger fires after the candidate finishes an AI interview round.
2. One or more actions run -- updating the ATS, sending notifications, etc.
3. A conditional check (e.g., **Is** utility) evaluates whether the candidate meets your criteria.
4. If yes, a **Move to Round** step advances the candidate into a human round, and that round's **Initiate Outreach** group begins scheduling the candidate with the assigned recruiter.

For more on building workflows, see [Application Workflows](/workflows/application-workflows).
