Agency Ops28 min read

The Silver-Medalist Database: Building GoHighLevel for the Two-Sided Staffing Market

Every staffing firm owns a list of near-miss finalists nobody ever contacts again. That list is the most placeable asset in the business.

Farhad, founder of GHL Spark
Farhad · Founder, GHL Spark
Cover illustration — four ascending teal bars on a dark green background, marked GHL Spark, Agency Ops

In short

Recruiting is a two-sided market, and almost every CRM build for a staffing firm fails because it tries to run both sides through one pipeline. Candidates and hiring clients move at different speeds, respond to different messages, convert on different events, and need entirely different stage logic — so when you merge them, the pipeline becomes a list nobody trusts and nobody works. The fix is two separate but linked pipelines in one GoHighLevel account, joined by the placement record rather than by shared stages. Once that structure exists, the highest-return automation in staffing becomes possible — systematic re-engagement of silver medalists, the candidates who reached final interview and did not get the offer, who are pre-vetted, already interested, and almost universally ignored. Halyard Talent Marketing, a six-person agency serving nine staffing firms, produced 34 placements in twelve months from that one campaign family alone, plus a redeployment trigger that cut average contractor bench time from 19 days to 6. This is how the build works, stage by stage.

Key takeaways

  • A staffing CRM needs two independent pipelines — one for candidate flow and one for client business development — because a candidate at interview stage and an employer at proposal stage share no meaningful workflow logic.
  • Silver medalists are candidates who reached final-stage interview and were not selected, and they are the most pre-qualified segment any staffing firm owns because someone already interviewed them and wanted to hire someone just like them.
  • Redeployment triggers fired 21 days before a contractor assignment ends are the single cheapest revenue win in staffing, because an already-placed contractor requires no sourcing spend and no client acquisition.
  • Interview no-shows drop sharply when confirmation cadence is built as a five-touch sequence across email and SMS rather than a single calendar invite sent at booking.
  • Per-client placement reporting is what converts a staffing marketing retainer from a discretionary marketing expense into a line item the client can tie directly to billed revenue.

Somewhere in every staffing firm's database there is a group of people who are worth more than the entire lead list the firm is currently paying to generate.

They applied. They were screened. They passed. They were submitted to a client, and the client liked them enough to interview them — often twice, sometimes three times. They reached the final round. And then someone else got the offer.

At that moment, in almost every system I have ever audited, one of two things happens. The record is marked rejected and disappears into a status nobody filters on. Or it is quietly left in an interview stage forever, aging silently while the recruiter moves to the next requisition.

These are silver medalists. They are the single most placeable population any staffing firm owns, and they are almost universally ignored.

This post is about two things that turn out to be the same thing. The first is why staffing CRMs collapse when they try to run candidates and hiring clients through one pipeline. The second is what becomes possible once you stop doing that — specifically, systematic re-engagement of the candidates and contractors already sitting in the database.

Why does a single pipeline always fail in a staffing firm?

Because recruiting is a two-sided market, and a pipeline is a single-sided instrument.

Every deal in a staffing business requires two independent things to be true simultaneously. A company must have an open requisition and be willing to pay a fee to fill it. And a person must exist, be qualified, be available, and be willing to take that specific job. Neither side is sufficient. Both sides have to be worked continuously, and neither one can be paused while you work the other.

Now consider what a pipeline actually is. It is an ordered set of stages representing a single object's progression toward a single conversion event. That model works beautifully for a plumbing company selling boiler installations. It works for a law firm converting consultations. It works anywhere the business has one kind of thing moving toward one kind of outcome.

A staffing firm has two kinds of things moving toward two different outcomes that only intersect at the moment of placement. When you force both into one pipeline, you get a board where stage three means "phone screened" for half the records and "proposal sent" for the other half. You get a value field that holds a placement fee sometimes and a hypothetical annual contract value other times. You get automations that must begin with a conditional check to determine what kind of record just arrived.

The practical consequence is not confusion. It is abandonment. Recruiters are pragmatic people under time pressure, and the moment a board stops being reliable, they stop updating it and go back to their inbox, their spreadsheet, and their memory. The CRM becomes a contact database with extra clicks, and every automation built on top of it fires against stale data.

I have seen accounts where the candidate count in the pipeline was accurate to within a few records and the client-side data was six months out of date, because the recruiters updated what they used and ignored what they did not. That is not a discipline problem. That is a structure problem producing predictable behaviour.

What do the two pipelines actually look like?

Two boards, in one GoHighLevel sub-account, joined by the placement record rather than by shared stages.

