Flows - PosiEd

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

  • 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

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

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

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