# Data Flows

**Data Flows** define how the device data is processed and stored in akenza.

There are three basic components that all together form the **Data Flow:**

* Device Connectors
* Device Types
* Output Connectors

### Device Connectors

Device connectors hold the information on how a device communicates with akenza. They define the secret, which is used to authenticate the received data of a device.

If an **Integration** is available, a device connector has already been created during the setup of an integration. The connectivity provider platform also has been configured to correctly send the data to akenza.

{% content-ref url="your-data-flow/device-connector" %}
[device-connector](https://docs.akenza.io/akenza.io/get-started/your-data-flow/device-connector)
{% endcontent-ref %}

### Device Types

Device types define how the received uplink is structured, parsed, and finally stored in the akenza database. A variety of predefined **Device Types** are available.\
A **Custom Device Type** can be created, if not the right device type is available for the desired device.

{% content-ref url="your-data-flow/device-type" %}
[device-type](https://docs.akenza.io/akenza.io/get-started/your-data-flow/device-type)
{% endcontent-ref %}

### Output Connectors

Output connectors define the behavior after the device type has parsed the uplink payload. There are a variety of predefined actions that can be chosen from.\
Webhooks can be used to communicate with 3rd party **REST APIs**.

{% content-ref url="your-data-flow/connectors" %}
[connectors](https://docs.akenza.io/akenza.io/get-started/your-data-flow/connectors)
{% endcontent-ref %}

![Data Flow](https://2165942204-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MMKXTFIN5ZlLOjBlfC4%2Fuploads%2FjbnJ8ouZ8Ne6X4rneyOc%2Fimage.png?alt=media\&token=202ec47a-ee51-479e-9efa-f8ef5f0b65c6)
