SFTP integration allows for schools/districts to make all changes to student, parent, and roster data in their SIS and the changes will be reflected in ParentSquare after the following sync. These instructions and specifications are intended for a data admin at your district/school or a contact person at your SIS.
Upload your files to ParentSquare’s SFTP server via your favorite SFTP software.
Email ParentSquare to alert them that the files are ready for initial data load.
Automate your SFTP transfers to send in the early evening (optional, but highly recommended).
Set Up SFTP Credentials
You will need to establish a connection to the ParentSquare SFTP Server. ParentSquare will issue a username and you will create a secure password on the ParentSquare web interface.
Log in to ParentSquare.
Districts: From district-level Admin, select District on the left.
Districts only need to set up their SFTP connection once at the district level (not each school level) and send files that include all school sites. For example, the students.csv file will include all students in your district.
Single Site Schools: From school-level Admin, select School on the left.
Scroll down to the SIS Integration section, select Use SFTP for SIS Integration, and click Add Credentials.
Select either Password or SSH Key as the Credential Type.
If using a Password, enter a password and select Save.
If using an SSH Key, paste the SSH key into the Public Key field.
Click Save.
Copy the SFTP Server and SFTP User information generated for you and click OK got it.
(Optional) Test the connection by logging into the SFTP server with your credentials. You can use an SFTP client software such as WinSCP or FileZilla to test your connection.
Export Your Data
Before you use ParentSquare SIS SFTP sync, you need to export information from your student information system (SIS) to CSV files. The specifications for each file are provided in the section below. A header row should be present in each file and match the specifications exactly. Most headers use underscores. Spaces or dashes are not acceptable substitutes. All data fields are ingested as strings.
file can be imported as a student attribute within ParentSquare. Student attributes can be used to aggregate students into one or more auto-update groups based on their attribute values.
For example, an additional header labeled “has_IEP” with values 0/1, True/False, Yes/No can be used to create a group of all students with an “has_IEP” value of True.
Student attribute headers may not start with a number or contain any spaces or special characters.
These column headers may not be used as student attributes:
504
five_o_four
iep
english_language_learner
enl
reduced_meal
free_meal
special_education
Use column header names such as “is_504” or “has_504” to rename column headers of any disallowed student attributes.
Contacts Data
Filename: parents.csv
Column Header
Field Required
Unique Value
Notes
Column Header
Field Required
Unique Value
Notes
1
school_id
Yes
No (No spaces.)
no spaces
2
student_id
Yes
No (No spaces.)
no spaces
3
parent_id
No
No
no spaces. may be called contact_id
4
first_name
Yes
No
5
last_name
Yes
No
6
email
Yes*
No
A phone or email is required for a parent to be synced to ParentSquare
7
mobile
Yes*
No
10 digits. A phone or email is required for a parent to be synced to ParentSquare
8
language
No
No
We recommend using ISO 639-1, ISO 639-2 or common language names(’en’, ‘eng’ or English, ‘es’ ‘spa’ or Spanish…)
If you use another convention, please tell us and share a mapping of your codes to ISO 639-1.
9
primary
No
No
1 = Yes, 0 = No
10
relationship
No
No
11
login
No
Yes
no spaces
12
secondary_phone
No
No
Used only for emergency notifications
There are no rows in this table
Staff Data
Filename: staff.csv
Column Header
Field Required
Unique Value
Notes
Column Header
Field Required
Unique Value
Notes
1
school_id
Yes
No
no spaces
2
staff_id
Yes
No
no spaces. Unique to the staff member, but the staff member can be at more than one school.
a phone or email is required for a staff user to be synced to ParentSquare
7
mobile
No
Yes
10 digits. A phone or email is required for a staff user to be synced to ParentSquare
8
login
No
Yes
should include username values if we are implementing SAML and email addresses are not being used
9
secondary_phone
No
No
Used only for emergency notifications
There are no rows in this table
Your additional_staff.csv file should contain staff from an alternative source that exists outside your SIS.
For example, you might have staff that you want to import into ParentSquare that are not recorded in your SIS such as bus drivers, sports coaches, and cafeteria staff. While absent in your SIS, these staff members might be present in your HR or accounting software.
Terms Data
Filename: terms.csv
Column Header
Field Required
Unique Value
Notes
Column Header
Field Required
Unique Value
Notes
1
school_id
Yes
Yes
no spaces, unique per school
2
term_id
Yes
Yes
no spaces
3
term_name
Yes
No
4
portion
No
No
semester, trimester, quarter, etc.
5
start_date
Yes
No
mm/dd/yyyy or yyyy-mm-dd
6
end_date
Yes
No
mm/dd/yyyy or yyyy-mm-dd
7
school_year
Yes
No
school year to which the academic session contributes. Format is YYYY-YY (Ex - 2022-23)
There are no rows in this table
This file will sync automatically on a nightly basis, and can be manually synced on the school terms page. Please note, if you are sending term data you must update your
can be used to denote which teacher is the primary teacher. Accepted values are 1 or 0. There may only be one primary teacher per section. The primary teacher’s last name will be used in the section name
, you can send class and roster data for the entire year.
Attendance Data
Filename: attendance.csv
You may choose either version of the file. Both support period attendance or daily attendance. The attendance.csv file may include attendance data for all schools in your district.
Check that the codes in the file match those listed in your settings; notification codes are case sensitive and must match exactly.
Attendance notifications will be sent at the time selected in ParentSquare and will use the most recent attendance.csv available. We recommend sending the file ~15 minutes before your notification time. If multiple attendance notices are scheduled throughout the day, multiple attendance.csv files must be sent.
Attendance by row (each student has as many rows as needed)
Column Header
Field Required
Unique Value
Notes
Column Header
Field Required
Unique Value
Notes
1
school_id
Yes
No
2
student_id
Yes
Yes
3
date
Yes
No
accepted date formats are mm/dd/yyyy and yyyy-mm-dd.
4
period
Yes
No
name of the class period or ‘all_day’ One line/record per period if not all_day
5
code
Yes
No
There are no rows in this table
Attendance by column (each student has one row with codes in as many columns as needed)
Column Header
Field Required
Unique Value
Notes
Column Header
Field Required
Unique Value
Notes
1
school_id
Yes
No
2
student_id
Yes
Yes
3
date
Yes
No
accepted date formats are mm/dd/yyyy and yyyy-mm-dd.
4
all_day
No
No
attendance code for all day
5
p0
No
No
attendance Code for Period 0
6
p1
No
No
attendance Code for Period 1
7
...
attendance Code for Period n
8
p9
No
No
attendance Code for Period 9
There are no rows in this table
Groups Data
Filename: groups.csv
This file establishes the list of groups that will be synced to your ParentSquare site.
Column Header
Field Required
Unique Value
Notes
Column Header
Field Required
Unique Value
Notes
1
school_id
Yes
No
no spaces
2
group_id
Yes
Yes
no spaces
3
group_name
Yes
No
4
category
No
No
The word "filter" is not allowed.
There are no rows in this table
Filename: group_members.csv
This file establishes the student membership of your groups. All parents associated with the student members will automatically be in the group, too.
Column Header
Field Required
Unique Value
Notes
Column Header
Field Required
Unique Value
Notes
1
school_id
Yes
No
no spaces. school_id for the group
2
group_id
Yes
No
no spaces
3
student_id
Yes
No
no spaces
There are no rows in this table
Filename: group_user_members.csv
This file establishes non-student membership of your groups. Groups with student members will automatically include all associated parents. For this reason, most schools/districts only send us the groups.csv & the group_members.csv.
Column Header
Field Required
Unique Value
Notes
Column Header
Field Required
Unique Value
Notes
1
school_id
Yes
No
no spaces
2
group_id
Yes
No
no spaces
3
staff_id
No
No
no spaces
4
parent_id
No
No
the contact_id of the parent associated with student
5
email
No*
No
must be lower case; not needed if staff_id or parent_id provided
6
mobile
No*
No
7
role
No
No
each user must have a value of "member" or "owner" if this field is used. If not used, all will be group members.
There are no rows in this table
Emergency Contacts Data
Filename: emergency_contacts.csv
Column Header
Field Required
Unique Value
Notes
Column Header
Field Required
Unique Value
Notes
1
school_id
Yes
No
no spaces
2
student_id
Yes
No
no spaces
3
contact_id
Yes
No
no spaces
4
first_name
Yes
No
5
last_name
Yes
No
6
email
Yes*
No
7
phone
Yes *
No
one of email or phone is required
There are no rows in this table
Emergency contacts will only receive urgent alerts. They will not receive other types of communication. They will not have a ParentSquare account or be able to access the app.