Lesson 1Entity: Company/Account — key fields with data types and rationales (company name, domain, industry, size, billing address, account owner, etc.)This section outlines the Company or Account entity for agencies, detailing crucial identification, segmentation, and ownership fields, along with address and billing information that aids in territory planning, invoicing, and ongoing account management.
Core identity fields and uniqueness rulesDomain, website, and enrichment optionsIndustry, size, and firmographic tagsBilling and shipping address modelingAccount ownership and territory logicParent child and group account structuresLesson 2Normalisation vs denormalisation trade-offs for performance and reportingThis section examines normalisation and denormalisation approaches in CRM systems, explaining how to structure tables and fields to optimise performance, reporting, and integrations, all while minimising duplication, inconsistencies, and excessive complexity.
Normalization goals and normal formsCommon denormalization techniquesPerformance impacts and indexingReporting and analytics trade offsIntegration and data sync concernsGuidelines for pragmatic modelingLesson 3Entity: Activity/Interaction — key fields with data types and rationales (type, subject, date/time, outcome, related entity, notes, duration)This section describes the Activity or Interaction entity, specifying key fields, data types, and reasons for them to record emails, calls, meetings, and tasks, ensuring a full history of engagements with leads, contacts, and opportunities.
Activity types and controlled vocabulariesSubject, description, and note takingDate, time, and time zone handlingOutcomes, statuses, and follow up rulesLinking activities to related CRM recordsDuration, effort, and productivity metricsLesson 4Entity: Contact — key fields with data types and rationales (first/last name, email, phone, role, linked account, preferred contact method, etc.)This section defines the Contact entity, including personal and professional details, communication preferences, and links to accounts and opportunities, allowing for targeted outreach, personalised interactions, and effective relationship tracking.
Identity fields and name formattingEmail, phone, and channel detailsJob role, seniority, and influencePreferred contact times and methodsLinking contacts to accountsContact roles on deals and projectsLesson 5Entity: Opportunity — key fields with data types and rationales (name, value, currency, stage, close date, probability, product/service type, sales owner)This section covers the Opportunity entity for software agencies, including vital fields, suggested data types, and design reasons that facilitate forecasting, pipeline oversight, revenue tracking, and uniform sales reporting.
Core identification fields and naming rulesMonetary fields, currency, and exchange handlingStage modeling and sales process alignmentClose date, probability, and forecasting logicProduct or service classification structuresOwnership, teams, and access controlLesson 6Entity: Lead — key fields with data types and rationales (source, status, score, created date, owner, etc.)This section delves into the Lead entity, explaining fields, data types, and rationales for recording new prospects, monitoring sources and status, assessing interest levels, and enabling smooth conversion to contacts, accounts, and opportunities.
Lead capture fields and validation rulesSource, campaign, and attribution dataLead status, stages, and SLA policiesScoring models and intent indicatorsOwnership, routing, and assignmentConversion mapping to core entitiesLesson 7Entity relationship patterns and cardinality (one-to-many, many-to-many via junction table, polymorphic activities)This section discusses CRM relationship patterns, such as one-to-many, many-to-many using junction entities, and polymorphic activities, covering when to apply each and their effects on reporting, automation, and data integrity.
One to many relationships and ownershipMany to many via junction entitiesModeling contact roles on opportunitiesPolymorphic activity relationshipsLookup versus master detail choicesImpact on reporting and rollup fieldsLesson 8Overview of canonical CRM entities and purpose (Lead, Contact, Account/Company, Opportunity, Activity/Interaction)This section introduces standard CRM entities for software agencies, explaining the unique roles of Leads, Contacts, Accounts or Companies, Opportunities, and Activities, and how they integrate within the revenue lifecycle.
Lead versus Contact distinctionsAccount or Company core purposeOpportunity as revenue containerActivity as engagement historyTypical lifecycle from lead to clientCross entity data flow and handoffsLesson 9Entity extension points: custom fields, picklists, formula fields, calculated fieldsThis section investigates ways to extend entities, such as adding custom fields, picklists, formulas, and calculated fields, demonstrating how to incorporate agency-specific data without compromising usability, performance, or upgrade compatibility.
When to add custom fields and whyDesigning picklists and option setsFormula and calculated field patternsUsing rollup and summary calculationsManaging technical debt in metadataGovernance, naming, and documentation