The candidate pipeline tracks a person from first contact to placed and beyond. The client business development pipeline tracks a company from first contact to active account with repeat requisitions. They are linked because a placement requires one record from each side, but they are structurally independent — different stages, different velocity expectations, different automations, different reporting.

Here is the comparison that matters most when you are explaining this to a staffing client who has only ever seen one board.

DimensionCandidate pipelineClient BD pipeline
The record representsA person seeking or open to a roleA company that hires
Volume per month200 to 2,000+15 to 60
Healthy cycle time11 to 34 days4 to 7 months
Conversion eventPlacement start dateSigned terms and first requisition
Value field holdsPlacement fee or marginAnnual account value
Primary riskGhosting and counter-offersNeglect while servicing roles
Re-engagement assetSilver medalists, placed alumni, contractors endingDormant accounts, lapsed requisitions
Contact frequency when activeEvery 1 to 3 daysEvery 2 to 4 weeks
Who owns the recordRecruiter or resourcerBusiness development or account manager
What kills the data qualityBulk applicant inflow with no screeningNobody updates it while roles are being filled

Look at the cycle-time row alone. A candidate can go from application to placement in under two weeks. A client relationship takes four to seven months to reach first requisition. A single pipeline with stale-record alerts tuned for one of those is actively wrong for the other. Set the alert at seven days and the client side screams constantly. Set it at thirty days and half your candidates ghost before anyone notices.

Now the stages themselves.

The candidate pipeline

1. Applied. Every inbound application lands here, from job ads, referrals, career page, and job boards. No recruiter sees this stage. It is a holding area for the screening layer.

2. Screened — pass. The applicant cleared the knockout questions and scored above threshold. This is the first stage a human touches.

3. Qualified. A recruiter or resourcer has had a live conversation, confirmed availability, salary or rate expectation, notice period, and motivation. The record now carries enough structured data to be submitted to a client.

4. Submitted to client. The CV or profile is with a specific hiring client against a specific requisition. This stage must carry the linked client record and requisition reference.

5. Interview scheduled. A confirmed interview exists on a calendar. This stage owns the confirmation cadence.

6. Interview completed. The interview happened. Feedback pending.

7. Offer stage. An offer has been made, is being negotiated, or is awaiting acceptance.

8. Placed. The candidate started. The record moves to the placed-alumni track and, for contract placements, acquires an assignment end date.

9. Silver medalist. Reached stage six or seven and was not selected. This is not a rejection status. It is an active, high-value segment with its own nurture.

10. Not proceeding. Genuinely disqualified, unresponsive after the full sequence, or opted out. Suppressed from re-engagement.

The distinction between stages nine and ten is the entire thesis of this post. Most CRMs collapse them into one. Splitting them is a fifteen-minute configuration change that unlocks the highest-return campaign in the whole build.

The client business development pipeline

1. Target identified. A company that fits the firm's vertical, size, and geography. Not yet contacted.

2. Outreach active. In an active multi-touch sequence.

3. Discovery booked. A conversation is scheduled with someone who owns hiring decisions.

4. Terms discussion. Fee structure, rebate period, and exclusivity are being negotiated.

5. Terms agreed — no requisition. This is the stage everyone forgets to build, and it is where a shocking amount of value evaporates. A signed agreement with no live role is not a win. It is a relationship that will go cold in nine weeks unless something keeps touching it.

6. Active requisition. At least one live role.

7. Placed and billing. A placement has been made and invoiced.

8. Repeat client. Two or more placements. Different nurture — this is retention and expansion, not acquisition.

9. Dormant. Previously active, no requisition in ninety days. Feeds a reactivation sequence.

Stages five and nine are where the client-side revenue hides, and both exist precisely because the client pipeline is separate. If you had tried to build these into a merged board they would have made no sense next to "interview scheduled."

What makes silver medalists the most valuable segment in the database?

Because someone already did the expensive part of the work, and the result is still valid.

Think about what a silver medalist represents in terms of accumulated validation. A recruiter screened them, which costs time. They passed qualification, which means their experience, availability, and expectations were verified by a human. They were submitted to a client, which means a recruiter staked their credibility on the match. A hiring manager reviewed the profile and chose to spend an hour interviewing them. Then, frequently, a second hour. Sometimes a third.

At the end of that process, the candidate was not rejected for being unqualified. They were not selected because exactly one other human being was marginally preferred for one specific requisition on one specific week.

Every piece of that validation remains true the following month. The skills have not evaporated. The hiring manager's assessment has not been retracted. The only thing that changed is that one seat got filled.

Now consider the counterfactual cost. To generate a comparable candidate from scratch, the firm must run job ads, filter high-volume unqualified response, conduct screening calls, qualify, and hope the person is available and interested. That is real spend and real hours for a candidate with strictly less validation than the one already sitting in the database marked rejected.

