Follow the end-to-end installation guide for the PebblePad LTI with Moodle for global administrators to integrate the platforms together, as recommended.
Installation is not self-serve. To initiate, request support from a PebblePad Implementation Engineer.
Please complete this process in the same web session for the browser to correctly authenticate the set-up.Moodle Version
This guide is for Moodle 4.2.
- Where requested during set up, leave this option unchecked.
An instructor must specifically add the Pebble LTI tool to a list of content for a course:
- From within the course, click More > LTI External Tools.
- For the PebblePad LTI 1.3 tool, toggle 'Show in activity chooser' to on.
- Return to the course.
- The tool will show in 'Add an activity or resource' from the course content page.
1. Whitelist domain
- Note that this is on the PebblePad side, and does not refer to anything firewall-related
- Log in to your PebblePad with an administrator account.
- From the Pebble+ main menu, choose Additional services > Administration.
- Click the Settings tab.
- In the General panel, tick Content Security Policy header.
- Click Update to save the page.
- Return to Content Security Policy header,
- Add your Moodle URL - must end with /
- Click Update to save the page.
2. Add external tool
- Log in to Moodle with an administration account.
- From the main menu, click Site Administration and choose Plugins.
- In the Activity Modules panel, beneath External tools, click Manage tools.

4. Under the buttons, click the link to configure a tool manually.
5. On the External tool configuration page, complete the fields using the information in the table below the screenshot and save changes at the bottom.

External Tool Configuration - Tool settings - to enter
| Tool name | PebblePad LTI 1.3 |
| Tool URL | https://LocationServer/login/openid/redirect |
| Tool description | Add a brief description to help you identify the tool later in thumbnail view. |
| LTI Version | LTI 1.3 |
| Public key type | Keyset URL |
| Public key set | https://LocationServer/login/OrgURL/.well-known/jwks.json |
| Initiate login URL | https://LocationServer/login/openid/authorise |
| Redirection URI(s) | https://LocationServer/login/openid/redirect |
| Customer Parameters | pebble_username=$User.username |
| Tool configuration usage | Show as pre-configured tool when adding an external tool |
| Default launch container | New Window |
| Supports Deep Linking | ✓ |
| Content Selection URL | Blank |
| Icon URL (within show more...) | https://resources.pebblepad.co.uk/hubfs/Full%20colour%20iconPebblePad.png |
Services (click to expand menu) | |
| IMS LTI Assignment and Grade Services | Use this service for grade sync and column management |
| IMS LTI Names and Role Provisioning | Use this service to retrieve members' information as per privacy settings |
| Tool Settings | Use this service |
Privacy (click to expand menu) | |
| Share launcher's name with tool | Always |
| Share launcher's email with tool | Always |
| Accept graders from the tool | As specified in Deep Lining definition or Delegate to teacher |
| Force SSL | Unticked |
Where indicated, replace LocationServer with the domain for your geographical area:
| Test (all regions) | lti1p3.apptest.pebblepad.com |
| AU Production | lti1p3.pebblepad.com.au |
| CA Production | lti1p3.pebblepad.ca |
| UK Production | lti1p3.pebblepad.co.uk |
| US Production | lti1p3.pebblepad.com |
Your OrgURL is found in your installation's URL, e.g. https://apptest.pebblepad.com/login/abcde
3. Note tool details
1. From the new PebblePad LTI 1.3 tile, click the magnifying glass icon ('View configuration details' shows on hover).

2. From the modal, manually copy or email the tool details.

3. Paste somewhere safe - to be used in stage 10.
4. Create service account
For authentication, the API requires a user account with administration permissions. We recommend using a dedicated service user account.
- Follow the Moodle guide to create a user (opens in new tab).
- Assign the account with the following permissions (as minumum).
| 1 | moodle/user:update |
| 2 | moodle/user:viewalldetails |
| 3 | moodle/user:viewhiddendetails |
| 4 | moodle/grade:edit |
| 5 | gradereport/user:view |
| 6 | moodle/course:managegroups |
| 7 | moodle/course:useremail |
| 8 | moodle/course:view |
| 9 | moodle/course:viewhiddencourses |
| 10 | moodle/course:viewparticipants |
| 11 | moodle/user:viewdetails |
| 12 | mod/lti:view |
| 13 | moodle/site:accessallgroups |
| 14 | moodle/site:viewfullnames |
5. Set up API
- From the main menu, click Site Administration and choose Server.
- Click Web Services.
- Click External Services and click Add
- Complete the fields using the information in the table below.
- Click Add service.
| Name | PebblePad LTI 1.3 |
| Short name | lti1p3 |
| Enabled | ✓ |
| Authorised users only | ✓ |
6. Add functions
The Add functions page will open for the new PebblePad LTI 1.3 service.
- In Name field, add the following functions - copy and paste into the search field.
| core_enrol_get_enrolled_users |
| core_grades_update_grades |
| core_group_get_course_groups |
| core_group_get_groups |
| core_group_get_group_members |
| gradereport_user_get_grade_items |
| mod_lti_get_ltis_by_courses |
7. Add authorised user
- Return to External services.
- From the new PebblePad LTI service, click Authorise Users.
- In the Not Authorised list, find the service account user
- Click the user and Add to the Authorised list.
8. Enable protocols
- Return to Web Services.
- Click Enable Protocols.
- Confirm REST Protocol is present, has a version number, and is enabled.
- Return to Web Services.
- Click Manage Tokens and Create token.
- Complete the fields using the information in the table below.
- Click Save changes.
| User | [Your service account user] |
| Service | PebblePad LTI 1.3 |
9. Set up API in PebblePad
- Log in to your PebblePad with an administrator account.
- From the Pebble+ main menu, choose Additional services > Administration.
- Click Integrations and Moodle from the sub menu.
- Complete the fields using the information in the table below.
- Click Save.
| Moodle's location | [Your Moodle URL] - must end with / |
| Moodle's Service Name | lti1p3 |
| Username | [Your service account username] |
| Password | [Your service account password] |
10. Contact PebblePad Helpdesk
For the PebblePad Implementation Engineer to authenticate the integration, provide them with the following from the 'Tool configuration details' modal/pop-upfor the new tool you have created, as described earlier in this guide:
- Set-up Stage
- We strongly suggest using the test server in the first instance
- Platform ID
- a URL
- Client ID
- An alphanumeric string
- Deployment ID
- A number
- Public keyset URL
- Access Token URL
- Authentication request URL
To run an end-to-end user test, follow the workspace manager's guide to creating a Moodle-linked assignment.