The client sends a two-line email on a Thursday afternoon: how is the search going, any movement? You have an answer. It is just spread across the ATS, your inbox, two recruiters' heads, and yesterday's interview that nobody has written up yet.

So you build the update by hand. You pull the stage counts, remember which candidate the hiring manager liked, work out why the shortlist is still thin, and hope you have not forgotten the one thing the client actually needs to act on. It takes the better part of an hour, it comes out a little different every week, and it still reads like a list of what your team did rather than a clear picture of whether the role is going to get filled.

This guide is for the account or delivery lead at a recruitment agency or staffing firm who wants client updates to run the same reliable way every week, instead of being reconstructed from scratch under a Friday deadline.

What the client is really asking when they ask how it is going

A recruitment update is not a summary of effort. The client running an open role wants three things answered, whether they say so or not: is this going to get filled, when, and is there anything sitting on my desk that is holding it up.

Everything else is supporting detail. If your update lists the calls made and profiles reviewed but never says where each candidate stands, whether the search is on track for the timeline you agreed, and what decision you need from them, it has told the client you were busy without telling them anything they can use. The busy version reassures. The useful version moves the search, and that is the difference between an agency the client chases for news and one they trust to run the hire.

A quick test

Take the last update you sent a client and read the final line. Does it end with a clear thing you need them to decide or do, by a date? Or does it trail off into activity? If a client cannot tell what you need from them, the update was written to look diligent, not to fill the role.

Why a recruitment update is harder than an internal status report

Recruitment client reporting has a problem most status work does not: you are reporting on a pipeline you only half control. A candidate you submitted can take another offer in the two days it takes the client to schedule a first interview. A shortlist can be strong on paper and stall because the salary is below what the market is paying. A role can sit open for a month because the hiring manager has not returned feedback on the last three people you sent.

So some of what you have to report is the client's own decisions slowing their own hire. That makes the honest update awkward to write. You have to tell a paying client that the reason the role is not filled is the feedback they owe you, or the range they will not move, without it reading as blame. Get that wrong and you either soften it into uselessness or you sour the relationship. Most of the workflow around the update exists to make that honesty routine instead of a judgment call you agonize over every week.

Where the reporting hour actually goes

The information almost always exists somewhere. The stage counts are in the ATS. The candidate the client liked is in a recruiter's notes. The reason the shortlist is thin is in a screening call nobody wrote up. The blocker, the range that is too low or the feedback that never came, is real and known and sitting in someone's head.

So the account manager becomes the glue. Every week, for every client, they gather the fragments, reconstruct the story, and format it into something presentable. It is slow, it does not hand off when they are on leave, and the parts that matter most, the blockers and the risks to the timeline, are exactly the parts most likely to get softened or dropped as they get retold. When the update lives in one person's head, the quality of your client reporting is really the mood and memory of whoever wrote it that day.

Walk one search from live role to Friday update

Before changing anything, follow a single open role through the week as it actually moves, not as the process document says it should. On most agency desks it looks roughly like this:

  1. A recruiter sources and screens candidates and submits a few to the client, logging some of it in the ATS and some of it in notes or email.
  2. The client's hiring contact reviews the submissions, sometimes replies quickly, sometimes goes quiet for a week.
  3. Interviews get scheduled across calendars, held, and debriefed on a call that nobody transcribes.
  4. A candidate drops out, takes another offer, or is rejected, and the reason lives in the recruiter's head or a one-line note.
  5. The account manager, facing the weekly update, reopens all of this and tries to reassemble where the search stands.
  6. They write the update from memory and a quick ATS scan, decide what is safe to say about the blocker, and send it.
  7. The client reads it, or does not, and the same rebuild happens next week.

The breakage is almost always at the handoffs: between the recruiter who knows why a candidate went cold and the account manager who writes the update, and between one week's update and the next. A fact leaves the recruiter's head, loses its context, and has to be reconstructed later by someone who was not on the call. That is the work worth removing, and you cannot remove it until you can see where it happens.

Build one status record per role before you automate anything

The fix is not a slicker report template. It is one place per open role where the facts of the search live, kept current as the search moves, so the update is assembled from what is recorded rather than from memory. Build that record first, by hand if you have to, before any automation touches it.

What the first status record should hold

  • Where each candidate stands on the role: submitted, interviewing, at offer, placed, or out, with the reason they are where they are.
  • The blockers holding the search up, tagged by type: salary, missing feedback, slow scheduling, or a requirement that keeps changing.
  • The one thing you need from the client next, and the date you need it by.

Keep two layers in the same record: the recruiter's raw internal read, and the client-facing version of each field. That way a recruiter can write "pipeline is thin, the range is a fantasy" internally without that language reaching the client, while the account owner decides what the honest client-facing version of the same fact is. The record is the source. The update is a reviewed view of it.

Example: one client's status record, mid-search

RoleWhere the search standsBlockerWhat we need from the client
Finance managerThree submitted, one strong candidate ready to shortlistRange is below the offers we are seeing candidates acceptConfirm whether the range can move, by Friday
Warehouse supervisorTwo interviewed, feedback outstanding for a weekHiring manager has not scored either candidateSend feedback or we risk losing both to other offers
Support team leadPreferred candidate declined over locationRemote policy on this role is unclearConfirm whether the role can flex on location