There is a second-order effect that matters even more. A silver medalist for one role is frequently a perfect fit for a near-identical role at a different client — or at the same client three months later, when the team expands or the hire they made does not work out. Staffing firms work within verticals. If you place warehouse supervisors, your near-miss warehouse supervisor from March is a live prospect for every warehouse supervisor requisition for the next year.

The window is not indefinite but it is generous. A candidate who was actively interviewing is typically still open to a compelling move for six to twelve months. Beyond eighteen months the segment behaves more like general database reactivation and needs different messaging.

And here is the part that makes this an agency opportunity rather than a client observation. Nobody works this segment, because working it requires a system. A recruiter under pressure to fill this week's requisitions will never voluntarily go back through last quarter's rejected candidates. It only happens if it is automated, and automating it is exactly what a staffing marketing agency on GoHighLevel is positioned to sell.

What did Halyard Talent Marketing actually build?

Halyard Talent Marketing is a six-person agency serving nine staffing firms — a mix of light industrial, allied healthcare, and technical contract clients across two metros. Before the rebuild, all nine clients were running on a single-pipeline GoHighLevel setup that had been cloned from a generic local-business snapshot.

The symptoms were consistent across every account. Recruiters used the CRM to store contacts and nothing else. Client-side records were months out of date. Job-ad applicants flooded in and were triaged in a spreadsheet outside the system. Interview no-show rates sat at 22 to 31 percent depending on the client. And nobody had ever run a re-engagement campaign of any kind, because there was no clean way to segment who to send it to.

The rebuild took eleven working days for the first client and, once snapshotted, three to four days per subsequent client for configuration and data migration.

Twelve months later, across the nine accounts:

  • 34 placements originated from silver-medalist re-engagement campaigns — candidates already in the database at the start of the period.
  • Average contractor bench time fell from 19 days to 6, a 68 percent reduction, driven entirely by the redeployment trigger.
  • Interview no-show rate dropped from an average of 26 percent to 9 percent after the five-touch confirmation cadence went live.
  • Recruiter-visible applicant volume fell 71 percent while qualified submissions rose, because the screening layer absorbed the unqualified inflow.
  • Client BD pipeline records with no activity in 30 days fell from 61 percent to 14 percent, because the client side finally had its own nurture instead of competing with candidate work for attention.

The 34 placements figure is the one that sells the retainer, so it is worth being precise about what it counts. It counts placements where the candidate's origin was a re-engagement campaign — silver-medalist sequences, placed-alumni check-ins, and dormant-candidate reactivation — rather than a fresh application, referral, or sourced approach. Fourteen of the 34 were silver medalists placed with a different client than the one that originally interviewed them. Nine were placed with the same client on a later requisition. Eleven came from the placed-alumni and dormant tracks.

Across nine clients that is under four placements each, which sounds modest until you price it. At an average permanent fee in the range these firms work in, those placements represented revenue that required no sourcing spend, no job-ad budget, and no new client acquisition. Several of the firms had never previously been able to attribute a placement to a marketing activity at all.

How does the candidate screening layer work?

It sits between the application and the pipeline, and its only job is to prevent unqualified applicants from ever reaching a recruiter.

High-volume job advertising produces high-volume unqualified response. That is not a copywriting failure, it is the nature of the channel. Depending on role type and board, application-to-qualified ratios commonly land somewhere between six and twelve to one. For a client running four requisitions with 180 applications each, that is over 700 applications a month against perhaps 90 that merit a conversation.

If all 720 land in a pipeline, the pipeline is useless within a week.

The screening layer has four components.

A structured application form, not a CV upload. The single biggest change is refusing to accept an unstructured application. The form captures the fields the automation needs as actual data — work authorisation status, current location and maximum commute or radius, required certifications or licences with expiry, years in the specific discipline, availability date, salary or hourly rate expectation as a range, and notice period. A CV attachment is welcome, but it is supplementary. You cannot branch automation off a PDF.

Knockout questions on genuine non-negotiables only. This is where builds go wrong. The temptation is to knock out on preferences, which quietly destroys the funnel. Knockouts should be restricted to conditions where the answer makes placement literally impossible — no work authorisation for the jurisdiction, no required licence for a licensed role, availability date beyond the requisition's start window, location outside any workable radius for an on-site role. Three to five knockouts is right. Nine is a symptom of a recruiter using the form to avoid conversations.

A weighted score on everything else. Years of experience, sector match, rate expectation versus the requisition's band, and shift or schedule fit each carry points. The scoring runs in a workflow using custom field values and writes a numeric score to the record. Threshold ranges are set per client rather than globally, because a light industrial requisition and a senior contract engineering role need entirely different bars.

