Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Managed Flows

Flow Name

Object

Automation

Trigger Condition

DML

Cohort: Create a Record-Triggered Flow

Cohort Automation Update

Cohort

Record Triggered flow

(before create/update)

  • If Subject Offering != null AND

  • If Timetable Structure = null

  • If Timetable Term = null

  • If Department = null

  • If Primary Grade Level = null

  • If Cohort Type = null

  • If Mark Roll = null

  • If Description = null

If
  • Timetable

!= null AND
  • If Start Date = null

  • If End Date = null

    • If Cohort Number = null

    • If Primary Location = null

    • If Primary Staff Member = null

    • If Cohort Size = null

    • If Capactity = null

    Timetable
    • Structure = Subject Offering’s Timetable Structure

    • Timetable Term = Subject Offering’s Timetable Term

    • Department = Subject Offering’s Department

    • Primary Grade Level = Subject Offering’s Grade Levels (take 1st value of multipicklist)

    • Cohort Type = Subject Offering’s Subject Type

    • Mark Roll = Subject Offering’s Mark Roll

    • Description = Subject Offering’s Description else Name

    • If Timetable != null AND

    • If Start Date = null

    • If End Date = null

    • Start Date = Timetable’s Start Date

    • End Date = Timetable’s End Date

    • If Cohort Number = null

    • If Primary Location = null

    • If Primary Staff Member = null

    • If Cohort Size = null

    • If Capactity = null

    • Cohort Number = number or value at the end of the Cohort Name

    • Primary Location =  child Cohort Schedule > Primary Location (first value found)

    • Primary Staff = child Cohort Schedule > Primary Staff Member (first value found)

    • Cohort Size = count of the Cohort Member records that have a Record Type of Students and a Status of Current.

    • Capacity = Primary Location’s Capacity

    Cohort Member: Create a Record-Triggered Flow

    Cohort Member

    Record Triggered flow

    (before create/update)

    • If Start Date = null

    • If End Date = null

    • Start Date = Cohort’s Start Date

    • End Date = Cohort’s End Date

    Cohort Schedule: Create a record-triggered Flow

    Cohort Schedule Automation Update (Bell Time)

    Cohort Schedule

    Record Triggered flow

    (before create/update)

    • If Bell Time != null AND

    • If Start Time = null

    • If End Time

    = null
  • If Start Date = null

  • If End Date
    • = null

    • Start Time = Bell Time’s Start Time

    • End Time = Bell Time’s End Time

    • If Start Date = null

    • If End Date = null

    • Start Date = Cohort’s Start Date

    • End Date = Cohort’s End Date

    • Day = Bell Time’s Day

    • Week = Bell Time’s Week

    • Period = Bell Time’s Period

    Cohort Schedule Connection - Start Time and End Time Defaults

    Cohort Schedule Connection

    Record Triggered flow (after insert/update)

    • If Start Time = null

    • If End Time = null

    • Start Time = Cohort Schedule’s Start Time

    • End Time = Cohort Schedule’s End Time

    Cohort Schedule Connection

    Cohort Schedule Connection

    Record Triggered flow (before create/update)

    • If Start Date = null

    • If End Date = null

    • Start Date= Cohort Schedule’s Start Date

    • End Date = Cohort Schedule’s End Date

    Subject Offering: Create a record-triggered flow

    Subject Offering Update

    Subject Offering

    Record Triggered flow

    (before create/update)

    • If Subject != null AND

      • If Department = null

      • If Educational Institution = null

      • If Grade Levels = null

      • If Mark Roll = null

      • If Description

    = nullIf Timetable Structure !
      • = null

    • Department = Subject’s Department

    • Educational Institution = Subject’s Educational Institution

    • Grade Levels = Subject’s Grade Levels

    • Mark Roll = Subject’s Mark Roll

    • Description = Subject’s Description, else Subject Offering Name

    • If Timetable Structure != null

    • If true, Name = (Subject) Subject Id + (Timetable Structure) Academic Year

      • example: 08MAT 2023

    • If false, Name =(Subject) Subject Id

    Unmanaged Flows

    Flow Name

    Object

    Automation

    Trigger Condition

    DML

    Create/Update Student Records Automation

    Student Record

    Record Triggered flow

    (before create/update)

    If Educational Institution’s PosiEd State = Subscriber,

    • If Student Record is created

    • If Student Record is updated

    Contact
    • If create,

      • A Person Account is created where

        • First Name = Student Record’s First Name

        • Last Name = Student Record’s Last Name 

        • Phone = Student Record’s Phone

        • Preferred Name = Student Record’s Preferred Name 

        • Gender =

    PosiEd Value (based on
        • Student Record’s Gender (using PosiEd Value Mapping

    custom setting
        • )

        • Email = Student Record’s Email 

        • Student Id = Student Record’s Student Id

        • Student Status = Student Record’s Status

        • House = Student Record’s House

        • Current Grade Level = Student Record’s Current Grade Level

        • Primary Educational Institution = Student Record’s Educational Institution

      • Update the Student Record

    is linked to the new Contact.
    • If has Contact,

      • Contact is updated with same values as above.

    • If has no Contact,

      • Contact is created with same values as above.

    • Student Record is linked to the new Contact.

    Update Contact Automation
      • where

        • Current Grade Level = Student Record’s Form

        • Student = new Person Account’s Contact

        • Primary = true

    • If update,

      • If Student is empty,

        • Create a Person Account where

          • First Name = Student Record’s First Name

          • Last Name = Student Record’s Last Name

          • Phone = Student Record’s Phone

          • Preferred Name = Student Record’s Preferred Name

          • Gender = Student Record’s Gender (using PosiEd Value Mapping)

          • Email = Student Record’s Email

          • Student Id = Student Record’s Student Id

          • Student Status = Student Record’s Status

          • House = Student Record’s House

          • Current Grade Level = Student Record’s Current Grade Level

          • Primary Educational Institution = Student Record’s Educational Institution

        • Update the Student Record where

          • Current Grade Level = Student Record’s Form

          • Student = new Person Account’s Contact

          • Primary = true

      • If Student is populated and Primary = true,

        • Update the Student’s Person Account where

          • Student Id = Student Record’s Student Id

          • Student Status = Student Record’s Status

          • House = Student Record’s House

          • Current Grade Level = Student Record’s Current Grade Level

          • Primary Educational Institution = Student Record’s Educational Institution

        • Update the Student Record where

          • Current Grade Level = Student Record’s Form

    If Educational Institution’s PosiEd State = Publisher,

    • Student Record’s Form = Student Record’s Current Grade Level

    • If Primary = true,

      • Person Account’s Current Grade Level = Student Record’s Current Grade Level

    Update Contact Automation

    Contact Automation Update (PosiEd State)

    Contact

    Record Triggered flow

    (before update)

    If Contact is updated

    • Update the all related Student Records where Educational Institution’s PosiEd State = Publisher where

      • First Name = Contact’s First Name

      • Last Name = Contact’s Last Name 

      • Phone = Contact’s Phone

      • Preferred Name = Contact’s Preferred Name 

      • Gender = PosiEd Value (based on PosiEd Value Mapping custom setting)

      • Email = Contact’s Email

    Automations to populate Staff from Employee Role Record and vice versa

    Employee Role

    Record Triggered flow

    (before create/before update)

    If Educational Institution’s PosiEd State = Subscriber,

    1. If Employee Role is created

    2. If Employee Role is updated

    • If create,

      • A new User is created where

        • First Name = Employee Role’s First Name

        • Last Name = Employee Role’s Last Name

        • Phone = Employee Role’s Phone

        • Email = Employee Role’s Email

        • Alias = Employee Role’s Display Name

        • Username = Employee Role’s Email

        • Nickname = Employee Role’s Preferred Name

        • Title = Employee Role’s Salutation

        • User License = Salesforce

        • Profile = Profile entered and specified in the Default Profile ID field of the custom settings

      • Update Employee Role’s User = new User

      • A new Person Account is created where

        • First Name = Employee Role’s First Name

        • Last Name = Employee Role’s Last Name

        • Phone = Employee Role’s Phone

        • Preferred Name = Employee Role’s

        • Gender = Employee Role’s Gender (using PosiEd Value Mapping)

        • Email = Employee Role’s Email

        • Primary Educational Institution

        • Staff Status = Employee Role’s Status

        • Staff Id = Employee Role’s Staff Id

      • Update Employee Role’s Employee = new Person Account’s Contact

      • Update Employee Role’s Primary = True

    • If update,

      • If Employee Role’s User is populated and Primary = true,

        • User is updated where

          • First Name = Employee Role’s First Name

          • Last Name = Employee Role’s Last Name

          • Phone = Employee Role’s Phone

          • Email = Employee Role’s Email

          • Alias = Employee Role’s Display Name

          • Username = Employee Role’s Email

          • Nickname = Employee Role’s Preferred Name

          • Title = Employee Role’s Salutation

      • If Employee Role’s User is empty,

        • A new User is created where

          • First Name = Employee Role’s First Name

          • Last Name = Employee Role’s Last Name

          • Phone = Employee Role’s Phone

          • Email = Employee Role’s Email

          • Alias = Employee Role’s Display Name

          • Username = Employee Role’s Email

          • Nickname = Employee Role’s Preferred Name

          • Title = Employee Role’s Salutation

          • User License = Salesforce

          • Profile = Profile entered and specified in the Default Profile ID field of the custom settings

        • Update Employee Role’s User = new User

      • If Employee Role’s Employee field is populated and Primary = true,

        • Employee Role’s Person Account is updated where

          • Staff Id = Employee Role’s Staff ID

          • Staff Status = Employee Role’s Status

          • Primary Educational Institution = Employee Role’s Educational Institution

    If Educational Institution’s PosiEd State = Publisher,

    • Employee Role is updated where Employee is populated and Primary =true

    Based from Employee Role’s Employee, update Person account where

    • Staff Id = Employee Role’s Staff Id

    • Staff Status = Employee Role’s Staff Status

    Automation when Person Account is Updated

    (unmanaged)

    Account (Person Account)

    Record Triggered flow

    If Account (Person Account) is updated

    All related Employee Roles where Educational Institution’s PosiEd State = Publisher are updated where

    • First Name = Person Account’s First Name

    • Last Name = Person Account’s Last Name

    • Phone = Person Account’s Phone

    • Preferred Name = Person Account’s Preffered Name

    • Gender = Gender (using PosiEd Value Mapping)

    • Email = Person Account’s Email

    • Educational Institution = Primary Educational Institution