The numbers a client update has to carry

Where each candidate stands answers the "what is happening" question. The client's other question, is this on track, needs numbers, and recruitment has a small, honest set that belongs in every update: how long the role has been open, how many candidates you have submitted, how many the client has taken to interview, and where the search sits against the timeline you agreed at intake.

These numbers do two things a narrative cannot. They show the client their own part in the funnel, so three strong submittals sitting a week without a response becomes visible rather than asserted. And they keep you honest with yourself about which searches are genuinely moving. A clean way to show them is a per-role line the client can scan in seconds.

Example: the client-facing view for two roles

RoleDays openSubmittedInterviewingAt offerHonest read on timing
Finance manager18310On track if the range is confirmed this week
Warehouse supervisor26420Slipping, stalled on interview feedback, not on candidates

The point of the honest-read column is that it names the cause of a slip, and the cause is often on the client's side. A number without that read invites the client to assume the agency is slow. The read tells them where the actual bottleneck is.

Tell the truth about time-to-fill

Time-to-fill is the number agencies are most tempted to fudge, because the client uses it to judge you and because you do not fully control it. The temptation is to stay vague, to say "making good progress" so you are never caught out on a date. That vagueness is exactly what erodes trust, because the client cannot plan around it and eventually stops believing the optimistic version.

The more useful move is to report time honestly and early. If a role is tracking to the timeline you set at job intake, say so. If it is slipping, say that too, name why, and say whether the cause is on your side because the pipeline is genuinely thin, or on theirs because of feedback, range, or scheduling. A client who hears "this is going to take another two weeks and here is why" in week three can act on it. The same client who hears it in week six, after assuming it was almost done, remembers that you let them believe a fiction. Reporting a slip early is uncomfortable once. Hiding it is expensive every time it surfaces later.

Name the blocker, even when it is the client's

Most stalled searches are stalled on something the client can fix. The salary range is under market. The hiring manager owes feedback. Interview slots take two weeks to appear. The requirements changed after you started sourcing. Your update is the one place these get surfaced while they can still be fixed, and the skill is naming them plainly without it landing as an accusation.

What works is to attach every blocker to a specific decision and a date, and to frame it as protecting their hire rather than defending your effort. "The hiring manager has not scored the two candidates from last week, and both are interviewing elsewhere. Can we get feedback by Wednesday, or should we assume they are released?" is a fact and a decision, not a complaint. Tagging blockers by type also lets you see a pattern that a single update would hide: if the same client stalls on feedback across four roles, that is one conversation about their process, not four separate nudges.

Reading the common blockers

BlockerWhat it looks like in the pipelineWhat to put in the update
Range below marketStrong candidates decline at offer or never engageThe range candidates are actually accepting, and a request to confirm whether theirs can move
Missing feedbackInterviewed candidates sit unscored while other offers landNamed candidates, days waiting, and a date after which you release them
Slow schedulingDays lost between submission and first interviewThe gap in days, and the risk of losing candidates to faster processes
Shifting requirementsSourcing restarts as the brief keeps changingWhat changed, the effect on timing, and a request to lock the brief

Keep the recruiter's honest read separate from what the client sees

The hardest question in client reporting is not how to format the update. It is what belongs in it. A thin week is still a week the client is paying for, and the pull is to pad it with activity so it looks like movement. Resist that, and solve it structurally instead of relying on willpower each week.

Agree upfront which facts appear in every update: the state of each candidate, the live blockers, the numbers, and the decisions you need. Keep the recruiter's unfiltered read on pipeline strength internal, where it stays honest and useful, and let the account owner decide what the client-facing version of each fact is. Good client reporting serves the client's decision, not your need to look busy. It only holds up when the work upstream is clean enough to trust, which is why honest candidate screening and a well-calibrated brief matter before you ever report on them.

Where the data already lives

The record does not need new data. It needs the handful of facts that already exist, pulled into one place. In most agencies those come from a few familiar systems.

  • The ATS holds candidate stages, submissions, and the pipeline per role.
  • The CRM and email hold the client conversation: what was promised, what was asked, what went quiet.
  • Calendars hold interview timing and, by their gaps, the scheduling and feedback delays.
  • Recruiter notes hold the context none of the above capture: why a candidate is really cold, what the hiring manager actually said.

You do not need to connect all of it. You need the few fields that make the update write itself: candidate stage, the blocker, who owns the next decision, and the date each was last touched. Start there. Add a source only when a missing fact keeps forcing the account manager back into manual reassembly.

Where AI assembles the update and where a person still owns it

Once the record exists, AI can do the assembly the account manager does by hand. It can pull what moved on each role since the last update, flag feedback that has gone stale past a threshold you set, group blockers so a repeated client bottleneck is obvious across roles, and draft the update in plain language against the fields in the record, with a link back to the ATS for every claim so a reviewer can check it in seconds.