Three-way routing. Clean pass goes straight to Screened — pass and notifies the assigned recruiter. Borderline scores go to a review bucket that a coordinator clears once daily — this bucket matters, because it is where genuinely good candidates with unusual profiles get caught. Knockout or below-threshold receives a prompt, courteous decline and enters the talent-community nurture rather than vanishing.

That last routing branch is the one most builds skip, and it is quietly compounding. An applicant who is wrong for today's warehouse supervisor role may be exactly right for the picker-packer volume requisition in six weeks. Declining them well, and keeping them in a low-frequency nurture with a re-opt-in, builds a talent community that costs nothing to maintain and produces candidates for free. Halyard's clients pulled 40-plus placements from talent-community records over the same twelve months, on top of the 34 from re-engagement.

The Applied stage, meanwhile, should be invisible to recruiters entirely. Filter it out of their default board view. A recruiter should never see a raw application.

What does the silver-medalist re-engagement campaign look like?

Three sequences that fire off the silver-medalist stage, each written for a different distance from the original interview.

The trigger is simple. When a candidate is moved to stage nine, an automation timestamps the event, captures the client and role they interviewed for, and enrols them in the sequence family. Nothing else is required of the recruiter beyond moving the card, which matters enormously — any process requiring extra recruiter effort will not survive a busy week.

Sequence one: the 48-hour close-out. This runs immediately and is not a sales message. It is a genuine, personal-tone note delivered within two days of the decision, acknowledging the outcome, thanking them for the time they invested, and stating plainly that you want to keep working with them. It sets the expectation for everything that follows: we will contact you when something fits.

This message does more work than any other in the sequence, because it converts a rejection experience into a relationship. Candidates who receive a well-written close-out respond to the later touches at dramatically higher rates than those who were simply ghosted. Halyard measured reply rates on the 30-day touch at roughly three times higher among candidates who had received the close-out versus a legacy cohort who had not.

Sequence two: the 30-day and 90-day check-ins. Two low-pressure touches asking about their current situation, whether they are still looking, and whether anything has changed on availability or expectations. The 30-day message is short and personal. The 90-day message carries a light market update — hiring conditions in their discipline, rate movement, what the firm is seeing — which gives the recruiter a reason to be in touch that is not "are you still available."

The critical mechanic is that any reply pulls the candidate straight back to Qualified with a task for the owning recruiter. This is not a nurture that ends in a form fill. It ends in a human conversation.

Sequence three: the role-match alert. The highest-converting message in the entire build, and the one that requires the pipeline structure to work at all.

When a new requisition is created that matches a silver medalist's discipline, seniority band, and location radius, the candidate receives a direct, specific message referencing the actual role. Not a newsletter. Not a job digest. A message that says, in effect, you interviewed for something very close to this in March, this one just opened, and I thought of you first.

That message converts because every word of it is true and the candidate knows it. They remember the process. They know you know their background. The friction of a fresh application does not exist.

This sequence is also the reason the candidate pipeline must carry structured discipline and seniority fields rather than free-text job titles. Matching a requisition to a silver medalist requires machine-readable attributes on both sides. Firms that skip that field discipline at build time cannot run this campaign at all, and it is the campaign that produces the placements.

Cadence beyond 90 days moves quarterly, with an annual re-opt-in that keeps the segment clean and consent current. Anything past eighteen months moves to the general dormant track.

How do you stop interviews from being no-showed?

With a five-touch confirmation cadence that starts at booking, not the day before.

Interview no-shows are one of the most expensive failures in staffing because the cost lands on the client relationship, not on the firm's own calendar. A candidate who no-shows a client interview damages the firm's credibility with the account that pays the fees. Two in a quarter and the client starts calling other agencies.

The default GoHighLevel calendar behaviour — one confirmation email at booking and one reminder — is not adequate for interviews. An interview is scheduled days ahead, involves a third party, requires preparation, and often conflicts with the candidate's current job. It needs a cadence.

TouchTimingChannelPurpose
1Immediately at bookingEmailFull confirmation with role, client, format, address or link, interviewer name
2Within 1 hourSMSShort reply-to-confirm request, establishes the SMS thread
348 hours beforeEmailPreparation brief — company background, likely questions, what the client is looking for
424 hours beforeSMSConfirm-or-reschedule with a one-tap reschedule link
52 hours beforeSMSFinal logistics — address, floor, who to ask for, or the meeting link

Touch three is the one that changes behaviour most, and it is not really a reminder. A candidate who receives a genuine preparation brief has invested effort before the interview, and invested effort produces attendance. It also improves interview quality, which improves placement rate, which is the actual objective.

