Generating Parent/Observer accounts from the SIS

Community Participant

At Beaverton School District we've been syncing Parent/Observer accounts from our SIS for several years. Many times, we've been asked how to do this, so I thought I'd go ahead and document it here. Then I can refer to this when asked in the future. Also, I'm eager to hear from the community your thoughts on our method.

We use Edupoint's Synergy as our SIS. I'm not able to share any code here publicly that shows table structures, etc. but if you'd like some guidance, I can provide that via private messaging. 

The general idea is as follows:

  1. Gather the parent information, including what students they are to be connected with, from our SIS.
  2. Include the parent account information in the USER.CSV file.
  3. Include the parent/student link information in the USER_OBSERVER.CSV file.
  4. Uploaded these files via SIS Imports


Q) How do you determine which parents/guardians get included?

A) We rely on 2 things:

  1. The parent/guardian has Education Rights on the student. This is cut and dry. We would never grant access to persons that do not have a legal right to the student's data.
  2. They have an active ParentVUE account. ParentVUE is the parent-facing application that is part of our SIS. We also do Online Registration/Verification for all students, which requires a ParentVUE account, so that is taken care of for almost all parents. 

Once the two items above have been met creation of a Canvas observer account comes easy.


Q) How do you enroll parent/guardian from ParentVue? 

A) With a simple query against the SIS database we can generate the fields needed for the USERS.CSV file. In our process this parent information is combined with staff and student user information and load them all a the same time.

Since BSD uses Synergy's Online Registration, at least one parent for each family will have an active ParentVUE account. To build the parent's account in Canvas we simply use the same user name they provided for ParentVUE access.

It's important to send 'canvas' as the authentication_provider_id if your parent accounts are not in your SAML provider. Ours are not, although I do dream of a day when our parents are in Active Directory and we are managing them end-to-end.

Passwords are sent as blank/null. Users would not be able to log in until they walk through the password reset process. Here's a link to our instructions for parents to do that parent reset:


Q) How do you connect students and course to the parents?

A) This is where some real magic happens! Instructure saves a lot of work by providing this process.

The USER_OBSERVERS.CSV file's whole purpose is to connect a parent to a student. It's a simple format, requiring only student ID and Parent ID. This simple relationship sets the parent to be observing A WHOLE student. Here's what that means:

If you are manually connecting parents to students within a course you have to do that manually for each student and each parent FOR EACH COURSE! When connecting students with parents in the USER_OBSERVERS.CSV file the parent is associated with the student SYSTEM WIDE!!! So, each time a student gains (or loses) an enrollment in a course the parent does the same! Magic!


And that's really all there is to it!

I know I've gotten a lot of tips and help form this community, so I'm hopeful that this helps some of you!