---
schema_version: "1"
id: 88e052ef27458d5ca8c80182f8f8cec2df93575f500c1a10babc77d774285f7a
title: Apex Class Descriptions for Student Success Hub
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/sfdo/264-0-0/ssh_reference_apex_class_descriptions.md
canonical_url: https://help.salesforce.com/s/articleView?id=sfdo.ssh_reference_apex_class_descriptions.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: 9139abf9bc2e0197c2dd735876d116b46f3e90065ea9276b8fc40ebc099f7045
description: Understand the Apex classes managed by Table-Driven Trigger Management in Student Success Hub.
products:
  - Nonprofit
  - Education
release: "264"
---
# Apex Class Descriptions for Student Success Hub

Understand the Apex classes managed by Table-Driven Trigger Management in Student Success Hub.

Below is a list of the Apex classes managed by Table-Driven Trigger Management (TDTM) in Student Success Hub, along with a description of each. Use these descriptions to help inform your decisions when using TDTM.

To see a complete list of the trigger handlers that Student Success Hub uses, click ![The App Launcher icon, which is a grid of gray dots](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-sfdo-student_success_hub-264-0-0-production-enus/b7ac11a0-381d-499e-afd5-05e856602032/resources-product/images/app_launcher_grey.png) and search for and select **Trigger Handlers**.

![Note](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-sfdo-student_success_hub-264-0-0-production-enus/b7ac11a0-381d-499e-afd5-05e856602032/images/icon_note.png)

