Follow the end-to-end installation guide for the PebblePad LTI with Canvas for global administrators to integrate the platforms together as recommended.
Installation is not self-serve. To initiate, request support from a PebblePad Integration Engineer.
1. Add LTI key
- Log in to Canvas with an administration account.
- From Admin menu, click Developer Keys.
- Click +Developer Keys and choose LTI Key.
- Complete the fields as follows:
Key name PebblePad Owner email (Your email) Redirect URIs (Choose your location below) Test (all regions): https://lti1p3.apptest.pebblepad.com/login/openid/redirect AU production: https://lti1p3.pebblepad.com.au/login/openid/redirect CA production: https://lti1p3.pebblepad.ca/login/openid/redirect UK production: https://lti1p3.pebblepad.co.uk/login/openid/redirect US production: https://lti1p3.pebblepad.com/login/openid/redirect - Copy the JSON code (below) for your location.
- In Method, choose Paste JSON and paste code.
- At the bottom of the JSON text and replace ({Organisation ID}) with your ID.
Found in your install URL e.g. https://apptest.pebblepad.com/login/abcde
- Click Save.
- Toggle the status of Developer Key to On.
- Copy the Client ID - this is needed in stage 2.
2. Add PebblePad app
- From Admin, click Settings.
- Click Apps.
- Click View App Configurations.
- Click +Apps.
- For configuration type, choose By Client ID.
- Paste Client ID - copied from stage 1.
- From the Settings cog of the PebblePad tool, click Deployment ID.
- Copy the complete line of text and paste somewhere safe - to return to later.
3. Create service account
For authentication, the API requires a user account with administration permissions. We recommend using a dedicated service account.
- Follow the Canvas guide to create an admin user (opens in new tab).
- Assign the account full administrator permissions.
4. Set up membership and grade API
- Log in to Canvas with a service account.
- From Admin, click Developer Keys.
- Click +Developer Key and choose +API key.
- Complete the fields as follows:
Key Name PebblePad Owner email (account email address) Redirect URIs - Test (all regions): https://apptest.pebblepad.com
- AU Production: https://v3.pebblepad.com.au/
- CA Production: https://app.pebblepad.ca/
- UK Production: https://v3.pebblepad.co.uk/
- US Production: https://pebblepad.com/
Redirect URI (legacy) Duplicate the same value you add to the Redirect URIs Icon URL https://tinyurl.com/ppplus Enforce Scopes Enabled Allow Include Parameters ✓ Enable parameters Enrolments
url:GET|/api/v1/courses/:course_id/enrollments
Groups
url:GET|/api/v1/courses/:course_id/groups
url:GET|/api/v1/groups/:group_id/memberships
Submissions
url:PUT|/api/v1/courses/:course_id/assignments/:assignment_id/submissions/:user_id - Click Save.
- Toggle the status of Developer Key to On.
- Note the Client ID and Client Key - save for later.
5. Set up PebblePad admin
- Log in to PebblePad with an administrator account.
- From the Pebble+ burger menu, choose Additional services > Administration.
- Click Integrations and Canvas from the sub menu.
- Tick Override the default PebblePad Client ID and Secret.
- Click Save.
- Complete the fields using the information below.
- Click Save.
Canvas URL | Your Canvas URL - must end in / |
Enforce Scopes | ✓ |
Client ID | Copy from stage 4 |
Client Key | Copy from stage 4 |
If Enforce Scopes is locked:
- Copy the current settings from the page.
- Delete the set-up.
- Reapply the settings (the tick box will be available).
5. Authorise tool in Canvas
- Log in to Canvas with the same service account.
- Click Authorise.
6. Contact PebblePad Helpdesk
For the PebblePad Integration Engineer to authenticate the integration, provide them with:
- Installation location (TAQAS or Production)
- Canvas URL
- Development ID
- Client ID
To run an end-to-end user test, follow the workspace manager's guide to creating a Canvas-linked assignment.
JSON files
Copy the code for your geographical location.
TAQAS (test for all locations)
{ "title": "PebblePad", "scopes": [ "https://purl.imsglobal.org/spec/lti-ags/scope/score", "https://purl.imsglobal.org/spec/lti-nrps/scope/contextmembership.readonly" ], "extensions": [ { "domain": "lti1p3.apptest.pebblepad.com", "tool_id": "pebblepad", "platform": "canvas.instructure.com", "settings": { "text": "PebblePad LTI 1.3", "icon_url": "https://tinyurl.com/ppplus", "platform": "canvas.instructure.com", "placements": [ { "text": "PebblePad ATLAS LTI 1.3", "enabled": true, "icon_url": "https://tinyurl.com/ppatlas", "placement": "assignment_selection", "message_type": "LtiResourceLinkRequest", "target_link_uri": "https://lti1p3.apptest.pebblepad.com/login/openid/redirect" }, { "text": "PebblePad Resources LTI 1.3", "enabled": true, "placement": "editor_button", "message_type": "LtiDeepLinkingRequest", "target_link_uri": "https://lti1p3.apptest.pebblepad.com/login/openid/redirect" }, { "enabled": true, "placement": "course_navigation", "message_type": "LtiResourceLinkRequest", "windowTarget": "_blank", "target_link_uri": "https://lti1p3.apptest.pebblepad.com/login/openid/redirect" } ], "selection_width": 800, "selection_height": 600 }, "privacy_level": "public" } ], "public_jwk": {}, "description": "PebblePad", "custom_fields": { "canvas_user_id": "$Canvas.user.id", "canvas_course_id": "$Canvas.course.id", "canvas_account_id": "$Canvas.account.id", "canvas_api_domain": "$Canvas.api.baseUrl", "canvas_assignment_id": "$Canvas.assignment.id", "canvas_user_login_id": "$User.username", "lis_person_name_full": "$Person.name.full", "lis_person_name_given": "$Person.name.given", "custom_pebble_username": "$Canvas.user.loginId", "lis_person_name_family": "$Person.name.family", "lis_person_contact_email_primary": "$Person.email.primary" }, "privacy_level": "public", "public_jwk_url": "https://lti1p3.apptest.pebblepad.com/login/{Organisation ID}/.well-known/jwks.json", "target_link_uri": "https://lti1p3.apptest.pebblepad.com/login/openid/redirect", "oidc_initiation_url": "https://lti1p3.apptest.pebblepad.com/login/openid/authorise" }
Australia
{ "title": "PebblePad", "scopes": [ "https://purl.imsglobal.org/spec/lti-ags/scope/score", "https://purl.imsglobal.org/spec/lti-nrps/scope/contextmembership.readonly" ], "extensions": [ { "domain": "lti1p3.pebblepad.com.au", "tool_id": "pebblepad", "platform": "canvas.instructure.com", "settings": { "text": "PebblePad LTI 1.3", "icon_url": "https://tinyurl.com/ppplus", "platform": "canvas.instructure.com", "placements": [ { "text": "PebblePad ATLAS LTI 1.3", "enabled": true, "icon_url": "https://tinyurl.com/ppatlas", "placement": "assignment_selection", "message_type": "LtiResourceLinkRequest", "target_link_uri": "https://lti1p3.pebblepad.com.au/login/openid/redirect" }, { "text": "PebblePad Resources LTI 1.3", "enabled": true, "placement": "editor_button", "message_type": "LtiDeepLinkingRequest", "target_link_uri": "https://lti1p3.pebblepad.com.au/login/openid/redirect" }, { "enabled": true, "placement": "course_navigation", "message_type": "LtiResourceLinkRequest", "windowTarget": "_blank", "target_link_uri": "https://lti1p3.pebblepad.com.au/login/openid/redirect" } ], "selection_width": 800, "selection_height": 600 }, "privacy_level": "public" } ], "public_jwk": {}, "description": "PebblePad", "custom_fields": { "canvas_user_id": "$Canvas.user.id", "canvas_course_id": "$Canvas.course.id", "canvas_account_id": "$Canvas.account.id", "canvas_api_domain": "$Canvas.api.baseUrl", "canvas_assignment_id": "$Canvas.assignment.id", "canvas_user_login_id": "$User.username", "lis_person_name_full": "$Person.name.full", "lis_person_name_given": "$Person.name.given", "custom_pebble_username": "$Canvas.user.loginId", "lis_person_name_family": "$Person.name.family", "lis_person_contact_email_primary": "$Person.email.primary" }, "privacy_level": "public", "public_jwk_url": "https://lti1p3.pebblepad.com.au/login/{Organisation ID}/.well-known/jwks.json", "target_link_uri": "https://lti1p3.pebblepad.com.au/login/openid/redirect", "oidc_initiation_url": "https://lti1p3.pebblepad.com.au/login/openid/authorise" }
Canada
{ "title": "PebblePad", "scopes": [ "https://purl.imsglobal.org/spec/lti-ags/scope/score", "https://purl.imsglobal.org/spec/lti-nrps/scope/contextmembership.readonly" ], "extensions": [ { "domain": "lti1p3.pebblepad.ca", "tool_id": "pebblepad", "platform": "canvas.instructure.com", "settings": { "text": "PebblePad LTI 1.3", "icon_url": "https://tinyurl.com/ppplus", "platform": "canvas.instructure.com", "placements": [ { "text": "PebblePad ATLAS LTI 1.3", "enabled": true, "icon_url": "https://tinyurl.com/ppatlas", "placement": "assignment_selection", "message_type": "LtiResourceLinkRequest", "target_link_uri": "https://lti1p3.pebblepad.ca/login/openid/redirect" }, { "text": "PebblePad Resources LTI 1.3", "enabled": true, "placement": "editor_button", "message_type": "LtiDeepLinkingRequest", "target_link_uri": "https://lti1p3.pebblepad.ca/login/openid/redirect" }, { "enabled": true, "placement": "course_navigation", "message_type": "LtiResourceLinkRequest", "windowTarget": "_blank", "target_link_uri": "https://lti1p3.pebblepad.ca/login/openid/redirect" } ], "selection_width": 800, "selection_height": 600 }, "privacy_level": "public" } ], "public_jwk": {}, "description": "PebblePad", "custom_fields": { "canvas_user_id": "$Canvas.user.id", "canvas_course_id": "$Canvas.course.id", "canvas_account_id": "$Canvas.account.id", "canvas_api_domain": "$Canvas.api.baseUrl", "canvas_assignment_id": "$Canvas.assignment.id", "canvas_user_login_id": "$User.username", "lis_person_name_full": "$Person.name.full", "lis_person_name_given": "$Person.name.given", "custom_pebble_username": "$Canvas.user.loginId", "lis_person_name_family": "$Person.name.family", "lis_person_contact_email_primary": "$Person.email.primary" }, "privacy_level": "public", "public_jwk_url": "https://lti1p3.pebblepad.ca/login/{Organisation ID}/.well-known/jwks.json", "target_link_uri": "https://lti1p3.pebblepad.ca/login/openid/redirect", "oidc_initiation_url": "https://lti1p3.pebblepad.ca/login/openid/authorise" }
United Kingdom
{ "title": "PebblePad", "scopes": [ "https://purl.imsglobal.org/spec/lti-ags/scope/score", "https://purl.imsglobal.org/spec/lti-nrps/scope/contextmembership.readonly" ], "extensions": [ { "domain": "lti1p3.pebblepad.co.uk", "tool_id": "pebblepad", "platform": "canvas.instructure.com", "settings": { "text": "PebblePad LTI 1.3", "icon_url": "https://tinyurl.com/ppplus", "platform": "canvas.instructure.com", "placements": [ { "text": "PebblePad ATLAS LTI 1.3", "enabled": true, "icon_url": "https://tinyurl.com/ppatlas", "placement": "assignment_selection", "message_type": "LtiResourceLinkRequest", "target_link_uri": "https://lti1p3.pebblepad.co.uk/login/openid/redirect" }, { "text": "PebblePad Resources LTI 1.3", "enabled": true, "placement": "editor_button", "message_type": "LtiDeepLinkingRequest", "target_link_uri": "https://lti1p3.pebblepad.co.uk/login/openid/redirect" }, { "enabled": true, "placement": "course_navigation", "message_type": "LtiResourceLinkRequest", "windowTarget": "_blank", "target_link_uri": "https://lti1p3.pebblepad.co.uk/login/openid/redirect" } ], "selection_width": 800, "selection_height": 600 }, "privacy_level": "public" } ], "public_jwk": {}, "description": "PebblePad", "custom_fields": { "canvas_user_id": "$Canvas.user.id", "canvas_course_id": "$Canvas.course.id", "canvas_account_id": "$Canvas.account.id", "canvas_api_domain": "$Canvas.api.baseUrl", "canvas_assignment_id": "$Canvas.assignment.id", "canvas_user_login_id": "$User.username", "lis_person_name_full": "$Person.name.full", "lis_person_name_given": "$Person.name.given", "custom_pebble_username": "$Canvas.user.loginId", "lis_person_name_family": "$Person.name.family", "lis_person_contact_email_primary": "$Person.email.primary" }, "privacy_level": "public", "public_jwk_url": "https://lti1p3.pebblepad.co.uk/login/{Organisation ID}/.well-known/jwks.json", "target_link_uri": "https://lti1p3.pebblepad.co.uk/login/openid/redirect", "oidc_initiation_url": "https://lti1p3.pebblepad.co.uk/login/openid/authorise" }
United States of America
{ "title": "PebblePad", "scopes": [ "https://purl.imsglobal.org/spec/lti-ags/scope/score", "https://purl.imsglobal.org/spec/lti-nrps/scope/contextmembership.readonly" ], "extensions": [ { "domain": "lti1p3.pebblepad.com", "tool_id": "pebblepad", "platform": "canvas.instructure.com", "settings": { "text": "PebblePad LTI 1.3", "icon_url": "https://tinyurl.com/ppplus", "platform": "canvas.instructure.com", "placements": [ { "text": "PebblePad ATLAS LTI 1.3", "enabled": true, "icon_url": "https://tinyurl.com/ppatlas", "placement": "assignment_selection", "message_type": "LtiResourceLinkRequest", "target_link_uri": "https://lti1p3.pebblepad.com/login/openid/redirect" }, { "text": "PebblePad Resources LTI 1.3", "enabled": true, "placement": "editor_button", "message_type": "LtiDeepLinkingRequest", "target_link_uri": "https://lti1p3.pebblepad.com/login/openid/redirect" }, { "enabled": true, "placement": "course_navigation", "message_type": "LtiResourceLinkRequest", "windowTarget": "_blank", "target_link_uri": "https://lti1p3.pebblepad.com/login/openid/redirect" } ], "selection_width": 800, "selection_height": 600 }, "privacy_level": "public" } ], "public_jwk": {}, "description": "PebblePad", "custom_fields": { "canvas_user_id": "$Canvas.user.id", "canvas_course_id": "$Canvas.course.id", "canvas_account_id": "$Canvas.account.id", "canvas_api_domain": "$Canvas.api.baseUrl", "canvas_assignment_id": "$Canvas.assignment.id", "canvas_user_login_id": "$User.username", "lis_person_name_full": "$Person.name.full", "lis_person_name_given": "$Person.name.given", "custom_pebble_username": "$Canvas.user.loginId", "lis_person_name_family": "$Person.name.family", "lis_person_contact_email_primary": "$Person.email.primary" }, "privacy_level": "public", "public_jwk_url": "https://lti1p3.pebblepad.com/login/{Organisation ID}/.well-known/jwks.json", "target_link_uri": "https://lti1p3.pebblepad.com/login/openid/redirect", "oidc_initiation_url": "https://lti1p3.pebblepad.com/login/openid/authorise" }