# Unique

{% hint style="info" %}
See the changelog of this Action type [here](/actions/unique.md).
{% endhint %}

## Overview

The **Unique** Action stores a list of unique values received from a given event field. An event will be sent out via an output port each time a new value is identified. Furthermore, you can configure a list of all the events stored in its memory to be sent periodically via a different port.

<figure><img src="/files/uJOI19gWA2yxqGAa53my" alt=""><figcaption></figcaption></figure>

In order to configure this action, you must first link it to a Listener. Go to [Building a Pipeline ](/the-workspace/pipelines/building-a-pipeline.md)to learn how to link.

{% hint style="info" %}
**AI Action Assistant**

This Action has an AI-powered chat feature that can help you configure its parameters. Read more about it in [this article](/the-workspace/pipelines/building-a-pipeline/ai-assistant/ai-action-assistant.md).
{% endhint %}

## Ports

These are the input and output ports of this Action:

<details>

<summary>Input ports</summary>

* **Default port** - All the events to be processed by this Action enter through this port.

</details>

<details>

<summary>Output ports</summary>

* **Default port** - Events are sent through this port if no error occurs while processing them.
* **Error port** - Events are sent through this port if an error occurs while processing them.
* **New port** - Emits any event that is not already on the list as soon as it is detected.

</details>

## Configuration

{% stepper %}
{% step %}
Find **Unique** in the **Actions** tab (under the **Utils** group) and drag it onto the canvas.
{% endstep %}

{% step %}
To open the configuration, click the Action in the canvas and select **Configuration**.
{% endstep %}

{% step %}
Enter the required parameters:

<table><thead><tr><th width="178">Parameter</th><th>Description</th><th data-hidden></th></tr></thead><tbody><tr><td><strong>Field in the event to be hashed</strong><mark style="color:red;"><strong>*</strong></mark></td><td>The field providing the events to the Action.</td><td></td></tr><tr><td><strong>Hashed output field</strong><mark style="color:red;"><strong>*</strong></mark></td><td>Give the output field a name.</td><td></td></tr><tr><td><strong>Hash function</strong><mark style="color:red;"><strong>*</strong></mark></td><td>Select the hash operation to apply to the input values (<a href="/pages/JsTIZSMkK6tVNVmmd5Zg">CRC-8</a>, <a href="/pages/j4MDKgFjb0rwdqkyTwmB">CRC-16</a>, <a href="/pages/xouEET433qnTnxwCAUuo">CRC-24</a>, <a href="/pages/DiqUtEjGakHuxOPTyWCK">CRC-32</a>, or <a href="/pages/aLIDE1doARTgp01q5fhn">Hash 64</a>).</td><td></td></tr><tr><td><strong>Seconds of warm up</strong></td><td>You can optionally add a warm-up period. This will be the number of seconds to wait until the first version of the list of stored events is marked as complete and ready to be sent. </td><td></td></tr><tr><td><strong>Bypass hash calculation</strong><mark style="color:red;"><strong>*</strong></mark></td><td>Select <em>true</em> to bypass the hash calculation if the value is null, or <em>false</em> to ignore it.</td><td></td></tr></tbody></table>
{% endstep %}

{% step %}
Click **Save** to complete the process.
{% endstep %}
{% endstepper %}


---

# 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://docs.onum.com/the-workspace/pipelines/actions/utils/unique.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.