What stays with a person is everything the client actually feels. AI drafts from the record. It does not decide what you promise the client, whether to hold or release a candidate, or how to phrase a blocker that touches the hiring manager's own performance. It must never invent a market reason for a thin pipeline, quietly soften a blocker the client needs to hear, or send anything a person has not read. The account owner still owns the relationship and the timeline you commit to. AI removes the reconstruction. The judgment and the promise stay human.

A worked example

The scenario below is invented to show the shape of the workflow, not a real client. Say an agency runs 30 open roles across eight clients, with four recruiters and one account lead who spends most of Thursday and Friday building updates by hand.

Before the change, each client update was a fresh reconstruction. The account lead would scan the ATS, ping recruiters for context, and write eight updates from memory, each in a slightly different shape. Blockers got softened, because writing "your hiring manager is the problem" eight times in an afternoon is exhausting and the honest version rarely survived. Two placements slipped that quarter because feedback delays were mentioned too gently and too late, and strong candidates took other offers while the client assumed there was no rush.

After the change, each role carries a live status record. A recruiter updates a candidate's stage and reason in the moment it happens, not in a Friday scramble. On update day, a draft per client assembles itself from the records: where each candidate stands, days open and the funnel per role, the tagged blockers, and the one decision each role needs, every claim linked back to the ATS. The account lead now spends the time reviewing and sharpening rather than reconstructing, deciding how to phrase the feedback blocker for the one client who is sensitive about it, and confirming which candidates to flag as at risk. The update that used to take a day takes an hour of judgment. The table below is what the account lead scans before sending.

ClientRoles openNeeds a decision this weekBiggest risk
Client A6Two roles waiting on interview feedbackTwo candidates interviewing elsewhere
Client B4One role blocked on salary rangeStrong candidate likely to decline at offer
Client C3None, all movingNone flagged

None of these numbers are real. The point is only that once the facts live in a record, the account lead spends the week's reporting time on the two clients who need a decision, not on rebuilding all eight from scratch.

How you know it is working

The signal is simple: updates get faster to prepare and easier for the client to act on. In practice you would see the weekly update take minutes of review instead of an hour of reconstruction, every update ending with a clear decision the client acts on sooner, and blockers surfacing while they can still be fixed rather than in the post-mortem on a lost search.

The plainest test is the leave test. If a colleague could produce your client update from the record while you are away, without calling you, the workflow is real. If the update still lives in your head, you have a reporting habit rather than a workflow, and it will break the first week you are out.

The traps that make a client stop reading

A few failure modes show up again and again, and each one trains the client to trust the update less.

The first is padding a thin week with activity so it looks busy. The client learns the update is theater and stops reading it, which means the week you genuinely need them to act, they miss it. The second is over-promising the fill date to avoid an awkward conversation and then missing it. One confident wrong date costs more trust than five honest slips. The third is hiding the client-side blocker to stay polite, so the update informs but never surfaces the feedback or the range that is actually holding the role up. The fourth is letting the format drift every week, so the client has to relearn where the important part is each time and eventually stops looking for it. The fifth is sending one identical update to every client instead of the state of their roles. A client can tell instantly when they have been handed a template, and it reads as an agency that is not really watching their hire.

A first month you can actually run

You do not fix this across every client at once. Pick one, ideally the account whose weekly update you dread most, and run the month on it.

  1. In week one, read the last several updates you sent that client and pull out the facts you rebuild every time: where each candidate stands, the recurring blockers, the decisions you keep asking for. Stand up a status record for their open roles, with internal and client-facing layers kept separate.
  2. In weeks two and three, connect the minimum ATS, CRM, email, and calendar data that record needs to stay current without manual retyping, and let a draft assemble from it while the account owner still decides what the client sees.
  3. By week four, that client's weekly update should run from the record instead of a reconstruction, ending in a clear decision each time.

At the end of the month, keep going if the update is faster to prepare and the client is acting on it sooner. Narrow it if the source fields or the ownership of each decision are still unclear, because that, not the tooling, is what will break next.

How Ubisar would build this with you

In week one, we would pick one client account or a high-volume role type and read your recent updates to find the facts you rebuild every time: where each candidate stands, the live blockers, the numbers, and the decision you keep chasing. The first thing you would see is a status record with a link back to the ATS on each field, the recruiter's internal read kept separate from the client-facing version, blocker tags, and the next decision on each role.

In weeks two and three, we would connect the minimum ATS, CRM, email, and calendar data that record needs, and let AI summarize what moved and draft the update while the account owner decides what the client sees and what to promise. By week four, one client's reporting should run from the record instead of a weekly rebuild. At the end of the month, we keep going if updates are faster to prepare and easier to act on, and narrow the scope if the source fields or decision ownership are still unclear. This is the kind of month the AI, Data & Tech Implementation Service is built for.

If you can name the client whose weekly update you dread preparing most, that is where this starts. Tell us about that account and we will map the first status record with you.

Related Ubisar resources

Client status reporting sits downstream of the rest of the desk. These workflows cover the parts it depends on and the ones it feeds:

Sources and useful references

For grounding on recruitment operating metrics and how agencies report to their clients, these are useful starting points: