Lesson 1Entity: Company/Account — key fields with data types and reasons (company name, domain, industry, size, billing address, account owner, etc.)This part define the Company or Account entity for agencies, outlining key identification, grouping, and ownership fields, plus address and billing info that support territory planning, invoicing, and long-term 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 2Normalization vs denormalization trade-offs for performance and reportingThis part analyze normalization and denormalization strategies in CRM, explaining how to design tables and fields for speed, reporting, and connections while avoiding duplication, inconsistency, and unnecessary 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 reasons (type, subject, date/time, outcome, related entity, notes, duration)This part explain the Activity or Interaction entity, defining key fields, data types, and reasons that capture emails, calls, meetings, and tasks, ensuring a complete engagement history across 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 reasons (first/last name, email, phone, role, linked account, preferred contact method, etc.)This part define the Contact entity, covering personal and professional fields, communication preferences, and links to accounts and opportunities, enabling precise targeting, personalization, 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 reasons (name, value, currency, stage, close date, probability, product/service type, sales owner)This part detail the Opportunity entity for software agencies, covering essential fields, recommended data types, and design reasons that support forecasting, pipeline visibility, revenue attribution, and consistent 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 reasons (source, status, score, created date, owner, etc.)This part focus on the Lead entity, detailing fields, data types, and reasons for capturing new prospects, tracking source and status, scoring intent, and preparing clean conversion into 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 part cover CRM relationship patterns, including one to many, many to many via junction entities, and polymorphic activities, explaining when to use each pattern and how they affect 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 part introduce canonical CRM entities used in software agencies, clarifying the distinct purpose of Leads, Contacts, Accounts or Companies, Opportunities, and Activities, and how they work together in 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 part explore entity extension options, including custom fields, picklists, formulas, and calculated fields, showing how to add agency specific data while preserving usability, performance, and upgrade safe configurations.
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