# Data-flo's building blocks: Adaptors

## What is an adaptor?

An adaptor is a **step in a workflow that performs a specific task** such as reformatting a date column, adding jittering for statistical analysis, importing datasets, geocoding places, or sampling data from a datatable.&#x20;

In the Data-flo canvas, an adaptor is represented by a **card**. Behind the scenes, an adaptor consists of a JavaScript function and a metadata manifest, wrapped up and presented as a card in the Data-flo interface.

<figure><img src="https://1969044508-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVJMuSDp56RPG6HerD2nz%2Fuploads%2F6lwlbyqByOxcZLTbEqwY%2Fimage.png?alt=media&#x26;token=0c294f7b-fdf6-4972-89e0-4c87872d9a61" alt="A screenshot of the Data-flo canvas with a close up of the side bar menu that allows users to view all available adaptors. The image also shows a depiction of an adaptor once added to the canvas. Each adaptor is represented by a card with inputs listed on the left and outputs listed on the right.. " width="317"><figcaption><p>Format-date-column adaptor card </p></figcaption></figure>

There are **three categories** of adaptor. Follow the links below to read more about each type:

1. [Import adaptors](https://cgps.gitbook.io/data-flo/basics/adaptors/components): to bring data into Data-flo from external data sources or uploaded data files
2. [Transformation adaptors](https://cgps.gitbook.io/data-flo/basics/adaptors/binding-types): to perform all necessary manipulations on the data
3. [Export adaptors](https://cgps.gitbook.io/data-flo/basics/adaptors/using-adaptors-to-export-data): to make data available outside of Data-flo

## How do adaptors work?

Adaptors come pre-programmed. Using the side bar menu on the canvas, you may add adaptors to your canvas to start importing and transforming your data.

Simply add an adaptor to your canvas and specify the input arguments to transform the data into your desired format. Once you are happy with your transformed data, you will add an export adaptor to the canvas to transfer your data to another platform or file format.&#x20;

### Adaptor arguments

**An adaptor's arguments are variables that affect the adaptor's outcome.** They define the specifics of the Javascript function underlying the adaptor, allowing the adaptor to transform data. Each argument is listed on the adaptor card.

Each adaptor requires input arguments from the user in order for it to function in a tailored or customised way. These inputs are called *input arguments* and may include the column name, original + new format, sampling method, etc. These input arguments allow users to parameterize how the adaptor works for their unique needs and data structure.&#x20;

<figure><img src="https://1969044508-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVJMuSDp56RPG6HerD2nz%2Fuploads%2F31IKNnznz0q9nJ7BCwJe%2Fimage.png?alt=media&#x26;token=b95635eb-f914-4789-87f7-d2d130e83f6f" alt=""><figcaption></figcaption></figure>

**Input arguments** appear on the left side column of every adaptor. Select ![](https://1969044508-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVJMuSDp56RPG6HerD2nz%2Fuploads%2FsqRGAqzUcRTqbtIIZjQP%2Fimage.png?alt=media\&token=2d232248-b7c4-406c-998e-b70ed79493a1)in the side bar menu to specify a custom format or value.&#x20;

<figure><img src="https://1969044508-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVJMuSDp56RPG6HerD2nz%2Fuploads%2FUzXxXcV8LnwdXCR1WXuN%2Fimage.png?alt=media&#x26;token=de891a67-42df-46a1-935a-03567973ae62" alt="A screen shot of an example input option for the reformat date adaptor. The input option is to select the desired format of the year, month and day in the date column of a data table. " width="375"><figcaption></figcaption></figure>

The adaptor’s **output(s)** appear on the right side column of each adaptor card. Clicking the output button will show the user how the adaptor transformed the dataset.&#x20;

## Accessing support/ guidance on how to use adaptors&#x20;

Before adding an adaptor to your canvas, select the ![](https://lh7-us.googleusercontent.com/5QYiXby4Hkre3fYtIAn4u3Dmi4sZ5a9VasolLfoYwkcElDiSusCSsgPMYNelzaATgK5r9J7vxUt10cB3xe_qf_TBrWkh7d0AgKVRdZd-S8Wd91rzJ9wYmyMX7QrwjGS5zAnbCCelUqc1nEdZOlGimp8) question mark icon to review detailed guidance for using that adaptor.&#x20;

Alternatively see our comprehensive [Adaptor Reference Guide](https://cgps.gitbook.io/data-flo/reference-guide) for a complete list of all adaptors along with details on their input arguments, examples, and recommended use cases.<br>


---

# Agent Instructions: 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://cgps.gitbook.io/data-flo/basics/adaptors.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.
