Import Contacts
Using the Data Import Manager, you can import new contacts, as well as update existing contact information into PowerSchool by clicking Choose File to select a file to import, and then choosing Contacts from the Import Into pop-up menu.
About Importing Contacts
The Contacts module provides the ability to import a contact along with associated addresses, phone numbers, email addresses, and students. Additionally, the Contacts module provides the ability to import information into Person, Address, Email, Phone Number, and Students extension tables. In order to associate more than one of any child record, multiple related rows are included in the import file. Some fields have rules regarding what is a valid value (dates, booleans, code sets). An invalid value may cause a single row or multi-row import to fail. Multi-row imports have additional checks for duplicates and conflicting values. Below are rules for duplicates and conflicts for each entity. Duplicates are ignored during the import, while conflicts are rejected with appropriate error messages. When processing multiple related rows, the import process rejects all related rows if any of the rows have an error. The Import Results page displays applicable error messages for each failed row.
Access Accounts
By default, parents can create their own access accounts in the PowerSchool Student and Parent portal. However, you have the option to create access accounts on behalf of the parents by disabling self-registration and then using the Data Import Manager to create access accounts and activate when importing new contacts. Additionally, you can update access accounts and activate/deactivate or delete the access account altogether when importing existing contacts. When importing contacts:
- If the contact already exists, the contact ID is required, as it is for updating other aspects of a contact.
- If the contact does not exist, the contact identifier and contact last name is required.
- Access Account must be associated with at least one student upon creation or one student association with contact must already exist.
- Prior to linking a student to a parent access account, be sure that Enable Parent Access is enabled.
Allow Data Access should be enabled for each student the contact needs access to. If it is not set, the value will default to false.
General
Entity | Rule |
---|---|
Boolean Flags | When specified, the values of 0, false, f, no, and n indicate false. 1, true, t, yes and y indicate true. Anything else is an error. Not case sensitive. |
Code Set Values | When a code set value is specified, it must be a case-insensitive match to an actual code in the database for the applicable code type. |
Dates | When specified, the date must be in either mm/dd/yyyy or mm/dd/yy format. Any date values not in that format result in an error. |
Blanks | All Boolean flags and code set values have default values that are applied if no value is specified. In the case of Boolean flags, this can lead to conflicts if one related row specifies a non-default value and the other related row does not specify the corresponding column. |
Clear | Empty fields in the import file do not update the field or clear out the data. Enter #clear as the field value to clear values. Note: Required values cannot be cleared, even if #clear is entered as the value. |
Delete | The entire contact or elements of the contact can be deleted by specifying #delete for specific field values. The tables below indicate the applicable fields. |
Contact (Person Table)
Entity | Rule |
---|---|
Identifier | Required to add a row. Specifying the same identifier value on multiple rows indicates that the rows are related. If an identifier value is not included, an ID value is required. Note: This information is also applicable to child extensions. |
ID | Required to update a row. Specifying the same ID value on multiple rows indicates that the rows are related. If an ID value is not included, an identifier value is required. Note: If both an ID value and an identifier value are entered, the identifier value is ignored, and the row is updated. Note: This information is also applicable to child extensions. |
LastName | Required on at least one related row. An error occurs if multiple rows have values that conflict with each other. Specify #delete on every row on which the contact ID appears to delete the entire contact. Note: To delete the contact, the user must be logged in at district level or at a school where any students related to the contact have an established relationship with the school. |
FirstName | Same as LastName, except not required. |
Prefix | Code set values. Defaults to not set, if not specified. If the value is set to a specific value, it can be included on any related row. Specifying on multiple related rows is okay, as they are a case-insensitive match. |
ExcludeFromStateReporting | Boolean flag. ExcludeFromStateReporting defaults to true if not specified. IsActive defaults to false. Conflict will arise if false is specified on one row and true is specified on another related row. |
Contact Access (Guardian, PCAS_Account, PCAS_ContactEmail Tables)
Entity | Rule |
---|---|
Is Access Account Enabled | Boolean flag. Defines if an account is enabled or disabled. Valid values: 1 = Enabled, 0 = Disabled. Defaults to 1 if no value specified. |
Access Account User Name | Login name used by the PowerSchool Central Authentication Server to authenticate a user. Required. |
Access Account Email Address | An email account for the owner of the login account. Required. |
State GuardianNumber | This field is used by PowerSchool State Reporting. It may also be used to integrate with external systems. |
Email Address (EmailAddress and PersonEmailAddressAssoc Tables)
Notes:
- An email address is added if:
- PersonEmailAddressAssocID is empty AND EmailAddress does not match with any associated email for the person.
- An email address is updated if:
- PersonEmailAddressAssocID has a value AND EmailAddress has any value other than "#delete" as field value.
- PersonEmailAddressAssocID is empty AND EmailAddress matches with an existing associated email address for the person.
- An email address is deleted if:
- PersonEmailAddressAssocID has a value AND EmailAddress has "#delete" as field value.
Entity | Rule |
---|---|
PersonEmailAddessAssocID | The primary key for a person email address association. Indexed. If an imported email is not already associated to the person a new association is created. If an imported email is already associated to the person, then the existing association is updated with any changes. |
EmailAddress | Required if an email address is to be imported. Must be a valid email address format (somebody@example.com). Same email address (case-insensitive) cannot be included on two related rows unless the EmailType and IsPrimaryEmailAddress values are also specified with the same value which indicates a duplicate. If an imported email address is marked as primary, then it becomes the first and the rest are bumped down. Otherwise, it is added at the end. If update is specified and the record cannot be found, its value will be added. Specify #delete to remove the email address from the contact. |
EmailType | Code set value. Defaults to not set, if not specified. |
IsPrimaryEmailAddress | Boolean flag. Defaults to false, if not specified. A contact can only have one primary email address so related rows with more than one true IsPrimaryEmailAddress value will be rejected except in the case of a duplicate. |
Phone Number (PhoneNumber and PersonPhoneNumberAssoc Tables)
Notes:
- A phone number is added if PhoneNumberAssocID is empty AND PhoneNumber does not match with any associated phone number for the person.
- A phone number is updated if PhoneNumberAssocID has a value AND PhoneNumber has any value other than "#delete" as field value.
- A phone number is deleted if PhoneNumberAssocID has a value AND PhoneNumber has "#delete" as field value.
Entity | Rule |
---|---|
PhoneNumberAssocID | The primary key for a phone number association. Indexed. If an imported phone number is not already associated to the person a new association is created. If an imported phone number is already associated to the person, then the existing association is updated with any changes. |
PhoneNumber (as entered) | Required if a phone number is to be imported. Format is open, but it should not include extension mark up, such as 212-555-1234 x123. Extensions should be entered into the "Extension" field. They will be dropped if included in the PhoneNumber (as entered) field. The same phone number can be entered multiple times with differing types and priority order values. Note that while the format is open, it will still honor any defined Limited Data Validation (LDV) rules. Specify #delete to remove the phone number from the contact. |
Extension | Optional extension value. Same phone number with different extension makes it unique. |
PhoneTypeCode | Code set value. Defaults to not set, if not specified. |
PhoneNumberPriorityOrder | Must be a positive integer if specified. Cannot use the same value more than once for related rows unless it is a duplicate. If not specified, a default value will be set. The default value is based on the order of appearance in the file and any phone number priority order values specified on related rows. For example, if four related rows include distinct phone numbers and two of them specify priority orders of 1 and 3, the first one that didn't specify would be assigned two and the other would be assigned 4. |
IsSMS | Boolean flag. Defaults to false, if not specified. If it is specified and the phone number already exists (on another contact), the existing phone number's IsSMS flag will be updated to the specified value. |
IsPreferred | Boolean flag. Defaults to false, if not specified. Conflict will arise if true is specified on one row and either false or blank is specified on another related row. |
Address (Address and PersonAddressAssoc Tables)
Notes:
- An address is added if AddressAssocID is empty AND Street does not match with any associated address for the person.
- An address is updated if AddressAssocID has a value AND Street has any value other than "#delete" as field value.
- An address is deleted if AddressAssocID has a value AND Street has "#delete" as field value.
Entity | Rule |
---|---|
AddressAssocID | The primary key for address association. Indexed. If an imported address is not already associated to the person a new association is created. If an imported address is already associated to the person, then the existing association is updated with any changes. |
Street | Every field except for address type must match in order to be considered a duplicate. Any other deviation of values on related rows is considered a new address. If it is a duplicate and priority order does not match, the row is rejected. Specify #delete to remove the address from the contact. |
LineTwoUnitCityPostalCode | Optional text values. |
GeocodeLatitudeGeocodeLongitude | Optional decimal values. Must be greater than zero if specified. No validation against physical address is performed. |
State | Code set value. Defaults to not set, if not specified. Note: In order to specify both the country and state code, the CountryCode_StateCode format must be used. This format must also be used if there are multiple StateCode values having separate parent CountryCode values. For example, US_PR must be specified if the PR state code is defined for both the US and BR country code sets. You may specify just the state code if the country code is not desired and it is a unique value in the state code set. |
AddressType | Code set value. Defaults to not set, if not specified. |
AddressStartDateAddressEndDate | Optional date values. Must be in valid date format if specified. Start date cannot be after end date if both are specified. |
Contact Student (StudentContactAssoc and StudentContactDetail Tables)
Notes:
- A contact student association is added if StudentContactAssocID is empty AND StudentNumber does not match with any associated student for the person.
- A contact student association is updated if StudentContactAssocID has a value AND StudentNumber is either empty or has any value other than "#delete" as field value.
- A contact student association is deleted if StudentContactAssocID has a value AND StudentNumber has"#delete" as field value.
Entity | Rule |
---|---|
StudentContactAssocID | The primary key for student association. Indexed. If an imported student is not already associated to the person a new association is created. If an imported student is already associated to the person, then the existing association is updated with any changes. |
StudentNumber | Must be specified if a contact student relationship is to be imported. If same student number appears on multiple lines, non-overlapping start and end dates must be specified. Student number must match an existing Students record in the database and student must be at current school unless the import is being performed at the district office. It is considered a duplicate if all other values are the same. Specify #delete to remove the student from the contact. |
OriginalContactType | Indicates that the contact is one of the six legacy contact types. Valid values are mother, father, guardian, emergency1, emergency2 and emergency3. Note that a student may only have one contact of each original contact type. Therefore, an imported row will fail if a student already has a contact of the specified original contact type or if the same original contact type is assigned to a student for multiple contacts that are being imported. |
ContactPriorityOrder | Indicates the preferred order in which the student's contacts will appear. Valid values are 1, 2, 3, etc. or blank. If blank, the contact appears at the end of list of contacts for the student. If the contact priority order is set in the import file for a student contact association, contact priority order of existing associations will be adjusted accordingly, if necessary. Contact priority has to be unique within the contacts of a student. Same priority cannot be assigned to two or more contacts for the same student. For example, if Mother is given a value of 1, Father cannot also be given a value of 1. |
StudentContactDetailID | Unique sequential number generated by the application that uniquely identifies the row in the table. Indexed. StudentContactDetailID is not required for adding a new association. In order to update an existing association, a value in this field will update the specific StudentContactDetail record. Leaving this field empty will update the Active Detail Record for the existing association. To add a new detail record in the existing association, use #new in this field |
RelationshipType | Code set value. Defaults to not set, if not specified. |
RelationshipNote | Optional text value. |
RelationshipStartDate | Optional date values. Must be in valid date format if specified. Start date cannot be after end date if both are specified. If multiple related rows contain the same student number, none of the related date ranges can have any overlapping dates. Null start date means beginning of time and null end date means the end of time for the purposes of comparing date ranges. |
ContactHasCustody | Boolean flags. All default to false, if not specified. A conflict will arise if a related row specifies true and another specifies false or is blank. |
AllowDataAccess | Boolean flag. Grants or revokes access to the student’s data in the public portal. A value should only be specified if the contact already has an access account or an access account is being added. Default value of false if not specified. Note: Only supported if the contact has an access account. |