本文へ移動
cccskills
無料GitHub で公開

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.

インストール方法を見る

含まれるファイル(7)

  • SKILL.md9.9 KB
  • references/examples.md6.4 KB
  • references/gotchas.md6.5 KB
  • references/llm-anti-patterns.md3.2 KB
  • references/well-architected.md6.4 KB
  • scripts/check_education_cloud_eda_setup.py3.4 KB
  • templates/education-cloud-eda-setup-template.md637 B

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

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

  • Confirm which model the institution is on. "Education Cloud" and EDA are two different data models, not two names for one. EDA is a managed package of custom objects — "a community-driven data architecture that supports the entire K-20 student journey" — while modern Education Cloud ships standard objects (AcademicTerm, AcademicTermEnrollment, CourseOfferingParticipant, LearningProgram, LearningProgramPlan, LearnerProgram). Establish which one is installed before writing a single API name.
  • Confirm EDA package version. Student Success Hub and Advisor Link assume a minimum EDA version; a stale managed package will leave fields and triggers missing. Because EDA objects live in a managed package, every API name carries the package namespace prefix and a __c suffix — copy the exact name from the installed package rather than assuming the label form resolves.
  • Decide the Account model. EDA uses FOUR Account record types: Academic Program, Household, Business Organization, Administrative. You must pick the model before any Contact load — Account defaults are used by the EDA triggers for auto-creation.
  • Know the academic cadence. Term/Course/Course Offering/Course Connection modeling depends on whether the institution runs semesters, trimesters, quarters, or rolling enrollment.

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

Recommended Workflow

  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

  • Four Account record types active and default behavior verified
  • Affiliation settings mapped to correct primary types
  • Program Plan + Plan Requirement hierarchy created for every active program
  • Term rollover automation in place before first term boundary
  • Advisor caseload sharing resolves to expected Contact set for a test advisor
  • Field History tracking on Affiliation Status (audit trail for FERPA)
  • Guest user hardening on any applicant-facing Experience Cloud portal

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

Related Skills

  • admin/experience-cloud-site-setup — student/applicant portal
  • architect/nonprofit-cloud-vs-npsp-migration — sibling industry model context
  • data/eda-data-model-and-patterns — data loader patterns for EDA
  • security/guest-user-security — applicant portal safety

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Use this skill when writing test-first, behavior-driven acceptance criteria in Given/When/Then format for a Salesforce user story. Covers happy path, edge cases, negative paths, permission boundaries, and data-state preconditions so the AC block can drive UAT scripts and Apex test design downstream. Trigger keywords: given when then, gherkin, behavior driven AC, test first acceptance criteria, scenario outline, BDD acceptance criteria. NOT for the user-story format itself (use admin/user-story-writing-for-salesforce). NOT for UAT script writing (use admin/uat-test-case-design). NOT for Apex test method generation (use agents/test-class-generator). NOT for high-level UAT planning (use admin/uat-and-acceptance-criteria). More triggers: acceptance criteria record, ac_id, req_id on a criterion, artefact under test, negative case for a rule-type requirement, no-match fall-through criterion, oracle for a Then clause, test type apex flow manual, criteria linter, check_ac_format.py, --manifest-dir.

日本語の概要は準備中です。原文の説明を表示しています。

PranavNagrecha/AwesomeSalesforceSkills192026年10月4日 更新

Task and Event objects: polymorphic WhatId/WhoId, Activity object model, ActivityHistory vs OpenActivity, activity timeline customization, bulk task creation, Einstein Activity Capture boundaries. NOT for turning on EAC or calendar sync — use admin/einstein-activity-capture-setup. NOT for Email-to-Case — use admin/case-management-setup. Covers ActivitiesSettings metadata, enableActivities, shared Task/Event custom fields and FLS, TaskStatus value sets, Shared Activities and TaskRelation/EventRelation, recurring and child activities, and partial-success bulk DML on Task.

日本語の概要は準備中です。原文の説明を表示しています。

PranavNagrecha/AwesomeSalesforceSkills192026年10月4日 更新

Design Invocable Apex actions that return deterministic, agent-friendly errors instead of surfacing raw exceptions to the LLM. NOT for authoring the action itself — @InvocableMethod schema, labels, security context — use agentforce/custom-agent-actions-apex. NOT for the Apex tests that force each error branch — use agentforce/agent-action-unit-tests.

日本語の概要は準備中です。原文の説明を表示しています。

PranavNagrecha/AwesomeSalesforceSkills192026年10月4日 更新

Use when designing how an Agentforce agent extracts structured input parameters (slots) from a user's natural-language utterance to invoke an action. Triggers: 'agent extract date from user', 'agent action argument extraction', 'agentforce slot filling', 'agent invocable input mapping', 'agent fails to fill required parameter'. NOT for action authoring (use agentforce/agent-actions) or for prompt-template variable binding (use agentforce/prompt-builder-templates).

日本語の概要は準備中です。原文の説明を表示しています。

PranavNagrecha/AwesomeSalesforceSkills192026年10月4日 更新

Apex test patterns for @InvocableMethod agent actions: per-reason-code branch coverage, bulk safety, callout mocking, deterministic assertions. NOT for testing whether the agent routes to the right topic or answers well — use agentforce/agent-testing-and-evaluation. NOT for designing the error envelope the tests assert on — use agentforce/agent-action-error-handling.

日本語の概要は準備中です。原文の説明を表示しています。

PranavNagrecha/AwesomeSalesforceSkills192026年10月4日 更新

Designing or reviewing Agentforce actions: Flow actions, Apex invocable actions, prompt-template actions, action naming, input and output contracts, confirmation requirements, and safe error behavior. Triggers: 'agent actions', 'build an agent that can look up an order', 'make the agent able to check order status', 'give the agent a capability', 'agent that can retrieve a record', 'flow action for agent', 'agent invocable action', 'action schema design'. NOT for writing the Apex class itself — use agentforce/custom-agent-actions-apex. NOT for the reason_code error envelope that stops an agent retry loop — use agentforce/agent-action-error-handling.

日本語の概要は準備中です。原文の説明を表示しています。

PranavNagrecha/AwesomeSalesforceSkills192026年10月4日 更新

PranavNagrecha のスキルをすべて見る

このスキルの問題を報告する