> For the complete documentation index, see [llms.txt](https://docs.devolutions.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.devolutions.net/rdm/knowledge-base/knowledge-base-articles/protocol-handler.md).

# Protocol handler

A ***Protocol handler*** has been implemented in Remote Desktop Manager to be able to launch a session directly from HTML content. This can be very useful to call Remote Desktop Manager from a Configuration Management Database (CMDB) or even a Document Management System (DMS).

{% hint style="info" %}
Internet Explorer and Mozilla Firefox execute the URL by clicking on it or by pressing <kbd>Enter</kbd>. However, with some other web browsers such as Google Chrome, executing the URL normally results in a web search. These browsers may require to do <kbd>Ctrl</kbd>+click or <kbd>Ctrl</kbd>+<kbd>Enter</kbd> to execute the URL.
{% endhint %}

### Scenarios

There are two ways to use the handler:

* Generating a URL for a session: basically every entry type that connects to a remote device using a protocol.
* Generating a URL for a template: allows you to specify the host name of the device you wish to connect to, but takes the settings of the template.

### Parameters

Here are the parameters used to build a protocol handler URL for advanced scenarios. ***DataSource*** and ***Session IDs*** are enough to open a connection.

{% hint style="info" %}
The ***DataSource*** parameter overrides the workspace which the application connects to at startup. This applies even if the user is prompted for a workspace to connect to..
{% endhint %}

<table><thead><tr><th width="123.5999755859375">PARAMETER</th><th>DESCRIPTION</th></tr></thead><tbody><tr><td>DataSource</td><td>Indicate the workspace or the database ID. Find them in the <em><strong>IDs</strong></em> section of the <em><strong>Advanced properties</strong></em> of an entry.<br><br>A workspace ID is unique per installation, which makes the URL usable only by the workstation where the workspace has been created. By default, Remote Desktop Manager generates the URL with the database ID.</td></tr><tr><td>Session</td><td>Indicate the ID of a session. Find it in the <em><strong>Session ID</strong></em> field in the <em><strong>Advanced properties</strong></em> of a session.</td></tr><tr><td>Template</td><td>Indicate the ID of the template of an entry. The template parameter retrieves some properties of a template and uses them against the session parameter. The host parameter is required when using the template parameter.</td></tr><tr><td>Host</td><td>Indicate the hostname or IP address of the remote device. Used along with the template parameter, or to override the host property of the session parameter.</td></tr><tr><td>Port</td><td>Indicate the port to use. Used to override the port property of the session or template parameter.</td></tr><tr><td>Username</td><td>Indicate the username to use. Used to override the username property of the session or template parameter.</td></tr><tr><td>Password</td><td>Indicate the password to use. Used to override the password property of the session or template parameter.</td></tr><tr><td>Domain</td><td>Indicate the domain to use. Used to override the domain property of the session or template parameter.</td></tr><tr><td>Title</td><td>Indicate the title of the tab when a session is launched using the <em><strong>Embedded</strong></em> (tabbed) display mode. This can be very useful when several sessions are launched at the same time.</td></tr><tr><td>Filter</td><td>Populate the <em><strong>Search</strong></em> field.</td></tr><tr><td>Tabpage</td><td>Give the focus to a tab in the dashboard after the application has completed the startup procedure. Available only with the <em><strong>Select</strong></em> action. The possible tabs are:- <em><strong>Overview</strong></em></td></tr></tbody></table>

* ***Documentation***
* ***Macros/Scripts/Tools***
* ***Management Tools***
* ***Information***
* ***Attachments***
* ***Logs***
* ***Recordings*** |

### Actions

* ***Open***: Open the specified connection.
* ***Find***: Find sessions by host.
* ***Edit***: Edit the specified connection.
* ***View***: View the password of the specified entry.
* ***OpenWithMacro***: Open the specified with a macro.
* ***Select***: Select a connection in the ***navigation pane*** (allows to select a tab in the dashboard as well).

### Syntax

`rdm://<action>=<value>[&=<value>]`

The base syntax of the protocol handler requires the application protocol, an action and at least one parameter to work with.

There are three rules to follow when constructing an URL for the protocol handler:

* The action is separated from the parameters with a question mark (?).
* Each parameter is assigned a value by using an equal sign (=).
* Parameter/Value pairs are separated with an ampersand (&).

### Examples

**Open Remote Desktop Manager with the search/filter field populated and the focus on the Dashboard**

`rdm://open?Filter=RDP&Tabpage=Dashboard`

**Open an RDP session**

1. In the ***Entry information*** section of an entry's properties, click on ***Create web Url***.

   <figure><img src="https://cdnweb.devolutions.net/docs/RDMW2029_2024_1.png" alt=""><figcaption></figcaption></figure>
2. Select ***RDM protocol handler (rdm://)***.

   <figure><img src="https://cdnweb.devolutions.net/docs/RDMW2030_2024_1.png" alt=""><figcaption></figcaption></figure>
3. The URL has now been copied to the clipboard. Click ***OK*** to close the confirmation window.

   <figure><img src="https://cdnweb.devolutions.net/docs/RDMW2031_2024_1.png" alt=""><figcaption></figcaption></figure>
4. Paste (<kbd>Ctrl</kbd>+<kbd>V</kbd>) this URL in any application able to handle application protocols. It can be in a web page, a web browser address bar, or even a supported chat application. The protocol handler launches Remote Desktop Manager if it is closed, then performs the requested action with the provided parameters.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.devolutions.net/rdm/knowledge-base/knowledge-base-articles/protocol-handler.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
