All articles

Attio for agencies and consultancies: how services businesses run leads, projects, retainers, and renewals in one workspace

·11 min read

A services business sells two different things to the same client. New scope. Renewal of existing scope. Most CRMs were built for the first sale and forget the second one exists. So agencies and consultancies end up running new business in HubSpot, project delivery in Asana or ClickUp, time in Harvest, retainers in a Google Sheet, and invoices in a fourth tool. The relationship is split across five systems and nobody can answer a basic question: which clients are healthy and which are about to churn.

Only 18% of agencies say their CRM fully supports their workflow. The rest patch the gaps with spreadsheets and Slack threads. Agencies lose 15 to 20% of billable hours to manual data entry and context switching between disconnected tools.

A flexible CRM with real custom objects fixes this. Attio is the cleanest example. The data model can hold leads, projects, retainers, and renewals as separate things with separate workflows, in one workspace.

Here is what a working Attio setup looks like for an agency or a consultancy and where it stops.

What standard CRMs get wrong for services businesses

A project is not a deal

A B2B sales deal closes when the contract is signed. A services engagement starts there. Stuffing a 3-month delivery into a Deal record means the Deal sits in Closed Won for the entire engagement and the actual work has no home. Status fields like "in delivery" turn into a Closed Won lookalike pipeline that breaks every revenue report.

A retainer is not a sale

A retainer has a monthly fee, a scope cap, a renewal date, hours consumed against allocation, and a health score. None of those fit on a Deal. Agencies that try end up with one Deal per month, one Deal per quarter, or one giant Deal that never closes. Forecasting becomes guesswork.

Renewal risk has no first-class home

The single biggest revenue risk for an agency is a client who silently disengages 60 days before renewal. Generic CRMs do not surface this. Last-meeting date, last-deliverable date, retainer utilization, and account health do not exist as fields, so the warning never fires. Churn shows up as a surprise email from the client.

Billable utilization is invisible to the CRM

A 15-person agency needs to know which retainer clients are profitable and which are bleeding hours. That is a join between time tracking and the client record. CRMs that cannot pull time data into the relationship layer leave the partnerships team and the operations team looking at different versions of reality.

Why a flexible CRM with real custom objects clears the bar

Three structural features matter for an agency, and most CRMs only have one or two.

Custom objects as first-class citizens. Project and Retainer should be their own objects with their own pipelines and their own automations, not awkward extensions of Deal. If the CRM treats custom objects as a paid add-on or a database afterthought, the model breaks within a quarter.

Many-to-many relationships. The same Person is a prospect at one company, a buyer at another, and a referral source for a third. A flat contact list cannot carry this. Agencies that grow on warm intros lose the network value of every past engagement.

Scheduled workflows. Renewal risk requires "every Monday, look at retainers ending in 60 days with declining health and surface them for the account lead." That is a different primitive than "when someone fills a form, send an email." A CRM that only does the second cannot manage retainers.

Attio has all three. HubSpot's custom objects sit behind the Enterprise tier at the same price band as a dedicated agency platform like Productive or Accelo, which defeats the cost argument. Pipedrive and Folk do not model retainers natively at all.

The data model that actually works

Five objects. The shape stayed consistent across consult calls with services operators across consulting, design, growth, and implementation. The fields shift by the work the agency sells.

People. Source of identity across every company a contact has touched. Status field for the contact lifecycle: Lead, Qualified, Active Client, Past Client, Referral Source. Source field tagged by acquisition channel (inbound form, partner referral, outbound, event, content). A linked-records view shows every Company, Deal, Project, and Retainer the person is connected to.

Companies. The accounts. Fields for industry, size band, account owner, current relationship status (Prospect, Active, Paused, Churned, Re-engagement), MRR from active retainers, lifetime billed, and primary contact.

Deals. New business only. Pre-sale stages: Discovery, Proposal Sent, Negotiation, Verbal, Signed. Closed Won creates a Project, a Retainer, or both, and that is the end of the Deal's life. The Deal does not track delivery.

Projects. A custom object. Created when a Deal closes. Holds project name, scope summary, start date, end date, fee structure (fixed-fee or T&M), budget, hours used, status (Kickoff, In Delivery, In Review, Delivered, Stalled), delivery owner, and the linked Deal it came from. One project per scope, not one project per client. A client running three engagements in parallel has three Projects.

Retainers. A custom object. Holds monthly fee, scope cap (hours or deliverables), start date, renewal date, auto-renew flag, account owner, hours consumed this month, retainer health score, last meaningful client interaction, and a flag for at-risk. Created when a Deal that is a retainer closes. Linked to Company and to the People involved on both sides.

That is the full model. It runs new business and ongoing delivery without bolting on a project-management or PSA tool.

Two pipelines, not one

The trap most agencies fall into: they cram delivery into the sales pipeline and lose visibility on both. In Attio the pre-sale and post-sale pipelines are separate objects and separate boards.