Touch four is where the rescue path lives. The reschedule link is deliberate and prominent. A candidate who can no longer attend will either reschedule or ghost, and the entire design goal is to make rescheduling easier than ghosting. A rescheduled interview is a live candidate. A ghosted one is usually gone.

The no-show rescue itself fires 15 minutes after the scheduled start with no attendance confirmation. An SMS goes to the candidate, a notification goes to the recruiter, and the record moves to a no-show sub-stage rather than out of the pipeline. Roughly a third of no-shows in Halyard's accounts were recoverable — traffic, illness, a work emergency — and the ones that were recovered were recovered because someone reached out inside the hour rather than the next afternoon.

Two more mechanics matter. The client-side interviewer should receive their own confirmation thread, because a client rescheduling at short notice is at least as common as a candidate doing it, and finding out from the candidate is a bad look. And the candidate should always receive a post-interview touch within 24 hours asking how it went — this captures intelligence the client will not give you and keeps the candidate warm while feedback is pending, which is exactly when counter-offers and competing processes do their damage.

Halyard's no-show rate across nine accounts moved from 26 percent to 9 percent. That is not a marketing metric. That is the firm's reputation with its own clients.

When should redeployment outreach start before an assignment ends?

Twenty-one days out, with follow-ups at ten days and three days.

Redeployment is the practice of placing a contractor into a new assignment as their current one ends, ideally with no gap. Bench time is the gap when it fails — days where a contractor the firm has already sourced, vetted, compliance-checked, and placed produces no billable hours.

The economics are as favourable as anything in staffing. There is no sourcing cost, no advertising spend, no client acquisition, no compliance re-run, and no unknown quality. The contractor has a track record you can reference and a working relationship with a recruiter. Redeploying is the cheapest revenue in the business.

And in most firms it is entirely manual, which means it happens when a recruiter has a quiet week and does not happen when they do not.

The build makes it automatic. Every contract placement carries an assignment end date as a required field on the record. Three workflows fire off it.

Day minus 21 — candidate touch. An SMS and email to the contractor confirming the end date, asking about their plans, and confirming availability for a new assignment. This is early enough that they are thinking about it but have not yet acted.

Day minus 21 — internal task. Simultaneously, a task lands with the owning recruiter listing this contractor's skills against currently open requisitions. The matching runs on the same structured discipline and seniority fields the role-match alert uses. The recruiter is not asked to remember anything; they are handed a shortlist.

Day minus 21 — client touch. A separate message to the hiring client asking whether they intend to extend. This is the branch most builds miss, and extensions are the easiest redeployment of all — same contractor, same client, no movement required. Halyard found that asking the extension question systematically at 21 days produced extensions that would otherwise have lapsed simply because nobody raised it in time.

Day minus 10 — escalation. If no extension is confirmed and no new assignment is lined up, priority increases. The contractor gets a direct call task rather than a message, and the record surfaces on a redeployment board the branch manager reviews.

Day minus 3 — final. Last check on both sides, and if nothing has landed, the contractor moves to an available-bench segment with a high-frequency matching alert until they are placed.

Timing windows shift with assignment length. Under three months, 21 days is right. Six months or longer, or senior contract roles with notice provisions, pull the first trigger to 30 or 35 days. Very short assignments under four weeks need the trigger at 10 days or it fires before the contractor has even settled in.

Two failure modes are worth naming. First, an end date field that is optional or inconsistently populated makes the entire system silently do nothing — this must be a required field enforced at placement, and it is worth auditing monthly. Second, extended assignments must update the end date, or the automation fires against a date that has moved and either annoys a happily working contractor or, worse, goes quiet exactly when it is needed.

Halyard's 19-to-6-day bench reduction came almost entirely from the day-21 trigger existing at all. The recruiters were perfectly capable of redeploying contractors. They simply were not being prompted while there was still time.

How do you keep client business development alive while servicing roles?

By giving the client side its own pipeline, its own cadence, and its own owner — because it will always lose a fair fight against candidate work.

This is the most predictable failure pattern in staffing and it is entirely structural. A recruiter has a live requisition with a client waiting on submissions and a candidate who needs chasing before a competing offer lands. Against that urgency, a business development touch to a prospect who might have a role in four months is not going to win. It should not win. The urgent work is genuinely more urgent.

The result is a cycle every staffing firm recognises. Busy period — no BD. Roles get filled. Pipeline empties. Panic BD. New roles arrive. BD stops. Repeat, with a three-month lag that means the drought always arrives at the worst moment.

Automation solves this specifically because it does not compete for attention.

