Third Party Systems

The Third Party Systems screen is used to set up integrations between Focus and other applications, including OneNote Class, ALL in Learning, Canvas, and Schoology. Grade passback is available through several partners, including ALL in Learning and Canvas. Partners should be OneRoster 1.1 REST certified. The Focus API is OneRoster v1.1 certified.

The Focus API Documentation screen displays information for the Focus API dialect, and can be used as a playground environment for third party vendors to send requests. The district or vendor can access this documentation by appending "api/docs" to the Focus URL, e.g. livedemo.focusschoolsoftware.com/focus/api/docs.

Setting Profile Permissions

In order to access the Third Party Systems screen, ensure the appropriate user profiles have the Edit permission for Third Party Systems in Users > Profiles.

Admin profiles are not included within a third party system unless specified. If the profile should be sent in a third party system, select the appropriate check box next to the user type options.

Active users with a teacher type profile will be sent in a third party system.

1. In the Users menu, click Profiles.

2. In the Permission Type pull-down, select Menu.

3. In the Role pull-down, select Admin.

4. Select the appropriate profile(s) in the Profiles pull-down and click Submit.

5. Scroll down to Third Party Systems in the Setup section.

6. Select Edit to give the profile(s) view and edit rights.

7. If this profile should be sent in a third party system, select the appropriate check box next to the user type options.

The selected option indicates how the profile is sent to the third party. If the user has multiple profiles, then Focus sends the highest profile. The profiles are listed in the order of priority.

8. Click Save at the top of the screen.

Setting up a Third Party System

Only one record per third party vendor should be set up for security purposes.

1. In the Setup menu, click Third Party Systems.

Any existing third party systems that have been set up in Focus are displayed in the table.

2. To add a new third party system, enter the information in the blank row at the top of the table.

Field Description
Title Enter the name of the third party system, e.g. Canvas.
Version Select the API version. Currently only Focus API version 1.0 is available for selection. 
Dialect Select the dialect. Options include Focus’ API dialect, OneRoster, Ed-Fi, and Google Classroom. 

3. Press Enter to add the row.

The new third party system is auto-saved. The Focus API URL, Focus Client ID, and Focus Client Secret will auto-populate.

4. Select the areas of Focus where the third party system will have Read Access and Write Access.

If no resources are selected in "Read Access," no information from Focus will be sent in the third party system. If no resources are selected in "Write Access," no information will be received by Focus from the third party system.

Logging fields are not available for transmission via Third Party Systems.

Only "Assignment" and "Grade" are currently supported within the OneRoster dialect.

5. If the integration is only for particular schools, select the Schools. If no schools are selected, then the third party system will be configured to send for all schools.

6. Edit the Max Requests Per Minute if you need to adjust the rate for the vendor. The default value is 600.

7. Select the Primary Enrollments Only check box if only records from a student's primary enrollment should be included in the integration.

8. Select the Future Enrollments Active check box if students with a start date for an active class in the future should be recognized as active. This is also true for teacher roles if the school year has not started.

9. Select the Endless Teacher Enrollments check box if teacher enrollments should remain active once they have started.

10. Select the Use Grade Posting End Date on Class Enrollments check box to use the end date of the grade posting window instead of the end date of the marking period for class enrollments.

11. Select the Marking Periods Always Active check box to make all marking periods active regardless of their start and end dates.

This is useful when using third party systems to build marking periods. The marking periods will be active and will not be marked for deletion or disabled.

12. Select the Ignore "All Schools" Enrollment Records check box to ignore users that have permissions to null schools, such as system administrators.

13. Select Log Full Response Payloads (slow) to enable full response logging for troubleshooting.

When the option is selected, the table external_api_log_body will be populated. The daily maintenance job will remove entries in the external_api_log_body that are a week old.

14. Select Custom User Fields, Custom Student Fields, and Custom School Fields to add additional field elements to the metadata of the third party system. If no custom fields are selected, the third party system will send per the specifications of the selected dialect.

Logging fields are not available for transmission via Third Party Systems.

15. Enter the Subscription key for programs that require a key to be sent with every API call sent from Focus.

Third Party Systems

16. Provide the vendor with the Focus API URL, Focus Client ID, and Focus Client Secret. Once the credentials are set up by the vendor, information can be pulled from Focus.

17. Click the modal icon to view individual records from a data table in a pop-up modal to alleviate having to scroll horizontally on large tables.

Third Party Systems

To close the modal, click Close, press esc key, or click the dimmed background.

If the modal is opened on a non-insert row, blue arrow buttons are displayed; click the arrows to cycle through the other records without having to close the modal.

Third Party Systems

If the modal is opened on an insert row, a Create button is displayed next to the Close button on the modal, allowing a record to be created.

Third Party Systems

Click the Debug button to activate the corresponding vendor in the login session so that browsing to API endpoints uses that vendor’s configuration. This removes the need to add ?external_api_id=X to the end of URLs, though that functionality is still available. Click the Clear button at the top of the screen to clear the debug value if you want to revert back to the default configuration.

Third Party Systems
Setting Up Grade Passback

Grade passback can be set up between Focus and other vendors, including ALL in Learning, Microsoft OneNote, ItsLearning, Schoology and Canvas. 

For grade passbacks to Canvas, Microsoft OneNote, ItsLearning, and Schoology use the OneRoster dialect. For All In Learning, the Focus dialect should be selected. 

1. In the Setup menu, click Third Party System.

2. Locate the third party system in the list and enter the External API URL, External User Auth URL, External Client ID, and External Client Secret provided by the vendor.

3. Click Test.

Focus will attempt to receive a token from the external API. A confirmation pop-up window is displayed indicating the results of the test. If the test was not successful, please communicate with the third party vendor that Focus is unable to receive a token with the external credentials provided.

4. Click OK to close the pop-up window.

5. To add a custom icon to the Add an Assignment screen in the Gradebook for teachers, click the Upload button in the Icon column.

6. Select an image file from your computer.

The selected icon is displayed in the Icon column.

View in teacher Gradebook: