---
title: Automating interview scheduling email with an AI recruiting agent
metaTitle: AI agent for interview scheduling and candidate email
description: How to hand interview coordination to an AI agent over email: proposing times across panels, handling reschedules, chasing silence, and keeping candidates informed without a scheduling link.
date: 2026-07-25
author: MCPmailer
tags: Use cases
---

Interview coordination is the purest email ping-pong left in most companies. Three panellists, two time zones, one candidate who can only do early mornings, and a recruiter spending a third of their week acting as a human calendar. It is also unusually well suited to an agent, because every message in the loop is a reply to someone who is expecting it.

![An agent coordinating interview times with a candidate over email](/blog/ai-interview-scheduling-email-agent/hero.webp "Every message here is invited, which is what makes the whole loop safe to automate.")

## Why not just send a scheduling link

Booking links work, and if a link solves your problem you should use one. They stop solving it in three common cases.

The first is panels. A link that has to intersect four calendars, one of which belongs to an engineer who blocks focus time, usually offers nothing and pushes the work back to the candidate. The second is senior candidates, who reasonably expect a person to arrange around them rather than a form. The third is anything that needs to change: reschedules, a panellist dropping out, a delayed decision. Those arrive as email regardless of how the original booking happened, which means the coordination lives in the inbox whether you planned for it or not.

An agent handles all three, and it can fall back to sending a link when a link is genuinely the fastest route.

## The identity and the boundary

Give the agent an address like recruiting@agents.yourcompany.com, on a subdomain used only by agents. It gets its own key, its own record in the audit trail, and its own mail rules. The reasons not to run this from a shared credential are in [agent inbox or shared mailbox](/blog/agent-inbox-vs-shared-mailbox), and the setup takes about five minutes following the [quickstart](/docs/quickstart).

Because inbound is filtered per identity, you can put a recruiting agent in whitelist mode so it only ever engages with candidates in your pipeline and your own panellists. Anything from outside that set never reaches it. Mail rules are covered in [identities](/docs/identities).

> [!note]
> Whitelist mode is the right default for recruiting. It removes a whole category of surprise, including the agent politely answering a cold vendor pitch.

## The coordination loop

1. **Collect availability from the panel.** One message per panellist, or one to a small group, asking for windows rather than for a decision. `send_email` caps at five recipients, which is roughly a panel anyway.
2. **Intersect and propose.** Offer the candidate two or three concrete slots with the time zone spelled out. Never offer a slot you have not held.
3. **Wait.** `wait_for_reply` holds the thread open for a day or two without a scheduler or a polling loop.
4. **Confirm and record.** Reply in thread, then write the outcome to the candidate's contact record with `remember_about_contact` so the next stage starts informed.
5. **Handle the exception.** Reschedules, no-shows, and dropouts route back into step two, which is why an agent beats a link for anything past the first round.

```text
send_email {
  to: ["candidate@example.com"],
  subject: "Re: Backend interview, next steps",
  body: "Two options for the 60 minute system design round, both with Maria and Tom:\n\n- Tuesday 5 Aug, 10:00-11:00 CEST\n- Wednesday 6 Aug, 15:00-16:00 CEST\n\nEither works for us. Reply with one and I will send the invite."
}
```

Bodies are markdown, delivered as text and HTML, so a list of times renders as a list rather than a run-on sentence. That matters more than it sounds: a candidate scanning on a phone picks a slot from three lines and never from a paragraph.

![A thread showing panel availability collected and slots proposed to a candidate](/blog/ai-interview-scheduling-email-agent/panel.webp "Windows from the panel, concrete slots to the candidate. Never the other way around.")

## Time zones, and the one rule that prevents most errors

Always write the zone, always write the date in a form that cannot be misread, and never make the candidate do arithmetic. "Tuesday 5 August, 10:00-11:00 CEST (09:00 BST, 04:00 EDT)" is worth the extra characters when the candidate is in a different country. Ambiguous formats like 05/08 are how a candidate misses a round.

The rule that prevents most of the rest: the agent may only propose times it can already hold. If your calendar tool cannot place a provisional hold, the agent proposes from a window a human blocked in advance rather than from raw free space.

Admissions offices run a similar inbox with higher stakes per message, in [admissions email](/blog/ai-agent-education-admissions).

## Chasing without nagging

Candidate silence is normal. They are employed, interviewing elsewhere, or thinking. The right cadence is close to the sales one but gentler, because the relationship is longer.

| Situation | Action | Timing |
| --- | --- | --- |
| No reply to a slot proposal | One reminder with the same slots plus one new one | 2 days |
| Still no reply | One message closing the loop, leaving the door open | 5 more days |
| Panellist has not sent availability | Direct nudge, then escalate to the recruiter | 1 day, then 2 |
| Candidate asks about status | Answer honestly or say when you will know | Same day |
| Offer stage | Escalate to a person, always | Immediately |

That last row is not negotiable. Offers, compensation, rejections, and anything with a legal or personal dimension belong to a human, and the agent's job is to make sure the human has the whole thread in front of them.

## What the agent should never do

- Reject a candidate. Ever.
- Discuss compensation beyond restating a published range.
- Answer a question about why someone was not progressed.
- Contact a candidate's current employer, referees, or colleagues.
- Send anything to a candidate who has asked for a person.

Some of those are enforceable in tooling, and should be. The rest are prompt rules, which is fine as long as the escalation path is fast enough that following them is also the path of least resistance.

## Keeping candidates informed is the actual win

The measurable improvement from a recruiting agent is rarely hours saved, though there are hours. It is that nobody waits in silence. Every candidate gets an answer the same day, every reschedule is handled in minutes, and every panellist gets a nudge before the recruiter has noticed they forgot. Candidate experience is mostly latency, and latency is what agents are good at.

The rest of the recruiting picture, including what a recruiter sees in the dashboard, is on the [recruiting agents page](/for/recruiting-agents), and the agency version, with its two-sided inbox, is in [a recruitment agency runs on email](/blog/ai-agent-recruitment-agency-email). If you are considering more than one agent, note that scheduling logic generalises: the same loop drives a [scheduling agent](/for/scheduling-agents) for sales calls or customer onboarding, and the service-business version is in [appointment reminders that can handle the reply](/blog/ai-agent-appointment-reminders).

## Questions

### Can an AI agent schedule interviews over email?

Yes. It collects availability from panellists, proposes concrete slots to the candidate, confirms in thread, and handles reschedules. It should not make hiring decisions, discuss compensation, or send rejections.

### Is this better than a booking link?

For a single interviewer with open calendar space, a link is fine. An agent wins for panels, for senior candidates who expect coordination rather than a form, and for everything after the first booking: reschedules, dropouts, and delays, all of which arrive as email anyway.

### How does it handle candidates who go quiet?

One reminder after two days with the same slots plus a new one, one closing message about a week later, then silence. The cadence is deliberate: candidates are often mid-process elsewhere and pressure costs you more than patience.

### Can it work with our ATS?

The email side is independent of your ATS. The agent reads and writes mail through MCPmailer and calls your ATS through whatever tools you expose to it, and the [REST API](/docs/rest) covers stacks that do not speak MCP.

### How do we keep it from talking to the wrong people?

Put the identity in whitelist mode so only addresses you allow can reach it, and use an exact-address rule to override a domain rule where you need an exception. See [identities](/docs/identities).

## Related

- [Email for recruiting agents](/for/recruiting-agents)
- [Email for scheduling agents](/for/scheduling-agents)
- [How to give an AI agent its own email address](/blog/email-for-ai-agents)
- [Agent inbox or shared mailbox](/blog/agent-inbox-vs-shared-mailbox)
