All articles

Attio for recruiting and executive search: how boutique firms run BD, mandates, and candidates in one workspace

·13 min read

A search firm runs two pipelines that share the same contacts. Business development on the client side. Candidate work on the placement side. The same person can be a buy-side hiring manager on one mandate and a candidate on another. Most CRMs cannot hold that without a workaround, and most ATS platforms force a linear hiring funnel that does not match how a retained search actually moves.

So a boutique firm ends up with a Google Sheet for the bench, an Airtable base for active searches, Gmail threads for the BD pipeline, Gem for outbound, and a Slack channel per client. Five places to look before any conversation. Information loss between them is where dropped balls live.

A flexible CRM with real custom objects collapses this into one workspace. Attio is the cleanest example for firms under 25 people. The data model can hold clients, candidates, mandates, and applications as separate things with separate workflows, on the same relationship graph.

Here is what a working Attio setup looks like for a recruiting agency or executive search firm, and where it stops.

What standard CRMs and ATS platforms get wrong for search

A search is not a sales deal

A B2B sales deal closes in weeks. A retained search runs 9 to 16 weeks from kickoff to accepted offer, sometimes longer for C-suite roles. The stages are different. Brief, sourcing, longlist, shortlist, interviews, offer, placed. Stuffing that into the default HubSpot Deal pipeline forces stages like "in delivery" that are really a Closed-Won lookalike pipeline, and breaks every revenue report. The BD pipeline and the search pipeline need to be separate objects.

A candidate is not a contact

A candidate has a function, level, current company, last comp band, location, work-permit status, last meaningful conversation, source, and current submission state across every active search. A flat People table cannot hold that without a dozen custom fields that go stale the second a candidate changes jobs. Bench candidates need to be a typed object, not a tag on a contact.

Linear ATS does not fit retained search

An ATS is built around one job posting, a queue of applicants, and a linear funnel. Retained search is the opposite. A small number of high-value passive candidates, kept warm for years, surfaced and re-engaged when a relevant mandate opens. The CRM workflow is cyclical. ATS workflows are linear. Forcing one onto the other is why most firms keep two tools and still lose context between them.

The same person plays multiple roles

A founder you placed three years ago is now a buy-side hiring manager on a new search. A candidate from a closed search is the warm-intro source for the next one. A flat contact list cannot model this. The relationship layer needs many-to-many links between People, Companies, and Searches, or the network value of every prior placement evaporates.

Investor and referral attribution

Boutique firms that work with venture-backed companies often source mandates through a small set of VC partners. "Which searches did Andreessen send us this year" is a single-filter question if Investors are tracked as Companies linked to the Search record. It is a manual reconstruction in a system that treats every company as the same kind of entity.

Why a flexible CRM with real custom objects clears the bar

Three structural features matter for a search firm, and most recruiting tools are missing at least one.

Custom objects as first-class citizens. Search and Application should be their own objects with their own pipelines and their own automations, not a status field on a Deal. If the tool treats custom objects as a paid add-on or a database afterthought, the model breaks within the first quarter.

Many-to-many relationships. The same Person is a candidate on one search, a hiring manager on another, and a referral source on a third. A flat contact table cannot carry this. Firms that grow on warm intros lose the network value of every past search.

Activity capture by default. Email and calendar sync need to attach the right thread to the right Candidate, the right Search, and the right Company without manual logging. Solo and small-partner firms run on activity capture more than any other automation. If the CRM cannot do this without a paid add-on, daily use collapses.

Attio has all three. Recruiterflow and Bullhorn handle the linear ATS workflow well at $99 to $200 per user per month, but the data model is fixed around an ATS-shaped funnel and customisation is shallow. Loxo gates the good features behind a sales call. Folk and Pipedrive cannot model an Application as a typed entity at all.

The data model that actually works

Five objects. The shape stayed consistent across implementations for retained search firms placing GTM leadership at venture-backed companies. The fields shift by the work the firm sells.

Companies. The accounts. Split by relationship type: Client, Prospect, Investor, Portfolio, Past Client. Fields for industry, headcount band, stage, account owner, primary contact, current relationship status, and lifetime fees billed. An Investor company links to every Search the partner has sent, so attribution is one filter away.

People. Source of identity across every role a contact has played. Status field for the lifecycle: Candidate, Active Buy-Side, Hiring Manager, Investor Partner, Past Client, Referral Source, Off-Limits. A linked-records view shows every Company, Search, and Application the person has touched.

