Skip to main content

#Education Cloud4 discussing

Hi Trailblazers, 

 

I'm looking to connect with anyone at a higher education institution who has worked through the data model alignment between Oracle PeopleSoft Campus Solutions and Salesforce Education Cloud's Education Data Foundation (EDF). 

 

Specifically, I'm interested in how others have approached the structural mapping between the two platforms: 

 

1. Academic Structure Mapping — How have you mapped Campus Solutions' academic hierarchy (Academic Institution, Academic Career, Academic Program, Academic Plan, Sub-Plan) to EDF's core objects? 

 

2. Data Model Gaps — Where did the two architectures diverge most, and how did you handle it? 

 

3. Reusable Artifacts — Do you have field mapping documents, data dictionaries, or reference architectures you'd be willing to share or discuss? 

 

Any experience — full implementation, pilot, or even a mapping exercise that didn't move forward — would be valuable. Happy to take the conversation to DM if you prefer. 

 

Thanks in advance! 🎓 

 

#Education Cloud

 

 

#Higher Education

0/9000

Greetings one and all!      I'm just getting started with Education Cloud, and from my overview understanding, it seems to be mostly for educational institutes, not public sector departments and agencies.  Has anyone used it to track Continuing Education credits at a State or local level, in order to verify qualifications for constituents to maintain their teaching license?    I'd love to set up a dialogue for "lessons learned".  Dutch DeVries  Pennsylvania Department of Education     

 

 

#Education Cloud

1 answer
0/9000

Hi there, 

 

I don't see any direct relationship between the learner program or Learning program Plan and the Academic Term Education data model. Is it advisable to create a lookup to the Academic term on either of the objects? 

 

#Education Cloud  #Trailhead

0/9000

 

Recommendations are not sent when both the applicant and the recommender use gmail. DKIM is Active.  The email log shows the error: 

 

550-5.7.26 Your email has been blocked because the sender is unauthenticated. 

550-5.7.26 Gmail requires all senders to authenticate with either SPF or DKIM. 

550-5.7.26  

550-5.7.26  Authentication results: 

550-5.7.26  DKIM = did not pass 

550-5.7.26  SPF [

gmail.com

] with ip: [18.135.24.81] = did not pass 

550-5.7.26  

 

 

#Education Cloud

0/9000

Hello, I’m reaching out for help or to get some experience.

After configuring Education Cloud's "collect recommendations" feature, I tested the process by logging in as an applicant, starting an application, and requesting a recommendation. 

The process creates the Contact and the Application Recommender records, which trigger the Send Recommender Survey flow. However, the recommender never receives the survey invitation email. 

My assumption is that the Send Survey Invitation flow action attempts to create a SurveyInvitation record, but the applicant's Community Plus license may not grant the permissions to create SurveyInvitation records. Has anyone else experienced the same behavior? 

 

#Education Cloud

1 answer
  1. Dec 4, 2025, 9:45 AM

    Yeah, that’s likely a permissions issue. SurveyInvitation is a standard object but Community Plus users don’t get create access by default. Try giving the profile or a permission set Create on SurveyInvitation and Survey objects, then retest. Also make sure the survey itself is active and has a public link enabled.

0/9000

I'm new to a company that uses both contacts and leads. Here is the issue we are encountering:     We get lists of potential students (we use Education Cloud) from various sources (sign-ups from events, etc). Once they apply, they are converted to a contact / Person Account. If the person's name ends up on another list (through another event sign-up, etc), our data team doesn't know if the applicant is a contact or a lead (because they're not a contact until they apply). They've historically imported leads, but this is causing a lot of duplicates to be created.    Does anybody have recommendations for how to set up a system (flow, ideally) that would allow our import file to:   1) Check for any contacts (person accounts) and update those records if the contact exists.  2) If the contact doesn't exist: Check for any leads and update or create as needed.    Thanks in advance! 

 

@Agentforce Education (Education Cloud) 