Note If you see a record on the Trigger Handlers page that isn't listed here, it's probably an EDA trigger. For descriptions of EDA triggers, see [Apex Class Descriptions for EDA](https://help.salesforce.com/s/articleview?id=sfdo.pmm_folder_sharing_reports_dash.htm) in the EDA documentation.

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small ">
        <colgroup>
          <col style="width:20%">
          <col style="width:30%">
          <col style="width:50%">
        </colgroup>
        <thead class="slds-text-title_caps ">
          <tr class="">
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d63566e51">
              <p style="margin-bottom:0;">Object</p>
            </th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d63566e54">
              <p style="margin-bottom:0;">Class Name</p>
            </th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d63566e57">
              <p style="margin-bottom:0;">Description </p>
            </th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="Object" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e51 ">
              <p style="margin-bottom:0;">Alert__c</p>
            </td>
            <td data-label="Class Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e54 ">
              <p style="margin-bottom:0;">sfal.AlertAssignment_TDTM</p>
            </td>
            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e57 ">
              <p style="margin-bottom:0;">This class ensures that every new and updated Alert record is assigned to the appropriate User based on the Alert's assignment rules.</p>
            </td>
          </tr>
          <tr class="">
            <td data-label="Object" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e51 ">
              <p style="margin-bottom:0;">Alert__c</p>
            </td>
            <td data-label="Class Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e54 ">
              <p style="margin-bottom:0;">sfal.AlertNotification_TDTM</p>
            </td>
            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e57 ">
              <p style="margin-bottom:0;">This class posts a notification to an Alert's Chatter feed when the Alert is assigned to someone other than the User who created or updated the Alert record. For more information, see <a href="https://help.salesforce.com/s/articleView?id=sfdo.ssh_setup_alerts.htm&amp;release=264.0.0&amp;type=5" title="Get Alerts up and running in your Student Success Hub org.">Set Up Alerts</a>.</p>
            </td>
          </tr>
          <tr class="">
            <td data-label="Object" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e51 ">
              <p style="margin-bottom:0;">Alert__c</p>
            </td>
            <td data-label="Class Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e54 ">
              <p style="margin-bottom:0;">sfal.AlertRelatedToPopulation_TDTM</p>
            </td>
            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e57 ">
              <p style="margin-bottom:0;">When an Alert record is created or updated, this class populates the Related Record Name and Related Record Id fields to ensure only one Alert relationship exists.</p>
            </td>
          </tr>
          <tr class="">
            <td data-label="Object" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e51 ">
              <p style="margin-bottom:0;">Alert__c</p>
            </td>
            <td data-label="Class Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e54 ">
              <p style="margin-bottom:0;">sfal.AlertSharing_TDTM</p>
            </td>
            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e57 ">
              <p style="margin-bottom:0;">When an Alert record is created, if the owner is not the same User as the creator, this class creates a sharing record that gives the creating User Edit access to the Alert record.</p>
            </td>
          </tr>
          <tr class="">
            <td data-label="Object" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e51 ">
              <p style="margin-bottom:0;">Alert__c</p>
            </td>
            <td data-label="Class Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e54 ">
              <p style="margin-bottom:0;">sfal.AlertValidation_TDTM</p>
            </td>
            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e57 ">
              <p style="margin-bottom:0;">This class ensures referential integrity for Alerts, including the assigned record type and success team role.</p>
            </td>
          </tr>
          <tr class="">
            <td data-label="Object" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e51 ">
              <p style="margin-bottom:0;">Appointment__c</p>
            </td>
            <td data-label="Class Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e54 ">
              <p style="margin-bottom:0;">sfal.AppointmentCreatorSharing_TDTM</p>
            </td>
            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e57 ">
              <p style="margin-bottom:0;">When a student creates an appointment in the portal, this class shares the Appointment record with the support staff member and makes the support staff member the owner Organizer.</p>
            </td>
          </tr>
          <tr class="">
            <td data-label="Object" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e51 ">
              <p style="margin-bottom:0;">Appointment__c</p>
            </td>
            <td data-label="Class Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e54 ">
              <p style="margin-bottom:0;">sfal.AppointmentEventSync_TDTM</p>
            </td>
            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e57 ">
              <p style="margin-bottom:0;">This class synchronizes the Event records that are associated with an Appointment record.</p>
            </td>
          </tr>
          <tr class="">
            <td data-label="Object" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e51 ">
              <p style="margin-bottom:0;">Appointment__c</p>
            </td>
            <td data-label="Class Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e54 ">
              <p style="margin-bottom:0;">sfal.AppointmentMeetingLinkSync_TDTM</p>
            </td>
            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e57 ">
              <p style="margin-bottom:0;">When a support staff member or student schedules a virtual appointment, this class copies the Meeting Link value from the Appointment Location record to the Web Meeting Link value on an Appointment record.</p>
            </td>
          </tr>
          <tr class="">
            <td data-label="Object" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e51 ">
              <p style="margin-bottom:0;">Appointment__c</p>
            </td>
            <td data-label="Class Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e54 ">
              <p style="margin-bottom:0;">sfal.AppointmentUpdateEmail_TDTM</p>
            </td>
            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e57 ">
              <p style="margin-bottom:0;">When an attendee or the Organizer of an appointment updates the appointment, this class sends a notification email to all User attendees.</p>
            </td>
          </tr>
          <tr class="">
            <td data-label="Object" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e51 ">
              <p style="margin-bottom:0;">AppointmentAttendee__c</p>
            </td>
            <td data-label="Class Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e54 ">
              <p style="margin-bottom:0;">sfal.AppointmentAttendeeValidation_TDTM</p>
            </td>
            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e57 ">
              <p style="margin-bottom:0;">This class checks to confirm that when an Appointment record is created or updated, there is an active Student Record Case for the invited student Contact.</p>
            </td>
          </tr>
          <tr class="">
            <td data-label="Object" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e51 ">
              <p style="margin-bottom:0;">AppointmentAttendee__c</p>
            </td>
            <td data-label="Class Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e54 ">
              <p style="margin-bottom:0;">sfal.AttendeeAppointmentSharing_TDTM</p>
            </td>
            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e57 ">
              <p style="margin-bottom:0;">When a support staff member (Organizer) creates an appointment, this class shares the Appointment record with all attendees so that they have Read and Edit access to it.</p>
            </td>
          </tr>
          <tr class="">
            <td data-label="Object" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e51 ">
              <p style="margin-bottom:0;">AppointmentAttendee__c</p>
            </td>
            <td data-label="Class Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e54 ">
              <p style="margin-bottom:0;">sfal.AttendeeAutoCancellation_TDTM</p>
            </td>
            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e57 ">
              <p style="margin-bottom:0;">This class executes the cancellation logic for all appointments.</p>
            </td>
          </tr>
          <tr class="">
            <td data-label="Object" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e51 ">
              <p style="margin-bottom:0;">AppointmentAttendee__c</p>
            </td>
            <td data-label="Class Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e54 ">
              <p style="margin-bottom:0;">sfal.AttendeeCancelEmail_TDTM</p>
            </td>
            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e57 ">
              <p style="margin-bottom:0;">When an attendee or Organizer cancels an appointment, this class sends a notification email to all User attendees.</p>
            </td>
          </tr>
          <tr class="">
            <td data-label="Object" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e51 ">
              <p style="margin-bottom:0;">AppointmentAttendee__c</p>
            </td>
            <td data-label="Class Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e54 ">
              <p style="margin-bottom:0;">sfal.AttendeeCreationEmail_TDTM</p>
            </td>
            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e57 ">
              <p style="margin-bottom:0;">When an attendee is added to an appointment, this class sends a notification email to the support staff member.</p>
            </td>
          </tr>
          <tr class="">
            <td data-label="Object" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e51 ">
              <p style="margin-bottom:0;">AppointmentAttendee__c</p>
            </td>
            <td data-label="Class Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e54 ">
              <p style="margin-bottom:0;">sfal.AttendeeEventCreation_TDTM</p>
            </td>
            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e57 ">
              <p style="margin-bottom:0;">When an Appointment Attendee record is created, this class generates an associated Event record for the attendee. This class also creates an Event record when an attendee's status changes from Cancelled to something else.</p>
            </td>
          </tr>
          <tr class="">
            <td data-label="Object" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e51 ">
              <p style="margin-bottom:0;">AppointmentAttendee__c</p>
            </td>
            <td data-label="Class Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e54 ">
              <p style="margin-bottom:0;">sfal.AttendeeEventDeletion_TDTM</p>
            </td>
            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e57 ">
              <p style="margin-bottom:0;">When an appointment attendee's Status is changed to Cancelled, this class deletes the related Event record for the attendee.</p>
            </td>
          </tr>
          <tr class="">
            <td data-label="Object" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e51 ">
              <p style="margin-bottom:0;">AppointmentLocation__c</p>
            </td>
            <td data-label="Class Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e54 ">
              <p style="margin-bottom:0;">sfal.AppointmentLocation_Deletion_TDTM</p>
            </td>
            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e57 ">
              <p style="margin-bottom:0;">When an Appointment Location is deleted, this class verifies that no current or future appointments use it, and that the support staff member has at least one Appointment Location saved.</p>
            </td>
          </tr>
          <tr class="">
            <td data-label="Object" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e51 ">
              <p style="margin-bottom:0;">Case</p>
            </td>
            <td data-label="Class Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e54 ">
              <p style="margin-bottom:0;">sfal.CaseValidation_TDTM</p>
            </td>
            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e57 ">
              <p style="margin-bottom:0;">This class enforces that there is only one Student Record Case per student Contact.</p>
            </td>
          </tr>
          <tr class="">
            <td data-label="Object" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e51 ">
              <p style="margin-bottom:0;">Event</p>
            </td>
            <td data-label="Class Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e54 ">
              <p style="margin-bottom:0;">sfal.AvailabilityCreation_TDTM</p>
            </td>
            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e57 ">
              <p style="margin-bottom:0;">This class ensures that any Events created with the Support Time record type have an associated Availability record.</p>
            </td>
          </tr>
          <tr class="">
            <td data-label="Object" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e51 ">
              <p style="margin-bottom:0;">Event</p>
            </td>
            <td data-label="Class Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e54 ">
              <p style="margin-bottom:0;">sfal.EventNoUpdate_TDTM</p>
            </td>
            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e57 ">
              <p style="margin-bottom:0;">When a support staff member edits an Event, this class prevents them from updating details that don't match the related Appointment record.</p>
            </td>
          </tr>
          <tr class="">
            <td data-label="Object" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e51 ">
              <p style="margin-bottom:0;">QueueWaitingRoomResource__c</p>
            </td>
            <td data-label="Class Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e54 ">
              <p style="margin-bottom:0;">sfal.QueueWaitingRoomResourceValidation_TDTM</p>
            </td>
            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e57 ">
              <p style="margin-bottom:0;">When a Queue Waiting Room Resource record is created or updated, this class checks to make sure that either the User field or the Support Pool field is populated, but not both.</p>
            </td>
          </tr>
          <tr class="">
            <td data-label="Object" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e51 ">
              <p style="margin-bottom:0;">SuccessPlan__c</p>
            </td>
            <td data-label="Class Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e54 ">
              <p style="margin-bottom:0;">sfal.SuccessPlanAutoApply_TDTM</p>
            </td>
            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e57 ">
              <p style="margin-bottom:0;">When a Success Plan is created, the Auto Apply Success Plan Template checkbox is selected, and the From Template field is populated. This class retrieves the data from the template and copies it to the new record. It also adds Success Plan Template Tasks as child tasks in the new Success Plan.</p>
            </td>
          </tr>
          <tr class="">
            <td data-label="Object" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e51 ">
              <p style="margin-bottom:0;">SuccessPlan__c</p>
            </td>
            <td data-label="Class Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e54 ">
              <p style="margin-bottom:0;">sfal.SuccessPlanSharing_TDTM</p>
            </td>
            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e57 ">
              <p style="margin-bottom:0;">When a support staff member creates or updates a Success Plan for a student, this class shares the Success Plan record with the student so that they can see it in the portal.</p>
            </td>
          </tr>
          <tr class="">
            <td data-label="Object" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e51 ">
              <p style="margin-bottom:0;">SuccessPlan__c</p>
            </td>
            <td data-label="Class Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e54 ">
              <p style="margin-bottom:0;">sfal.SuccessPlanStatusUpdate_TDTM</p>
            </td>
            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e57 ">
              <p style="margin-bottom:0;">This class updates the Status of a Success Plan to Cancelled if the Cancelled checkbox is selected. The class also updates the Success Plan to Completed based on the number of open Tasks.</p>
            </td>
          </tr>
          <tr class="">
            <td data-label="Object" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e51 ">
              <p style="margin-bottom:0;">SuccessPlan__c</p>
            </td>
            <td data-label="Class Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e54 ">
              <p style="margin-bottom:0;">sfal.SuccessPlanTemplateRollup_TDTM</p>
            </td>
            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e57 ">
              <p style="margin-bottom:0;">This class calculates the number of times a Success Plan Template was applied (the Usage Count).</p>
            </td>
          </tr>
          <tr class="">
            <td data-label="Object" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e51 ">
              <p style="margin-bottom:0;">SuccessPlan__c</p>
            </td>
            <td data-label="Class Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e54 ">
              <p style="margin-bottom:0;">sfal.SuccessPlanValidation_TDTM</p>
            </td>
            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e57 ">
              <p style="margin-bottom:0;">When a Success Plan record is created or updated, this class ensures that the student Contact that is assigned to the Success Plan is related to the matching Student Record Case.</p>
            </td>
          </tr>
          <tr class="">
            <td data-label="Object" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e51 ">
              <p style="margin-bottom:0;">Task</p>
            </td>
            <td data-label="Class Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e54 ">
              <p style="margin-bottom:0;">sfal.SuccessPlanTaskCount_TDTM</p>
            </td>
            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e57 ">
              <p style="margin-bottom:0;">This class calculates the number of Tasks in any given Status for display in Success Plan Task counts.</p>
            </td>
          </tr>
          <tr class="">
            <td data-label="Object" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e51 ">
              <p style="margin-bottom:0;">Topic__c</p>
            </td>
            <td data-label="Class Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e54 ">
              <p style="margin-bottom:0;">sfal.TopicPicklistPopulation_TDTM</p>
            </td>
            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d63566e57 ">
              <p style="margin-bottom:0;">This class copies the value in the Topic Name text field to the Label picklist field to facilitate translations.</p>
            </td>
          </tr>
        </tbody>
      </table>