Candidates can stay on People with a Candidate Status field (Active Bench, Open to Move, Off-Limits, Placed, Dropped), or split into a separate object if the firm wants stricter privacy and field control on the bench. For most boutique firms, one People object with a Candidate flag is enough.

Deals. The BD pipeline. Stages: Lead, Qualified, Proposal Sent, Verbal, Signed, Lost. Closed Won creates a Search record, and the Deal exits. The Deal does not track delivery. Source field tagged Inbound, Outbound, Investor Referral, Past Client Referral, Event.

Searches. A custom object. One record per active mandate. Fields for client, hiring manager, role title, function, level, location, fee structure (retained, contingency, hybrid), fee value, fee billing schedule (engagement, shortlist, placement), kickoff date, target placement date, status (Brief, Sourcing, Longlist, Shortlist, Interviews, Offer, Placed, Dropped), drop reason, lead consultant, source investor, linked Slack channel.

Applications. A custom object. The candidate-to-search join, with per-shortlist status. Fields for candidate, search, submission date, current stage (Sourced, Outreach Sent, Screened, Submitted, Client Interview, Final, Offered, Placed, Withdrew, Rejected), drop reason, last interaction. The same candidate can sit on multiple Applications across multiple Searches without losing state on any of them.

That is the full model. It runs new business and active placement without bolting on a separate ATS.

Two pipelines on the same graph

The trap small firms fall into: they cram everything into a single pipeline and lose visibility on both. In Attio the BD pipeline and the search pipeline are separate objects and separate boards.

BD pipeline (Deals). Lead, Qualified, Proposal Sent, Verbal, Signed. Won deals exit the board entirely and create a Search. The pipeline is for new revenue forecasting only, so the number on the dashboard is the number the partner cares about. Typical cycle 1 to 6 weeks for a known client, 4 to 12 weeks for a cold one.

Search pipeline (Searches). Brief, Sourcing, Longlist, Shortlist, Interviews, Offer, Placed, Dropped. Owned by the lead consultant. Drop reason is a multi-select, not free text, so pattern analysis at the end of the year actually works.

Bench (People filtered to Candidate Status). Not a pipeline, a status table. Sorted by last meaningful conversation. Filtered to Active Bench. The view a partner opens before any sourcing call.

The same Companies and People objects underpin all three. A consultant pulls up an account and sees every Deal in flight, every Search in delivery, every candidate ever submitted to that client, and the people on both sides. One scroll, the whole relationship.

Automations that pay for the subscription

Six workflows carry the load.

  1. Closed-Won creates a Search. The Deal type and fee structure decide which fields to inherit. Default fields populate from the Deal: client, hiring manager, fee value, kickoff date, lead consultant. No copy-paste, no lost context.
  2. Email and calendar capture by default. Gmail and Google Calendar sync attach the right email and meeting to the right Candidate, Search, and Company. The single highest-leverage automation for a solo or two-partner firm. Stops the relationship from living in your inbox.
  3. Gem outbound flows back to Attio. Outbound sequences logged on the right Person record. Reply rates surface per search, not per sequence, which is what the consultant actually needs to know.
  4. Slack channel linked to Search. A per-search Slack channel surfaces on the Search record. Anyone on the team opens the Search and finds the conversation, without scrolling Slack for the right channel name.
  5. Stalled-search alert. A scheduled workflow scans Searches in Sourcing or Shortlist with no candidate movement in 10 days and posts in the partnership channel. Quiet searches do not become quiet client churn.
  6. Investor referral attribution. Every Search inherits the source Investor from the Deal. A view on the Investor record shows total searches sourced and placed, and lifetime fees attributable to that relationship. The conversation with that VC partner becomes specific instead of vibes.

The activity-capture automation alone changes daily life. A two-partner firm running 6 to 8 active searches recovers 4 to 6 hours a week that previously went to manual logging.

Dashboards the partnership actually opens

Two dashboards do most of the work.

Consultant Monday view. Active Searches by stage with last activity. Searches in Sourcing or Shortlist with no movement in 10 days. Active Applications waiting on a client decision. People on the Active Bench not contacted in 30 days. Five minutes of review, the week starts.

Firm-level dashboard. BD pipeline value by stage. Active Searches by stage and days since kickoff. Time-to-shortlist average by consultant. Placements per quarter against fee target. Drop reasons by category. The dashboard the managing partner opens before any forecast or hiring conversation.

