SfSkills Domains Docs GitHub

Home / admin / education-cloud-eda-setup

education-cloud-eda-setup

Education Cloud (EDA — Education Data Architecture) setup: student success hub, advisor workflows, enrollment management, academic data model. NOT for the EDA object model in depth (Affiliations, Course_Connection__c) — use data/eda-data-model-and-patterns. NOT for SIS enrollment sync — use integration/sis-integration-patterns.

Open the skill folder on GitHub


Education Cloud EDA Setup

Activate when configuring Salesforce Education Cloud / EDA for a school, university, or other learning institution. EDA is a contact-centric data model layered on standard objects, wired to the Student Success Hub and Advisor Link applications. Getting the foundational records (Account record types, Affiliations, Program Plans) right on day one prevents years of downstream reporting pain.

Before Starting

Core Concepts

Contact-centric model

In EDA, the Contact is the primary record. Students, advisors, parents, faculty, and staff are all Contacts with different Affiliations. A Contact can have many Account relationships through the Affiliation object, including Primary Academic, Primary Business, Household, and Sports affiliations. Which affiliation types auto-populate is not hard-coded — it is configuration held in the Affiliation Mappings object, alongside Hierarchy Settings, Relationship Auto-Create, and Relationship Lookup.

Program Plan / Plan Requirement

Academic programs are modeled as Program Plan records with nested Plan Requirement children. This is how EDA expresses "to graduate, a student must complete these courses." Advisor Link uses this structure to generate checklists. On the Education Cloud standard model the equivalents are LearningProgramPlan ("details of a plan created to execute a Learning Program") and LearningProgramPlanRqmt, with LearnerProgram holding the per-learner instance.

Term / Course / Course Offering / Course Connection

Term defines the academic period. Course is the catalog-level record. Course Offering is a specific instance of a course in a specific Term. Course Connection links a Contact (student or faculty) to a Course Offering. This is a four-level model and all four are required; skipping the split breaks Advisor Link reports. The Education Cloud standard model expresses the same four levels differently — AcademicTerm ("Defines an academic period which may hold other more defined time periods"), Learning / LearningCourse, CourseOfferingSchedule, and CourseOfferingParticipant ("information about a student's enrollment in a Course Offering") — with AcademicTermEnrollment carrying per-term enrollment status.

Common Patterns

Pattern: Applicant to student conversion

Represent applicants as Contact with an Affiliation whose status is Prospect to the target Academic Program. On admission, flip it to Current and add the Primary Academic Account. Do NOT create a separate Applicant__c custom object — it breaks Advisor Link assumptions. (On the standard Education Cloud model, admissions has its own object family: ApplicationStageDefinition, ApplicationSectionDefinition, ApplicationReview, ApplicationDecision — "information about the academic standing of an applicant" — and ApplicationTimeline.)

Pattern: Term rollover

At term-end, Course Connection records carry grades. Do not delete them — new connections for the next term are net-new inserts. A term-rollover Flow creates next-term Course Offering records from the catalog Course and pulls forward enrolled students.

Pattern: Advisor caseload

Advisors are related to their students through an Affiliation or a caseload junction, depending on the institution's model — confirm the exact object in the installed package rather than assuming a name. Sharing on Contact respects the Household + Academic hierarchy; advisors are given caseload-based sharing through an Apex-managed sharing trigger or criteria-based rules. On the standard model, SuccessTeam "Records details about a success team in Salesforce Scheduler" and WatchlistedLearner "Represents information for a learner that needs to be monitored for support."

Decision Guidance

SituationRecommended ApproachReason
New program launchProgram Plan + Plan Requirement tree (EDA) / LearningProgramPlan + LearningProgramPlanRqmt (standard)Advisor Link discovers programs this way
Multi-campus institutionSeparate Academic Program Accounts per campusEnables reporting by campus
K-12 vs higher-edSame EDA model, different record type usageAvoid forking the schema
Alumni engagementKeep Contact + Affiliation Status = 'Former'Preserves history without deleting
  1. Verify EDA managed package is installed and at the supported version; review release notes for upgrade-impacting trigger changes.
  2. Activate the four Account record types and set defaults for auto-Household creation (EDA Settings → Accounts).
  3. Configure Affiliation mappings: Primary Academic, Primary Business, Household — these drive auto-population on Contact.
  4. Load Academic Program Accounts and Program Plans before any student data.
  5. Import Contacts with a staged ETL: prospects → admitted → enrolled; each stage triggers Affiliation changes that EDA automation expects.
  6. Set up Term, Course, Course Offering, Course Connection objects; deploy a term-rollover Flow before the first term-end.
  7. Install Student Success Hub / Advisor Link apps, configure caseload sharing, and run a round-trip advisor check.

Review Checklist

Salesforce-Specific Gotchas

  1. EDA triggers run on Contact insert. A bulk Contact load without the Primary Academic Account resolved in advance creates orphan Affiliations that advisors cannot see.
  2. Course Connection is the grade holder. Copying prior-term grades onto Course Offering is a common LLM mistake; grade history lives only on Course Connection. On the standard model the equivalents are CourseOfferingPtcpResult ("the outcome of a student's participation in a course") and CourseOfrPtcpActvtyGrd.
  3. Household Account auto-creation is irreversible at scale. Once EDA creates Household accounts for a Contact batch, turning it off does not tear them down — test on a sandbox sample first.

Output Artifacts

ArtifactDescription
EDA activation runbookOrdered steps, package version gate, record type plan
Term rollover FlowAutomates course offering generation each term
Affiliation mapping tableInstitution-specific Primary Account mapping
Advisor caseload sharing specApex-managed or criteria-based sharing rules

Package files