Terms-agreed nurture. For stage five — the client who signed but has no live role — a touch every two to three weeks that is genuinely useful rather than a check-in. Market rate data for their sector, availability updates on candidate types they hire, hiring trend commentary. The objective is to be the firm they think of the day a resignation lands on a desk, and that requires presence, not pestering.

Active-client servicing rhythm. While a requisition is live, a scheduled weekly update to the hiring manager whether or not there is news. "Three submitted, two more this week, market is tight on this rate band" takes ninety seconds and is the difference between a client who feels informed and one who calls another agency to see if they are faster.

Post-placement sequence. The most under-used asset in staffing. At day 7, a check-in with the client on how the new starter is settling. At day 30, a satisfaction touch. At day 90 — typically as the rebate period closes — a review conversation that explicitly asks about upcoming requisitions. A client who just had a good placement experience is the warmest prospect the firm will ever have, and most firms let that moment pass without asking for anything.

Dormant reactivation. Ninety days with no requisition moves the account to dormant and triggers a reactivation sequence. This is not a re-introduction; the relationship exists. It is a specific, credible reason to reconnect — a candidate type they have hired before who has just become available, a market shift in their sector, a case study from a comparable client.

Placed-candidate referral loop. Candidates you placed successfully sit on the candidate side, but they generate client-side value. A satisfied placed candidate knows other people in their discipline, and a light referral touch at 60 and 180 days produces both candidates and, occasionally, client leads — because placed candidates get promoted, and promoted people hire.

Halyard's client-side stale-record figure moving from 61 percent to 14 percent is the metric that made retainers renewable. The firms could see their client pipeline being worked even during their busiest fill periods, which had never previously been true.

What should per-client placement reporting actually show?

Placements, sources, and the money — at a granularity the client can tie to their own invoices.

Most agency reporting for staffing clients is inherited from local-business marketing and reports the wrong things. Form submissions, cost per lead, ad impressions. A staffing firm owner does not run their business on any of those. They run it on placements, fill rate, time to fill, and gross margin, and if your dashboard does not speak that language they will treat your retainer as a marketing cost, which is a category that gets cut in a slow quarter.

The reporting layer should carry six things.

Placements by source. Every placement attributed to origin — job ad, referral, silver-medalist re-engagement, redeployment, talent community, sourced, or client-supplied. This single view is what justifies your fee, because it makes the re-engagement placements visible as a distinct line rather than being absorbed into general activity.

Pipeline velocity by stage. Average days in each candidate stage, per client. This is diagnostic rather than decorative. If Submitted-to-client is averaging 9 days, the bottleneck is the client's feedback loop, and that is a conversation with the hiring manager, not a marketing problem. If Screened-to-Qualified is slow, the firm is under-resourced on screening.

Interview conversion and no-show rate. Submissions to interviews, interviews to offers, offers to placements, and no-show percentage tracked over time so the confirmation cadence's effect is visible.

Redeployment rate and average bench days. For any client with contract placements, the percentage of ending assignments that were redeployed or extended, and the average gap. Directly attributable to the build and directly convertible to money.

Silver-medalist inventory and conversion. How many candidates are in the segment, how many were contacted, how many re-engaged, how many placed. This is the number that renews the retainer, because it describes an asset the client did not previously know they owned.

Client BD activity and requisition flow. New requisitions per client per month, and stage movement on the BD pipeline, so the firm can see that business development continued during a busy fill period.

Two practical notes. Report at the level of the individual staffing client, not aggregated across the agency's book, because a staffing firm owner cares only about their own numbers. And attach a currency figure wherever it is honest to do so. "Eleven placements from re-engagement" is good. "Eleven placements from re-engagement, representing roughly X in fees on candidates already in your database" is what makes a retainer feel underpriced.

What does it cost to build and what should you charge?

Roughly a thousand dollars for setup and four hundred to twelve hundred a month to run it, and the second number is the one that matters.

The first build is the expensive one. Halyard's initial client took eleven working days across two people — pipeline architecture, custom field schema, application form and scoring logic, five confirmation sequences, three silver-medalist sequences, redeployment workflows, five client-side nurtures, the reporting dashboard, and data migration from the legacy setup.

Everything after that is a snapshot deploy plus configuration, which ran three to four days per client. What changes per client is narrow and predictable: the discipline and seniority taxonomy for their vertical, knockout questions and scoring thresholds, brand voice in the sequences, calendar and team assignments, redeployment windows matched to their typical assignment length, and reporting recipients.

What does not change is everything structural, and that is the whole business model. A build that has to be recreated per client is a services business with terrible margins. A build that deploys is a product with a services wrapper.

