---
title: "Upload External Data"
canonical: "https://support.55degrees.se/space/SP/3924886383/Upload%20External%20Data"
format: markdown
---
As a Flow Metrics tool, ActionableAgile Analytics requires some formatting to be able to correctly read and visualise your files. Our external data loader allows you to upload and format your files in a few simple steps. 

> ℹ️ We currently have a bug where using commas within a cell will identify that comma as a divider and cause premature cell division and cell count mismatch. If you have any commas within cells, please remove them.

## Locating the External Data Loader

Depending on which version of ActionableAgile Analytics you have, you will find the external data loader in slightly different places.

After you click on the item in the dropdown, a window with a drop area will appear. 

![Screenshot 2025-01-22 at 13.25.06.png](media://692eb039-5da4-49aa-876b-111764d815ec)

The next steps are to choose and confirm how your file is formatted in the mapping stage, which is shown in the images below.

> ℹ️ Depending on how many columns you have, you may have multiple pages of columns to map.

- The **first section**, named **File Columns**, contains the names of the columns we read from your file.
- The **second section**, named **Sample Data**, contains the data we have sampled from the corresponding columns in your data.
- The **third section**, **Column Type**, contains drop-down menus for you to choose which column types the corresponding columns will be recognised and mapped as. Some may already be assigned the correct column type as the external data used the parameters to recognise them.
- The **fourth section**, **Verify Date Format**, asks you to verify the date format you used in your file. The date formats **must** match. If there were dates in the first two data rows of your file, it may already be correct.

After all data has been verified and all columns have been assigned, select Load Data, and your data will be loaded into ActionableAgile.

## How We Identify & Map Your Data

To map your file, we check the values in the columns of the *first two rows**** ****that contain data* (so not the header row) to identify the column type. 

- The *minimum* requirements for the file are two rows, a header, and a data line. There **must** be at least three workflow stages and a column named ID (not case-sensitive).
- If there is a valid date format in one of the columns of the first two rows that contain data, we identify that column as a **Workflow Stage**.
- The tool will now automatically backfill missing dates, so you do not need to manually add a date when a workflow stage is skipped.
- If there is a column name containing “**Blocked**” (not case sensitive) and has a value **Yes/No** or **True/False**, it will be identified as the Blocked column.
- If there is a column name containing “**Blocked Days**” (not case sensitive) and has a valid numerical value (a whole number), it will be identified as the Blocked column.
- If the first two data rows are empty, they’re identified as **Do Not Import** in **Column Type**; if you wish to include these rows, you’ll need to choose a **Column Type** for them.
- Empty columns and rows *will* be removed.
- Timestamps *will* be removed.
- Commas within a cell will cause premature cell separation as this is what is used as the cell separator.
- Additional columns (such as labels, sprints, components) with multiple values in the same cell need to be separated as so: **[value 1|value 2|value 3]**.

## Backward Flow Movement

The dates in the file should always increase to reflect a left-to-right movement in your flow. However, an item might have been moved prematurely and went back on your board; this is called “backward flow movement.”   
If an item is moved backward in the flow, let’s say from Workflow Stage C to Workflow Stage B, it is considered never to have been in Workflow Stage C at all. All of the time in Workflow Stage C will be added to the time in Workflow Stage B. It will get a new timestamp for Workflow Stage C when it reenters that workflow stage. 

> ℹ️ For more details, read the blog post dedicated on this subject: [Moving card backward on your Kanban board](https://actionableagile.com/blog/moving-cards-backwards-on-your-kanban-board/).

![Screenshot 2024-07-03 at 14.06.43.png](media://7623ca56-cba3-4df3-b76f-3902ae2eeb56)

## Additional Tips

Remove any unnecessary columns like these:

- Long-form text fields like descriptions and comments aren’t very usable in ActionableAgile and can break your file format easily.
- Fields that you won’t use for filtering just add clutter and possibilities for breaking your file format.

If you are using Excel for your data file, there are a few things you may want to consider:

- We recommend that you use minimal formatting for your file. Things like freezing panels, hiding rows, hiding columns, etc., can occasionally cause problems with the data load process.
- If you ever do have problems loading your file, then remember that you can always save your Excel file as a CSV and upload the CSV. This approach fixes many of the formatting errors mentioned above.

## File Examples

**CSV**

Example format:

| **ID** | **link** | **title** | **<workflow steps>** | **<additional columns>** |
| --- | --- | --- | --- | --- |
| <span style="color: #ff5630">The ID of your issues.</span> | <span style="color: #97a0af">The link of your issues.</span> | <span style="color: #97a0af">The title of your issues.</span> | <span style="color: #ff5630">At least three.</span><br>Dates only; timestamps will be cut off by the tool. | <span style="color: #97a0af">Such as blocked days, blocked days, labels, assigned, reported, etc.</span> |

Example download:

---

**Excel**

Example format:

| **ID** | **link** | **title** | **<workflow steps>** | **<additional columns>** |
| --- | --- | --- | --- | --- |
| <span style="color: #ff5630">The ID of your issues.</span> | <span style="color: #97a0af">The link of your issues.</span> | <span style="color: #97a0af">The title of your issues.</span> | <span style="color: #ff5630">At least three.</span><br>Dates only; timestamps will be cut off by the tool. | <span style="color: #97a0af">Such as blocked days, blocked days, labels, assigned, reported, etc.</span> |

Download template file:

---

**JSON**

Example code:

```
[["ID","Name","Dev","Test","Prod","blocked"],
["1001","Sample 1","09/01/2016","09/01/2016","09/06/2016","2"],
["1002","Sample 2","09/02/2016","09/07/2016","09/10/2016","0"],
["1003","Sample 3","09/02/2016","","","0"],
["1004","Sample 4","09/02/2016","09/05/2016","09/05/2016","0"],
["1005","Sample 5","09/05/2016","09/11/2016","","0"],
["1006","Sample 6","09/08/2016","09/12/2016","09/19/2016","0"],
["1007","Sample 7","09/08/2016","09/09/2016","09/10/2016","0"],
["1008","Sample 8","09/11/2016","09/15/2016","09/22/2016","0"],
["1009","Sample 9","09/12/2016","09/17/2016","","0"],
["1010","Sample 10","09/13/2016","","","0"]]
```

Downloadable template file:

---

## Errors

The following are error messages you may receive when uploading your external data into ActionableAgile:

> ❌ At least three **Workflow Stages** columns required.

> ✅ Have a minimum of three **Workflow Stages** in your file. If there are three or more and this error persists, you may not have dates in those **Workflow Stages**, so you must manually assign these as **Workflow Stages** under **Column Type**.

> ❌ Please select a matching **Date Format**.

> ✅ Have the **Date Format** of your file match the date format chosen in the external file loader. This error message may appear if you do not have dates in the first two data rows of your file, which is where we verify the date format, so you must choose is manually under **Verify Date Format**.

> ❌ Decreasing dates.

> ✅ Edit your file so the offending issue(s) do not have chronologically decreasing dates. [See here for more information.](https://55degrees.atlassian.net/wiki/spaces/AAS/pages/edit-v2/2703982595#Backward-Flow-Movement)

> ❌ Missing file extension.

> ✅ The JSON URL is missing the the file extension .JSON.

> ❌ Missing ID.

> ✅ Add a column with the name **ID**.