Stop forcing retainers, projects, and referrals into a sales-funnel CRM that wasn't built for them. Attio configured for the way agencies actually work — relationships first, deals second.
— A real Attio workspace we configured for an agency client. Names changed.
Most CRMs were built for product companies selling features in a funnel. Agency work doesn't look like that. The unit isn't a "lead converting to a deal" — it's a relationship producing a stream of retainers, project work, and referrals.
"Lead → MQL → SQL → Closed Won" doesn't describe how agency deals happen. Most start as referrals, run as 2-month conversations, then become recurring retainers. None of those map cleanly to a funnel stage.
A single client might have a $15K/mo retainer running, plus a $40K project, plus a referral being warmed for next quarter. Generic CRMs flatten this into one "deal" — losing the ability to track where the client actually is. Scope creep becomes invisible because it's not in one place.
Upsells happen in conversations with existing clients, not as new deals in a new pipeline. Generic CRMs make expansion feel like new business — same form, same fields, same friction. Your best revenue opportunities end up being treated like cold outreach.
We've configured Attio for 8 agencies between 5 and 80 employees. The data model that consistently sticks past month 6 follows below.
Forget "lead → MQL → close". Agency pipelines have three motions running in parallel.
Inbound referrals + outbound to ICP accounts. Stages: Intro → Discovery → Pitch → Proposal → Signed. Most agency new business closes in 6-12 weeks. Every deal carries expected scope (project / retainer), expected ARV, and pitch lead.
Live retainers and active projects. This isn't pipeline — it's account management. Each account carries current retainer value, last QBR date, expansion next quarter, account health (red/yellow/green). The CRM's job is to surface accounts at risk, not push them through stages.
Where most agencies leak revenue. Existing clients can refer or expand — but only if you remember to ask. Track time since last expansion conversation, referrals offered (and follow-ups), and past clients ready to re-engage.
Generic CRMs treat all three as one funnel. The right setup gives each its own view, metrics, and SDR-to-account-manager handoff.
Five Attio objects make this work. Generic CRMs only give you three (Companies, People, Deals). Agencies need more.
Each motion (new business, accounts, expansion) gets its own object with its own view and metrics. Mixing all three into "Deals" loses the meaning of each. Configuration takes about 6 hours during a standard implementation.
The full attribute set:
| Object | Purpose | Key attributes |
|---|---|---|
| Companies | Active + past clients | Retainer status, MRR, last QBR, account health, point of contact, account manager |
| People | Client-side contacts | Role (decision maker / champion / executor), referral history, last touch, communication preference |
| Engagements (custom) | Projects + retainers | Type (retainer / project / consulting), value, start, end, owner, status, profitability |
| Pitches (custom) | Active new business | Source (referral / inbound / outbound), pitch lead, expected close, expected ARV, status |
| Referrals (custom) | In/out referral tracking | From-person, to-person, intro made, follow-up date, conversion status |
| Account health (formula) | Computed signal | Days since last touch + scope creep % + response time → red/yellow/green |
| Renewal date (formula) | Computed signal | Engagement.end - 60 days → triggers renewal workflow |
A CRM your team doesn't use is worse than no CRM. The workflows that get used at agencies are the ones that surface the next conversation.
Slack ping when an active client hasn't been touched in 14 days, or when scope creep on a fixed-price project crosses 110% of estimated hours. Catches issues before QBR, not at QBR.
Anyone who introduces you to 2+ clients enters a "warm referrers" view. Quarterly reminder to send them a short update — most referrals come from people who got 1 of yours and forgot you exist.
60 days before retainer end-date, owner gets a Slack ping + draft email. 30 days out, escalation if no renewal call booked. Fixes the most common revenue leak.
Pitches over 21 days old without an update get auto-tagged "stale". Pitch lead reviews the stale list weekly — close-or-kill discipline applied automatically.
These four workflows alone are usually enough to recover the CRM cost in the first quarter. We document each one in your runbook.
A typical agency Attio implementation runs 1 week. We start with an audit and scope doc — a 1-hour screen-share covering current stack, pipeline shape, account structure. Then we build your Attio data model with 5 objects (Companies, People, Engagements, Pitches, Referrals), all attributes, views, and permissions.
We configure 4 core workflows out of the box: account health tracking, referral follow-up automation, renewal triggers, pitch nurture. If you're migrating from HubSpot or Pipedrive, scripted migration is included in scope. You get a runbook + Loom walkthroughs so your team owns the setup after we leave, plus 30 days of included support.
Pricing: $4,500 for a greenfield Attio implementation, $7,500 if migrating off HubSpot or Pipedrive. A scope form gets you a fixed quote within 24 hours. See full implementation scope or HubSpot migration details.
Don't see yours? Get a fixed quote and ask in the notes.
Twenty minutes on a screen-share. We'll scope your agency CRM and send a fixed quote within 24 hours.