Tips for SIS export (CatapultEMS)

Need to export data from your Human Resources or Student Information System (SIS)?

If you use CatapultEMS only, refer to the document below. If you also use CatapultConnect, see Tips for SIS export (CatapultConnect and CatapultEMS) for a broader export.

Key points for automation

  • File Transfer: via SFTP

  • Format: .csv

  • Headers: Include headers as the first line of each file. Match the exact order and spelling of the headers listed below.

  • Filename: Match filename exactly.

  • Send Staff / Student / StaffToStudent files daily. Recommended time: after your office staff leave for the day and before 11:00 pm PST.
  • SchoolExport: Export one time and share via Google Drive or SFTP folder.



Sample file: StaffExport.csv

  • id,school,nameFirst,nameLast,email,mobileNumber,title

    1. id*: The staff/teacher ID can be numerical or alphabetical. *Required. To associate teachers with students, this ID must match the teacher ID listed in the StaffToStudentExport.csv. If your organization/district does not need student rosters, then this ID can be anything.

    2. school* (or site): School/site code from the Student Information System (SIS) that the staff member works. *Required.

      If a staff member works at multiple sites, add separate lines for each site. For example:


      Note: If any of the data differs between lines (e.g. id, name, mobileNumber, title, or emsAccess), the import uses data from the first line.

    3. nameFirst*: First name of staff. *Required.

    4. nameLast*: Last name of staff. *Required.

    5. email*: Work email for staff. *Required.

    6. mobileNumber: Staff mobile number, if available. 10 digits. Flexible on parentheses, hyphens and spaces.

    7. title(*): Job title for staff (appears as Position/Title in EMS/CONNECT). *Optional, but highly recommended.

      If the title of a new user includes "Teacher" or "Instructor", then that user initially appears in the "Staff" tab in CatapultEMS. All others initially appear in the "Other Staff" tab. A title change does not affect the access level for existing users. For full access control, use the emsAccess and emsUpdateAccess columns below.

      A user can only have one title across all site assignments.

    8. emsAccess: User access level in CatapultEMS. Optional. Valid values include:
      1. staff
      2. other staff
      3. site safety team
      4. district safety team
      5. traveling staff
      6. substitute (Note: The importer does not support dates ranges for substitute site assignments. That part is manual.)
      7. [blank] - Matches default behavior (Any staff member with the title "Teacher" or "Instructor" initially appear in the "Staff" tab in CatapultEMS. All others initially appear in the "Other Staff" tab).
      In CatapultEMS, a user can only have one role across all site assignments.
    9. emsUpdateAccess: Whether to update access in CatapultEMS for existing users. Optional. Valid values include:
      1. true - Updates access level for existing users in EMS to match the value in the emsAccess column. Only recommended for users you know do not need other access. In the web interface, Edit User page, this value disables access options unless the user is set to "Manual."
      2. false - Only sets the access level for new users (based on the value in the emsUpdate column). Does not change the access level for existing users. 
      3. [blank] - Same behavior as false.

CatapultEMS always adds new users and new user locations based on the StaffExport.csv. CatapultEMS can optionally deactivate users and user locations that no appear in the StaffExport.csv. The latter is ideal if your organization has accurate data on which staff belong to each site/school.


Sample file: StudentExport.csv

  • id,school,nameFirst,nameLast,mobileNumber,email,contactNamePrimary,contactPhonePrimary,contactEmailPrimary,contactNameSecondary,contactPhoneSecondary,contactEmailSecondary

    1. id*: Student ID number from SIS and can be numerical or alphabetical. *Required.

    2. school* (or site): School code from SIS. *Required.

    3. nameFirst*: First name of student. *Required.

    4. nameLast*: Last name of student. *Required.

    5. mobileNumber: Mobile number of student. Important: Only include if students are receiving alerts in contract

    6. email: email of student. Important: Only include if students are receiving alerts in contract

    7. contactNamePrimary (or contactName1): Name of primary contact. Optional. If the name includes a comma (e.g. "Smith, John" or "John Smith, Jr.") please add quotes around the name. (Some software does this automatically for CSV files).

    8. contactPhonePrimary (or contactPhone1): Phone number of primary contact. Optional.

    9. contactEmailPrimary (or contactEmail1): Email of primary contact. Optional.

    10. contactNameSecondary (or contactName2): Name of secondary contact. Optional. If the name includes a comma (e.g. "Smith, John" or "John Smith, Jr.") please add quotes around the name. (Some software does this automatically for CSV files).

    11. contactPhoneSecondary (or contactPhone2): Phone number of secondary contact. Optional.

    12. contactEmailSecondary (or contactEmail2): Email of secondary contact. Optional.

If your contract includes more than two student contacts, the column names would be contactName3,contactPhone3,contactEmail3, with the number increasing to 4, 5, etc.

Alternatively, you can list only one contact per line (but repeat the student info).


Sample file: StaffToStudentExport.csv

Remember to limit this to current classes only. Note: since uploads happen the night before, please include classes one day before the official start date.

PowerSchool users: For the fastest setup, use the Catapult EMS plugin for PowerSchool.

  • school,teacher,student,period,name,courseNumber,sectionNumber

    1. school* (or site):  School code from SIS. *Required.

    2. teacher*: Must match the Staff ID from the StaffExport file. *Required.

    3. student*: Must match the Student ID from the StudentExport file. *Required.

    4. period*: Usually a number, but can also be 'homeroom' or '0'. *Required. If a teacher has multiple class rosters (e.g. secondary school) then each class needs a different period.

    5. name*: Course name. *Required.

    6. courseNumber: Optional.

    7. sectionNumber: Optional.

Wipe all student-teacher associations

Import doesn't process empty files. This is usually the desired behavior. (For example, a practice drill between semesters still shows teacher's old classes so they can use the student accounting features.)

In the rare circumstance that your school wants to turn off student accounting for a particular school, you can clear all associations for a school by listing that school code on it's own line.


This example clears all staff-to-student associations at school code 1. 

SchoolExport (Excel or CSV)

  • One-time export for internal reference by a human. (Nightly uploads of this file not required or needed.)

  • schoolCode,schoolSiteName,address,phoneNumber

    1. schoolCode: school code from SIS (can be multiple schoolCodes if merging into one physical site)

    2. schoolSiteName: name of school or site

    3. address: address of school or site

    4. phoneNumber: phone number of school or site

* Required for setup.