For Schools

Troubleshooting Checklist

First Step: Flow Validation

Before looking into any issues, run the Flow Validation function under Flow Settings. This will help identify any obvious issues with the setup.

Flow Validation

Verify Shared Data

Please make sure that the correct data is showing in the integration data browser before proceeding to any other troubleshooting steps. The data that is shared is the data that Flow will use to update the destination system.

When the shared data changes for the integration, Flow will run and the changes will be propagated to the destination.

There are certain requirements for Flow to run successfully:

  1. Both the primary and secondary sources have synced successfully.
  2. The integration is enabled.
  3. Flow validation has passed.

Data Model

For classes, people, and enrollments, also make sure that the data is linked correctly. In the data browser, you can verify the linked details from the secondary source are appearing correctly. Grades and assignments will not pass back correctly from the LMS to the SIS if the classes, people, and enrollments are not linked correctly.

When looking at a person, class, or enrollment, you should see both a link and the details of the entity from the secondary source.

Data Model

If the link is missing, then Flow has not been run successfully for this class. If the secondary entity is missing, there are a number of possible reasons why.

If the links are not appearing correctly, we will need to check a number of settings to understand why.

The first step is to make sure that classes are matching between the two systems.

  1. Should Flow create classes in the LMS?
    1. If yes, then the create class permission should be enabled.
    2. If no, then the create class permission should be disabled and matching rules should be set up to link the classes. The matching of classes between the LMS and SIS is based on the Lynx function. The Lynx function identifies how a class in the LMS can be linked to a class in the SIS. It will usually point to an ID field that is common between the two systems. The Lynx function can be set up in the Flow matching settings.
  2. Are the people matching between the two systems?
    People are generally not created by Flow, but it is important that they match between the two systems. The matching of people between the LMS and SIS is based on the Lynx function. The Lynx function identifies how a person in the LMS can be linked to a person in the SIS. It will usually point to an ID field that is common between the two systems. The Lynx function can be set up in the Flow matching settings.
  3. Are the enrollments matching between the two systems?
    1. If the classes are created by Flow, then the enrollments will be created by Flow as well.
    2. If they are not created by Flow, then make sure the Lynx function is set up correctly to link the enrollments between the two systems.

If you find any issues with the data, the first step is to check all the matching settings and Flow permissions to make sure they are set up correctly.

Permission Issues

Flow has settings for create, read, update, and delete permissions for each entity. If the permissions are not set up correctly, Flow will not be able to run successfully. Make sure the permissions match your intended use case.

Lynx Matching Issues

If you notice that the data is not linked correctly, you will need to first check the Lynx function for each entity.

Make sure that classes, people, and enrollments are linked correctly.

Lynx functions are case sensitive. You can look up the syntax here: https://ed.link/guides/v2.0/lynx.

Join Strategy

  • Left: This is the most common join strategy. It will return all the records from the primary source and the matching records from the secondary source.
  • Inner: This will return only the records that match between the primary and secondary sources.
  • Right: This will return all the records from the secondary source and the matching records from the primary source.
  • Full: This will return all the records from both the primary and secondary sources and match records where they exist in both sources.
  • None: Do not attempt to match the records.

Class Issues

Ensure that the teacher of the class is linked correctly. A class cannot be created in Google Classroom without a teacher.

People Issues

The most common way to join people is based on email. We convert both emails to lowercase before comparing them to avoid case sensitivity issues. The Lynx function should look like this for both primary and secondary: LOWER(email).

Some schools will use different emails in their SIS and LMS and then another strategy will have to be used.

Enrollment Issues

When the LMS is Google Classroom, the join condition for enrollments should always be for both primary and secondary CONCAT(class_id, ":", person_id).

Grade Passback Issues

Data Model

Grade passback issues should only be looked at after the classes, people, and enrollments are linked correctly.

Assignment Issues

  • Make sure the class for the assignment is linked.
  • Run the Flow Validation function and make sure that push notifications are enabled for Google Classroom.
  • Make sure sync has run successfully on both the LMS and the SIS.
  • Make sure the assignments are linked correctly between the LMS and SIS.
  • Make sure the assignment is not in draft mode in the LMS.
  • Check the dashboard to see if any tasks relating to the assignment are failing.

Submission Issues

  • Make sure that the assignment is linked correctly.
  • Make sure you have returned the assignment in Google Classroom.
  • Make sure that the student's enrollment is linked correctly in the class.
  • Check the dashboard to see if any tasks relating to the submission are failing.