Lesson 1Entity: Company/Account — key fields with data types and rationales (company name, domain, industry, size, billing address, account owner, etc.)This bit defines the Company or Account entity for agencies, spelling out key fields for ID, grouping, and ownership, plus address and billing info that aid territory planning, invoicing, and long-term account handling.
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 breaks down normalisation and denormalisation in CRM, showing how to set up tables and fields for speed, reports, and links while dodging duplicates, mix-ups, and extra 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 covers the Activity or Interaction entity, defining key fields, types, and reasons to track emails, calls, meetings, and tasks, keeping full engagement history for 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 sets the Contact entity, including personal and work fields, contact prefs, and ties to accounts and opportunities for sharp targeting, personal touch, and 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 details the Opportunity entity for software agencies, with must-have fields, suggested types, and design reasons for forecasting, pipeline views, revenue tracking, and steady sales reports.
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 zooms in on the Lead entity, listing fields, types, and reasons for new prospects, tracking source and status, scoring interest, and smooth shift 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 tackles CRM relationship setups like one-to-many, many-to-many with junction tables, and flexible activities, explaining when to pick each and their impact on reports, automation, and data solidity.
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, making clear the role of Leads, Contacts, Accounts or Companies, Opportunities, and Activities in the revenue flow.
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 looks at ways to extend entities with custom fields, picklists, formulas, and calculated fields, adding agency-specific data while keeping it user-friendly, fast, and safe for updates.
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