Skip to main content
All CollectionsLearning Management SystemsMoodle
How do I deploy Soomo’s Moodle plugin?
How do I deploy Soomo’s Moodle plugin?

LMS administrator instructions for deploying Soomo’s Moodle plugin

Soomo Support avatar
Written by Soomo Support
Updated over a week ago

Who is this article for?

LMS administrators

Where do I learn more about the Soomo/LMS integration?

To get started deploying Soomo’s Moodle plugin, follow the steps below. If you have any questions along the way, please don’t hesitate to contact our LMS specialist at

1. Set up the Soomo-Moodle plugin

The Soomo-Moodle plugin is implemented as a set of web service functions, in conformance with accepted Moodle coding guidelines. This means that API functions provided by the plugin must be enabled, and this is done in the Site administration > Plugins > Web services > External services area of Moodle.

Note the external service named “Soomo service” listed below. You can check the individual functions and the Moodle capabilities (permissions) required for each of them by clicking the Functions link.

Site administration > Plugins > Web services > External services > Functions

Screenshot of the Functions page in Moodle

In Moodle, web services are disabled by default, so we will need to check that they are enabled. Go to Site administration, then Advanced features, and make sure that the Enable web services option is checked.

Site administration > Advanced features

Screenshot of the Advanced features page in Moodle

The Soomo plugin uses the REST protocol. This also needs to be enabled. Go to Site administration, Plugins, Web services, and then Manage protocols to enable it.

Site administration > Plugins > Web services > Manage protocols

Screenshot of the Manage protocols page in Moodle

Now, a new Moodle user must be created specifically for the Soomo plugin. This can be done in Site administration, Users, Accounts, then Add a new user. Take note of the username you use in this step, as we will use it in the steps that follow. In this example, our chosen username is soomo_user. We fill in the required fields, although they are not used for the purpose of the plugin.

Site administration > Users > Accounts > Add a new user

Screenshot of the Add a new user form field in Moodle

Now, we need to define a specific role for soomo_user in which we enable only the Moodle capabilities required by the plugin. Access the Define roles area, scroll down, and click the Add new role button. Fill in the information. In this case, we chose to call the role soomo_role. It is important to select “None” as the role archetype so we don’t inherit any capabilities from other roles.

Site administration > Users > Permissions > Define roles

Screenshot of the Define roles form field in Moodle

Scrolling all the way down, you will see the interface used to assign capabilities to this role. First, you must select Allow for the Web service: REST Protocol capability. It may be easier to search using the filter value “webservice/rest:use.” Be sure to click the checkbox next to Allow for the option once you locate it. Here is what it looks like once you search:

Screenshot of the REST protocol section of Moodle with a Save changes button

You will then add all the capabilities listed as “required” in the Functions screen from earlier in this process.

This unique list is:


After adding all the capabilities from the Functions screen, you must save the changes to the role.

Next, you will need to assign soomo_role to soomo_user. Use the Site administration > Users > Permissions > Assign system roles tool. You will see the role you created listed there with the name you provided to it. Click soomo_role and then you will arrive at the role assignment screen. There, you can search for soomo_user and assign the role to it.

Screenshot of the Assign system roles page in Moodle

Next, we must create an authentication token for soomo_user, which will be provided to Soomo so that the webtext platform can call into the Moodle installation in order to perform the API calls we have configured. All operations will be performed as soomo_user. Go to Site administration > Plugins > Web services > Manage tokens and click Add. Then you can assign the soomo_user to the Soomo service plugin service, and then click Save changes.

Screenshot of the Create token page in Moodle

Take note of the generated token. This token must be shared with Soomo to enable the webtext platform to connect to your Moodle instance.

In the event that something went wrong with the capabilities assignment, the Moodle UI will display which capabilities are missing to be able to use all the functions in the service. This will appear as “Missing capabilities.” You will need to add these to resolve the issue.

Screenshot of the Manage tokens page in Moodle

Finally, use a private note-sharing service to share the generated token with Soomo. We often use, but there are other means of communicating the token securely as well. Please do not send the token by email as it grants privileged access to your Moodle installation.

2. Soomo Moodle plugin deployment

Upon completion of Step 1 and successful installation of the Soomo Moodle plugin, a Soomo LMS specialist will email you a configuration payload. Below is a sample payload (but do NOT use this for your deployment.)

Consumer Key


Shared Secret

[Visit the URL linked here, click Yes, show me the note, and use the contents as the shared secret.]

Custom Parameters


If you don’t have this configuration payload yet, you won’t be able to proceed with the setup. Please contact to get your configuration payload if you have not received it yet.

Once you have the configuration payload, navigate to your Moodle course shell. Click on the gear icon in the top right of your course. Select Turn editing on. Click Add an activity or resource. Select External Tool from the list and click Add. Under the General tab, select the Show more option and use the configuration data below to fill in the appropriate details.

Activity Name


Launch URL

Secure Launch URL

Launch Container

New window

Consumer Key

[Located in configuration payload from Soomo]

Shared Secret

[Located in configuration payload from Soomo]

Custom Parameters

template_course=[Located in configuration playload from Soomo]

Icon URL

Secure Icon URL

Finally, under the Grade tab, you should select the Point type and set the maximum grade as you and your Soomo support specialist have discussed. If this has not yet been discussed, contact us at

If you would like to download these instructions as a PDF, click here.

Watch video tutorial

If you have any questions, click the Messenger button in the lower right corner. You can also contact us using the information below.

Monday–Friday 9 a.m.–9 p.m. ET
Saturday–Sunday 1 p.m.–9 p.m. ET

Did this answer your question?