How to design a CRM structure that scales

A CRM structure is the set of objects (companies, people, deals), attributes (fields), and relationships that define how you capture and use sales and customer data. Get it wrong and you end up with duplicate records, missing fields, and a pipeline that nobody trusts. Get it right and your CRM becomes a single source of truth that scales with your team. This guide walks through how to design a CRM structure that stays useful as you grow.

Why CRM structure matters

A poorly structured CRM leads to duplicate companies, deals stuck in vague stages, and reporting that doesn't match reality. Sales reps stop updating records because the fields don't match how they work. RevOps spends quarters cleaning up data instead of improving process. A clear structure — the right objects, the right attributes, and a pipeline that matches your sales motion — prevents that. You want every record to have a clear place and every field to answer a question you actually ask.

Attio CRM setup for B2B SaaS

Core objects: Companies, People, Deals

Most B2B CRMs revolve around three objects. Companies are the accounts you sell to or support. People are the contacts at those companies. Deals are the opportunities (or subscriptions) you're tracking through a pipeline. Your structure should make the relationships explicit: a Deal belongs to a Company and often to one or more People (champion, economic buyer). Define these objects first; add custom objects (e.g. Feedback, Projects) only when you have a repeatable use case.

Attributes: fewer, better fields

Every attribute you add is a column someone has to fill or maintain. Ask: "Will we filter, sort, or report on this?" If not, consider dropping it or moving it to notes. Use select and multi-select for any finite set of options (stage, industry, source) so data stays consistent. Use dates for anything time-bound (close date, last contacted). Avoid free-text for fields that should be structured (e.g. stage as a select, not a text field). Standardise naming: Title Case for options, consistent property names across objects.

Deal and company attributes that scale

On Deals: Stage (select), Value (number), Close Date (date), Owner (person), Source (select). On Companies: Name, Domain (for enrichment and deduping), Status (Prospect / Customer / Churned), ICP Tier or Segment (select). These core attributes support pipeline views, forecasting, and segmentation without clutter. Add more only when a specific workflow demands it.

Pipeline stages: match your sales motion

Your pipeline stages should reflect the real steps a deal goes through. Too few stages and you lose visibility; too many and deals pile up in "In progress". For most B2B teams, five to seven stages work: Prospect, Qualified, Demo or Trial, Proposal, Negotiation, Closed Won, Closed Lost. Name stages in a way your team uses in conversation. Avoid "Stage 1" or "Discussion"; use "Demo scheduled" or "Proposal sent" so the pipeline is self-explanatory.

Building a sales pipeline in Attio

Relationships and links

Deals should link to one Company (and optionally to People). People should link to Companies. That way you can see all deals for a company, all contacts at a company, and all deals a person is involved in. Don't create duplicate "customer" lists in multiple places; use relations and filters so one source of truth drives all views.

Lists and views: structure in action

A good structure is useless if the daily views are wrong. Create lists (or saved views) that answer specific questions: Active Deals (not closed), Stale Deals (no activity in N days), Prospect Pool (companies not yet in pipeline), Customers (companies with at least one won deal). Each list should have a clear owner and a clear action; otherwise it becomes noise.

When to add or change structure

Add a new object when you have a repeatable process that isn't just "a note on a company". Add a new attribute when you find yourself repeatedly filtering or reporting on something that doesn't exist yet. Change stages when your sales process actually changes, not when one deal doesn't fit. Avoid restructuring for a single edge case; use a status or tag instead.

Generate a CRM structure automatically

Generate your CRM structure with Wkspace

Designing a full CRM structure from scratch takes hours. Wkspace generates a complete Attio schema — objects, attributes, pipeline stages, and key lists — in about 60 seconds, tailored to your business type and ICP. You get a production-ready structure without manual design.

Frequently asked questions

What is the minimum CRM structure for a small team?

At minimum: Companies (name, domain, status), People (linked to companies), Deals (stage, value, close date, linked to company). With those three objects and a handful of attributes, you can run pipeline and basic reporting. Add attributes as you feel real pain (e.g. Source when you care about attribution).

How many pipeline stages should I use?

Five to seven stages is the sweet spot for most B2B teams. Fewer and you lose visibility; more and you add friction. Stages should match how your team talks about deals (Qualified, Demo, Proposal, etc.), not generic labels.

Should I use custom objects in my CRM?

Use custom objects when you have a repeatable entity that isn't just a company, person, or deal — e.g. Feedback, Implementation projects, or Campaigns. Link them to Companies or Deals so you don't create silos. Avoid custom objects for one-off or rare use cases.

Can Wkspace generate a full CRM structure for me?

Yes. Wkspace generates a complete Attio schema — objects, attributes, pipeline stages, and lists — in about 60 seconds, tailored to your business type and ICP. You get a scalable structure without manual design.

Generate your CRM structure with Wkspace
Auto-generated in 60 seconds. No templates, no manual setup. Home · Pricing
Get started →