> 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/ribbon-menu-bar/file/import/import-generic-csv-wizard/csv-import-strategies-and-file-format.md).

# CSV import strategies and file format

When importing CSV files into Remote Desktop Manager, there are some decisions to be made about the strategies to use and the format of the content.

### Templates

The most important decision is about if and how to apply a template as part of the process.

Both methods of importing from CSV allow you to choose a template for newly created entries. If you do choose a template as part of the process, it will be applied to all entries created from that batch. Sometimes, it may be a good strategy to split the entries in different CSV files by grouping them by entry types you wish to create. This ensures that they are imported correctly in Remote Desktop Manager and reduces the number of actions required after the import action.

If you want a more specific configuration, you can set the template to use in the ***Template*** column of the CSV file. However, since you can set the entry type for each entry individually in the CSV file (***ConnectionType***), this may not be necessary.

#### Header format instruction

In ***File – Import***, we recommend you use the ***Import generic CSV wizard*** option first. You can modify, if needed, the ***Header format instruction***.

<figure><img src="https://cdnweb.devolutions.net/docs/docs_en_rdm_windows_RDMWin2226.png" alt=""><figcaption></figcaption></figure>

* Session: The content of the CSV file is imported as ***Session*** type entries in Remote Desktop Manager. Unless a ConnectionType is mentioned in your CSV or a template is used, your entries will be imported as RDP entries by default.
* Credential: The content of the CSV file is imported as ***Credential*** type entries in Remote Desktop Manager, such as ***Username/Password***, ***Password list***, and ***1Password***.
* Information: The content of the CSV file is imported as ***Information*** type entries in Remote Desktop Manager, such as ***Credit card***, ***Bank account***, and ***Alarm codes***.
* Template: The content of the CSV file is imported as ***Templates*** in Remote Desktop Manager.

### File content

{% hint style="warning" %}
Some entry settings checks are not performed during the import, but rather when the session(s) properties dialogs are invoked after the import. Therefore, using the import process may result in invalid entries that may trigger errors. Please validate the relevant entries carefully.
{% endhint %}

In the CSV file, the ***Host*** and the ***Name*** fields are mandatory. If no template is specified, the RDP type will be used as a fallback type. Fields must be separated by commas.

We cannot provide the list of all supported fields for all entry types because Remote Desktop Manager uses an open architecture and is therefore not aware of all the entry type fields that are provided by our add-on system. A good method of finding out the field structure is creating an entry of the desired type, right-clicking it and selecting ***Clipboard – Copy***, then pasting the content in your favorite editor. You will see the structure and the field names.

{% hint style="info" %}

* Default values for fields are not serialized, meaning that they are simply left out of the serialized structure.
* Implementing support for all fields comes at a cost. The import process is time consuming because of all the dynamic field access that takes place. A massive initial import of entries should be separated in batches of manageable sizes. Please perform trials and tune the number of entries to achieve acceptable performance.
  {% endhint %}

All of our entries share a basic set of fields; the rest is tied to the specific technology being interfaced with (RDP, SSH, etc.). Some fields are grouped in structures, like the Information Tab. Those fields are accessible only when providing the structure name as a prefix, for example, "MetaInformation\OS" or "MetaInformation\PurchaseDate".

{% hint style="info" %}
The CSV file can contain our variables: they will be resolved upon saving. For instance, you could use the $HOST$ variable in fields like ***Description*** , ***URL***, ***Putty\CustomSessionName***, etc. It will be replaced by the corresponding value.
{% endhint %}

Below is a non-exhaustive list of some relevant fields.

<table><thead><tr><th width="263.60003662109375">FIELD</th><th>DESCRIPTION</th></tr></thead><tbody><tr><td>Host</td><td>Host name of the device. This field is <strong>mandatory</strong>.</td></tr><tr><td>Name</td><td>Name of the entry. This field is <strong>mandatory</strong>.</td></tr><tr><td>ConnectionType</td><td>Token representing the connection type. It is best to use the <em><strong>Clipboard – Copy</strong></em> method to obtain the acceptable values. If no connection type is specified, RDP will be used by default.</td></tr><tr><td>Group</td><td>Destination folder. Note that if the import process itself defined a destination folder, the folder listed here would be created below the one from the process.</td></tr><tr><td>Description</td><td>Description of the entry.</td></tr><tr><td>Open (Embedded)</td><td>Boolean value (true or false) that indicates to open the session embedded. The default value is false, meaning that the native client will be used depending on the technology (MSTSC.EXE, for instance).</td></tr><tr><td>Username</td><td>Username used to open a session to the device.</td></tr><tr><td>Domain</td><td>Domain used to open a session to the device.</td></tr><tr><td>Password</td><td>Password used to open a session to the device. Please note that this field is encrypted and stored into another field upon being imported.</td></tr><tr><td>MetaInformation\SerialNumber</td><td>Serial number of the device.</td></tr><tr><td>MetaInformation\ServiceTag</td><td>Service tag of the device.</td></tr><tr><td>MetaInformation\PurchaseDate</td><td>Purchase date in a ISO8601 format (i.e., yyyy-mm-dd).</td></tr></tbody></table>

### Example

Here is an example of a CSV file template to import SSH hosts as SSH Shell entries in Remote Desktop Manager:

| ConnectionType | Name      | Group          | Host            | Port | CredentialUserName | CredentialDomain | CredentialPassword |
| -------------- | --------- | -------------- | --------------- | ---- | ------------------ | ---------------- | ------------------ |
| SSHShell       | SSH Shell | YourFolderName | 123.123.123.123 | 123  | YourUsername       | YourDomain       | YourPassword       |

#### See also

* [Devolutions Academy - Importing and Exporting Data](https://academy.devolutions.net/student/path/1925039/activity/3139557)
* [Devolutions Academy - How to Use the CSV Wizard](https://academy.devolutions.net/student/page/2397263-how-to-use-the-csv-wizard)


---

# 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/ribbon-menu-bar/file/import/import-generic-csv-wizard/csv-import-strategies-and-file-format.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.
