---
title: Join Processor
slug: litmusedge/join-processor
docTags: 
createdAt: 2024-08-06T19:05:44.761Z
---

The Join Processor combines the output of multiple input processors into a single message. When multiple inputs are connected to it, you must define a connector for each.

## Why use the Join Processor

Use this processor when a flow needs to merge fields from separate input processors into one output message, rather than processing each input independently.

## How it works

**Output Mode** controls the shape of the combined output:

- **Map** produces standard JSON, useful when the output feeds something like a database.
- **Array** produces all the combined values as an array. Use **Array Sort Order** to arrange the array's values in ascending or descending order.

**Map Field Prefix** optionally adds a prefix to each field name in the combined output. Leave it empty if you don't need one.

**Input Source** determines what identifies each value's origin in the output: the device name, or the name of the connecting wire definition. If you choose device name, the input must include `deviceName` and `tagName` fields.

## Parameters

:::hint{type="info"}
**Important:** When **Input Source** is set to device name, the input must include `deviceName` and `tagName` fields.
:::

| **Parameter**      | **Details**                                                                                                |
| ------------------ | ---------------------------------------------------------------------------------------------------------- |
| Output Mode        | The shape of the combined output: map or array. See the important note below.                              |
| Array Sort By      | The field to sort array values by when Output Mode is set to array: tag, definition, id, or time.          |
| Array Sort Order   | Whether to sort the array in ascending or descending order.                                                |
| Input Source       | What identifies each value's origin in the output: the device name or the connecting wire definition name. |
| Map Field Prefix   | An optional prefix added to each field name in the combined output.                                        |
| Field              | The field from each input to join, such as device, tagName, or value. Defaults to value.                   |
| Pass Through Value | Determines whether the processor's output is the joined value or the original unchanged input value.       |

## Related topics

- [Use the Join Processor Function](docId\:Zj7h7VqRQDoPbS-SaPGUq)

