Schoology has built a custom integration via the OneRoster API to support Infinite Campus rostering in Schoology and grade passback to Infinite Campus. This guide explains the requirements and steps to install the Schoology Data Exchange App and set up the Infinite Campus Grade Passback app in Schoology.
- You must be on release version 1629 or later in order to use the Schoology Infinite Campus integration.
- Before you set up grade passback to Infinite Campus, you must first set up the Infinite Campus rostering app. Review the Rostering Integration guide for instructions on setting up the app.
- Both the rostering app and grade passback app must be enabled by Schoology. Reach out to your Schoology representative to enable this integration.
Installing the Data Exchange App
The Schoology Data Exchange App (DEA) is a custom administrative front-end for the Schoology-managed data transformation process and grade passback that lives on the Schoology Data Exchange Platform.
System Administrators can follow the below procedure to install the app from their App Center:
- From Schoology, go to the App Center in the left menu of the Home page.
- Click Organization Apps at the top of the page.
- Click the Install/Remove button to the right of the SGY Data Exchange app.
- Select for which user roles to install the app.
- Select System Admin if you are planning to complete grade passback for your instructors.
- Select the appropriate teacher or instructor roles if you are planning to enable them to opt-in and complete grade passback themselves.
- Submit the form to complete.
- Reach out to your Schoology representative to have this app enabled.
Passing Final Grades from Schoology Back to Infinite Campus
Schoology-Infinite Campus Final Grade Passback is the process that takes final grades from Schoology and ingests them into Infinite Campus.
This integration is a three-part ETL (Extract, Transform, and Load) process:
- Set up Extract of final grade items from Schoology in the Data Exchange App using the Schoology Auto-Export process.
- Set up Transform of the grade items into a format compatible with the Infinite Campus API, via the Data Exchange App. This step includes identifying open grading windows and if you are using the opt-in feature, filtering data for teachers/sections.
- Load the grade items via the Data Exchange App for post to the Infinite Campus API.
Before you set up the grade passback app, you must first set up the Infinite Campus rostering app. For more information on the rostering app, review instructions in the Rostering Integration guide.
Setting Up Auto-Export
The app extracts final grades based on settings in your Auto-Export area, including which schools and grading periods to include in the process. When setting up auto-export, be sure to Select All column headers:
For more information on setting up and configuring auto-export, review this article in the Schoology Help Center.
Accessing the Schoology Infinite Campus Grade Passback App
Open the Grade Passback page:
- Click SGY Data Exchange in the left menu.
- Click Infinite Campus Grade Passback.
Setting Up the Final Grade Passback Page
Review instructions in this section to set up the Infinite Campus Final Grade Passback Data Exchange page. Click Save at the bottom of the page to save any updates you make to these settings.
- Check the Enable passback box and select a time in the Schedule dropdown menu to initiate daily grade passback. All times are GMT.
- Click the Reload link on the right to reload the page.
- Click the More Options menu and select Request full run to initiate a new grade passback in addition to the ones scheduled.
- Set up the SFTP Configuration to which the final grades should be exported. This information matches the SFTP Configuration setup in Export > Auto-Export.
- In the Remote Dir field, define a directory for auto-export that is explicitly set up to only support this specific process; that is, do not use the same directory for both auto-export and auto-import. Most often, the directory is /export, as shown in the screenshot above.
Set up OAuth credentials for Schoology in Infinite Campus and enter the Endpoint Configuration information in this area. Review Infinite Campus instructions for the OAuth Client Management process here.
- Protocol: Choose HTTP or HTTPS in the menu, matching the protocol in the URL from Infinite Campus. This will usually be HTTPS.
- Base URL: Enter the part of the Infinite Campus API Host Name URL that appears between https:// and /learningdata/v1/endpoint.
- API Key and API Secret: Enter the Infinite Campus API Key and Secret in these fields.
- Auto-Export Process Title: We recommend that you specify the title of the Auto-Export Process that generates the file to process, especially when you have multiple exports to the same location. If this is left blank, the most recent file (based on alphanumeric name) in the specified SFTP directory will be used.
[replace screenshot with tooltips open]
- Enter the numerical code for the grading tasks in your district that you want to be passed back to Infinite Campus. Comma-separate each task code.
Review this help article in the Infinite Campus Knowledge Base for information on Grading Tasks.
- You can export a list of your district’s grading tasks and associated codes by checking the Generate Grading Tasks File box in the Advanced Options area of the Data Exchange Rostering integration.
- Enter grading task IDs (comma separated) in Term Task ID to pass back grades for the period spanning the beginning of the term to the time of grade passback. For example, if the grading task code is for “semester grade,” the running average of the semester grade is passed back from the beginning of the term through the time of the passback. This is useful for courses that span multiple grading terms.
- Enter grading task IDs (comma separated) in Overall Task ID to pass back grades for the period spanning the beginning of the course to the time of grade passback. For example, if the grading task code is for “final grade,” the running average of the course grade is passed back from the beginning of the course through the time of the passback.
Note: For courses that span a single grading term, the grading task passed back is the same for both Term Task and Overall Task.
Use this area to bypass Auto-Import settings and manually add a CSV file to manage the grade passback process. The file must contain grading period ID values for both Schoology and Infinite Campus, as well as the IDs for schools that you want to include in the process.
Please contact your Schoology representative before proceeding with this option.
- Check the Teachers must opt-in course sections if you are enabling teachers to select which of their courses and sections to pass back final grades to Infinite Campus. Uncheck the box if you want to pass all grades from Schoology to Infinite Campus with no teacher involvement.
- Click Link to your Teacher view to see how the opt-in area displays for teachers. For example:
Teachers check the box for courses to determine which course grades to sync to Infinite Campus during grading windows.
- Check the box to pass letter grades back to Infinite Campus in addition to numeric grades.
- Enter email addresses, separate by commas, to which to send notifications for unsuccessful grade passback attempts.
Click Save to update these settings.
Troubleshooting the Grade Passback Integration
A few common scenarios arise that would interrupt the grade passback integration:
- Your organization's Infinite Campus API credentials have expired (note that the period of expiration can be controlled within Infinite Campus, and defaults to six months)
- Your organization may have inactivated your Infinite Campus OneRoster API account (re-activating will reset API credentials)
In these and similar cases, a new set of API credentials will need to be sourced and applied:
- Verify and, if necessary, update your organization's API credentials in the Data Exchange app. Note: The API credentials can be found in the Client Details of the OneRoster tab. Be sure to use the Consumer Key value, rather than the Campus User Account Name (no oauth1_8 needed). Learn more in this article from Infinite Campus.
- Request a full run again.