Both rebuild from raw data every time. No manual reporting.

The AI piece, briefly

Two things matter here for a search firm that wants AI to do real work, not vanity tasks.

Research attribute on the Company object. Auto-fills industry context, recent funding, team size, recent leadership hires, and known stack when a new client lands. The consultant opens a fresh prospect record and the briefing is already there. One Research attribute replaces the $300 to $400 a month enrichment tool most firms bolt on.

A Claude skill on the Search object. The skill scans the linked emails, calls, and submission notes from the past 14 days and writes a one-paragraph status summary on the record. The lead consultant reads the brief before the client check-in, instead of reconstructing the search from memory. The same skill can draft a candidate update note for the client in the firm's tone.

Neither of these is generic CRM AI. Both are scoped to the firm's actual work. That is the line between AI that earns its place and AI that ships press releases.

Where Attio stops working

A few cases where I tell firms to look at something else, or to keep a second tool alongside Attio.

High-volume contingency staffing. Two hundred open reqs, twenty recruiters, automated CV parsing, compliance workflow, and structured interview scorecards across thousands of candidates a month. Bullhorn, Recruiterflow, and Loxo are built for this and Attio is not. If the firm's bottleneck is throughput against a CV pile, keep the ATS.

Public job boards and apply-flow integration. Attio has no native job-board posting or apply-form pipeline. If 60% of pipeline comes from inbound applicants on Indeed, LinkedIn Jobs, and the careers site, the ATS still owns that workflow. Attio holds the relationship layer next to it.

Resume parsing and CV ranking at scale. Attio can store a resume as a file attachment. It does not parse, score, or rank. For executive search this rarely matters because the work is relationship-led, but a contingency desk that runs on parsed CV search needs a real index (Loxo, Talentis, SeekOut).

Background checks and compliance. ID verification, right-to-work, structured reference logging, EEO reporting. Attio is not the system of record for these. They live in a dedicated tool and their status syncs to the Application record.

The right line: Attio is the relationship layer for a relationship-led firm. It tells the consultant who the clients are, what searches are in flight, which candidates are stuck, and where the next mandate is coming from. The ATS, the parser, and the compliance tool handle execution that needs structured workflow at scale.

How long the setup takes

A core search-firm build (five objects, BD pipeline, search pipeline, bench view, six automations, two dashboards, Gmail and Calendar and Slack and Gem integrations) takes about 7 to 10 working days. Faster for a solo partner with clean source data. Longer when two years of history live in tangled Google Sheets and an Airtable base.

The blocker is rarely Attio. It is the partnership agreeing on what each search stage means and when a candidate moves from Sourced to Outreach Sent to Screened. Once the definitions are written down, the build is mechanical.

What this costs against the alternatives

A two-person boutique firm comparing tools at the start of 2026.

  • Bullhorn at the entry tier: ~$200 per user per month plus a $1,000 to $5,000 implementation fee. $400 a month plus setup.
  • Recruiterflow: ~$99 to $119 per user per month, no public implementation fee. $200 to $240 a month.
  • Loxo Starter: ~$119 per user per month, professional features behind a sales call. $240 a month.
  • Attio Plus or Pro: $34 to $79 per user per month plus a one-time implementation. $70 to $160 a month after setup.

The cost case is rarely the deciding factor for a firm doing $500K+ in fees, but it stops being a wash. The harder argument: a relationship-led firm needs the relationship graph more than it needs a CV-parsing pipeline. That is the structural difference Attio buys.

Getting this set up for your firm

If this matches how your search firm or recruiting agency runs, book a call. Thirty minutes, no pitch. We walk through your BD pipeline, your active mandates, and your bench. By the end of the call you have a written sketch of the data model that fits your operation.

If you want to try Attio first, sign up through my link for 10% off.

Free audit of your Attio workspace

If your firm already runs Attio and you want a second pair of eyes, I run a free 48-hour audit. You add me to your workspace as an Attio expert, no extra seat and no billing. I send back a one-page written teardown ranked by impact, the three highest-leverage fixes with the exact setting change, and a 5-minute Loom walking through the top fix. No call, no pitch. 5 slots a week.

Get your free Attio audit

Need help with your Attio setup?

We migrate teams, build data models, wire automations, and train Claude agents inside your workspace. Discovery call is free.

Book a free discovery call