Ad-hoc LTI tools in course

Teachers can add any LTI tool directly in their courses, using the LTI Tool (the blue puzzle) on the resource add page. This requires teachers to be able to obtain basic configuration parameters for the tool. This approach is particularly useful if teachers want to use public available tools such as tools found on e.g. Edu App Center. Ad-hoc LTI tools in itslearning conform to the LTI 1.0 or LTI 1.1 specifications. That means some of the custom extensions/LTI enhancements used for LTIs on Edu App Center might not be supported. Ad-hoc LTI tools in itslearning also supports outcome service for grade pass-back from tool provider (3rd party) to the tool consumer (itslearning).

Teachers can set up the tool in three ways (more details in images below) by launch URL, by configuration URL or by configuration XML:

  1. The launch URL is the simplest way when the tool does not require any special configuration, and should work in most cases.

  2. The configuration URL and the configuration XML approaches only differs in the way how the XML is supplied, the actual XML content will be the same.

Ad-hoc LTI tools can also be imported to a course and also the Library using the Organisation API. Please have a look here for how to get access to the API.

Configuration UIs for Ad-hoc LTI tools

LTI Tool when using Launch URL

When configuring Ad-hoc LTI Tools with Launch URL, custom parameters are not supported.


LTI Tool when using XML configuration

When configuring Ad-hoc LTI Tools with XML configuration, custom parameters are support by adding them to the XML configuration (see more details below).


XML configuration

If the LTI tool requires additional configuration than what is supported in the UI, the LTI tool needs to be configured using XML configuration. XML configuration is only supported for Ad-Hoc LTI tools in courses. (It is currently not support for LTI Applications, LTI Modules and LTI Plugins created in the Developer Portal). XML configuration can be added either by pasting the XML content in the XML text box, or by linking to a configuration URL where the XML is hosted. For the exact formatting please see the documentation at Representing Basic Launch Links in a Cartridge.


XML example
<?xml version="1.0" encoding="UTF-8"?>
<cartridge_basiclti_link xmlns="" xmlns:blti = "" xmlns:lticm ="" xmlns:lticp ="" xmlns:xsi = "" xsi:schemaLocation = "">
<blti:title>Your tool title</blti:title>
<blti:description>Your tool description</blti:description>
<lticm:property name="keyname">value</lticm:property>
<lticm:property name="customuserid">$</lticm:property>
<blti:extensions platform="">
<lticm:property name="privacy_level">public</lticm:property>
<blti:launch_url>url to the basiclti launch URL</blti:launch_url>
<blti:secure_launch_url>secure url to the basiclti launch URL</blti:secure_launch_url>
<cartridge_bundle identifierref="BLTI001_Bundle"/>
<cartridge_icon identifierref="BLTI001_Icon"/>

Note: Application key and shared secret are not contained within the XML cartridge, so if applicable you need to supply these separately to your consumer.


The LTI tool can pass itslearning extension parameters which will be used in displaying the learning tool. Please use platform="" to indicate that extension properties are meant for the itslearning platform. Extensions are only supported using XML configuration.

Property name



If provided and view type of the learning tool instance is set to frame this will be used as height of the frame.


This setting determines the amount of information regarding you name/e-mail is sent. Possible values:

anonymous - Send no name or e-mail information, of course an id is still sent to the tool can identify a user
email_only - Only the e-mail address will be passed along to the learning tool
name_only - Only you name will be passed along to the learning tool
public - All information (name and e-mail) well be passing along to the learning tool

if not provided anonymous will be used by default.


If provided and view type of the learning tool instance is set to frame this will be used as width of the frame.

LTI standard launch parameters

Please have a look here for standard LTI launch parameters supported in itslearning

LTI custom parameters and custom parameters substitution

itslearning supports to pass custom parameters with fixed/static values and custom parameters where the values are substituted. For Ad-Hoc LTI tools set up by teachers in courses (or imported) this is only supported using XML configuration. For XML configuration the custom parameters must be added in the custom element:

Example, for:

<lticm:property name="person_age">26</lticm:property>
<lticm:property name="person_email">$</lticm:property>

the following will be passed to Tool Provider:

custom_person_age=26 --> custom parameter with fixed value
[email protected] --> custom parameter where value has been substituted

Please have a look here  for supported custom parameter substitutions in itslearning.