--- alias: user-guide-automation-converters-index description: "Converters facilitate data transformation between tasks within an automation controller workflow" --- # Converters A **Converter** transforms the output value of one task into another value or type suitable as the input of another task. The **Converters** window supports multiple converters in sequence. Each converter processes the output from the previous one, creating a chain. ## Prerequisites **Converters** operate between two IoT tasks within an **Automation Controller**. The **Automation Controller** must include at least two tasks that exchange data or control flow. ## Sequence of steps 1. Link at least two tasks in a flow. Select the link and choose **Converters**. ![Add converter](images/add_converter.png) 2. In the **Converters wizard**, select the Add icon (+) on the left to create a new converter. ![Converter wizard](images/converter_wizard_start.png) 3. Enter the specific settings detailed in each converter's page. 4. Select Save and Close. The link now displays an icon indicating that a converter is configured. ![Ending converter](images/converter_finished.png) ## Failure Behavior When a **Converter** cannot process its input, it fails. When that happens, the **Automation Controller**: - Records the error in the converter log, together with the converter's configuration and the details of what went wrong. - Reports the error so that it appears in monitoring and can be picked up by any task set up to handle errors (for example, an error-handler task). - Produces no value for the next task. Because the next task receives no input, it does not run for that event. The values that other links deliver to the same next task in the same emission are discarded as well, while links to other tasks are not affected. There is no automatic fallback for the chain as a whole. Each converter decides what to do with invalid input: stop with an error, return a default value, or log the problem and continue. Check each converter's **Invalid Input** table for its specific behavior. The most common patterns are: | Pattern | Description | Example | | ---------------------- | ---------------------------------------------------------------------- | --------------------------------------------------------------- | | Stop on invalid input | Fails and stops the link for that event. | **JSONata**, **Buffer Slice**, **Epoch to DateTime** | | Configurable fallback | Returns a default value unless configured to fail. | **Object Property** when `failIfNotFound` is `false` | | Log and continue | Writes an error to the log but still sends a value to the next task. | **String to Entity Instance** | Table 1: Failure patterns across converters ## Available Converters The following **Converters** are available: - [[user-guide-automation-converter-anytoany]] - [[user-guide-automation-converter-anytoconstant]] - [[user-guide-automation-converter-anytostring]] - [[user-guide-automation-converter-arrayslice]] - [[user-guide-automation-converter-bufferbitwise]] - [[user-guide-automation-converter-bufferreverse]] - [[user-guide-automation-converter-bufferslice]] - [[user-guide-automation-converter-buffertovalue]] - [[user-guide-automation-converter-epochtodatetime]] - [[user-guide-automation-converter-getarrayvalue]] - [[user-guide-automation-converter-isempty]] - [[user-guide-automation-converter-jsonata]] - [[user-guide-automation-converter-now]] - [[user-guide-automation-converter-objectproperty]] - [[user-guide-automation-converter-splitstring]] - [[user-guide-automation-converter-stringconcatenate]] - [[user-guide-automation-converter-stringremove]] - [[user-guide-automation-converter-stringtobase64]] - [[user-guide-automation-converter-stringtoentityinstance]] - [[user-guide-automation-converter-totime]]