# Bulk uploading Queue Items using a CSV file

> This feature enables you to bulk upload queue items into a specific queue in Orchestrator using a CSV file. To do that, first upload your file into your Orchestrator instance for a specific queue. After the file is successfully processed, the contained items are uploaded into the queue according to the selected strategy. Please note that the file must be populated beforehand using predefined formats so that the upload operation is successful.

This feature enables you to bulk upload queue items into a specific queue in Orchestrator using a CSV file. To do that, first upload your file into your Orchestrator instance for a specific queue. After the file is successfully processed, the contained items are uploaded into the queue according to the selected strategy. Please note that the file must be populated beforehand using predefined formats so that the upload operation is successful.

There is a series of predefined column headers that you can use when building your CSV file, but you can also use other custom headers. After successfully uploading the CSV file, information contained in columns with predefined headers is mapped to columns as found in Orchestrator. Information contained in columns with custom headers is placed under the **Specific Data** section of the corresponding item in Orchestrator. See detailed information about column mapping [here](https://docs.uipath.com/orchestrator/standalone/2023.10/user-guide/about-queues-and-transactions#about-queues-and-transactions) and an example [here](https://docs.uipath.com/orchestrator/standalone/2023.10/user-guide/about-queues-and-transactions#about-queues-and-transactions).

:::note
The upload is limited to 15,000 items per file. You can lower the limit using the [Upload.Queues.MaxNumberOfItems](https://docs.uipath.com/orchestrator/standalone/2022.10/installation-guide/uipath-orchestrator-dll-config) app setting.
:::

## Column Mapping

 <colgroup>
  <col/>
  <col/>
 </colgroup>
 
  
     File Column Header  
     Orchestrator Field  
  
 
 
  
    Reference Mandatory for unique reference queues.  It supports all special characters, except double quotes - <code>"</code> . 
    ReferenceNote: References are not compatible with v2016.2 or lower versions of Orchestrator or Robot. 
  
  
    Deadline If used, they must be populated with a date in one of the following formats: 
      
         YYYY-MM-DD 
         YYYY/MM/DD 
         YYYY MM DD 
         YYYY-MM-DD HH:mm 
         YYYY/MM/DD HH:mm 
         YYYY MM DD HH:mm 
         YYYY-MM-DD HH:mm:ss 
         YYYY/MM/DD HH:mm:ss 
         YYYY MM DD HH:mm:ss 
      

    Deadline 
  
  
    Postpone If used, they must be populated with a date in one of the following formats: 
      
         YYYY-MM-DD 
         YYYY/MM/DD 
         YYYY MM DD 
         YYYY-MM-DD HH:mm 
         YYYY/MM/DD HH:mm 
         YYYY MM DD HH:mm 
         YYYY-MM-DD HH:mm:ss 
         YYYY/MM/DD HH:mm:ss 
         YYYY MM DD HH:mm:ss 
      

    Postpone 
  
  
    Priority If used, they must be populated with a date in one of the following formats: 
      
         Low or 1 
         Normal or 2 
         High or 3 
      
 If the priority is not specified in the file, the items are uploaded with a high priority, by default.  
    Priority Mapped to the following values, respectively: 
      
         Low 
         Normal 
         High 
      

  
  
    [Custom_Name] The name can only be made of alphanumeric characters: 0-9, a-z, or underscores.  
    Specific Data Mapped in JSON format.  For example: On-Us Check : 5540  
  
 

Please note that you cannot have empty column headers in your file.

:::note
The predefined column headers are case sensitive, please make sure to follow the mapping rules above. A column in your CSV named `reference` is mapped to the **Specific Data** section, instead of the **Reference** column.
:::

## Upload Strategies

There are two strategies for handling the upload:

* **ProcessAllIndependently** - processes all items individually and adds them to the queue, if successful. If not, it returns a list of those whose processing failed. You have the option to download the list into a CSV file populated with the same fields as in the initially uploaded file.
* **AllOrNothing** - adds the items only if all of them are successfully processed. Otherwise, none are added.

## Dynamic Typing

When uploading queue items to queues with schema definitions there are times when you need Orchestrator to interpret String characters as Integers or Booleans in order to match the schema definition.

**Dynamic typing** is an option that allows you to control how Orchestrator parses string value inside of.csv files used to upload queue items.
:::note
Numeric data must conform to the definition of a decimal literal. Numerical values greater than 2<sup>53</sup> or less than -2<sup>53</sup> are not converted to Integer to preserve precision. Make sure to use the dot as a decimal separator and the comma as a thousand separator.
:::

## Uploading Queue Items using a CSV file

This section concerns adding items to a queue using a CSV file from Orchestrator.

1. In the **Queues** page, click the corresponding **More Actions** button for the desired queue, and then **Upload Items**. The **Upload Items** window is displayed.

Figure 1. Upload Items

   ![Screenshot of the Upload Items window](https://dev-assets.cms.uipath.com/assets/images/orchestrator/orchestrator-screenshot-of-the-upload-items-window-226411-a0fb3e66.webp)

2. Select **Browse** and select the desired CSV file.
3. Select **Open**. If your file is compliant with the [supported formatting rules](https://docs.uipath.com/orchestrator/standalone/2023.10/user-guide/about-queues-and-transactions#about-queues-and-transactions), the upload operation is successful.
4. Select the [upload strategy](https://docs.uipath.com/orchestrator/standalone/2023.10/user-guide/about-queues-and-transactions#about-queues-and-transactions):
   * **Process all independently** - processes all items individually and adds them to the queue, if successful. If not, it returns a list of those whose processing failed. You have the option to download the list into a CSV file populated with the same fields as in the initially uploaded file
   * **All or nothing** - adds the items only if all of them are successfully processed. Otherwise, none are added.
5. Select the **Dynamic typing** checkbox if you want Orchestrator to interpret string characters in the CSV files as integer or boolean. This is recommended when uploading queue items to queues with schema definitions when it's required to match the schema definition. Read more about [dynamic typing](https://docs.uipath.com/orchestrator/standalone/2023.10/user-guide/bulk-uploading-queue-items-using-a-csv-file#dynamic-typing). Leave it unselected, if you want strings to be interpreted as strings.

Figure 2. Dynamic typing

   ![Screenshot of the Upload Items window with the Dynamic typic option checked](https://dev-assets.cms.uipath.com/assets/images/orchestrator/orchestrator-screenshot-of-the-upload-items-window-with-the-dynamic-typic-option-checked-232390-7aabae6a.webp)
   
6. Click **Upload**. The items are added to your queue according to the previously selected strategy.
7. If you used the **Process All Independently** option and there are unprocessed items, the **Upload** button becomes **Download** and enables you to download a CSV file containing the unprocessed items.

## Example

Let's say you upload into a queue the content of the following CSV file. An easy way to create such a file is to populate the data into an excel file and save it as a CSV file.

Or you can [download](https://documentationpicturerepo.blob.core.windows.net/screenshots/screenshots/2019.10_Orchestrator/ExampleCSV.csv) a CSV file with all the pre-filled column headers and customize it to your needs.

Notice that this file contains three predefined columns, having the same name as in Orchestrator (**Reference**,**Deadline**, and **Priority**, highlighted in green) and two custom columns (**Customer** and **Color**, highlighted in red).

Figure 3. CSV file

   ![Screenshot of a CSV file](https://dev-assets.cms.uipath.com/assets/images/orchestrator/orchestrator-screenshot-of-a-csv-file-227215-3036df72.webp)

1. Click **Upload Items** for the desired queue, and select the CSV file. Orchestrator parses the file to confirm it meets formatting rules.
2. Select the desired upload strategies and click **Upload** to finish the process.
3. Select **More Actions** &gt; **View Transactions** to view the uploaded queue items.

The **Transactions** page displays each item uploaded from your file. The information contained within the file's predefined columns is mapped to the columns with the same name in Orchestrator (**Reference**,**Deadline**, and **Priority**, highlighted in green).

Figure 4. Transactions page

   ![Screenshot of the Transactions page](https://dev-assets.cms.uipath.com/assets/images/orchestrator/orchestrator-screenshot-of-the-transactions-page-226531-d9e754e0.webp)

The information in the custom columns is mapped in JSON format to the **Specific Data** section of each item. Select **View Details** for the desired item to check details.

Figure 5. Details tab

   ![Screenshot of the Details tab](https://dev-assets.cms.uipath.com/assets/images/orchestrator/orchestrator-screenshot-of-the-details-tab-226001-ebef5617.webp)
