Asset Builder

The Asset Builder allows project managers to upload tabular files containing rows of data, to then create custom assets, one per row, including both the data in the imported table and data that is common to all assets.

See this video for a visual overview of the Asset Builder (as of May 2024)

Creating Assets

In the project where you would like to create the assets, enter the Assets tab and click on Add Data. In the dialog that appears, click on the Asset Builder tab. The Asset Builder will open.

Step 1: Import Rows

If your project includes classification questions, and you wish for some or all of the questions to be displayed inline in the asset, rather than on the left side of the screen, please ensure you have created the classifications you need from the project's Settings -> Category Schema section before beginning to create your assets.

If your data rows contain links to files in private buckets, and you would like to display the content of those links in the assets you will create, please ensure you have created a storage integration between Ango Hub and the bucket before beginning to create your assets. Read more in our docs on how to create storage integrations.

Import File

The first step is to import the rows of data which will form part of the final asset.

On the Asset Builder's Data Upload page, drag and drop the file containing the rows you wish to import onto the area marked below, or click on the area to open your OS's file picker.

The following are the file formats supported for importing rows:


Comma-Separated Values


Any type of delimiter is supported beyond commas. You may indicate a custom delimiter during upload.

Tab-Separated Values


Excel Binary File Format (Office 1997-2007)


Excel Workbook (Microsoft Office 2007 onwards)


JavaScript Object Notation


You may see, copy, and download a sample .csv from the left-hand side of the screen.

Pick Delimiter (if input file is .csv)

If the file you have imported is a .csv, you will be prompted to select the delimiter used in the file you have just imported.

What is a delimiter?

A .csv file is a list of rows, with the first row being the table's header.

Each row is then divided into columns. The delimiter is the character dividing the rows into columns.

Common delimiters include: comma, semicolon, tab, space, period.

You may pick your delimiter from a list of presets or enter your own by choosing Custom:

You may choose to replace the file by clicking on Replace file.

Once you are done, click on Next Step. Ango Hub will start parsing the file. You will then be directed to the next page.

Step 2: Previewing Rows

If you have followed the steps so far, you will be shown a preview of the data rows you have added.

You may add more rows by clicking on the Add More Data button at the top.

If your upload is split into multiple files, please ensure that in all files, the column headers are the exact same in number, position, and name.

Click on Next Step when you are done.

Step 3: Editing the Asset

At the end of this entire process, after you will have designed the asset, the Asset Builder will have created one asset for each data row you have added in the first two steps.

Each asset will have two data components: data which is the same for all assets (for example, text you manually type into the editor), and data which is different for each asset, pulled from each data row. This latter data will be chosen by you by picking an element from the Data column on the right.

At this stage, you can create the template for the assets which will be displayed to annotators, using, among others, the data that is contained in the rows you have just imported.

In the page that appears, you will see, on the left side, the editor with which you will create the asset. On the right side, you will see two tabs: Data contains a list of all columns in your table, and Classifications contains a list of classifications present in the project (if any).

Select External ID Column

In Ango Hub, all assets must have an External ID. From the External ID Column dropdown, pick a data column you would like to use as source to pick the assets' external IDs.

Entering Data Common to All Assets

In the Asset Content Editor, using the editor's rich text editing capabilities and its toolbar, you may enter any text, image, video, table, URL, list, or code snippet you wish. Data added this way will be shared by all assets created.

Embedding JavaScript code using <script> tags is not supported. <script> tags and their contents are purged when the asset is created, and when switching from the HTML view to the preview.

<iframe> tags are supported. This means that you may embed another live website, or parts of another website, in the assets.

You may either add the same iframe to all assets, by including it in the common HTML, or have individual different iframes for each asset by having the code content of the iframe as a .csv column.

This way, you may, for example, embed live YouTube videos, or any other content from websites:

Entering Table Row Data

In addition to data that is common to all assets, you may embed data directly from the data rows you have uploaded in Steps 1 and 2.

To do so, in the Asset Builder Editor, place the cursor where you would like to add the row data. Then, from the right-hand side of the screen, look for the column name of the data you would like to add.

Click on the + button on the column you would like to add. This will add a placeholder in the editor with the name of the column between double curly brackets:

For example, if your data rows have a column named vehicle_type, and you have clicked on + on the vehicle_type column section, the asset editor will appear this way:

In the final assets, the example above will look like this (for one row):

where Hub substitutes {{vehicle_type}} with the actual content of the rows in the vehicle_type column.

Manually typing the double curly brackets and the column name in the editor will still add the relevant field and make the data display in the asset, however, it will not add HTML fields which are necessary to display the media correctly.

While you can add fields by typing them manually, we strongly recommend using the + button to add them to the editor, as this adds specific code to the HTML which makes the field appear correctly in the asset.

By default, row data is displayed as plain text. You may choose, however, how the data is shown by expanding the "Configs" dropdown on the right side of the screen, before clicking on +.

For example, if the data you are adding is a link to an image, video, audio, or code for an iframe, and you would like to display the image directly, or an audio/video player through which annotators can play the media, select the correct media type from the dropdown, then click on +:

If the row data is a link to an asset in a private bucket, you may pick the storage integration Hub should use under the Storage dropdown, before clicking on the plus button:

At any point, you may preview what the assets will look like, using the data you have imported in Steps 1 and 2, by clicking on the Preview button in the top-right.

Entering Inline Classifications

If your project has top-level classifications in its category schema, you may choose to have some or all classifications appear directly in the asset itself rather than on the left-hand side of the screen.

To do so, on the right-hand side of the Asset Builder, switch to the Classifications tab.

In the Asset Builder Editor, place the cursor where you would like the classification to appear.

From the Classifications tab, click on the title of the classification you would like to include:

A placeholder for the classification will be inserted in the editor. In the final asset, the classification will be integrated in the asset itself.

You may include an inline classification only once per template per classification.

If you insert the same classification in more than one location in your asset template, the classification will only be shown at the location where you have last inserted it.

Classifications inserted this way will not appear in the preview that appears when clicking on the Preview button in the top-right side of the Asset Builder. They will, however, appear in the final assets.

For example, this is what classifications look like when embedded inline into an asset:

Pre-labeling Inline Classifications

You may pre-populate classifications as you create assets with the Asset Builder with content in columns of the table itself.

For each classification (the classifications do not need to necessarily be embedded in the asset itself – this will work for any classification in the project, whether it is displayed in the Classifications section on the left-hand side of the screen or in the asset itself) you may select a column containing the answer to the classification.

To do so, from the Classification tab in the Asset Builder, navigate to the classification you would like to pre-label and select, from the Pre-label column dropdown, the column containing the pre-labels.

When the assets are created, the classification will be pre-populated with the contents of the column selected in this step.

Pre-label format

For classifications with a single input (e.g. radio, text, single dropdown), having the text content of the answer in the column, with no special formatting, is enough.

For example, if you wish to pre-label a radio button with the options Red, Blue, and Yellow, having "Yellow" as text (without quotes) in the CSV will be sufficient to have the Yellow options pre-selected as answer.

For classifications with multiple inputs (e.g. checkbox, multiple dropdown) and for classifications with single inputs, but with the Multiple toggle turned on (i.e. the annotators can answer a classification, like radio or text, multiple times), the answers separated by a semicolon will be sufficient to pre-populate the classification.


Step 4: Creating the Assets

When you are finished creating the asset template, click on Create Assets in the bottom-right corner of the Asset Editor to create the assets and import them in the current project.

Assets created this way, once imported to the project, are fixed. They may not be updated later on. To update the assets, you will have to delete them and recreate them using the Asset Builder.

Last updated