How do I run a recruitment agency on HubSpot?
Short answer
Start with the split. A recruitment agency runs two pipelines, business development to win the mandate and placement to move a candidate, ... and they must never share a forecast.
Add a pipeline type property to deals, a candidate side model on contacts with skills, availability and right to work, and a Vacancy custom object if you are on Enterprise. Then route candidates by desk with a first contact clock. Professional is the floor. The trap: nothing native fills a guarantee end date.
Read the whole answerShow less
What a spec looks like
The nine sections, and the files
Every spec follows the same nine sections, so a team reads one and knows how to read all of them.
- Outcome, when to use it and when not to
- Prerequisites: properties, lists, tiers, with the JSON to create them
- Enrollment and re-enrollment, then every step with its parameters
- Known pitfalls, a test plan, variants, and the YAML build spec
PDF, Markdown, properties JSON, workflow JSON, custom code where used. Test plan and known pitfalls in every spec.
Each spec states its minimum tier. The 12 free ones open in full, the others show their public preview.
The 43 specs, in build order
40 chosen from the library, 3 written for this kit.
Two pipelines, kept apart
Sets the pipeline type at deal creation and flags any deal sitting in a stage that does not belong to its type, so the mandate forecast and the placement forecast stop contaminating each other.
What each spec doesHide
A candidate record you can branch on
Required fields at creation, duplicate detection for the same person applying through three job boards, title standardisation, and consent captured per channel at the point of entry.
What each spec doesHide
Candidates to the right desk, on a clock
Assignment by discipline and sector with immediate starts jumping the queue, a first contact SLA with a manager escalation, and the rules that protect returning candidates and cover absent recruiters.
What each spec doesHide
Show the 5 other specs in this groupShow fewer
Winning the mandate
The business development side: hiring manager outreach on qualification, the handoff into the intake call, an intake playbook attached to the deal, and a reminder before the fee agreement expires.
What each spec doesHide
From submission to first day
Chase and escalation when a client goes quiet on a shortlist, stage tasks and rejection reasons on the placement pipeline, then the pre start pack, the start date stamp and the first day confirmation.
What each spec doesHide
Show the 4 other specs in this groupShow fewer
After the start: guarantee, care desk, database
The in seat check before the rebate window closes with the redeployment path when a placement fails, the worker care queues for pay, timesheet and compliance, and the cadence that keeps a dormant database worth something.
What each spec doesHide
Show the 8 other specs in this groupShow fewer
The data model, 39 properties
A kit is not a folder of specs. It is the property schema the trade needs, then the workflows that run on it.
Contacts13 properties
| Internal name |
|---|
candidate_status |
availability_date |
current_salary |
desired_salary |
skills |
seniority |
right_to_work |
notice_period |
redeployment_flag |
last_placement_date |
previous_recruiter |
candidate_routed_date |
candidate_sla_met |
Companies6 properties
| Internal name |
|---|
client_status |
msa_signed |
fee_percentage |
rebate_period |
psl_status |
hiring_manager_count |
Deals10 properties
| Internal name |
|---|
pipeline_type |
placement_fee |
margin |
contract_or_perm |
start_date |
guarantee_end |
backfill_of |
submission_date |
submission_chase_count |
placement_outcome |
Tickets3 properties
| Internal name |
|---|
candidate_issue |
timesheet_query |
compliance_document |
Vacancy (custom object)7 properties
| Internal name |
|---|
client |
role_title |
salary_band |
start_date |
status |
submissions_count |
sla_days |
The pack ships this as JSON, ready for one call to the properties API, plus a README that says what each field is for and which spec reads it.
The 3 things that break this, and how the specs stop them
One pipeline carrying two businesses
A mandate worth forty thousand and a placement fee worth six thousand sitting in the same pipeline sum into one forecast that means nothing.
Conversion rates are worse: winning a mandate and placing a candidate have different odds and different cycle times, and averaged together they describe neither. The fix is one property read by every enrollment filter and every report, plus a spec that flags the deals that end up in the wrong stage anyway, because somebody will drag one across within the first week.
How the specs stop itShow less
The guarantee date that nothing fills
Every aftercare workflow in an agency hangs off a guarantee or rebate end date, and HubSpot has no native way to add a number of days to a date inside a workflow.
Leave it blank and the workflow enrolls nobody, reports no error, and looks healthy in the list of active workflows. You fill it with a custom coded action at Closed Won, which needs Data Hub Professional, or by hand on every placement. The kit says which, rather than pretending the calculation is native.
How the specs stop itShow less
Chasing by stage instead of by reply
The submission chase reads the deal stage, because that is the only signal a workflow can see.
A hiring manager who gives feedback by phone stops nothing, so the recruiter gets a task to chase something they already know. Tell the desk before turning it on, and make moving the stage the habit. The same applies to the first contact clock on candidates: it reads the last contacted date, which only updates for activity actually logged in the portal.
How the specs stop itShow less
What this kit builds
A portal that tells the truth about a recruitment agency. Today most of them run one pipeline with stages borrowed from a software sales template, ... a candidate database nobody trusts after the third job board duplicate, and aftercare that happens when somebody remembers.
The kit builds three things. A data model, thirty nine properties across contacts, companies, deals, tickets and a Vacancy object, with the reasoning for each one and the API bodies to create them. A pipeline split, so winning a mandate and placing a candidate stop sharing a forecast. And the automation that runs on top: candidates assigned to the desk that can actually place them, a first contact clock, a chase when a client goes quiet on a shortlist, the pre start compliance pack, and a check before the rebate window closes.
It fits an agency portal, permanent or contract, in house ops or the consultancy building for one. Sales Hub carries the two pipelines, Marketing Hub carries the candidate database and the consent model, Service Hub carries the worker care desk. A permanent only agency can drop the five ticket specs and lose nothing else.
Read the restShow less
How the pieces fit together
Build the split first. Nothing downstream reports correctly until pipeline type exists and is set automatically, because every enrollment filter in the kit reads it.
Then the candidate record, because routing branches on fields that have to be populated and clean before they can be branched on. Skills as a fixed option list, not parsed text. Required fields and duplicate detection before either, or the first week of routing runs on three copies of the same person.
Routing comes third and needs both: it reads skills, availability and the redeployment flag, and it stamps the date the SLA clock starts from. The business development specs are independent and can be built in parallel by a second person.
The placement specs come fourth because they depend on the pipeline stages existing. Aftercare comes last, and only after the guarantee end date is being filled on every Closed Won placement, since that single date is what the whole final component enrolls on.
What you get
- 43 workflow specs: 40 selected from the library plus 3 written for agencies, covering 8 categories.
- Each spec ships as PDF and Markdown, with prerequisites, exact enrollment criteria, numbered steps, a diagram, known pitfalls, a test plan and variants.
- Properties JSON per spec, plus the kit data model: 32 properties across contacts, companies, deals and tickets, ready for the properties batch create endpoint.
- The Vacancy custom object schema, ready for the schemas endpoint, with 7 properties.
- A README that explains every property, what reads it, and the order to create things in.
- Workflow JSON in Automation API format, switched off on arrival.
- Custom coded actions where a step has no native equivalent, with the tier that requires stated on the spec.
- Test plans written for a test portal, and install in one click for Full and Agency buyers.
Who it is for and who should skip it
It is for the person who owns the portal at a recruitment or staffing agency, or the consultant building one, and who is comfortable creating properties and workflows without being walked through the interface. First hour value is the pipeline split and the data model, before a single workflow is built.
Skip it if you are an in house talent team hiring your own staff. The model here sells placements to clients, and half of it is about mandates and fees you do not have. Skip it if you are on Starter, since most specs need Professional. And if you want the volume rather than the selection, take the full library and build the model from the README yourself.
Questions admins ask
Can I use HubSpot as a recruitment CRM without an applicant tracking system?
For an agency, mostly yes, and this kit is the mostly. Candidate records, desks, submissions, placements, guarantees and the care desk all model cleanly on contacts, deals, tickets and a custom object. What HubSpot does not give you is CV parsing, job board posting and candidate search on the text of a CV. Agencies that place high volume on parsed data keep a specialist tool for sourcing and use the portal for the relationship and the pipeline.
How do I keep business development and placement deals apart in HubSpot?
Two pipelines, and one property called pipeline type set at deal creation and read by every enrollment filter and report. Separate pipelines alone are not enough, because a deal moved by hand from one to the other keeps its old reporting shape. The kit includes the spec that sets the type automatically and the spec that flags any deal whose stage does not match its type, which is how the split survives contact with a sales floor.
Do I need a custom object for vacancies?
Only on Enterprise, and only if one role regularly carries several candidates. A vacancy is not a deal: one vacancy can hold six placement deals and be filled once. On Professional, hold the vacancy as a deal in the business development pipeline and accept that your time to fill is measured per candidate rather than per role. The kit ships the vacancy schema either way, so the upgrade path is a single API call.
Which HubSpot tier does this kit need?
Professional is the floor. Starter has form follow up and simple ticket routing, not branches, delays or rotation, so most of these specs cannot be built there. Custom objects and the Vacancy model are Enterprise. The guarantee date calculation and any webhook step need Data Hub Professional. Five of the forty three specs are ticket based and need Service Hub provisioned, and a permanent only agency can skip them.
How do I automate the guarantee or rebate period?
Store the rebate period in days on the client company, taken from the signed terms, and the start date on the placement deal. Adding the two gives the guarantee end date, and that addition is the part no workflow action performs, so it is a coded action or a manual entry. Once the date exists, a filter based workflow enrolls the placement a fortnight before it expires, raises the in seat check, and runs the redeployment path when the answer comes back badly.
Read 12 complete specs before you pay.
One per category, same format as the paid ones. Email only, no card.
We email the link, then a short note when specs change. Nothing else.
Here it is. Download the pack now (.zip) The link is in your inbox too.
Browse the library