Recruitment Agency Client Report Template: The Weekly Search Update Clients Read
A weekly client report template for recruitment agencies: funnel with week-over-week delta, candidate table, blockers, decisions by date, and a filled example.
A recruitment agency client report is a one-page weekly update per open search that tells the client where the search stands (funnel with the change since last week), which candidates are where (stage, days in stage, next step, owner), what is blocking progress, which decisions the client owes and by when, and what happens next week. Below is a template you can copy as markdown, one filled example for a fictional role at a fictional client, public funnel figures to calibrate against, and a note on what should never be on the page.
I run a recruitment agency, ScalingPPL, and I built Pickr, an AI recruiting platform. This is the page I would want from any agency working a search for me.
Why does this template not exist on the first page of results?
Because the search results for "recruitment agency client report template" are two other things. I opened the first page on 2026-10-14.
ManyRequests offers a three-page agency client report whose examples are email campaigns, SEO, social media and ad spend; recruitment is not mentioned. Taskade offers a recruiting agency tracker with a client roster, a submittal tracker and a placement log, an internal workspace rather than something you send to a client. OneUp Sales lists eleven recruitment report types, none of them written for a client: consultant performance, team comparison, business development, reports to "bring out at your Monday morning meetings or Friday wrap-ups".
The closest thing to a client update is an email. Recruit CRM (page last updated 30 September 2026) has a "Status of [Job_title] position" template: three stage counts, one bullet per candidate, an attachment, an offer of a call. Breezy has the same structure for a recruiter writing to a hiring manager. Neither has a comparison with last week, a blockers section, a decision the client owes, a date for it, days in stage or an owner per action. Kula's weekly report template comes closest on content, with candidates per stage, days in the current stage and a next action with an owner, but it is a team's own weekly review rather than a page you send to a client, with no decisions-needed block and a progress-or-stuck flag in place of a numeric comparison with last week.
The artefact an agency needs, a one-page weekly update with the asks on it, is missing. This page fills that gap.
What goes in a weekly client report?
Six blocks, in the order the client reads them:
- Header: role, client, week, days open, report owner. "Days open" is calendar days since the brief was signed off. Clients lose track of this number.
- Funnel with week-over-week delta: cumulative count per stage since kick-off, the count at the last report, the difference. Without the delta column the client has to do arithmetic, and the stalled stage goes unnoticed.
- Candidate table: everyone active with the client, one row each: stage, days in stage, next step, owner, due date. The owner column is the point of the table. Half the rows in a stuck search say "owner: client".
- Blockers: facts that are slowing the search, each with what would remove it. Not complaints, not excuses.
- Decisions needed, by date: the two to four things the client has to decide this week, each with a date and a name. This is the block the email templates do not have, and it is the block that moves the search.
- Next week: what the agency will have done by the next report.
The report is per search, not per client. A client with three open roles gets three pages; a blended funnel across roles hides the one that is stuck. If you run several clients the discipline is the same for all of them, and the case for keeping each client's pipeline separate is in the multi-client ATS article.
The weekly client report template (copy this)
Header
| Field | Entry |
|---|---|
| Role | |
| Client | |
| Week | (Mon-Fri dates, report number) |
| Days open | (calendar days since the brief was signed off) |
| Target | (agreed target for presented candidates or start date, if there is one) |
| Report owner | (your name, direct phone) |
Funnel since kick-off
| Stage | Cumulative now | At last report | Change this week | Note |
|---|---|---|---|---|
| Approached | ||||
| Replied | ||||
| Screened by us | ||||
| Presented to client | ||||
| Client first interview | ||||
| Client second / technical interview | ||||
| Final interview | ||||
| Offer | ||||
| Out (rejected by client, rejected by us, withdrawn) | split in the note |
Active candidates
| Candidate | Stage | Days in stage | Next step | Owner | Due |
|---|---|---|---|---|---|
Blockers
| Blocker | Effect on the search | What removes it |
|---|---|---|
Decisions needed from [Client]
| Decision | Who decides | By when | What happens if it slips |
|---|---|---|---|
Next week
- (what will be presented, interviewed, decided or restarted by the next report)
- (anything the agency owes the client, with a date)
Three rules for filling it in. Write the delta column from last week's report, not from memory. Count days in stage from the day the candidate entered the stage, on the client's calendar; the number shows the client where their own time goes. And put a date on every decision, even when you are sure the client will decide tomorrow; a decision without a date is a wish.
How do you fill in each block so the client acts on it?
The funnel. Cumulative counts since kick-off are the honest version; weekly-only counts make a quiet week look like zero progress. The "Out" row matters as much as the rest: a client who sees that nine of fourteen screened candidates are out because of one factor (location, band, notice period) has what they need to change the brief, and the note column carries the reason. If the top of the funnel has not moved for two reports, say so in the blockers block rather than hoping nobody reads the delta. Why stage counts mislead without the time dimension is the subject of why your pipeline is lying to you.
Days in stage. This column turns a status update into a report the client reads. A candidate at "client first interview" for nine days with the next step "feedback from hiring manager" is not a candidate problem; it is a client problem, and the table says so without a sentence being written about it. From our work at ScalingPPL, the searches that drift are rarely short of candidates; they are long on candidates waiting for someone on the client side. The analytics that make this visible across all your searches are in the recruiting analytics nobody measures.
Blockers. A blocker is a fact plus its effect plus what removes it. "Two of the four candidates who declined after screening said the band is below their current base; widening the search to a second city or moving the band would reopen those profiles" is a blocker. "The market is tough" is not. Keep it to the two or three that actually cost the search days this week.
Decisions needed, by date. Name the person, not the company. "Hiring manager, by Monday 2 November" is a decision; "[Client] to review" is a hope. The fourth column, what happens if it slips, is where you say that the candidate has a competing process at final stage or that the panel slot is lost for a week. This block replaces the chasing emails; what those emails cost, and the deals they lose, is in how client communication loses agencies deals.
Next week. Commitments, not intentions. "Present two more by Thursday" can be checked against the next report; "continue sourcing" cannot.
The filled example: Senior Backend Engineer at [Client], week 4
Everything below is fictional. The role, the client and the candidates are invented for this article; the candidates are named only as Candidate A, B and C.
Header
| Field | Entry |
|---|---|
| Role | Senior Backend Engineer (Go), platform team, hybrid, three days on site |
| Client | [Client] |
| Week | 26-30 October 2026, report 4 |
| Days open | 25 (brief signed off 5 October) |
| Target | Three candidates at client interview by end of week 4; start date in January |
| Report owner | (agency consultant), direct line |
Funnel since kick-off
| Stage | Cumulative now | At last report | Change this week | Note |
|---|---|---|---|---|
| Approached | 118 | 94 | +24 | second search string added Tuesday |
| Replied | 41 | 31 | +10 | |
| Screened by us | 14 | 10 | +4 | |
| Presented to [Client] | 6 | 4 | +2 | Candidate C and one other, Thursday |
| Client first interview | 3 | 2 | +1 | |
| Technical interview | 1 | 0 | +1 | Candidate A, Wednesday |
| Final interview | 0 | 0 | 0 | |
| Offer | 0 | 0 | 0 | |
| Out | 9 | 6 | +3 | 4 declined after screen (band), 3 rejected by us (seniority), 1 rejected by [Client] after CV, 1 withdrew (counter-offer) |
Active candidates
| Candidate | Stage | Days in stage | Next step | Owner | Due |
|---|---|---|---|---|---|
| Candidate A | Technical interview held 28 Oct | 2 | Panel debrief and go / no-go for final | Hiring manager, [Client] | Mon 2 Nov |
| Candidate B | Client first interview held 22 Oct | 8 | Feedback on first interview; candidate has a competing process at final stage | Hiring manager, [Client] | Mon 2 Nov |
| Candidate C | Presented 29 Oct | 1 | CV decision: interview or decline | Hiring manager, [Client] | Tue 3 Nov |
| (one other presented 29 Oct) | Presented | 1 | CV decision | Hiring manager, [Client] | Tue 3 Nov |
Blockers
| Blocker | Effect on the search | What removes it |
|---|---|---|
| Four of fourteen screened candidates declined to proceed because the stated band is below their current base | The profiles that match the brief best are leaving at screen; the top of the funnel is being refilled with weaker fits | A decision on the band, or a decision to widen to a second city where the band holds |
| First-interview feedback for Candidate B has been open for eight days | Candidate B is at final stage elsewhere; without feedback by Monday we expect to lose them | Feedback by Monday 2 November |
| The technical panel has no open slot before Thursday 12 November | Any candidate passing CV review on Tuesday 3 November waits a minimum of nine days for a technical slot | Two held panel slots per week for the remainder of the search |
Decisions needed from [Client]
| Decision | Who decides | By when | What happens if it slips |
|---|---|---|---|
| Go / no-go on Candidate A for final | Hiring manager | Mon 2 Nov | Final interview moves to the week of 9 November; candidate has asked for a timeline |
| Feedback on Candidate B | Hiring manager | Mon 2 Nov | Candidate B is expected to accept elsewhere |
| Band: hold, move, or widen to a second city | HR business partner with the hiring manager | Wed 4 Nov | Search continues on the current band with the current decline rate at screen |
| Two held technical-panel slots per week | Hiring manager | Tue 3 Nov | Each candidate passing CV review waits for the next open slot |
Next week
- Present two more candidates by Thursday 5 November, both matching the band as it stands today
- Run the Candidate A final interview if the go is given Monday
- Close out Candidate B either way and report the outcome
- If the band decision is "widen", restart the search in the second city on Wednesday and report the first replies on Friday
Read the page as the client would. The funnel moved everywhere except final interview and offer. Every owner in the candidate table is on the client side. The blockers explain the "Out" row. The decisions block asks for four things by name and date. Two minutes of reading end with four things to do, not a feeling that the search is going fine.
What does a normal funnel look like, so the client reads the numbers right?
A client who has not run a search for a while needs a reference point, or every number looks either low or slow. The most recent public figures for Europe I could open are in Ashby's EMEA report of September 2026, covering more than 180,000 jobs in Ashby's own customer base from January 2021 to June 2026. Two caveats: it is one vendor's dataset, and it is largely in-house hiring, with agency hires put at around 5% of EMEA hires by Q1 2026. An agency search starts from outreach rather than applications, so the top of your funnel will not look like these numbers; the time figures are the useful part.
| Figure | Value in the source | Source |
|---|---|---|
| Share of applications that reach an interview, EMEA | 7.1% in 2022, 6.7% as of Q1 2026 | Ashby, EMEA Recruiter Productivity, accessed 2026-10-14 |
| Share of interviews that reach an offer | 6-8% range for both EMEA and the Americas as of early 2025 | same |
| Applications interviewed per hire, EMEA | 6.3 in 2021, 13.3 in Q2 2026 | Ashby One London session page, accessed 2026-10-14 |
| Median time to hire, past year | 35 days EMEA, 34 days Americas | Ashby, EMEA Recruiter Productivity |
| Share of EMEA hires made within 40 days | about 59% | same |
| 75th percentile time to hire | 50 days in both regions | same |
| Agency share of EMEA hires | peaked at 9.8% in 2021, around 5% by Q1 2026 | same |
What this gives the client is a frame for "days open". If half of the in-house hires in the dataset close within 35 days and three quarters within 50, a search at day 25 with one candidate at technical interview is on a normal curve, and a search at day 50 with nobody past first interview is not. Put the frame in the first report, once; the weekly page is about this search, not the market.
What should never go in a client report?
Three things.
Candidate detail you are not entitled to share. Under the GDPR a candidate's data goes to the client on the basis you agreed with the candidate, so the status table carries stage, timing and next step, and the profile goes with the presentation under your terms of business. This is not legal advice; the details depend on your contracts and jurisdiction. Nothing about protected characteristics, in any column, ever.
Numbers you cannot stand behind. If a stage count on the page does not match the count in your ATS, the client finds out at the next review and every later number is discounted. The delta column is checkable against last week's page; make sure it checks.
Commentary. The blockers block and the decisions block exist so that you never write "we are concerned that". State the fact, the effect and the removal, and let the client draw the conclusion. From our work at ScalingPPL, the clients who respond fastest get the shortest pages.
How do you produce this in twenty minutes a week?
The template is the easy part; the discipline is sending it every week, on the same day, for every open search, including the weeks with nothing to show, because those are the weeks the client most needs to see the "Out" row and the blockers.
The time goes into the counts, and the counts should come from the system you run the search in. Pickr tracks time in stage, time to hire and stage-by-stage conversion for every job and every client, and puts pipeline health, interviewer activity and decline reasons into one report you can send to a client or a hiring manager, with a weekly email summary so nobody builds a spreadsheet on Friday afternoon. Clients review the candidates you present in a client portal, rate them and leave comments, and that feedback lands on the candidate record, so the client's decision and the days a candidate has waited for it are on the record without a chase. Candidate data is stored in Europe. The reporting side is on the analytics feature page.
Whatever tool you use, the page is the same: header, funnel with the delta, candidate table with owners, blockers, decisions with dates, next week. One page, every week, every search.
Sources
- Recruit CRM, 40+ recruiting email templates (client section, "Status of [Job_title] position"; page states last updated 30-09-2026): https://recruitcrm.io/blogs/recruiting-email-templates/ (accessed 2026-10-14)
- Breezy HR, Recruiter to hiring manager update email template: https://breezy.hr/resources/recruiting-email-templates/recruiter-to-hiring-manager-update (accessed 2026-10-14)
- Kula, Recruitment report templates (template 20, weekly recruiting report with candidate status): https://kula.ai/blog/recruitment-report-templates (accessed 2026-10-14)
- ManyRequests, Client report template: https://manyrequests.com/templates/client-report-template (accessed 2026-10-14)
- Taskade, Recruiting agency tracker template: https://www.taskade.com/templates/recruitment-tracker/recruiting-agency-tracker (accessed 2026-10-14)
- OneUp Sales, Recruitment report templates (11 internal report types): https://oneupsales.com/blog/recruitment-report-templates (accessed 2026-10-14)
- Ashby, Talent Trends Report 9: EMEA Recruiter Productivity, Ben Perry, 9 September 2026 (180K+ EMEA jobs, January 2021 to June 2026): https://www.ashbyhq.com/talent-trends-report/reports/emea-recruiter-productivity (accessed 2026-10-14)
- Ashby One London 2026, EMEA Talent Trends: Inside the Data Shaping Hiring Today (session page with key takeaways): https://www.ashbyhq.com/ashby-one/2026/london/talent-trends (accessed 2026-10-14)
Frequently Asked Questions
What should a recruitment agency client report include?
Six blocks on one page: a header with the role, the week and the days the search has been open; the funnel with the change since last week; a candidate table with stage, days in stage, next step and owner; blockers; the decisions the client needs to make, each with a date; and what happens next week.
How often should a recruitment agency report to a client?
Weekly, on the same day, for every open search, even in a week with no new candidates. A report that only arrives when there is good news teaches the client that silence means trouble, and the weeks with nothing to show are exactly the weeks the client needs to know why.
Should a client report show the funnel as cumulative numbers or weekly numbers?
Show both: the cumulative count per stage since kick-off and the change since the last report. The cumulative column tells the client where the search stands; the delta column tells them whether anything moved. A delta of zero at the top of the funnel for two weeks is the earliest warning a search gives.
How much candidate detail belongs in a weekly client report?
Only what the client needs to make the decisions on the page: stage, days in stage, next step and owner, plus one line on anyone presented this week. Full profiles and interview notes go with the presentation, not the status update, and nothing about a candidate goes to the client before you are entitled to share it.
Written by Andreas Amann, Founder of Pickr and of ScalingPPL
Read more
Add Pickr as a preferred source on Google (opens in a new tab)