On pricing, the retainer is defensible in staffing in a way it often is not elsewhere, because placements are countable and attributable. When a client can see that eleven of last quarter's placements came from campaigns that exist only because you built them, your retainer stops being compared with their other marketing spend and starts being compared with the cost of an additional recruiter. That is a comparison you win by a wide margin.

Position the setup fee as the architecture and the retainer as the operation. The retainer covers sequence maintenance, requisition-to-candidate matching upkeep, screening threshold tuning, reporting, and the monthly review where you tell the client which segment to work next. That last item is the one clients value most and the one that makes the relationship hard to end.

Where do these builds usually go wrong?

The failure modes are consistent enough to list, and every one of them is avoidable at build time.

Merging the pipelines to keep it simple. The most common and the most damaging. It looks tidier during the build and it produces an unusable board within a month.

Free-text job titles instead of structured fields. This one is fatal and invisible. Without machine-readable discipline, seniority, and location fields on both candidates and requisitions, you cannot run the role-match alert, you cannot match redeploying contractors to open roles, and the highest-value automations in the build simply cannot be written. Retrofitting the taxonomy across an existing database of several thousand records is painful enough that firms usually just do not.

Optional assignment end dates. The redeployment system fails silently and nobody notices for a quarter. Make the field required at placement and audit it monthly.

Treating silver medalists as rejections. If stage nine and stage ten are the same status, none of this works. It is a fifteen-minute configuration decision that gates the entire return.

Over-aggressive knockout questions. Every knockout on a preference rather than an impossibility discards placeable candidates permanently. Three to five knockouts, all genuine non-negotiables.

Confirmation as a single reminder. One email at booking and one the day before is not a cadence, and no-show rates stay where they were.

Reporting on marketing metrics. Impressions and cost per lead tell a staffing firm owner nothing. Report placements, sources, velocity, and bench days.

Building it per client instead of snapshotting. The margin disappears into rebuild labour and the model stops scaling past four or five accounts.

No re-opt-in on long-cycle nurture. A silver-medalist segment touched quarterly for two years without a consent refresh is a data-hygiene problem waiting to become a complaint. Your own consent and compliance process governs who you may contact and on what basis — build the re-opt-in in from the start rather than retrofitting it after someone raises it.

What should you do next?

Three checks will tell you where any staffing client currently stands.

First, open their CRM and count how many records are sitting in a rejected or lost status that reached interview stage. Do it manually if the data does not support a filter. That count is the silver-medalist inventory, and in most firms of any age it is in the hundreds. Multiply it by a conservative conversion rate and the client's average fee, and you have both the size of the opportunity and the exact number to open your next conversation with.

Second, find out how many contractor assignments ended in the last quarter and how many of those people were redeployed without a gap. If nobody can answer, the answer is fewer than they think, and the difference between their bench days and six is money that was available and not collected.

Third, ask a recruiter — not the owner — to show you how they use the CRM. If they open it, look at one screen, and then switch to a spreadsheet or their inbox, you have found the single-pipeline problem in its natural habitat, and no automation you build on top of that structure will survive contact with a busy week.

None of what is described here is technically exotic. Two pipelines instead of one. A screening layer that keeps unqualified applicants away from recruiters. A five-touch interview confirmation cadence. Three sequences off a stage that most systems do not even have. A trigger that fires 21 days before a contract ends. A client-side nurture that runs whether or not anyone has time. And a dashboard that reports placements instead of impressions.

It is a fortnight of careful building, once, and then it deploys in three days per client.

The staffing firms you serve are already paying to generate candidates they have already generated. The people who reached the final round and did not get the offer are still there, still qualified, still interested, and still uncontacted. The contractors whose assignments end next month are still going to end, whether or not anyone has diarised it.

Build the structure that makes those two facts actionable, and the placements come from a database the client already owns.

Frequently asked questions

