@salesforce/afv-skills 1.47.0 → 1.48.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (160) hide show
  1. package/package.json +1 -1
  2. package/skills/education-cloud-domain-configure/SKILL.md +234 -0
  3. package/skills/education-cloud-domain-configure/references/dependent-features.md +198 -0
  4. package/skills/education-cloud-domain-configure/references/domain-features/academic-operations.md +386 -0
  5. package/skills/education-cloud-domain-configure/references/domain-features/alumni-relations.md +155 -0
  6. package/skills/education-cloud-domain-configure/references/domain-features/cross-domain-dependencies.md +18 -0
  7. package/skills/education-cloud-domain-configure/references/domain-features/industriessettings-toggle-reference.md +43 -0
  8. package/skills/education-cloud-domain-configure/references/domain-features/mentoring.md +198 -0
  9. package/skills/education-cloud-domain-configure/references/domain-features/recruitment-admissions.md +315 -0
  10. package/skills/education-cloud-domain-configure/references/domain-features/student-management.md +155 -0
  11. package/skills/education-cloud-domain-configure/references/domain-features/student-success.md +249 -0
  12. package/skills/education-cloud-domain-configure/references/domain-features.md +27 -0
  13. package/skills/education-cloud-domain-configure/references/gotchas-extended.md +23 -0
  14. package/skills/education-cloud-domain-configure/references/toggle-write-path.md +67 -0
  15. package/skills/education-cloud-domain-configure/scripts/check_license_provisioned.py +62 -0
  16. package/skills/education-cloud-domain-configure/scripts/check_org_edition.py +44 -0
  17. package/skills/education-cloud-domain-configure/scripts/check_permission_assigned.py +39 -0
  18. package/skills/education-cloud-multi-campus-configure/SKILL.md +7 -0
  19. package/skills/education-cloud-multi-campus-configure/references/foundation_prerequisites.md +4 -3
  20. package/skills/service-agentforce-channel-configure/SKILL.md +33 -28
  21. package/skills/service-agentforce-human-escalation-configure/SKILL.md +205 -0
  22. package/skills/service-agentforce-human-escalation-configure/assets/escalation-thresholds.instructions.md +37 -0
  23. package/skills/service-agentforce-human-escalation-configure/assets/force-app/main/default/flows/Human_Escalation_Outbound_Flow.flow-meta.xml +173 -0
  24. package/skills/service-agentforce-human-escalation-configure/assets/package.xml +8 -0
  25. package/skills/service-agentforce-human-escalation-configure/assets/sfdx-project.json +5 -0
  26. package/skills/service-agentforce-human-escalation-configure/references/classifier-contracts.md +103 -0
  27. package/skills/service-agentforce-human-escalation-configure/references/escalation-mechanism.md +63 -0
  28. package/skills/service-agentforce-human-escalation-configure/references/failure-policy.md +44 -0
  29. package/skills/service-agentforce-human-escalation-configure/references/nga-escalation.md +57 -0
  30. package/skills/service-agentforce-human-escalation-configure/references/runtime-verification.md +72 -0
  31. package/skills/service-agentforce-human-escalation-configure/scripts/classify-agent-active.mjs +49 -0
  32. package/skills/service-agentforce-human-escalation-configure/scripts/classify-nga-escalation.mjs +166 -0
  33. package/skills/service-agentforce-human-escalation-configure/scripts/extract-outbound-route.mjs +67 -0
  34. package/skills/service-agentforce-human-escalation-configure/scripts/patch-escalation-surfaces.mjs +131 -0
  35. package/skills/service-agentforce-human-escalation-configure/scripts/tests/__init__.py +0 -0
  36. package/skills/service-agentforce-human-escalation-configure/scripts/tests/_bootstrap.py +249 -0
  37. package/skills/service-agentforce-human-escalation-configure/scripts/tests/test_escalation_contracts.py +899 -0
  38. package/skills/service-agentforce-human-escalation-configure/scripts/verify-and-configure.sh +705 -0
  39. package/skills/service-agentforce-human-escalation-configure/scripts/verify-escalation-config.mjs +89 -0
  40. package/skills/service-de-channel-routing-configure/SKILL.md +13 -5
  41. package/skills/service-de-channel-routing-configure/scripts/tests/test_skill_contract.py +25 -0
  42. package/skills/service-itsm-agentic-setup-agentforce-coordinate/SKILL.md +23 -10
  43. package/skills/service-itsm-agentic-setup-agentforce-coordinate/examples/output-templates.md +63 -48
  44. package/skills/service-itsm-agentic-setup-agentforce-coordinate/scripts/verify-child-verdict.mjs +6 -2
  45. package/skills/service-omni-agent-users-create/SKILL.md +96 -0
  46. package/skills/service-omni-agent-users-create/assets/create-users.apex.template +80 -0
  47. package/skills/service-omni-agent-users-create/references/apex-patterns.md +135 -0
  48. package/skills/service-omni-agent-users-create/references/apex-template-notes.md +40 -0
  49. package/skills/service-omni-agent-users-create/scripts/detect-and-create.sh +206 -0
  50. package/skills/service-omni-agent-users-create/scripts/detect-existing.sh +122 -0
  51. package/skills/service-omni-agent-users-create/scripts/run-create.sh +298 -0
  52. package/skills/service-omni-agent-users-create/scripts/tests/test_user_create_security.py +171 -0
  53. package/skills/service-omni-agent-work-sharing-configure/SKILL.md +78 -0
  54. package/skills/service-omni-agent-work-sharing-configure/references/api-notes.md +31 -0
  55. package/skills/service-omni-agent-work-sharing-configure/scripts/configure-and-report.sh +186 -0
  56. package/skills/service-omni-agent-work-sharing-configure/scripts/tests/_bootstrap.py +120 -0
  57. package/skills/service-omni-agent-work-sharing-configure/scripts/tests/test_agent_work_sharing_contracts.py +93 -0
  58. package/skills/service-omni-base-settings-configure/SKILL.md +77 -0
  59. package/skills/service-omni-base-settings-configure/assets/force-app/main/default/settings/OmniChannel.settings-meta.xml +8 -0
  60. package/skills/service-omni-base-settings-configure/assets/package.xml +8 -0
  61. package/skills/service-omni-base-settings-configure/assets/sfdx-project.json +12 -0
  62. package/skills/service-omni-base-settings-configure/references/api-notes.md +121 -0
  63. package/skills/service-omni-base-settings-configure/scripts/configure-and-report.sh +164 -0
  64. package/skills/service-omni-base-settings-configure/scripts/detect-existing.sh +69 -0
  65. package/skills/service-omni-channel-setup-coordinate/SKILL.md +168 -0
  66. package/skills/service-omni-channel-setup-coordinate/examples/output-templates.md +161 -0
  67. package/skills/service-omni-channel-setup-coordinate/references/gap-catalog.md +99 -0
  68. package/skills/service-omni-channel-setup-coordinate/scripts/integration-driver.sh +1542 -0
  69. package/skills/service-omni-channel-setup-coordinate/scripts/tests/__init__.py +0 -0
  70. package/skills/service-omni-channel-setup-coordinate/scripts/tests/_bootstrap.py +223 -0
  71. package/skills/service-omni-channel-setup-coordinate/scripts/tests/test_omni_contracts.py +804 -0
  72. package/skills/service-omni-command-center-analyze/SKILL.md +84 -0
  73. package/skills/service-omni-command-center-analyze/references/api-notes.md +54 -0
  74. package/skills/service-omni-command-center-analyze/scripts/analyze.sh +198 -0
  75. package/skills/service-omni-command-center-analyze/scripts/tests/_bootstrap.py +115 -0
  76. package/skills/service-omni-command-center-analyze/scripts/tests/test_command_center_analyze_contracts.py +165 -0
  77. package/skills/service-omni-permission-set-assign/SKILL.md +88 -0
  78. package/skills/service-omni-permission-set-assign/assets/package.xml +8 -0
  79. package/skills/service-omni-permission-set-assign/references/api-notes.md +143 -0
  80. package/skills/service-omni-permission-set-assign/scripts/verify-and-assign.sh +397 -0
  81. package/skills/service-omni-presence-status-deploy/SKILL.md +87 -0
  82. package/skills/service-omni-presence-status-deploy/assets/package.xml +12 -0
  83. package/skills/service-omni-presence-status-deploy/references/api-notes.md +115 -0
  84. package/skills/service-omni-presence-status-deploy/scripts/deploy-and-report.sh +422 -0
  85. package/skills/service-omni-presence-user-config-deploy/SKILL.md +80 -0
  86. package/skills/service-omni-presence-user-config-deploy/references/api-notes.md +60 -0
  87. package/skills/service-omni-presence-user-config-deploy/scripts/deploy-and-report.sh +261 -0
  88. package/skills/service-omni-presence-user-config-deploy/scripts/tests/_bootstrap.py +106 -0
  89. package/skills/service-omni-presence-user-config-deploy/scripts/tests/test_presence_user_config_contracts.py +142 -0
  90. package/skills/service-omni-queue-deploy/SKILL.md +91 -0
  91. package/skills/service-omni-queue-deploy/references/api-notes.md +140 -0
  92. package/skills/service-omni-queue-deploy/scripts/verify-and-align.sh +470 -0
  93. package/skills/service-omni-queue-members-assign/SKILL.md +93 -0
  94. package/skills/service-omni-queue-members-assign/references/api-notes.md +144 -0
  95. package/skills/service-omni-queue-members-assign/scripts/tests/_bootstrap.py +67 -0
  96. package/skills/service-omni-queue-members-assign/scripts/tests/test_queue_members_contracts.py +73 -0
  97. package/skills/service-omni-queue-members-assign/scripts/verify-and-bind.sh +362 -0
  98. package/skills/service-omni-queue-routing-config-deploy/SKILL.md +101 -0
  99. package/skills/service-omni-queue-routing-config-deploy/references/api-notes.md +127 -0
  100. package/skills/service-omni-queue-routing-config-deploy/scripts/tests/_bootstrap.py +90 -0
  101. package/skills/service-omni-queue-routing-config-deploy/scripts/tests/test_queue_routing_config_contracts.py +70 -0
  102. package/skills/service-omni-queue-routing-config-deploy/scripts/upsert-and-report.sh +538 -0
  103. package/skills/service-omni-routing-flow-deploy/SKILL.md +111 -0
  104. package/skills/service-omni-routing-flow-deploy/assets/force-app/main/default/flows/Omni_Route_Case_Trigger.SkillsBased.flow-meta.xml +94 -0
  105. package/skills/service-omni-routing-flow-deploy/assets/force-app/main/default/flows/Omni_Route_Case_Trigger.flow-meta.xml +88 -0
  106. package/skills/service-omni-routing-flow-deploy/assets/force-app/main/default/flows/Omni_Route_Cases.flow-meta.xml +144 -0
  107. package/skills/service-omni-routing-flow-deploy/assets/force-app/main/default/flows/Omni_Route_VoiceCall_Trigger.SkillsBased.flow-meta.xml +94 -0
  108. package/skills/service-omni-routing-flow-deploy/assets/force-app/main/default/flows/Omni_Route_VoiceCall_Trigger.flow-meta.xml +88 -0
  109. package/skills/service-omni-routing-flow-deploy/assets/force-app/main/default/flows/Omni_Route_VoiceCalls.flow-meta.xml +144 -0
  110. package/skills/service-omni-routing-flow-deploy/assets/package.xml +11 -0
  111. package/skills/service-omni-routing-flow-deploy/assets/sfdx-project.json +11 -0
  112. package/skills/service-omni-routing-flow-deploy/references/api-notes.md +265 -0
  113. package/skills/service-omni-routing-flow-deploy/scripts/deploy-and-report.sh +684 -0
  114. package/skills/service-omni-service-channel-configure/SKILL.md +83 -0
  115. package/skills/service-omni-service-channel-configure/assets/force-app/main/default/serviceChannels/Cases.serviceChannel-meta.xml +9 -0
  116. package/skills/service-omni-service-channel-configure/assets/force-app/main/default/serviceChannels/Incidents.serviceChannel-meta.xml +9 -0
  117. package/skills/service-omni-service-channel-configure/assets/force-app/main/default/serviceChannels/MessagingSessions.serviceChannel-meta.xml +9 -0
  118. package/skills/service-omni-service-channel-configure/assets/force-app/main/default/serviceChannels/VoiceCalls.serviceChannel-meta.xml +9 -0
  119. package/skills/service-omni-service-channel-configure/assets/package.xml +11 -0
  120. package/skills/service-omni-service-channel-configure/assets/sfdx-project.json +12 -0
  121. package/skills/service-omni-service-channel-configure/references/api-notes.md +84 -0
  122. package/skills/service-omni-service-channel-configure/scripts/deploy-and-report.sh +383 -0
  123. package/skills/service-omni-sidebar-configure/SKILL.md +77 -0
  124. package/skills/service-omni-sidebar-configure/references/api-notes.md +51 -0
  125. package/skills/service-omni-sidebar-configure/scripts/enable-and-report.sh +315 -0
  126. package/skills/service-omni-sidebar-configure/scripts/tests/_bootstrap.py +142 -0
  127. package/skills/service-omni-sidebar-configure/scripts/tests/test_sidebar_contracts.py +139 -0
  128. package/skills/service-omni-skills-based-routing-configure/SKILL.md +81 -0
  129. package/skills/service-omni-skills-based-routing-configure/references/api-notes.md +50 -0
  130. package/skills/service-omni-skills-based-routing-configure/scripts/configure-and-report.sh +270 -0
  131. package/skills/service-omni-skills-based-routing-configure/scripts/tests/_bootstrap.py +120 -0
  132. package/skills/service-omni-skills-based-routing-configure/scripts/tests/test_sbr_contracts.py +129 -0
  133. package/skills/service-omni-supervisor-config-deploy/SKILL.md +97 -0
  134. package/skills/service-omni-supervisor-config-deploy/assets/force-app/main/default/omniSupervisorConfigs/Omni_Supervisor.omniSupervisorConfig-meta.xml +9 -0
  135. package/skills/service-omni-supervisor-config-deploy/assets/package.xml +8 -0
  136. package/skills/service-omni-supervisor-config-deploy/assets/sfdx-project.json +12 -0
  137. package/skills/service-omni-supervisor-config-deploy/references/api-notes.md +205 -0
  138. package/skills/service-omni-supervisor-config-deploy/scripts/deploy-and-report.sh +586 -0
  139. package/skills/service-omni-supervisor-config-deploy/scripts/tests/_bootstrap.py +153 -0
  140. package/skills/service-omni-supervisor-config-deploy/scripts/tests/test_supervisor_config_contracts.py +116 -0
  141. package/skills/service-omni-supervisor-permset-assign/SKILL.md +88 -0
  142. package/skills/service-omni-supervisor-permset-assign/references/api-notes.md +48 -0
  143. package/skills/service-omni-supervisor-permset-assign/scripts/verify-and-assign.sh +316 -0
  144. package/skills/service-omni-supervisor-surface-deploy/SKILL.md +85 -0
  145. package/skills/service-omni-supervisor-surface-deploy/references/api-notes.md +47 -0
  146. package/skills/service-omni-supervisor-surface-deploy/scripts/deploy-and-report.sh +216 -0
  147. package/skills/service-omni-supervisor-surface-deploy/scripts/tests/_bootstrap.py +95 -0
  148. package/skills/service-omni-supervisor-surface-deploy/scripts/tests/test_supervisor_surface_contracts.py +154 -0
  149. package/skills/service-omni-supervisor-users-create/SKILL.md +92 -0
  150. package/skills/service-omni-supervisor-users-create/assets/create-supervisors.apex.template +72 -0
  151. package/skills/service-omni-supervisor-users-create/references/apex-patterns.md +73 -0
  152. package/skills/service-omni-supervisor-users-create/references/apex-template-notes.md +41 -0
  153. package/skills/service-omni-supervisor-users-create/scripts/detect-and-create.sh +197 -0
  154. package/skills/service-omni-supervisor-users-create/scripts/detect-existing.sh +112 -0
  155. package/skills/service-omni-supervisor-users-create/scripts/run-create.sh +296 -0
  156. package/skills/service-omni-work-skill-routing-configure/SKILL.md +80 -0
  157. package/skills/service-omni-work-skill-routing-configure/references/api-notes.md +67 -0
  158. package/skills/service-omni-work-skill-routing-configure/scripts/configure-and-report.sh +262 -0
  159. package/skills/service-omni-work-skill-routing-configure/scripts/tests/_bootstrap.py +121 -0
  160. package/skills/service-omni-work-skill-routing-configure/scripts/tests/test_work_skill_routing_contracts.py +161 -0
