CSV Gateway (SFTP) integration in Canvas
A CSV Gateway is a method to automate the import of CSV files into Canvas. Files are transferred using Secure File Transfer Protocol (SFTP). The CSV Gateway can be especially helpful if your SIS does not have a direct API integration connection to Canvas.
If you are interested in setting up a CSV Gateway/SFTP for data provisioning or grade export, please contact your Instructure Customer Success Manager (CSM).
What you should know
- CSV files must be aligned to Canvas CSV format guidelines. More information on Canvas CSV formatting can be found in our guide.
- Standard CSV rules apply:
- The first row is interpreted as the header and is mandatory.
- All text within the file must be UTF-8 encoded
- All timestamps should be ISO 8601 formatted. All timestamps default to UTC unless timezone offset is specified.
- Imports are not in real-time. Sync jobs are scheduled. Frequency will depend on your data set and can be discussed more with your Instructure Consultant. Most common scheduled syncs are once or twice daily.
- An optional Grade Export report can be scheduled to be placed in the gateway once daily.
- A Diffing directory can be configured upon request. Diffed imports will look for changes in the delivered files and take action on any records that are missing. If you are interested in having this configured, your Instructure Consultant can provide additional information upon configuration.
- After the SFTP is configured and synced to Production, the client will need to reach out to Support for troubleshooting and/or any configuration change of the SFTP.
How do I get started?
First, the client must determine who will host the SFTP server. There are two options for hosting the SFTP server.
- Instructure can host the server (at no additional cost)
- Client hosts SFTP server
The client is responsible for building the CSV files for their data aligned to Canvas CSV specifications and delivering those files to the SFTP server. Instructure will then process the placed files based on scheduled jobs.
The CSV Gateway will be initially connected to the client’s Canvas Beta instance for initial testing. The connection will not be switched to the client's Canvas Production instance until the client provides written confirmation to conclude testing to their Instructure Consultant.
Instructure-hosted Server
If Instructure hosts the SFTP server, the client will need to generate an SSH key-pair. The public key will be sent to your Instructure Consultant.
The private key should not be shared. If the private key is shared, Instructure will request a new key-pair to be generated.
When generating the SSH key-pair, please keep in mind the following:
- Instructure requires a minimum bit-length of 2048 on the key
- Public keys typically have one of the following extensions: .pub, .pem
- Some key formats will have the private key with the public key, only send us the public key or the key-pair will need to be regenerated
After the public key has been shared with the Instructure Consultant and uploaded to the SFTP server, the client will be provided with the following information:
- Server
- Port
- Username
- Directory
- Sync schedule
Client-hosted server
If the client chooses to host the SFTP server, Instructure will need to be provided with the connection information.
Do not send this information in an email.
Your Instructure Consultant will provide you with a secure link to upload a .txt file with the following information:
- Server
- Port
- Username
- Authentication
- Folder/Directory
In addition to providing your Instructure Consultant with the requested information, the client may need to add IP Instructure’s addresses to an allowlist. Your Instructure Consultant will provide you with the requested information. Additional configuration/adjustments may be needed on the client’s hosted server if Instructure cannot connect to the remote SFTP server.
