Versions Compared

Key

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

...

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


  • Start Date = Timetable’s Start Date

  • End Date = Timetable’s End Date


  • 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


  • 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 = null


  • If 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 true, Name = (Subject) Subject Id + (Timetable Structure) Academic Year

    • example: 08MAT 2023

  • If false, Name =(Subject) Subject Id

...

Flow Name

Object

Automation

Trigger Condition

DML

Create/Update Student Records Automation

Student Record

Record Triggered flow

(before create/update)

If Student Record is created


If Student Record is updated

  • Contact 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 PosiEd Value Mapping custom setting)

    • Email = Student Record’s Email 

  • 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

Contact

Record Triggered flow

(before update)

If Contact is updated

  • Update the all related Student Records

    • 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 EducationalPosiEdState = Subscriber,

  1. If Employee Role is created

  2. If Employee Role is updated


If PosiEd State = Publisher,

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

  • 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 = Chatter Free

      • Profile = Chatter Free User

    • 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 = Chatter Free

        • Profile = Chatter Free User

      • 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


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