To match email to a job application, you score each reply against the applications it could belong to and pick one only if the evidence separates them. The hard part is that often it does not. In five weeks of email at one staffing team, 801 replies were found, and 279 + 85 + 54 = 418 could be tied to one specific ApplyEze application. The other 801 minus 418 = 383, or 47.8%, could not. Some of those may have come from the candidates' own applications, so this is not a plain failure rate. Either way, the lesson for anyone is the same: a reply may not say which application it means, so keep your own list of company, role and date.
Here is how callback detection works where it is switched on. It is rolling out with staffing teams first and is not part of self-serve accounts yet. On a self-serve account you see every application ApplyEze sends, and you record employer replies yourself on each one, so the matching below is something you do by eye. The worked example shows why that is harder than it sounds.
The problem: one inbox, hundreds of applications
Volume breaks memory first. ApplyEze delivered 75,963 applications in the 30 days to 9 November 2026, about 1,651 per candidate. Even at a fraction of that, a person can have two roles at one company, three companies with similar names, and a recruiter writing in late about something from a month ago. The reply was written by someone who knows which role they mean. It often does not say so, because to them it is obvious.
Every tool that reads replies meets this. Simplify's email article says that "Matching depends on the email and application information". Tsenta's pricing page says statuses move "when the match is confident". Neither page says how often a reply cannot be matched, and on the pages we read on 9 November 2026 we found no rival that publishes it. We do, below.
How a reply is scored against your applications
The pool is up to 200 of a person's real submitted or maybe-submitted applications from the last 120 days, never dry runs. Code then gives each one points for what the email shows. These are the values in our code when this was written, and they may change.
| Signal | Points |
|---|---|
| Same email thread as the application | +100 |
| Sender is that employer's Workday tenant | +60 |
| A link points to that employer's job board | +50 |
| Company named in the subject | +40 |
| Sender's domain is the employer's own | +40 |
| Sender is on the application's system | +30 |
| Company named in the sender's name | +30 |
| Company named in the body | +15 |
| Addressed to the application inbox | +10 |
| Age of the application | minus 1 per week, up to 15 |
Now a worked example, with invented companies. Sam has three applications open:
- A: Harbor Analytics, Data Analyst, on Greenhouse, applied 3 weeks ago.
- B: Harbor Analytics, Senior Data Analyst, on Greenhouse, applied 1 week ago.
- C: Kestrel Foods, Data Analyst, on Workday, applied 5 weeks ago.
Sample email, written for this post.
From: Harbor Analytics Recruiting, no-reply@us.greenhouse-mail.io
Subject: Next steps with Harbor Analytics
Thanks for applying to Harbor Analytics. We'd like to set up a 20 minute phone screen. Please share your availability.
| Signal | A | B | C |
|---|---|---|---|
| Sender on the application's system | +30 | +30 | |
| Company in subject | +40 | +40 | |
| Company in sender's name | +30 | +30 | |
| Company in body | +15 | +15 | |
| Addressed to the inbox | +10 | +10 | +10 |
| Age | minus 3 | minus 1 | minus 5 |
| Total | 122 | 124 | 5 |
C goes nowhere. Being addressed to your own inbox is true of nearly every email, so it says nothing about Kestrel, and only applications with a signal of their own are offered onward. A and B both go forward. B leads by 2 points, and those 2 points are only because it is newer. That gap is not evidence. The sender is no help either: Greenhouse sends automated candidate mail from shared addresses such as no-reply@us.greenhouse-mail.io, unless the employer has set up its own domain, so an email from an application system's platform alone is not treated as naming the employer.
So code narrows the list to the top 10 that have a signal of their own, and hands the rest of the decision on.
What the AI is allowed to pick
The AI gets very little room. It can pick only from that email's own options, listed under throwaway aliases, and it has no tools. It may pick one option only when the company agrees and, if the email names a role or posting, the role agrees too. With two at one company and nothing in the email to separate them, it must answer none. The database then re-checks the answer. The email's text is treated as data and not as instructions, and a pick outside the pool is refused whatever the email says.
For Sam's email the right answer is none, and that is what the rule requires. The card is still written, and reads "Not matched to an application yet". A person must pick the application before confirming.
Change one line and the result changes. If the email says "the Senior Data Analyst role", the AI can pick B. That is the whole difference between a tied reply and an untied one, and it was in the recruiter's hands.
The chart shows where this sits: the inbox is scanned, rules settle most mail, an AI labels what is left, it is tied to an application, and a person confirms the stage. Tying is the fourth step of five, and an untied reply still reaches the fifth.
What was tied, kind by kind
The chart shows the 801: 465 assessment invitations, 196 screening calls and 140 interviews. Here they are with the math.
| Kind | Found | Tied to one ApplyEze application | Tied share | Not tied |
|---|---|---|---|---|
| Assessment | 465 | 279 | 60.0% | 186 |
| Screening | 196 | 85 | 43.4% | 111 |
| Interview | 140 | 54 | 38.6% | 86 |
| All three | 801 | 418 | 52.2% | 383 |
The pattern is worth a pause. Assessments tie most often, and interviews least. Taking screening and interviews together, 85 + 54 = 139 of 196 + 140 = 336, or 41.4%. So the replies from people are the ones that tie least, and those are the ones you most want to place. Our reading of the mechanism: a system's invitation tends to carry a link and a company name, and a person writes a short note.
These are machine labels on email received from 4 October to 8 November 2026, across about 29 candidates at one staffing team. They were found when the scanner first ran on 3 November and read back to 4 October, and no person reviewed them. Results for any one person will differ.
Why the rest could not be
We have not split the 383 by cause, so treat this as a list and not as shares.
- It answers an application we never sent. The pool holds ApplyEze applications only. A reply to something a candidate applied to alone has nothing to match, and being untied is then the correct result. The data says some may have come from there, and it cannot say how many.
- Two at one company, and nothing to separate them. Sam's case above.
- The application is older than the pool. After 120 days it is no longer an option.
- The reply names no one. A note with no company, from a shared address or a personal one, gives code no signal to start from.
- A different name. A parent company, a brand or an agency writing on an employer's behalf may not match the name on the posting.
Timing figures we publish cover only the tied replies, for the same reason. Nothing else has a known applied date.
Follow-ups fold into one card
A reply is rarely one email. Reminders and reschedules fold into the same card instead of making a new one, so the reviewer sees one thing to decide. A later email folds in when it is in the same thread, or on the same application with the same kind within 14 days, and only when the card's stage is at the email's stage or later. The order is screening, assessment, interview, offer.
| Sample day | Result | |
|---|---|---|
| 1 | Recruiter asks for a phone screen | New screening card |
| 2 | Reminder about the phone screen | Folds in |
| 5 | Phone screen moved to Thursday | Folds in, and the card can show the new time, marked rescheduled |
| 9 | Hiring manager invites Sam to an interview | Later stage, so a new interview card |
The folded email keeps its own record, and the card shows "+N follow-ups folded in". The fold reaches the same thread or the same matched application, so a duplicate from an unmatched email can still appear, which is why the review screen has a "Duplicate of another callback" option.
What to keep on your own list
Every field below answers one of the failures above. Copy it into whatever you track in. Our job application tracker guide has more on the tool itself.
| Field | Sample value, invented | Why you need it |
|---|---|---|
| Company as the posting names it | Harbor Analytics | The reply may use it, or a parent's name, so note both |
| Exact role title | Senior Data Analyst | Separates two roles at one company |
| Requisition number | 1217 | Separates two roles when the titles are close |
| Date applied | 26 Oct 2026 | Lets you place "your recent application" |
| Application system | Greenhouse | Tells you to expect shared sender addresses |
| Saved copy of the description | A PDF or pasted text | Postings close, and you still need to prepare |
| Address used | sam.jobs@example.com | So you search the right inbox |
| Last reply and next step | Screen, Thursday 2 p.m. | So nothing rests on your memory |
When a reply does not say which role it means, ask. It reads as organized and takes one minute.
Sample reply, written for this post.
Hi Dana, thanks for reaching out. I applied to two roles at Harbor Analytics: Data Analyst (req 1184, applied 12 October) and Senior Data Analyst (req 1217, applied 26 October). Could you confirm which one this is about, so I can prepare properly? I'm free Thursday after 1 p.m. Eastern.
Staffing teams face the same problem at scale, which AI in staffing looks at from the recruiter's side, and callback detection has the full path from scan to confirm.
A list like this also gets easier when the sending is taken care of, because every application leaves a receipt. You queue the roles in the desktop app, which runs on your computer while it is on and awake, and ApplyEze fills and submits each form. Your first 50 applications are free, no card needed.
