Part I
What is a CRM?
For engineers to build on top of CRMs, engineers must first understand:
- What is a CRM?
- Who uses a CRM?
- Why do these users need a CRM?
In this section
-
The CRM in one picture
What role the CRM plays in the business and the applications and people that interface with them.
-
Who uses the CRM
How do sales teams use the CRM? What roles and responsibilities do CRM users have?
-
Why a spreadsheet isn’t enough
What the spreadsheet can do, where it breaks down, and what the CRM is built to solve.
Diagram 01 · The mental model
The CRM in one picture
Every interaction with a customer is a piece of business context. A CRM turns these pieces into a system of linked records which models business entities and relationships.
// Four moves
- 01 What happens
- 02 What gets stored
- 03 Who uses the CRM
- 04 How software uses the CRM
01 · What happens
02 · What gets stored
The Activity record tracks interactions, emails, activities, conversations, contacts, and more.
03 · Who uses the CRM and how
Team
Responsibility
The question it asks
Sales
discover and convert new revenue
What do I do next on this deal?
Marketing
increase demand and decide channels to invest
Which campaigns produce engagement?
Customer success
retain customers
Is this account healthy?
Leadership
manage performance, forecasts, and produce reports
How is the pipeline doing?
Each business function uses a CRM for a specific responsibility
Each role has a different workflow that a CRM must be designed to accommodate. Some workflows are specialized and extremely custom to the business, role or individual.
04 · How software uses the CRM
People and software use CRM records to plan and carry out customer work. An integration needs access to the relevant records and a way to handle schema changes, failed requests, and incomplete data.
Diagram 02 · The case for a CRM
Why a spreadsheet stops working, and what a CRM does instead.
// 01 Why not use a spreadsheet?
Many small teams start with columns and rows.
Three columns, one team
| Company | Owner | Stage |
|---|---|---|
| Acme Logistics | J. Lee | Qualified |
| Bellweather Co | S. Rivera | Proposal |
Fourteen columns, and counting
Custom fields, added per team
- Sales
- Marketing
- Customer success
- Leadership
Eventually the columns, rows, and custom fields make it too difficult to coordinate on. The increasing number of roles and workflows the spreadsheet must support becomes complicated.
Teams need shared ownership, history, and workflow rules.
// 02 What problem does it solve?
As the number of people increases, collaborative work complexity increases.
Ten people
| Account | Owner | Status | Last contact |
|---|---|---|---|
| Acme Logistics | J. Lee | Qualified | 12 Aug |
| Bellweather Co | S. Rivera | Proposal | 02 Sep |
One hundred people
| Account | Owner | Status | Last contact |
|---|---|---|---|
| Acme Logistics | S. Rivera | Qualified | 12 Aug |
| Acme Logistics | J. Lee | Stage 2 | missing |
| Corvid Group | missing | MQL | 28 Aug |
A duplicated account, contested owner, or missing history.
A CRM coordinates work across business roles and functions.
// 03 What is a CRM?
Customer information starts in a row.
| Company | Contact | Deal | Last call | |
|---|---|---|---|---|
| Acme Logistics | Maya Chen | maya.chen@acme.com | 48,000 | 12 Aug |
↓ Each becomes a record
Contacts, accounts, and activities provide different context.
// 04 Derived views
Each job function needs a different slice of the CRM, and can reconstruct a view for their own workflow.
Account executive
Onboarding
Renewals
Adoption
Expansion
Sales development
Lead
Contact made
Needs defined
Proposals
Negotiations
One set of records
All views derived from the CRM’s objects and relationships.
Derived views may be created from customized objects or fields.
- 01 Teams add fields and workflows
- 02 as more people contribute
- 03 Linked records connect their work
- 04 Each role selects a useful view
What is a CRM?
“A CRM can help a sales team store business context on all their prospects, track the progress for each of those customers, but also aggregate reports to help understand the state of the business at a high level.”
A CRM’s primary function is to enable an enterprise sales team’s resources and processes to more efficiently make revenue, aka more money.
Who uses a CRM?
Engineers often sit far from sales, but to build on top of a CRM, they need context on who they are building for.
- Prospecting: finding new buyers.
- Qualifying: determining whether a potential buyer has a problem the team can solve, along with the money and authority to buy.
- Pitching: demonstrating the product or showcasing the value the team can provide.
- Closing: agreeing on terms, pricing, and contracts to secure revenue.
Other roles use the CRM too: management reviews the pipeline and forecasts revenue; marketing examines where deals come from; and customer success tracks renewals and schedules check-ins. (Paraphrased from Joel’s interview.)
Why do sales teams need a CRM?
For an individual salesperson, the CRM helps answer questions about a particular account: Who are we talking to? What happened last? What needs to happen next?
These responsibilities are often represented as a pipeline or funnel in which prospective buyers gradually become customers. Sales teams need to track:
Buyers and companies: who the buyers are, their responsibilities, and where they work. Pipeline stage: where each prospective deal stands. Interactions: activity involving sales, marketing, and the buyer. Relationships: the connections across those people, companies, deals, and interactions.
Is a spreadsheet enough?
Many small teams start tracking this information in a spreadsheet. That can work for a few people. As a team grows from 10 people to 100, coordinating data, access, and workflows becomes harder.
Familiar engineering problems
Sales collaboration introduces familiar engineering problems:
| Challenge | Engineering responsibility |
|---|---|
| Conflicting edits and overwritten data | Coordinate updates with optimistic or pessimistic locking. ACID describes atomicity, consistency, isolation, and durability. |
| Permissions beyond file sharing | Apply role-based access control (RBAC) and least privilege to limit who can read or change records. |
| Manual reminders and routine tasks | Use event-driven workflows to respond to changes in business state. |
| Fragile links between entities | Model records and relationships; use normalization and referential integrity where appropriate. |
| Slow queries as data and complexity grow | Use database indexing and, where appropriate, horizontal scaling to support the workload. |
| History scattered across files and tabs | Retain changes and interactions alongside the records they describe. |
A CRM provides a maintained, customizable platform for evolving sales processes. Companies can build on that platform instead of maintaining a custom spreadsheet-based sales system.
Engineers building on a CRM must understand its reliability, scalability, access, and workflow guarantees. These depend on the product and configuration. Integrations must respect them as business processes evolve.