> For the complete documentation index, see [llms.txt](https://resources.unizin.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://resources.unizin.org/products/data-and-analytics/unizin-data-platform/data-integrations/lms-data-integration/instructure-canvas.md).

# Instructure Canvas

## Context data <a href="#instructurecanvas-contextdata" id="instructurecanvas-contextdata"></a>

The UDP uses the [Canvas Data product](https://community.canvaslms.com/docs/DOC-10838-4214449046) (whose [data schema is publicly available](https://portal.inshosteddata.com/docs)) as the basis for the context data integration. Because the data integration is fully-managed, academic institutions need not write a data integration from Canvas that conforms with the LMS loading schema. This conformance already exists in the UDP's integration. Unizin maintains a [mapping](https://docs.udp.unizin.org/ucdm/canvas-to-ucdm.html) of Canvas Data to the [LMS loading schema](https://docs.udp.unizin.org/context-data/html/lms-2.0.html).

If your institution uses Instructure Canvas, then integrating context data from Canvas to your UDP instance is a simple configuration. In particular, you will need to [create a Canvas Data API key and secret](https://community.canvaslms.com/t5/Admin-Guide/How-do-I-obtain-an-API-access-token-in-the-Canvas-Data-Portal/ta-p/157) and configure the UDP to use them.

## Behavior data <a href="#instructurecanvas-behaviordata" id="instructurecanvas-behaviordata"></a>

Instructure’s [Canvas Live Events](https://community.canvaslms.com/docs/DOC-14182-4214848302) service offers real-time behavioral data in the 1EdTech Caliper standard.

At present, the UDP supports Canvas's JWT-based method of integrating Canvas Live Events with a learning record store. Canvas may also call this the "HTTPS"-based integration method. Canvas administrators will configure a new data stream from the administration panel in Canvas. This data stream will point to the hostname for their UDP Caliper endpoint.

### Configure and activate an HTTPS data stream <a href="#instructurecanvas-configureandactivateanhttpsdatastream" id="instructurecanvas-configureandactivateanhttpsdatastream"></a>

Only Canvas admins may configure an HTTPS data stream in Instructure Canvas. Broadly speaking, you will follow [Instructure’s instructions for setting up HTTPS](https://community.canvaslms.com/t5/Admin-Guide/How-do-I-configure-and-test-Canvas-Live-Events-using-HTTPS/ta-p/151).

In the Admin tools section of Canvas, select `Data Services`:

<figure><img src="/files/kGb98e5Lk10orFFsxdve" alt="Arrow pointing to Data Services in the Canvas Admin Tools"><figcaption></figcaption></figure>

Now "`+Add`" a new Data Stream:

<figure><img src="/files/q8QpYD6HyyCiZ3ADCp0C" alt="Arrow pointing to the Add button"><figcaption></figcaption></figure>

You will need to set the following variables:

| Variable        | Value                                        |
| --------------- | -------------------------------------------- |
| Name            | *Whatever you wish*.                         |
| Active          | *Turned on*.                                 |
| Delivery method | HTTPS                                        |
| URL             | *The hostname for your UDP Caliper endpoint* |
| Sign Payload    | *Checked*                                    |
| Message type    | Caliper 1.1                                  |

Unizin strongly recommends that you subscribe to all available Canvas Live Events.

So that a completed configuration might look like this:

<figure><img src="/files/TOAWpfkyNbj1e1lVMjSd" alt="Completed configuration with all available Canvas Live Events selected"><figcaption></figcaption></figure>