@@ -0,0 +1,198 @@
1
+ # 6. Mentoring
2
+
3
+ **Purpose**: Facilitate mentoring programs, match mentors with mentees, track sessions.
4
+
5
+ **Prerequisites**:
6
+ - All Foundation prerequisites (Section 0)
7
+ - Experience Cloud (Experience Builder) — for Mentoring Portal
8
+ - OmniStudio — for assessments and matching experiences
9
+
10
+ **Core features**:
11
+ - Mentor and mentee profiles (Person Accounts)
12
+ - Program management
13
+ - Matching rules and algorithms
14
+ - Session tracking
15
+ - Goal setting and progress
16
+
17
+ ### Sub-Feature Configuration
18
+
19
+ #### Step 1 — Create Mentoring Programs
20
+
21
+ **What it does**: Creates Mentoring Program records.
22
+
23
+ **Setup path**:
24
+ 1. Navigate to Mentoring app (or Education Cloud app) → Mentoring Programs
25
+ 2. Click New
26
+ 3. Create Mentoring Program record:
27
+ - Program Name: "Alumni-Student Mentoring"
28
+ - Program Type: Peer Mentoring / Alumni-Student / Professional Mentoring
29
+ - Start Date: 2025-09-01
30
+ - End Date: 2026-05-31
31
+ - Capacity: 100 mentor-mentee pairs
32
+ - Status: Active
33
+ 4. Define program goals and benefits
34
+ 5. Save
35
+ 6. Repeat for additional programs
36
+
37
+ **Verification** (read back by the Id captured at creation — a SOQL `SELECT Id FROM <Object> WHERE ...` via `queryParams` also works if you need to re-find the record later):
38
+ ```http
39
+ GET /services/data/v68.0/sobjects/MentoringProgram__c/<id-captured-from-create-response>
40
+ ```
41
+
42
+ ---
43
+
44
+ #### Step 2 — Set Up Mentoring Programs (Program and Benefit Management Settings)
45
+
46
+ **What it does**: Set Up Mentoring Programs — define and manage mentoring support programs with related benefits. Under Setup, the single Mentoring sub-feature link ("Set Up Mentoring Programs") leads to **Program and Benefit Management Settings**, the SAME 4 toggles used by Student Success. Mentoring shares this setting group, so if you configured Student Success first these are already on.
47
+
48
+ The 4 toggles:
49
+
50
+ - **Program and Benefit Management** — Create and manage your programs, benefits, and goals.
51
+ - **Benefit Assignment and Goal Assignment Sharing** — Allow users to access all benefit assignment and goal assignment records when the user has access to the record's parent records.
52
+ - **Allow benefit assignments with inactive program enrollments** — Allow benefit assignments even when the related program enrollment is inactive.
53
+ - **Program Cohorts** — Create and manage program cohorts.
54
+
55
+ **Setup UI path (for reference)**:
56
+ 1. From Setup → Set Up Education Cloud → Mentoring → **Set Up Mentoring Programs**.
57
+ 2. Open **Program and Benefit Management Settings** and confirm all 4 toggles are on.
58
+
59
+ **Idempotent behavior**: These may already be enabled from Student Success. Cold-verify FIRST; only write the toggles that read `false`; then re-verify. Skipping already-on toggles is expected — report them as already enabled.
60
+
61
+ **Before enabling any that are off — confirm with customer.** UPDATE operation on org metadata. Present for approve / reject / modify before executing.
62
+
63
+ **API call (technical)** — metadata elements on `IndustriesSettings`, `fullName = Industries`:
64
+
65
+ | Setup toggle | Metadata element | Flat read field |
66
+ |---|---|---|
67
+ | Program and Benefit Management | `enableBenefitManagementPreference` | `IsBenefitManagementPreferenceEnabled` |
68
+ | Benefit Assignment and Goal Assignment Sharing | `enableBenefitAndGoalSharingPref` | `IsBenefitAndGoalSharingPrefEnabled` |
69
+ | Allow benefit assignments with inactive program enrollments | `allowBenefitAssignmentWithInactiveProgramEnrollment` | `AllowBenefitAssignmentWithInactiveProgramEnrollment` |
70
+ | Program Cohorts | `enableProgramCohorts` | `IsProgramCohortsEnabled` |
71
+
72
+ Enable any that are off (include only the off ones in the xmlRep, or send all four true — safe/idempotent):
73
+
74
+ ```http
75
+ PUT /services/data/v68.0/headless/metadata
76
+ ```
77
+ ```json
78
+ {
79
+ "type": "IndustriesSettings",
80
+ "fullName": "Industries",
81
+ "xmlRep": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><IndustriesSettings xmlns=\"http://soap.sforce.com/2006/04/metadata\"><enableBenefitManagementPreference>true</enableBenefitManagementPreference><enableBenefitAndGoalSharingPref>true</enableBenefitAndGoalSharingPref><allowBenefitAssignmentWithInactiveProgramEnrollment>true</allowBenefitAssignmentWithInactiveProgramEnrollment><enableProgramCohorts>true</enableProgramCohorts></IndustriesSettings>"
82
+ }
83
+ ```
84
+
85
+ **Cold verification (mandatory)**:
86
+ ```http
87
+ GET /services/data/v68.0/tooling/sobjects/IndustriesSettings/bWRjLzBIRS9JbmR1c3RyaWVzU2V0dGluZ3M=
88
+ ```
89
+ Confirm all four `.Metadata.*` elements AND their flat `Is*Enabled` reads are `true`.
90
+
91
+ ---
92
+
93
+ #### Step 3 — Configure Mentor and Mentee Profiles
94
+
95
+ **What it does**: Defines profile fields for Mentors and Mentees.
96
+
97
+ **Setup path**:
98
+ 1. Navigate to Mentoring app → Program Members
99
+ 2. Define profile fields for Mentors:
100
+ - Industry
101
+ - Expertise
102
+ - Graduation year
103
+ - Availability
104
+ - Preferred communication style
105
+ 3. Define profile fields for Mentees:
106
+ - Academic goals
107
+ - Career interests
108
+ - Preferred communication style
109
+ - Availability
110
+ 4. Configure matching assessment questions
111
+ 5. Save
112
+
113
+ **Verification**: Check Program Members show mentor and mentee profile fields.
114
+
115
+ ---
116
+
117
+ #### Step 4 — Set Up Mentor-Mentee Matching via Assessments
118
+
119
+ **What it does**: Activates Mentoring Assessment OmniScript and configures matching criteria.
120
+
121
+ **Setup path**:
122
+ 1. Navigate to Setup → OmniStudio → OmniScripts
123
+ 2. Activate Mentoring Assessment OmniScript
124
+ 3. Configure matching criteria:
125
+ - Skills alignment
126
+ - Availability overlap
127
+ - Goal compatibility
128
+ 4. Set matching mode:
129
+ - Manual (admin reviews and matches)
130
+ - Algorithmic (automatic based on criteria)
131
+ - Hybrid (admin-assisted with algorithm suggestions)
132
+ 5. Create mentor-mentee pair records upon match confirmation
133
+ 6. Save
134
+
135
+ **Verification**: Check Mentoring Portal shows matched pairs.
136
+
137
+ ---
138
+
139
+ #### Step 5 — Set Up the Mentoring Portal (Experience Cloud)
140
+
141
+ **What it does**: Deploys Mentoring Portal with profile browsing, match requests, meeting log, messaging.
142
+
143
+ **Setup path**:
144
+ 1. Navigate to Setup → Digital Experiences → All Sites
145
+ 2. Create new Experience Cloud site or configure existing site
146
+ 3. Add Mentoring Portal components:
147
+ - Mentor profile browsing
148
+ - Match request submission
149
+ - Meeting log and milestone tracker
150
+ - Messaging between mentor/mentee
151
+ 4. Configure access for authenticated mentors and mentees
152
+ 5. Publish and activate the portal
153
+
154
+ **Verification**: Navigate to portal URL and verify components load for mentor/mentee users.
155
+
156
+ ---
157
+
158
+ #### Step 6 — Configure Mentoring Benefits Management
159
+
160
+ **What it does**: Defines benefit types and assigns benefits to active mentor-mentee pairs.
161
+
162
+ **Setup path**:
163
+ 1. Navigate to Mentoring app → Benefits
164
+ 2. Define benefit types:
165
+ - Career resources (resume review, interview prep)
166
+ - Event invites (networking events, workshops)
167
+ - Recognition (awards, certificates)
168
+ 3. Assign benefits to active mentor-mentee pairs
169
+ 4. Configure benefit expiration and renewal rules
170
+ 5. Save
171
+
172
+ **Verification**: Check Benefits tab shows assigned benefits.
173
+
174
+ ---
175
+
176
+ #### Step 7 — Configure Notifications and Milestone Tracking
177
+
178
+ **What it does**: Sets up automated notifications and milestone completion criteria.
179
+
180
+ **Setup path**:
181
+ 1. Navigate to Setup → Flows → Create new Flow
182
+ 2. Set up automated notifications for:
183
+ - New match confirmations
184
+ - Meeting reminders
185
+ - Milestone completions
186
+ - Program end dates
187
+ 3. Configure milestone record types:
188
+ - First meeting completed
189
+ - 3-month check-in
190
+ - Program completion
191
+ 4. Configure milestone completion criteria
192
+ 5. Link milestones to mentor-mentee pair record
193
+ 6. Activate flows
194
+
195
+ **Verification**: Test with test mentor-mentee pair to confirm notifications send.
196
+
197
+ ---
198
+
@@ -0,0 +1,315 @@
1
+ # 2. Recruitment & Admissions
2
+
3
+ **Purpose**: Manage student recruitment, application processing, and admission decisions.
4
+
5
+ **Prerequisites**:
6
+ - All Foundation prerequisites (Section 0)
7
+ - Experience Cloud license — for applicant portal
8
+ - Salesforce Scheduler — for campus tour and appointment booking
9
+ - OmniStudio — for Application Stages (FlexCards + OmniScripts)
10
+ - Marketing Cloud Engagement for Education (optional) — for prospect nurture campaigns
11
+
12
+ **Core features**:
13
+ - Applicant tracking (Person Accounts)
14
+ - Application forms and portals
15
+ - Admission processes and workflows
16
+ - Communication templates
17
+ - Digital engagement channels
18
+
19
+ ### Enablement & Toggles
20
+
21
+ > **No domain master toggle.** This domain has no single on/off switch. It is configured through two independent sub-feature settings under Setup → Set Up Education Cloud → Recruitment & Admissions. Configure each on its own; there is no "enable Recruitment & Admissions" step.
22
+ >
23
+ > Both are individual settings on the `IndustriesSettings` metadata object (`fullName = Industries`), toggled via the headless metadata endpoint and cold-verified against the Tooling API read. These are UPDATE ops that toggle both ways (`true`↔`false`) — unlike the one-way domain toggles.
24
+
25
+ #### Sub-feature 1 — Turn Off Automatic Decision Sharing
26
+
27
+ **What this controls (customer-facing)**: Prevent automatic sharing of application decision data with portal users.
28
+
29
+ - **ON** → automatic decision sharing is turned OFF. Application decision records are NOT automatically shared with portal users.
30
+ - **OFF** → application decision records are automatically shared on the date defined on the application timeline.
31
+
32
+ Enable this when you do NOT want application decisions to surface to portal users automatically on the timeline date — for example, when decisions are released manually or through a controlled communication.
33
+
34
+ **Setup UI path (for reference)**:
35
+ 1. From Setup, in Quick Find enter `Set Up Education Cloud`, then select **Set Up Education Cloud**.
36
+ 2. Under Recruitment & Admissions, find **Turn Off Automatic Decision Sharing** and turn on **Turn Off Application Decision Sharing**.
37
+
38
+ **Before changing — confirm with customer.** UPDATE operation on org metadata. Present for approve / reject / modify before executing.
39
+
40
+ **API call (technical)** — metadata element `enableApplnDecStdSharing` (flat read `IsApplnDecStdSharingEnabled`). Turn OFF automatic decision sharing (enable the "turn off sharing" setting):
41
+ ```http
42
+ PUT /services/data/v68.0/headless/metadata
43
+ ```
44
+ ```json
45
+ {
46
+ "type": "IndustriesSettings",
47
+ "fullName": "Industries",
48
+ "xmlRep": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><IndustriesSettings xmlns=\"http://soap.sforce.com/2006/04/metadata\"><enableApplnDecStdSharing>true</enableApplnDecStdSharing></IndustriesSettings>"
49
+ }
50
+ ```
51
+ Send `false` to allow automatic sharing again.
52
+
53
+ #### Sub-feature 2 — Application Materials Protection
54
+
55
+ **What this controls (customer-facing)**: Control post-submission edit protection for admissions application materials. When ON, application materials are protected from edits after submission.
56
+
57
+ **Setup UI path (for reference)**:
58
+ 1. From Setup → Set Up Education Cloud → Recruitment & Admissions.
59
+ 2. Find **Application Materials Protection** and turn it on.
60
+
61
+ **Before changing — confirm with customer.** UPDATE operation on org metadata. Present for approve / reject / modify before executing.
62
+
63
+ **API call (technical)** — metadata element `enableAppMaterialsProtection` (flat read `IsAppMaterialsProtectionEnabled`):
64
+ ```http
65
+ PUT /services/data/v68.0/headless/metadata
66
+ ```
67
+ ```json
68
+ {
69
+ "type": "IndustriesSettings",
70
+ "fullName": "Industries",
71
+ "xmlRep": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><IndustriesSettings xmlns=\"http://soap.sforce.com/2006/04/metadata\"><enableAppMaterialsProtection>true</enableAppMaterialsProtection></IndustriesSettings>"
72
+ }
73
+ ```
74
+ Send `false` to remove post-submission edit protection.
75
+
76
+ #### Cold verification (mandatory — both sub-features)
77
+
78
+ `success:true` on the write is necessary but NOT sufficient. Always cold-verify against the Tooling API record:
79
+ ```http
80
+ GET /services/data/v68.0/tooling/sobjects/IndustriesSettings/bWRjLzBIRS9JbmR1c3RyaWVzU2V0dGluZ3M=
81
+ ```
82
+ (Raw trailing `=`, NOT URL-encoded `%3D`.) Confirm each element AND its flat read match intended state:
83
+ - `.Metadata.enableApplnDecStdSharing` ↔ `.IsApplnDecStdSharingEnabled`
84
+ - `.Metadata.enableAppMaterialsProtection` ↔ `.IsAppMaterialsProtectionEnabled`
85
+
86
+ Only report a setting as changed after both the metadata element and its flat `Is*Enabled` field read the intended value.
87
+
88
+ ### Sub-Feature Configuration
89
+
90
+ #### Step 1 — Run the Guided Setup Wizard
91
+
92
+ **What it does**: Runs the Education Cloud Guided Setup wizard to apply foundation settings.
93
+
94
+ **Setup path**:
95
+ 1. Navigate to Setup → Feature Settings → Set Up Education Cloud
96
+ 2. Click "Run Guided Setup" or "Get Started"
97
+ 3. Follow wizard steps to completion
98
+ 4. Confirm all foundation settings are applied
99
+
100
+ **Verification**: Check Setup → Set Up Education Cloud shows wizard completed.
101
+
102
+ ---
103
+
104
+ #### Step 2 — Set Up the Admissions Console
105
+
106
+ **What it does**: Configures Admissions Console app for admissions officers.
107
+
108
+ **Setup path**:
109
+ 1. Navigate to Setup → App Manager → Find "Admissions Console"
110
+ 2. Click Edit
111
+ 3. Assign to admissions officer profiles
112
+ 4. Configure page layouts for Application, Inquiry, and Opportunity objects
113
+ 5. Add components:
114
+ - Application pipeline
115
+ - Inquiry management
116
+ - Document review
117
+ 6. Save
118
+
119
+ **Verification**: Check App Launcher shows Admissions Console for admissions users.
120
+
121
+ ---
122
+
123
+ #### Step 3 — Set Up the Recruiter Console
124
+
125
+ **What it does**: Configures Recruiter Console for recruiter profiles.
126
+
127
+ **Setup path**:
128
+ 1. Navigate to Setup → App Manager → Find "Recruiter Console"
129
+ 2. Click Edit
130
+ 3. Assign to recruiter profiles
131
+ 4. Add components:
132
+ - Prospect list
133
+ - Inquiry management
134
+ - Communication log
135
+ - Event registration
136
+ 5. Save
137
+
138
+ **Verification**: Check App Launcher shows Recruiter Console for recruiter users.
139
+
140
+ ---
141
+
142
+ #### Step 4 — Set Up the Reviewer Console
143
+
144
+ **What it does**: Configures Reviewer Console for application reviewers.
145
+
146
+ **Setup path**:
147
+ 1. Navigate to Setup → App Manager → Find "Reviewer Console"
148
+ 2. Click Edit
149
+ 3. Assign to application reviewer profiles
150
+ 4. Configure Application Review and Scoring components:
151
+ - Rubric scoring
152
+ - Reviewer assignments
153
+ - Decision workflow
154
+ 5. Save
155
+
156
+ **Verification**: Check App Launcher shows Reviewer Console for reviewer users.
157
+
158
+ ---
159
+
160
+ #### Step 5 — Set Up the Director Console (Admissions)
161
+
162
+ **What it does**: Configures Director Console with KPI and pipeline visibility for admissions directors.
163
+
164
+ **Setup path**:
165
+ 1. Navigate to Setup → App Manager → Find "Director Console"
166
+ 2. Click Edit
167
+ 3. Configure KPI and pipeline visibility components:
168
+ - Application pipeline metrics
169
+ - Reviewer performance
170
+ - Admission funnel
171
+ 4. Save and assign to director user profiles
172
+
173
+ **Verification**: Check App Launcher shows Director Console for director users.
174
+
175
+ ---
176
+
177
+ #### Step 6 — Configure Application Stages
178
+
179
+ **What it does**: Activates Application Stage OmniScripts and FlexCards, maps stages to OmniScripts.
180
+
181
+ **Setup path**:
182
+ 1. Navigate to Setup → OmniStudio → OmniScripts
183
+ 2. Activate Application Stage OmniScripts (e.g., "Application Submission", "Application Review", "Decision")
184
+ 3. Navigate to Setup → OmniStudio → FlexCards
185
+ 4. Activate Application Stage FlexCards
186
+ 5. Map each Application Stage to the appropriate OmniScript:
187
+ - Submission Stage → Application Submission OmniScript
188
+ - Review Stage → Application Review OmniScript
189
+ - Decision Stage → Decision OmniScript
190
+ 6. Configure stage transitions and required fields per stage
191
+
192
+ **Verification**: Check Application object has Stage picklist values and OmniScript assignments.
193
+
194
+ ---
195
+
196
+ #### Step 7 — Configure Inquiry and Opportunity Management
197
+
198
+ **What it does**: Sets up Lead/Inquiry record types for prospective students and Opportunity record types for application pipeline.
199
+
200
+ **Setup path**:
201
+ 1. Navigate to Setup → Object Manager → Lead
202
+ 2. Create Lead/Inquiry record types:
203
+ - Prospective Student
204
+ - Transfer Inquiries
205
+ - Graduate Inquiries
206
+ 3. Navigate to Setup → Object Manager → Opportunity
207
+ 4. Create Opportunity record types for application pipeline:
208
+ - Undergraduate Application
209
+ - Graduate Application
210
+ - Transfer Application
211
+ 5. Map inquiry sources (web form, event, direct) to record creation flows
212
+
213
+ **Verification**: `GET /services/data/v68.0/tooling/query` with `queryParams: {"q": "SELECT Id, Name, SobjectType FROM RecordType WHERE SobjectType IN ('Lead','Opportunity')"}` — confirm each created record type by Name. Or describe the object (`GET /services/data/v68.0/sobjects/Lead/describe` or `Opportunity/describe`) to confirm via `recordTypeInfos`.
214
+
215
+ ---
216
+
217
+ #### Step 8 — Set Up Campus and Program Finder
218
+
219
+ **What it does**: Configures Campus Finder component in Experience Cloud and links to Learning Program and Business Account data.
220
+
221
+ **Setup path**:
222
+ 1. Navigate to Experience Builder for the applicant portal
223
+ 2. Add Campus Finder component to the portal
224
+ 3. Link to Learning Program records
225
+ 4. Link to Business Account records (Campus level)
226
+ 5. Publish to the applicant-facing portal
227
+
228
+ **Verification**: Navigate to portal URL and verify Campus Finder component loads.
229
+
230
+ ---
231
+
232
+ #### Step 9 — Set Up Application Permissions and Sharing
233
+
234
+ **What it does**: Configures OWD (Org-Wide Defaults) for Application object and sets up sharing rules.
235
+
236
+ **Setup path**:
237
+ 1. Navigate to Setup → Sharing Settings → Application
238
+ 2. Set OWD to Private or Public Read Only
239
+ 3. Create sharing rules to ensure applicants can only see their own records
240
+ 4. Assign permission sets to admissions staff with broader access
241
+
242
+ **Verification**: Test with applicant user profile to confirm they see only their own application.
243
+
244
+ ---
245
+
246
+ #### Step 10 — Configure Recommendation Collection
247
+
248
+ **What it does**: Sets up recommendation request flows and email templates for recommender outreach.
249
+
250
+ **Setup path**:
251
+ 1. Navigate to Setup → Flows → Create new Flow
252
+ 2. Configure Recommendation Request flow:
253
+ - Trigger: Application reaches "Submitted" stage
254
+ - Action: Send email to recommenders
255
+ 3. Configure email templates for recommender outreach
256
+ 4. Link recommendations to the Application record
257
+ 5. Activate flow
258
+
259
+ **Verification**: Test with test application to confirm recommendation request email is sent.
260
+
261
+ ---
262
+
263
+ #### Step 11 — Configure Application Review Process and Scoring
264
+
265
+ **What it does**: Configures rubric templates for application scoring and assigns reviewer pools.
266
+
267
+ **Setup path**:
268
+ 1. Navigate to Admissions Console → Rubric Templates
269
+ 2. Create rubric templates for application scoring:
270
+ - Academic Achievement (GPA, test scores)
271
+ - Extracurricular Involvement
272
+ - Essays and Personal Statement
273
+ - Recommendations
274
+ 3. Assign reviewer pools per program or application type
275
+ 4. Set up automated assignment rules for reviewer distribution
276
+ 5. Save
277
+
278
+ **Verification**: Check Reviewer Console shows rubric templates and assigned applications.
279
+
280
+ ---
281
+
282
+ #### Step 12 — Configure the Applicant Portal (Experience Cloud)
283
+
284
+ **What it does**: Deploys applicant-facing portal with application form, status tracker, document upload, recommendation status.
285
+
286
+ **Setup path**:
287
+ 1. Navigate to Setup → Digital Experiences → All Sites
288
+ 2. Create new Experience Cloud site or configure existing site
289
+ 3. Add components:
290
+ - Application form
291
+ - Status tracker
292
+ - Document upload
293
+ - Recommendation status
294
+ 4. Set up unauthenticated and authenticated access paths
295
+ 5. Publish and activate the portal
296
+
297
+ **Verification**: Navigate to portal URL and verify components load for applicant users.
298
+
299
+ ---
300
+
301
+ #### Step 13 — (Optional) Import Common App Data
302
+
303
+ **What it does**: Configures Common App integration connector and maps fields to Education Cloud Application fields.
304
+
305
+ **Setup path**:
306
+ 1. Navigate to Setup → Integrations → Common App Connector
307
+ 2. Configure connector settings (API credentials)
308
+ 3. Map Common App fields to Education Cloud Application fields
309
+ 4. Run initial data import
310
+ 5. Validate imported data
311
+
312
+ **Verification**: Check Application records populated with Common App data.
313
+
314
+ ---
315
+
@@ -0,0 +1,155 @@
1
+ # 5. Student Management
2
+
3
+ **Purpose**: Centralized student information, enrollment tracking, and records management.
4
+
5
+ **Prerequisites**:
6
+ - All Foundation prerequisites (Section 0)
7
+ - Person Accounts enabled (students are stored as Person Account records)
8
+ - Academic Operations set up (courses, programs, calendar must exist before enrollment records)
9
+ - OmniStudio — for portal-based student management components
10
+ - Experience Cloud — for student-facing access
11
+ - SIS Integration (optional) — for syncing student records from external Student Information System
12
+
13
+ **Core features**:
14
+ - Student records (Person Accounts)
15
+ - Enrollment status and history
16
+ - Attendance tracking
17
+ - Academic standing
18
+ - Degree progress
19
+
20
+ ### Sub-Feature Configuration
21
+
22
+ #### Step 1 — Configure Student Record Types
23
+
24
+ **What it does**: Confirms Student record type exists and configures student-specific page layout.
25
+
26
+ **Setup path**:
27
+ 1. Navigate to Setup → Object Manager → Account (Person Account)
28
+ 2. Confirm Student record type exists and is active
29
+ 3. Edit Student record type page layout
30
+ 4. Add student-specific fields:
31
+ - Enrollment status
32
+ - Academic standing
33
+ - GPA
34
+ - Advisor assignment
35
+ - Major/program
36
+ 5. Save
37
+
38
+ **Verification**: `GET /services/data/v68.0/tooling/query` with `queryParams: {"q": "SELECT Id, Name, SobjectType FROM RecordType WHERE SobjectType='Account' AND Name='Student'"}` — confirm the Student record type exists. Or describe the object (`GET /services/data/v68.0/sobjects/Account/describe`) to confirm via `recordTypeInfos`.
39
+
40
+ ---
41
+
42
+ #### Step 2 — Configure Enrollment Records
43
+
44
+ **What it does**: Sets up enrollment record types per term and configures enrollment status picklist values.
45
+
46
+ **Setup path**:
47
+ 1. Navigate to Student Management App → Enrollment
48
+ 2. Set up enrollment record types per term
49
+ 3. Configure enrollment status picklist values:
50
+ - Enrolled
51
+ - Withdrawn
52
+ - Completed
53
+ - Pending
54
+ 4. Link enrollment records to Academic Term and Learning Course
55
+ 5. Save
56
+
57
+ **Verification**: `GET /services/data/v68.0/query` with `queryParams: {"q": "SELECT Id, Name FROM Enrollment__c"}` (add a `WHERE` filter on the term/course lookup once confirmed via describe — no need to ask the user for a raw Id). Describe the object (`GET /services/data/v68.0/sobjects/Enrollment__c/describe`) first to confirm field names/record types.
58
+
59
+ ---
60
+
61
+ #### Step 3 — Set Up Student Academic Records
62
+
63
+ **What it does**: Configures grade record types and academic standing calculation rules.
64
+
65
+ **Setup path**:
66
+ 1. Configure Grade record types:
67
+ - Midterm Grade
68
+ - Final Grade
69
+ - Transfer Credit Grade
70
+ 2. Configure page layouts for grade records
71
+ 3. Set up academic standing calculation rules:
72
+ - GPA ≥ 3.0 = Good Standing
73
+ - 2.0 ≤ GPA < 3.0 = Probation
74
+ - GPA < 2.0 = Academic Suspension
75
+ 4. Link grade records to Course Offering and Enrollment
76
+ 5. Save
77
+
78
+ **Verification**: `GET /services/data/v68.0/tooling/query` with `queryParams: {"q": "SELECT Id, Name, SobjectType FROM RecordType WHERE SobjectType='Account' AND Name IN ('Midterm Grade','Final Grade','Transfer Credit Grade')"}` — no need to ask the user for a raw Id. Describe the object (`GET /services/data/v68.0/sobjects/Account/describe`) as a fallback to confirm via `recordTypeInfos`.
79
+
80
+ ---
81
+
82
+ #### Step 4 — Configure Advisor Assignments
83
+
84
+ **What it does**: Sets up advisor-to-student assignment rules.
85
+
86
+ **Setup path**:
87
+ 1. Navigate to Student Management App → Advisor Assignments
88
+ 2. Set up advisor-to-student assignment rules:
89
+ - By major
90
+ - By department
91
+ - By caseload (max students per advisor)
92
+ 3. Link advisor assignments to Advisor Console (Student Success)
93
+ 4. Save
94
+
95
+ **Verification**: `GET /services/data/v68.0/query` with `queryParams: {"q": "SELECT Id, Name FROM AdvisorAssignment__c"}` (add a `WHERE` filter on the advisor/student lookup once confirmed via describe — no need to ask the user for a raw Id). Describe the object (`GET /services/data/v68.0/sobjects/AdvisorAssignment__c/describe`) first to confirm field names/record types.
96
+
97
+ ---
98
+
99
+ #### Step 5 — Set Up Student Holds (Centralized View)
100
+
101
+ **What it does**: Links holds from Academic Operations to Student Management record.
102
+
103
+ **Setup path**:
104
+ 1. Navigate to Student Management App → Student record page
105
+ 2. Add Holds component to page layout
106
+ 3. Link holds from Academic Operations
107
+ 4. Configure holds view on student profile page
108
+ 5. Set up hold notification flows for students and staff
109
+ 6. Save
110
+
111
+ **Verification**: Check Student record page shows Holds component.
112
+
113
+ ---
114
+
115
+ #### Step 6 — Configure the Student 360 View
116
+
117
+ **What it does**: Adds comprehensive components to Student record page.
118
+
119
+ **Setup path**:
120
+ 1. Navigate to Setup → Object Manager → Account (Person Account)
121
+ 2. Edit Student record type page layout
122
+ 3. Add components:
123
+ - Enrollment history
124
+ - Academic plan / Degree plan
125
+ - Advising history and care plans
126
+ - Financial account summary
127
+ - Holds and alerts
128
+ - Involvement and extracurriculars
129
+ 4. Publish updated page layout to relevant profiles
130
+ 5. Save
131
+
132
+ **Verification**: Check Student record page shows all 360 view components.
133
+
134
+ ---
135
+
136
+ #### Step 7 — (Optional) Configure SIS Integration
137
+
138
+ **What it does**: Sets up SIS connector or middleware integration and configures sync schedule.
139
+
140
+ **Setup path**:
141
+ 1. Navigate to Setup → Integrations → SIS Connector
142
+ 2. Configure SIS connector settings (API credentials)
143
+ 3. Map SIS fields to Education Cloud object fields:
144
+ - Student ID → External ID
145
+ - Name → Account Name
146
+ - Enrollment status → Enrollment Status
147
+ - Grades → Grade records
148
+ 4. Configure sync schedule (real-time or batch)
149
+ 5. Test bidirectional sync for student records, enrollment, and grades
150
+ 6. Activate sync
151
+
152
+ **Verification**: Check Student records populated with SIS data.
153
+
154
+ ---
155
+