The following steps will set up an LTI 1.3 integration with Willo Labs, Codon's partner for LMS integrations. The LTI 1.3 integration enables the following features: launch/single sign-on, calendar sync, and score sync.


Add Developer Key

  1. Log into Canvas as an Administrator, navigate to the Admin tab, and select Developer Keys.
  2. Click + Developer Key and select + LTI Key.



  1. Complete the following fields:
    • Key Name: (Suggested) Willo
    • This is because Codon partners with Willo Labs for LMS integrations, and so you may choose to use this integration with other vendors/products in the future.
    • Owner Email: Admin e-mail address
      • Redirect URIs:
      • US Schools: https://app2.willolabs.com/lti/launch
      • Canadian Schools: https://ca2.willolabs.com/lti/launch
    • Notes: Optional
    • Method: Paste JSON
      Screenshot_2023-03-14_at_1.57.56_PM.png
    • LTI 1.3 Configuration: Copy and paste the correct JSON template based on your location.
      • US Schools
        {

            "title": "Willo Labs",

            "scopes": [

                "https://purl.imsglobal.org/spec/lti-ags/scope/lineitem",

                "https://purl.imsglobal.org/spec/lti-ags/scope/lineitem.readonly",

                "https://purl.imsglobal.org/spec/lti-ags/scope/result.readonly",

                "https://purl.imsglobal.org/spec/lti-ags/scope/score",

                "https://purl.imsglobal.org/spec/lti-nrps/scope/contextmembership.readonly",

                "https://canvas.instructure.com/lti/public_jwk/scope/update",

                "https://canvas.instructure.com/lti/account_lookup/scope/show",

                "https://canvas.instructure.com/lti/data_services/scope/create",

                "https://canvas.instructure.com/lti/data_services/scope/show",

                "https://canvas.instructure.com/lti/data_services/scope/update",

                "https://canvas.instructure.com/lti/data_services/scope/list",

                "https://canvas.instructure.com/lti/data_services/scope/destroy",

                "https://canvas.instructure.com/lti/data_services/scope/list_event_types",

                "https://canvas.instructure.com/lti/feature_flags/scope/show",

                "https://canvas.instructure.com/lti-ags/progress/scope/show"

            ],

            "extensions": [

                {

                    "platform": "canvas.instructure.com",

                    "settings": {

                        "platform": "canvas.instructure.com",

                        "placements": [

                            {

                                "text": "Willo Labs",

                                "placement": "link_selection",

                                "message_type": "LtiDeepLinkingRequest",

                                "target_link_uri": "https://app2.willolabs.com/onelink/"

                            }

                        ]

                    },

                    "domain": "app2.willolabs.com",

                    "privacy_level": "public"

                }

            ],

            "public_jwk": {},

            "description": "Willo Labs",

            "custom_fields": {

                "canvas_user_id": "$Canvas.user.id",

                "canvas_course_id": "$Canvas.course.id"

            },

            "public_jwk_url": "https://app2.willolabs.com/platform/keyset",

            "target_link_uri": "https://app2.willolabs.com/onelink/",

            "oidc_initiation_url": "https://app2.willolabs.com/lti/initialize"

        }

      • Canadian Schools

        {

            "title": "Willo Digital Delivery 1.3",

            "scopes": [

                "https://purl.imsglobal.org/spec/lti-ags/scope/lineitem",

                "https://purl.imsglobal.org/spec/lti-ags/scope/lineitem.readonly",

                "https://purl.imsglobal.org/spec/lti-ags/scope/result.readonly",

                "https://purl.imsglobal.org/spec/lti-ags/scope/score",

                "https://purl.imsglobal.org/spec/lti-nrps/scope/contextmembership.readonly",

                "https://canvas.instructure.com/lti/public_jwk/scope/update",

                "https://canvas.instructure.com/lti/account_lookup/scope/show",

                "https://canvas.instructure.com/lti-ags/progress/scope/show"

            ],

            "extensions": [

                {

                    "platform": "canvas.instructure.com",

                    "settings": {

                        "platform": "canvas.instructure.com",

                        "placements": [

                            {

                                "text": "Willo Digital Delivery 1.3",

                                "placement": "link_selection",

                                "message_type": "LtiDeepLinkingRequest",

                                "target_link_uri": "https://ca2.willolabs.com/onelink/"

                            },

                            {

                                "text": "Willo Digital Delivery 1.3",

                                "placement": "course_assignments_menu",

                                "message_type": "LtiDeepLinkingRequest",

                                "target_link_uri": "https://ca2.willolabs.com/onelink/",

                                "icon_url": "https://ca.willolabs.com/static/images/willo_device_000000.png"

                            },

                            {

                                "text": "Willo Digital Delivery 1.3",

                                "placement": "module_index_menu_modal",

                                "message_type": "LtiDeepLinkingRequest",

                                "target_link_uri": "https://ca2.willolabs.com/onelink/",

                                "icon_url": "https://ca.willolabs.com/static/images/willo_device_000000.png"

                           },

                           {

                                "text": "Willo Digital Delivery 1.3",

                                "placement": "editor_button",

                                "message_type": "LtiDeepLinkingRequest",

                                "target_link_uri": "https://ca2.willolabs.com/onelink/",

                                "icon_url": "https://ca.willolabs.com/static/images/willo_device_000000.png"

                            }


                        ]

                    },

                    "domain": "ca2.willolabs.com",

                    "privacy_level": "public"

                }

            ],

            "public_jwk": {},

            "description": "Willo Digital Delivery 1.3",

            "custom_fields": {

                "canvas_user_id": "$Canvas.user.id",

                "canvas_course_id": "$Canvas.course.id",

                "section_ids": "$Canvas.course.sectionIds",

                "user_id": "$User.id",

                "course_id": "$Canvas.course.id"

            },

            "public_jwk_url": "https://ca2.willolabs.com/platform/keyset",

            "target_link_uri": "https://ca2.willolabs.com/onelink/",

            "oidc_initiation_url": "https://ca2.willolabs.com/lti/initialize"

        }

  2. Click Save.
  3. Locate the newly created key and toggle it to the ON state.
  4. Note the Client ID.
    Screenshot_2023-03-14_at_2_10_10_PM.png



    Add App Configuration (View App Configurations)

  5. Navigate to Settings > Apps > View App Configurations
  6. Click +App.
  7. Complete the following fields:
    • Configuration Type: By Client ID
    • Enter the Client ID from Step 6.
  8. Click Submit.
  9. Locate the newly created app, select the settings icon, click on Deployment Id, and note the Deployment ID that is provided.
  10. Send the Canvas Base URL, the Client ID, and the Deployment ID to your Codon contact to complete setup.
  11. Once the configuration is complete, your contact at Codon will send you a launch URL that can be used for testing, if you wish. The launch URL is necessary because we partner with Willo labs to run our LMS integrations. Since Willo supports multiple products/vendors the launch URL links the course to Codon rather than one of Willo's other partners. The Codon team is happy to support instructors in setting up the external tool in their courses once the LTI 1.3 installation is complete.

Ready to test? 

Follow instructions in this support article: How to Test the LMS Integration



The above are instructions adapted from Willo Labs’ documentation. Please contact support@codonlearning.com for assistance at any time.