Automating attendance tracking for therapeutic day programs

Guest Post: Mikayla (Jamie) Little is the Salesforce Administrator at Childhaven. Childhaven uses Salesforce to track program management, program enrollment, behavioral assessments, case management, and individual treatment plans. In this guest blog post, she shares how Childhaven uses Salesforce automation tools for attendance tracking.

Childhaven is a child welfare agency that provides classroom-based therapeutic services to young children who have experienced abuse and neglect. Bigger Boat Consulting helped Childhaven implement Salesforce to track case management from a child’s enrollment to completion of the program.

A key part of Childhaven’s work is our intensive therapeutic day program. In this program, Therapeutic Classroom Teachers (TCTs) work closely with children on individual and group activities, which are designed to support the children in meeting developmental goals.

Therapeutic Classroom Teachers needed a way to create attendance quickly so they could allocate their time where it matters most, in the classroom. In addition, Childhaven sought a more efficient way to create attendance, to improve the following: tracking a child’s progress in the program, meeting contract requirements, and submitting accurate data for monthly attendance billing. Prior to Salesforce, teachers were creating attendance records manually for each child enrolled in their classroom. Teachers may have up to ten children enrolled in their class, which made creating attendance time-consuming.


Before diving into how teachers create attendance in Salesforce, it is important to understand Childhaven’s data model. First, Childhaven’s program coordinators create a contact record for each child that enrolls in the program. From the contact record, they create an enrollment record. This tracks additional information about the child’s case management services. Lastly, from the child’s enrollment, they create a class assignment record. This enrolls the child in a particular class where the teacher can see the child on their class roster and create attendance.

Click image for larger view

Creating Attendance Records

Teachers are responsible for completing attendance on a daily basis. They log attendance by selecting one of the following buttons: Attendance – Today, Attendance – Yesterday, or Attendance – 2 Days Ago. If they fall behind on completing attendance, Salesforce will allow them to create records up to two days prior.

Click image for larger view

When a teacher selects one of the buttons, Salesforce automatically creates attendance records for all children enrolled in the class. For example, if there are five children enrolled in a class, five attendance records are created. Salesforce automatically applies 5.50 hours to each attendance record, the number of attendance hours in a full day.

How did Salesforce know to create attendance records for all children enrolled in the class with the click of a button? We worked with Bigger Boat to create a process in Salesforce using Visual Workflow.  

The flow executes when a teacher selects one of our custom buttons (Attendance – Today, Attendance – Yesterday, or Attendance – 2 Days Ago).  Next, the flow performs the following steps:

  • Looks up our custom objects for Closed Days and Attendance Logs. If today is a closed day or there are existing attendance records created for the day, the flow will stop so it does not create false records. If not, it will proceed.
  • Accesses our custom object Class Assignment to find each class assignment record with a status of “Enrolled.” It ultimately saves this group of records in a “collection variable.” (Variables are useful because they can store a collection of records to be referenced later in the flow.)
  • Loops through each stored class assignment record. The flow now stores updated values like class ID, attendance log name, and current date for each record in a new variable. When the loop is done, the flow uses this variable to create attendance logs for all of these records.

Identifying A Child’s Absence

Next, a teacher can edit attendance records for children who were absent. They will select a reason for the child’s absence and save the record.

Once the record is saved, Salesforce will auto-populate the Hours Attended field with “0” to indicate that the child was absent.

How did Salesforce know to update the Hours Attended field on a child’s attendance record?We worked with Bigger Boat to create an automated process in Salesforce using Process Builder.  

Click image for larger view

The flow executes when a teacher saves the attendance record. Next, the flow performs the following steps:

  • Looks up our custom object Attendance Logs.
  • Checks whether the attendance record is marked “Absent”: the required condition for the flow to continue.
  • If the condition is met for the target record, the flow executes our pre-determined changes to the record’s fields. In this case, the flow updates the values on the following attendance record fields: Hours Attended, Start Time, and End Time.


By utilizing Salesforce process automation tools, our program managers can view which classes completed or are missing attendance for a given day (see chart below).  For classes missing attendance, program managers can reach out to teachers and remind them to complete it. 

In addition, teachers are able to monitor their status using a report chart on their Class detail page (see chart below). This helps them quickly see what days are missing attendance and serves as a reminder to create the necessary records.

Since Childhaven is required to report the total number of hours children attend each month, the ability for program managers and teachers to reference these charts has helped decrease the number of missing attendance records. This is critical to Childhaven’s work. If attendance records are not created, then that time goes unreported and Childhaven does not bill for the correct number of hours.


Thanks to Salesforce automation and Bigger Boat, we’re reporting more accurately and saving more time in the classroom.

Bigger Boat Consulting created a maintainable program management system for Childhaven, a childhood trauma treatment program. They educated us throughout the project on what was being built, why it was being built that way, and how to make changes going forward. This enables our organization to continue evolving this system with our internal team.

The use of our Salesforce system, along with thoughtful process automation, helps Childhaven:

  • Monitor each child’s attendance history (e.g. record frequencies of absences versus days attended, quickly report information to outside agencies when needed)
  • Ensure Childhaven’s billing report reflects the correct number of hours children attended
  • Save our teachers time every day, allowing them to spend more time where it matters most, in the classroom

– Mikayla (Jamie) Little, Childhaven