1. Ensure that instructors have the Read SIS Data Permission

2. See the note below if your students have non-numeric student IDs

3. Generate a developer key for Akindi

A. Log into Canvas
B. Click Admin > Site Admin > Developer Keys > Add Developer Key
C. Fill out:

Name: Akindi
Owner Email: wolever@akindi.com
Redirect URI (Legacy): https://akindi.com/api/canvas/oauth
Icon URL: https://storage.googleapis.com/akindi-prod-public/favicon.ico
Then click "Save Key"

D. Make note of the "App ID" and "App Key" - you’ll need them for the next step

4. Generate Akindi Customer and Secret Keys

A. Log into Akindi
B. Under Administration > LMS Integrations > Add LMS Integration
C. Fill out:

LMS Name: Canvas
Environment: Either "Testing" or "Production", as appropriate
LMS URL: https://yourschool.instructure.com (or similar)
App ID: the "ID" from step 3.C
App Key: the "Key" from step 3.C
Custom student ID field: see note below
Then click "Add LMS Integration"

D. Make note of the "Consumer Key" and "Consumer Secret", you’ll need them for the next step

5. Add Launch Akindi link to all courses: 


  • The Launch Akindi link can also be added to sub-accounts or individual courses. To do this, use the "Settings" link in the sub-account or course instead of the top-level Canvas "Settings" link.
  • The Launch Akindi link can be disabled by default by using the following configuration url in step 5.B: https://akindi.com/api/canvas/config.xml?disable-navbar-link=true

A. From Canvas, under Admin > Site Admin > Settings > Apps click "View App Configuration" and then select "+App"

B. Fill out with:

Configuration type: By URL
Name: Akindi
Consumer Key: Consumer Key generated by Akindi in step 4D
Shared Secret: Secret Secret generated by Akindi in step 4D
Configuration URL: https://akindi.com/api/canvas/config.xml
Icon URL: https://akindi.com/media/favicon.png

C. Click "Save"

6. You can now launch Akindi by clicking the Akindi icon in the course actions!


Students have Non-Numeric Student IDs

Akindi requires students to have numeric student IDs which students can fill out using the numeric student ID bubbles on bubble sheets. If your students have non-numeric student IDs (for example, "dwoleve1"), then they will need to be assigned some kind of numeric ID.

There are two ways Akindi may be able to load a numeric ID:

  1. Akindi can use Canvas’ opaque, internal ID. Canvas assigns students an opaque ID number that is used internally by Akindi and Canvas to identify the student, and Akindi can use this number as the student’s ID.This number is usually similar to "381525".
  2. Akindi can use a Canvas Custom Data field. Canvas allows custom data to be associated with each student, and Akindi is able to load a studentID from these custom data fields. Note: this option may require your institution to write some software to populate the custom data field.More information can be found here: https://canvas.instructure.com/doc/api/users.html#method.custom_data.set_data

By default, Akindi will use Canvas’ opaque, internal ID for every student with a non-numeric ID.

It is not a problem to start using student IDs from one source then change to another source at some later point; Akindi will automatically update any existing students and responses to reflect the most recent student IDs(note, however, that this does not apply to printed tests; if student IDs are changed after an instructor has printed tests but before they have been scanned, then Akindi will not be able to automatically associate the old student IDs printed on the bubble sheets with the new student IDs).

Partially Numeric Student IDs:

If student IDs are partially numeric (for example, "XY12345"), Akindi will follow these rules to extract the numeric portion:

  1. Up to three leading non-numeric characters and up to three trailing non-numeric characters will be removed. For example, "XY12345" will be converted to "12345", and "56789AB" will be converted to "56789".
  2. If there are at least five digits, the result will be used as the numeric student ID. If there are four or fewer digits, Akindi will fall back to using the LMS’s ID (see note above).

On launching Akindi, an "unknown client" error is shown

If, on clicking "Launch Akindi", you receive a blank screen with only the text: while(1);{"error":"invalid_client", "error_description" : "unknown client"}

Then Akindi’s developer key / app key does not match the developer key in Canvas.

To fix this error, double check that the "App ID" and "App Key" in Akindi matches the "ID" and "Key" in Canvas (that was created in step 3).

Did this answer your question?