Integrate POK with Moodle using LTI
To integrate POK Proof of Knowledge with Moodle via LTI, you register the integration in your POK panel, configure an external tool in Moodle, and then add a credential activity to your courses. Once connected, POK can issue credentials to your students automatically, for example when they pass an assessment. The exact Moodle steps depend on your version: 3.9 or earlier, or 3.10 and newer.
This guide covers the LTI URL integration. POK also offers an API-based integration through the POK plugin for Moodle.
Start the integration from POK
- Go to the Integrations section in your POK panel.
- In the list of available platforms, select Moodle.
- Give the integration an identifying name (for example, "Moodle Bachelor's 2025").
- Select the integration type. For this guide, choose LTI URL Integration.
- On the next screen, indicate your Moodle version, since the steps vary by version:
- I have Moodle 3.9 or earlier
- I have Moodle 3.10 or newer
Not sure which version you run? See how to check your Moodle version.
If you have Moodle 3.9 or earlier
For this version, POK asks you for three values from Moodle: the Platform ID, the Client ID, and a Web Service Token. The sections below show where to get each one.
Get the Platform ID and Client ID
-
In Moodle, go to Site administration > Plugins > Activity modules > Manage tools.
-
Click Configure a tool manually.
-
Fill out the form with the following values:
- Tool name: a name that identifies the tool.
- Tool URL:
https://lti.pok.tech/lti/launch - LTI version:
1.3 - Public key type:
Keyset URL - Public keyset:
https://lti.pok.tech/.well-known/lti-jwks.json - Initiate login URL:
https://lti.pok.tech/lti/login - Redirection URI(s):
https://lti.pok.tech/lti/launch - Custom parameters:
course_id=$Context.id
person_timezone=$Person.address.timezone
course_section_label=$CourseSection.label
person_locality=$Person.address.locality
user_name=$User.username
person_full_name=$Person.name.full
course_title=$Context.title
person_family_name=$Person.name.family
course_offering_label=$CourseOffering.label
person_postal_code=$Person.address.postcode
course_offering_title=$CourseOffering.title
person_state_region=$Person.address.statepr
person_name_prefix=$Person.name.prefix
person_given_name=$Person.name.given
course_label=$Context.label
user_timezone=$Person.address.timezone
person_middle_name=$Person.name.middle
course_section_title=$CourseSection.title
person_country=$Person.address.country
user_id=$User.id
source_course_id=$Course.id
person_name_suffix=$Person.name.suffix -
Click Save changes.
-
In the list of created tools, click the 3 dots menu, then Tool configuration details.
-
Copy the Platform ID and Client ID shown there.
Generate the Web Service Token
To obtain the token, first enable web services in Moodle:
- Go to Site administration > Advanced features and check Enable web services.
- Go to Site administration > Plugins > Web services > Manage protocols and make sure the REST protocol is enabled (the eye icon is visible).
- Go to Web services > External services and create a new service:
- Give it a name (for example, "POK External Service").
- Check Enable.
- Click Add service.
- Click Add functions and add these two functions:
core_course_get_contentsgradereport_user_get_grade_items
- Save the functions.
- Go to Web services > Manage tokens and click Add:
- Select an administrator user.
- Choose the service you just created.
- Click Save changes and copy the generated token.
Complete the integration in POK
- Return to POK.
- Paste the Platform ID, Client ID, and Web Service Token.
- Click Confirm to finish the installation.
If you have Moodle 3.10 or newer
For this version, POK asks you for:
- Moodle Site URL (for example,
https://mydomain.moodle.edu) - Web Service Token: generate it by following the steps in Generate the Web Service Token.
Then:
- Complete both fields in POK.
- Click Confirm to move to the next screen.
- Copy the Dynamic LTI URL that POK displays.
Add the dynamic LTI tool in Moodle
- Go to Site administration > Plugins > External tool > Manage tools.
- Paste the Tool URL you copied from POK.
- Click Add LTI Advantage to complete the registration.
If Moodle shows Integration process failed (POST_REGISTRATION_ERROR) at this step, see how to fix the POST_REGISTRATION_ERROR.
Done. You can now use the Moodle integration to issue credentials automatically from your courses.
Set up the POK Credential activity in a course
Once the integration is complete, add the POK Credential activity to your Moodle courses to issue credentials to students automatically or manually.
Add the external tool activity
- From your administrator account, go to Site administration > Courses > Manage courses and categories.
- Select the course and click View to edit its content.
- In the upper right bar, turn on edit mode.
- Click Add an activity or resource.
- Select the External tool activity.
- In the Activity name field, enter a name that identifies the activity.
- In Preconfigured tool, select the POK tool you configured during the integration.
- In Launch container, we recommend selecting New window for a better visual experience.
- Click Save and return to course.
Configure credential issuance
Once the activity is saved, click it to open the LTI configuration and complete the form:
- Select the credential design.
- Link a custom page and a learning path (optional).
- Define whether the credential has an expiration date.
- Map the design's custom attributes to the student data available.
- Choose the credential type: basic or blockchain.
- Set the email language the student will receive.
Option A: issue automatically based on an assessment
If you want the credential to be issued automatically when a student passes an assessment:
- Select the course assessment to use as the basis.
- Enter the minimum grade the student must reach to trigger issuance.
- Choose the issuance date: credentials are generated on that date for every student who qualifies.
Option B: no issuance conditions
If you prefer not to set any prerequisites, skip Option A. In this case, students can open the credential item in the course and generate the credential manually.
Save the configuration
- Click Save Credential Configuration.
- Review the preview that appears with the loaded data.
- Click Save to apply the changes.
Your POK credential is now configured and ready to be issued automatically or on demand, depending on your selection.
View the credential list
After you configure a credential in a Moodle course, you can check its status, send it manually to students who meet the criteria, and edit its configuration if needed.
To open the list, click the credential item inside the course module. It shows the status of each student, and from there you can view and manage issuance.
What each status means
- Pending: the credential has not been generated or sent to the student yet.
- Sent: the credential was generated and the student received an email with the link to accept it.
- Accepted: the student accepted the credential from the email and it has been issued successfully.
Send credentials manually
You can send credentials at any time to students who meet the defined criteria:
- Click the Send button.
- Credentials are sent only to students with Pending status.
- Students who are already in Sent or Accepted status do not receive the credential again.
Edit a credential
To modify a credential that is already configured, click Configure Issuance. You can update:
- The data visible on the credential.
- The auto-issuance conditions (minimum grade, issuance date, and so on).
If you have any questions, email us at contact@pok.tech
Learn more
To see how POK's LTI integrations connect with your LMS and other systems, check out the LMS and CRM integrations feature page.