What exactly is a silver medalist in recruiting?
A silver medalist is a candidate who progressed to the final stage of a hiring process — usually a final-round interview, sometimes a reference check or a verbal shortlist — and was not selected for that specific role. The label matters because it encodes an enormous amount of validated information. Someone screened them, someone interviewed them, a hiring manager liked them enough to keep them to the end, and the only reason they are not placed is that one other person edged them out on that particular requisition. They are not cold leads and they are not unknown quantities. They are pre-vetted, recently interested, and typically still open to the right move for six to twelve months afterwards. Most staffing firms mark them rejected and never contact them again, which is why the segment is simultaneously the most placeable and the most neglected asset in the database.
Why do candidate and client pipelines need to be separate in GoHighLevel?
Because they measure different things and move at incompatible speeds. A candidate pipeline tracks a person through application, screening, submission, interview, offer, and placement, and a healthy candidate can move end-to-end in eleven days. A client business development pipeline tracks a company through outreach, discovery, terms agreement, first requisition, and repeat requisition, and a healthy client relationship takes four to seven months to mature. Merging them produces a pipeline where the stage names are meaningless for half the records, where deal value is either a placement fee or a nonsense number, and where every automation has to start with a conditional check to work out what kind of record it just received. Recruiters stop trusting the board, stop updating it, and the CRM decays into a contact list with extra steps. Two pipelines linked by the placement record keeps both sides clean and lets each side have automation written specifically for it.
How far in advance should redeployment outreach start before a contract ends?
Twenty-one days before the assignment end date is the practical trigger point for most contract and temp placements, with a second touch at ten days and a third at three days. The reasoning is straightforward. A contractor who starts thinking about their next assignment three weeks out is still in a planning mindset and will engage with you first. A contractor contacted in the final week has usually already responded to a competing recruiter, updated their profile, or lined something else up. For longer engagements — six months or more, or senior contract roles with notice provisions — pulling the first trigger to thirty or thirty five days is more appropriate. The important part is that the trigger is automatic and fires off the assignment end date field rather than depending on a recruiter remembering.
What does bench time mean and why does it matter financially?
Bench time is the gap between one contractor assignment ending and the next one starting — the period where a contractor the firm has already sourced, vetted, onboarded, and placed is generating no billable hours. It matters because it is pure margin loss on a candidate who cost real money to acquire. Every day of bench is a day where the sourcing cost has been paid but the return has stopped. It also carries an attrition risk, because a contractor sitting idle for three weeks will take a call from another agency, and once they do, the original firm has lost not only the current gap but every future assignment that person would have run. Reducing average bench from nineteen days to six, as in the case below, is a revenue change that requires no new candidates and no new clients.
How do you stop job-ad applicants from flooding the pipeline with unqualified records?
With a screening layer that runs before anything reaches a recruiter. High-volume job ads routinely produce application-to-qualified ratios in the region of eight or ten to one, and pushing all of that into a live pipeline is what makes recruiters abandon the CRM. The build answer is a structured application form with knockout questions on the genuinely non-negotiable requirements — work authorisation, location or commute radius, certification, minimum experience threshold, availability date — scored automatically, with disqualified applicants routed to a courteous decline and a talent-community nurture rather than into the recruiter's queue. Borderline scores go to a review bucket that a coordinator clears daily. Only clean passes create a pipeline record. This does not reduce the number of applicants; it reduces the number of applicants a human has to look at, which is the actual cost.
What should a staffing marketing agency charge for this kind of build?
A two-pipeline build with candidate screening, interview confirmation sequences, silver-medalist re-engagement, redeployment triggers, client business development nurture, and per-client placement reporting is a substantial engagement, and a setup fee around one thousand dollars with a monthly management retainer between four hundred and twelve hundred is a realistic range for a single staffing client. The retainer is defensible because placements are countable. If a client can see that eleven of last quarter's placements came from re-engagement campaigns that only exist because you built them, the retainer stops competing with other marketing spend and starts competing with the cost of a recruiter, which is a comparison you win comfortably.
Does this work for permanent placement, contract, or both?
Both, with different emphasis. Permanent placement firms get the larger share of their return from silver-medalist re-engagement and placed-candidate referral loops, because there is no assignment end date to trigger from and the reusable asset is the interviewed-but-not-hired population. Contract and temp firms get the larger share from redeployment, because every assignment has a known end date and every end date is a scheduled revenue opportunity that automation can catch. Firms doing both — which is most of them — need the pipeline to carry a placement type field from the start, because the automation branches on it constantly and retrofitting that field across an existing database is genuinely painful.
What is RPO and does this build apply to RPO providers?
RPO stands for recruitment process outsourcing, where a provider takes over some or all of an employer's internal hiring function rather than filling individual requisitions on a contingent basis. It applies, with one structural difference. An RPO provider has fewer clients and much deeper relationships, so the client business development pipeline is smaller and slower but each record is worth vastly more, which shifts the emphasis toward account expansion and renewal stages rather than volume outreach. The candidate side, by contrast, is usually higher volume than a contingent firm's, which makes the screening layer and the talent-community nurture more important rather than less. The two-pipeline principle holds either way.

About the author

Farhad, founder of GHL Spark

Farhad

Founder, GHL Spark

Farhad is the founder of GHL Spark, where he builds and white-labels GoHighLevel SaaS platforms for agencies and SaaS operators. He writes about the parts of GoHighLevel that actually break in production — A2P registration, onboarding, support load and automation.

Want this handled for you?

We set up, configure and white-label your GoHighLevel SaaS — so you can sell it instead of building it.

Fixed quote · No lock-in · Launch-ready in ~7 days