﻿---
title: Set processor
description: Use the Set processor to assign a specific value to a field, creating the field if it doesn't exist or overwriting its value if it does. To use a set...
url: https://www.elastic.co/elastic/docs-builder/docs/2999/solutions/observability/streams/management/extract/set
products:
  - Elastic Cloud Enterprise
  - Elastic Cloud Hosted
  - Elastic Cloud Serverless
  - Elastic Cloud on Kubernetes
  - Elastic Observability
  - Elastic Stack
  - Elasticsearch
  - Kibana
applies_to:
  - Elastic Cloud Serverless: Generally available
  - Elastic Stack: Generally available since 9.2, Preview in 9.1
---

# Set processor
Use the **Set** processor to assign a specific value to a field, creating the field if it doesn't exist or overwriting its value if it does.
To use a set processor:
1. Select **Create** → **Create processor**.
2. Select **Set** from the **Processor** menu.
3. Set **Source Field** to the field you want to insert, upsert, or update.
4. Set **Value** to the value you want the source field to be set to.

This functionality uses the Elasticsearch [Set processor](https://docs-v3-preview.elastic.dev/elastic/docs-builder/docs/2999/reference/enrich-processor/set-processor) internally, but you configure it in Streamlang. Streamlang doesn't always have 1:1 parity with the ingest processor options and behavior. Refer to [Processor limitations and inconsistencies](/elastic/docs-builder/docs/2999/solutions/observability/streams/management/extract#streams-processor-inconsistencies).

## YAML reference

In [YAML mode](/elastic/docs-builder/docs/2999/solutions/observability/streams/management/extract#streams-editing-yaml-mode), configure the set processor using the following parameters. For the complete Streamlang syntax, refer to the [Streamlang reference](https://www.elastic.co/elastic/docs-builder/docs/2999/solutions/observability/streams/management/streamlang).
Specify exactly one of `value` or `copy_from`.

| Parameter   | Type    | Required                      | Description                                                             |
|-------------|---------|-------------------------------|-------------------------------------------------------------------------|
| `to`        | string  | Yes                           | Target field.                                                           |
| `value`     | any     | One of `value` or `copy_from` | A literal value to assign.                                              |
| `copy_from` | string  | One of `value` or `copy_from` | A source field to copy the value from.                                  |
| `override`  | boolean | No                            | When `false`, the target field is only set if it doesn't already exist. |

```yaml
- action: set
  to: attributes.environment
  value: production

- action: set
  to: attributes.backup_message
  copy_from: body.message
```