3 answers
  1. Oct 31, 2025, 7:05 PM

    Great question! We faced a very similar challenge at my institution, and it's a common headache in Higher Ed when you're managing data from so many different sources.

    There are multiple ways to approach this, but we've had a lot of success using a record-triggered Flow built on a "staging object." It sounds complex, but the concept is pretty straightforward and it made a huge difference for our data integrity.

    Here’s the basic setup we use:

    1. A "Staging" Custom Object: Instead of trying to import directly into different objects, our data team now imports all incoming lists into one custom object (we called ours Incoming Inquiry). This object has fields for all the info we get in our lists (First Name, Last Name, Email, Source, etc.). This simplifies the import process for our team immensely.
    2. An Automated Flow: A record-triggered Flow automatically runs every time a new record is created in that staging object. This is where the pattern is so flexible. At our institution, we actually don't use the Lead object, so our flow just checks for an existing Contact (Person Account). If it finds one, it updates it. If not, it creates a new Contact.
    3. Since you are using both Leads and Contacts, your flow would just follow the exact logic you described:
      • First, it checks if a Contact (Person Account) already exists. If yes, it updates the Contact and stops.
      • If no Contact is found, it then checks for an existing Lead. If yes, it updates that Lead.
      • If it finds no match at all, it creates a brand new Lead.

    The key takeaway is that the staging object + flow pattern can handle whatever matching rules you need, regardless of which objects (Leads, Contacts, or others) you're using.

    This process has been a game-changer for us. It has dramatically reduced our duplicates and provided a consistent process for our data team. Plus, the staging records give us a great audit trail of what came in and what the system did with it.

     

    When we were building this out, these Trailhead modules were incredibly helpful for getting the key concepts down:

    Hope our experience gives you a solid starting point. Good luck!

0/9000

We use person accounts through Education Cloud. I need to update the Type field on the Account object, but all I have is the Contact ID.  

1) Any ideas if it's possible through just an import? I've tried with every variation I can think of, but I just don't think the Contact ID is enough to tie it to the Account for an import. 

2) I've made a hidden field on the contact record and tried creating a flow to update the Type field anytime the hidden field is updated (we'll just update the hidden field through an import). For some reason, it's not working!  

 

Does anybody have any history of what has worked for them in a situation like this? Thank you in advance!   

#Flow #Person Accounts #Education Cloud #Education

1 answer
  1. Aug 7, 2025, 5:30 AM

    @Danielle Landaal

    There are 2 options: 

    1. Import your contacts and export those contacts including the the accountId and Type column. Now you can update the Type field because the accountId is available in the sheet.   

    2. You can implement an automation flow that if a contact is added (On insert/update) check if the hidden field is not blank. Update the Account where id = contact.AccountId. 

     

    Hope that helps. Thanks 

0/9000

During the last Education Summit I heard there was a plan for a native recommendations module? Since then not heard anything else, so reaching out to see if anyone else had heard of this? We're in the middle of discovery with an implementation partner and wanted to make sure we're not building custom solution if there's an out-of-the-box option in the near future...Thanks! #Education Cloud

4 answers
0/9000

I am implementing education cloud at a university.   

 

I setup a Learning (e.g. BA in Mathematics) and a Learning Program (e.g. BA in Mathematics with designated application start and end date).   

 

Question 1:  I want to enroll students into the Learning Program into which they were accepted. According to the object model, it looks like I need to create a Learing Program Plan record (that has a master detail lookup to the Learning Program) and a Learner Program record (that has a lookup to the Learning Program Plan).  What is the value of the Learning Program Plan record?  Is it ok to directly associate the Learning Program with the Learning Program / Learning and bypass the Learning Program Plan? 

 

Question 2:  What is the relationship between the Academic Term Enrollment record and the Learner Program?  I'd like to capture the semesters a student was enrolled in a specific Learner Program (?).  Should this be done by adding a lookup to the Learning Program on the Academic Term Enrollment record or is there a better way to do this?   

 

#Education Cloud

0/9000

Hi all, 

we have reviewed datamodel for Salesforce Educaction Cloud. 

We are planning to use the following objects for Course Offering Catalog: 

- Learning 

    - Learning Course (course activity) 

      - Course Offering (editions of the course, for example May-edition, Sept-edition,...) 

      - Course Offering Schedule: to define the days and Location (for example monday and wednesday from 9am to 6pm, at: Room-25). 

 

It is fine, for standard courses, but when we try to do the setup for high courses, like a master we have a problem. 

Our approach is to use these objects: 

 - Learning 

   - Learning Program (master) 

     - Learning Program Plan (master modules) 

   

But we don't know find an object to include: 

 - Subjects for the different modules 

 - Day\s and location when\where the subjects are performed 

 

Please, do you know how to solve this scenario.? 

Thanks in advance. 

Luis. 

 

#Education Cloud

0/9000