Sales pipeline (Deals). Discovery, Proposal Sent, Negotiation, Verbal, Signed. Won deals exit the board entirely. The pipeline is for new revenue forecasting only, so the number on the dashboard is the number the founder cares about.

Delivery pipeline (Projects). Kickoff, In Delivery, In Review, Delivered, Stalled. Owned by the delivery lead, not the partnerships lead. A Stalled status is a flag for the account owner to step in before the client goes quiet.

Retainer book (Retainers). Not a pipeline, a status table. Sorted by renewal date ascending and filtered to next 90 days. Health score colors the row. This is the one view the founder opens before any forecast conversation.

The same Companies object underpins all three. A founder pulls up an account and sees every Deal in flight, every Project in delivery, every Retainer on the book, 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 Project, a Retainer, or both. The Deal type field decides which. Default fields inherit from the Deal: fee, scope summary, owner, start date. No copy-paste, no lost context.
  2. Form submission to People with deduplication. Inbound from the website, a partner referral form, or a Calendly booking creates or updates a Person. Source field tagged. A workflow checks for an existing record on email and merges if one exists.
  3. Time-tracking integration updates retainer utilization. Harvest, Toggl, or Productive time entries flow in via Zapier or n8n. The total hours field on the Retainer updates daily. When utilization passes 80%, the account owner gets a Slack ping.
  4. Renewal countdown automation. Every Monday, a scheduled workflow finds Retainers with renewal dates inside 60 days. Renewal status moves to Renewal Window. A task is created for the account owner to schedule the renewal conversation. Health score below 7 flips at-risk to true and posts in the partnerships Slack channel.
  5. Stalled-project flag. A scheduled workflow scans Projects in Delivery with no client interaction in 14 days and moves them to Stalled. The delivery owner gets a task to re-engage. Quiet projects do not become quiet churn.
  6. Post-engagement upsell trigger. When a Project flips to Delivered, a task fires for the account owner to propose retainer or follow-on scope within 14 days. The fastest growth lever an agency has is the existing client, and most agencies miss it because nobody is reminded.

The renewal automation alone pays for the entire setup. An agency that catches one at-risk retainer per quarter that would otherwise have churned recovers the implementation cost within the first 90 days.

The two dashboards the team actually opens

Account-owner Monday view. Active Deals by stage with next action. Active Projects by status with stalled flagged. Retainers ending in the next 90 days with health score. People who have not been touched in 30 days. Five minutes of review, the week starts.

Founder revenue view. New-business pipeline value by stage. MRR from active retainers. Projects in delivery by fee value. Renewal pipeline at 30, 60, 90 days. Churn risk based on at-risk retainer count. This is the dashboard the founder shows the partner or the leadership team in the Monday standup.

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

The AI piece, briefly

Two things matter here for an agency that wants AI to do real work, not vanity tasks.

Research attribute on the Company object. Auto-fills industry context, recent news, tech stack, and headcount when a new Company is created. The partnerships lead opens a fresh prospect record and the briefing is already there. One Research attribute replaces the $400-a-month enrichment tool most agencies bolt on.

A Claude skill on the Retainer object. The skill scans the linked emails, calls, and project notes from the past 30 days and writes a one-paragraph health summary on the record. The account owner reads the brief before the renewal conversation, instead of reconstructing the relationship from memory.

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

Where Attio stops working

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

Heavy time tracking and resource planning. Attio is not Harvest, not Productive, not Float. If the agency runs on per-minute billable allocation across a team of 30 and needs forecasted utilization by week, keep the time-tracking tool. Pipe the totals into Attio for the relationship view.

Detailed task and sprint management. Attio is not Asana or ClickUp. Project status as a kanban works for a 5-person agency. A 30-person agency running 40 parallel projects with sub-tasks and dependencies needs a real project tool. Attio holds the relationship; the project tool holds the work.

Invoicing and accounting. Attio is not QuickBooks. A simple Zapier or AttiBooks integration syncs the invoice status back to the Project record, but the invoice itself lives in the accounting tool.

Agencies under 5 people with one founder doing everything. A Notion database or a Google Sheet runs the relationship layer fine until the founder hires the first account lead. Setting up Attio before that handoff is cost without return.

The right line: Attio is the relationship layer. It tells the agency who the clients are, what is in flight, what is at risk, and what is next. The delivery tools handle the execution.

How long the setup takes

A core agency build (five objects, sales pipeline, project pipeline, retainer book, six automations, two dashboards) takes about 8 working days. Faster for narrower scope. Longer when historical imports from HubSpot, Pipedrive, or a tangled Google Sheet are part of the project.

The blocker is rarely Attio. It is the founder agreeing on what each retainer health score means and what triggers a renewal conversation. Once the definitions are written down, the build is mechanical.

Getting this set up for your agency

If this matches how your agency or consultancy runs, book a call. Thirty minutes, no pitch. We walk through your sales process, your delivery shape, and your retainer book. 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 agency 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