Prerequisites
- Ensure you have administrator access to the Moodle instance you are connecting – otherwise, you may not be able to complete all of the listed steps yourself.
Note regarding version: The Kombo integration and this connection guide were written for and tested with Moodle 5. The connection flow will check if the version used by your instance is different (e.g., Moodle 4) and warn you about it – you will have a chance to continue. In that case, however, you should note that some functionalities may not be available and/or the contents of this guide may not correctly represent the required actions (e.g., due to changes in the user interface of Moodle). We recommend checking which version of Moodle you are using beforehand.
Find your Moodle Site URL
- Log into your Moodle instance
- Note the URL of your Moodle dashboard and paste it in the connection flow, under "Moodle Site URL". In the following example, you would want to paste
https://kombo.moodlecloud.com.
Configure the Web Service
- In you Moodle dashboard, use the top navigation menu and click on "Site administration".
- Click on the "Server" tab.
- Scroll down to the "Web services" section and click on "External services".
- Locate the "Add" button under "Custom services", and click on it.
- Enter the "Name" of the service, for example
Kombo Integration, then check the "Enabled" checkbox, and finally click on the "Add service" button. - On the next page, Moodle will note that the service you have created has no functions. Click on the "Add functions" link.
- Use the input to search for the first function name listed in the connection flow – once found, click on it in Moodle to confirm.
- You should see the first function name appear above the input like this, allowing you to use the input again.
- Repeat step 7 with the rest of the function names listed in the connection flow. Note: do not use the function names from the screenshots in this guide – they are provided as an illustrative example only and may be invalid!
- Once you add all the functions listed in the connection flow, click on the "Add functions" button.
Create the integration user
- In you Moodle dashboard, use the top navigation menu and click on "Site administration".
- Click on the "Users" tab.
- Under the "Accounts" section, click "Add a new user".
- Enter "kombo-integration" as the username, enable "Generate password and notify user", and enter the "First name", "Last name", and "Email address" of your choice.
- Scroll down and click on the "Create user" button.
- Click on the newly created user's name in the table.
- From the user's profile page, under the "User details" section, click "Edit profile".
- Uncheck the "Force password change" checkbox.
- Scroll down and click on the "Update profile" button.
Create a user role
- Click on the "Download" button in the connection flow to download an XML role preset file.
- In you Moodle dashboard, use the top navigation menu and click on "Site administration".
- Click on the "Users" tab.
- Under the "Permissions" section, click "Define roles".
- Scroll down and click on the "Add a new role" button.
- Use the "Choose a file…" picker or drag-and-drop area to select the XML role preset file you downloaded in step 1, then click "Continue".
- Scroll down all the way to the bottom of the page and click on the "Create this role" button.
Assign the role to the user
- In you Moodle dashboard, use the top navigation menu and click on "Site administration".
- Click on the "Users" tab.
- Under the "Permissions" section, click "Assign system roles".
- Click on the name of the role you created earlier.
- On the right-hand side, click on the user you created earlier, then click on the "Add" button in the center. The user should move to the left-hand side.
Make the user a site administrator
Note: Moodle requires site administrator status for the API user to access course-level data (such as completion reports and participant lists) across all courses. Without it, certain capability checks are not propagated from the system-level role to individual course contexts, even when the role is correctly defined and assigned. This does not replace the web service functions or role capabilities configured in the previous steps – those are still required to define what the integration can access. Site administrator status simply ensures those permissions are respected across all courses without requiring manual enrollment in each one. If you have concerns about granting site administrator access, please reach out to us to explore alternative configurations.
- In you Moodle dashboard, use the top navigation menu and click on "Site administration".
- Click on the "Users" tab.
- Under the "Permissions" section, click "Site administrators".
- On the right-hand side, click on the user you created earlier, then click on the "Add" button in the center. The user should move to the left-hand side.
- Confirm your action by clicking "Continue" in the next step.
Create a web service token
- In you Moodle dashboard, use the top navigation menu and click on "Site administration".
- Click on the "Server" tab.
- Scroll down to the "Web services" section and click on "Manage tokens".
- On the right-hand side of the screen, click on the "Create token" button.
- Enter the "Name" of your token, for example "Kombo Integration", then user the "User" input to select the integration user you created earlier, proceed to the "Service" input and choose the external service you created earlier as well. In "Valid until", either uncheck the "Enable" checkbox to make the token valid forever, or set an expiration date reasonably far in the future. Finally, click the "Save changes" button
- Copy the displayed token and paste it into the connection flow.
How to check which version of Moodle I'm using?
If you are using Moodle Cloud, you can click on the question mark bubble in the bottom-right corner of the page:
In any other case, please reach out to your third-party hosting provider/system administrator to confirm the currently installed version.