> ## Documentation Index
> Fetch the complete documentation index at: https://support.entegrata.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Field Management

> Learn how to add, edit, and configure entity fields and their properties in Entegrata data pipelines

## Overview

Entity fields define the structure of your data types. Each field has properties like name, data type, and validation rules that determine how data is stored and used. This guide covers everything you need to know about managing fields in your entities.

## Understanding Entity Fields

### What is an Entity Field?

An entity field represents a single piece of information in your data type:

* **Customer Entity**: Name, Email, Phone, Address fields
* **Order Entity**: OrderID, OrderDate, Amount, Status fields
* **Product Entity**: SKU, Name, Price, Category fields

Each field has:

* **Name**: The field identifier
* **Description**: Any comments or documentation for the field
* **Type**: What kind of data it holds (UUID, Text, Integer, Timestamp, etc.)
* **Format**: Display formatting rule (Currency, Percent, Email, etc.)
* **Foreign Key**: Link to another entity type
* **Tags**: Custom labels for categorization

<Frame>
  <img src="https://mintcdn.com/entegrata/RJ9eXpgfPSe7LJsv/images/pipelines/mapping_editor_trait_details.png?fit=max&auto=format&n=RJ9eXpgfPSe7LJsv&q=85&s=90fbb6ee5c75e3d06fa9f5332ef729d4" alt="Entity field list showing various fields and their properties" width="1512" height="769" data-path="images/pipelines/mapping_editor_trait_details.png" />
</Frame>

## Viewing Entity Fields

### Field List View

Access the complete field list for your entity:

<Steps>
  <Step title="Open Entity">
    Navigate to your entity in the data pipeline section.

    <Frame>
      <img src="https://mintcdn.com/entegrata/sWO-t3fu8JP8xl73/images/pipelines/entity_list_view.png?fit=max&auto=format&n=sWO-t3fu8JP8xl73&q=85&s=0433d6a33887720c661b8af61e627251" alt="Entity navigation" width="2734" height="1484" data-path="images/pipelines/entity_list_view.png" />
    </Frame>
  </Step>

  <Step title="Select Fields Tab">
    Navigate to the **Fields** tab at the top of the page.
  </Step>

  <Step title="View Field List">
    The field list appears in a table showing the following information:

    * Field name
    * Data type
    * Data Formatting Rule
    * Description
    * Tags
    * Status

    <Frame>
      <img src="https://mintcdn.com/entegrata/FZ7uPvdDC2XYN2d6/images/pipelines/entity_fields_list_view.png?fit=max&auto=format&n=FZ7uPvdDC2XYN2d6&q=85&s=06889c68ba4b4a4052016041217cc43a" alt="Field list panel" width="2778" height="1862" data-path="images/pipelines/entity_fields_list_view.png" />
    </Frame>
  </Step>

  <Step title="Search Fields">
    Use the search box to quickly find fields by name.
  </Step>
</Steps>

### Visual Canvas View

Fields also appear in the visual mapping editor:

* On the entity node (right side of canvas)
* With connection lines showing mappings

<Frame>
  <img src="https://mintcdn.com/entegrata/RJ9eXpgfPSe7LJsv/images/pipelines/mapping_editor_entity_side.png?fit=max&auto=format&n=RJ9eXpgfPSe7LJsv&q=85&s=17f2b584a73753dc3a4afb5b783c013b" alt="Entity node showing fields in visual editor" width="146" height="418" data-path="images/pipelines/mapping_editor_entity_side.png" />
</Frame>

## Adding New Fields

<Steps>
  <Step title="Open Mapping Editor">
    Click **Add Custom Field** button in the entity node (right side).
  </Step>

  <Step title="Enter Field Name">
    Provide a clear, descriptive name:

    * Use business-friendly terms
    * Avoid technical abbreviations
    * Use consistent naming conventions (camelCase or snake\_case)
    * Example: "CustomerName" not "cust\_nm"
  </Step>

  <Step title="Select Data Type">
    Choose the appropriate data type for your field. See [Data Types](#data-types) section below for details.
  </Step>

  <Step title="Configure Properties">
    Set additional properties:

    * **Description**: Document the field's purpose
    * **Format**: The formatting rule to be applied to values displayed for this field
  </Step>

  <Step title="Set Default Value (Optional)">
    Provide a default value used when source data is null. See [Default Values](/data/pipeline/default-values) guide for details.
  </Step>
</Steps>

## Data Types

### Available Data Types

Entegrata supports comprehensive data types for various data scenarios:

#### String

For any data you wish to be represented as text.

| Type          | Description | Example                                                                               | Max Length   |
| ------------- | ----------- | ------------------------------------------------------------------------------------- | ------------ |
| **shorttext** | Short Text  | "John Smith"                                                                          | 255 chars    |
| **text**      | Text        | "Some kind of descriptive text."                                                      | 65,535 chars |
| **longtext**  | Long Text   | "This is used for a long body of text, with data too large for normal text fields..." | MAX          |

#### Numeric Types

| Type             | Description                 | Example                    | Range                  |
| ---------------- | --------------------------- | -------------------------- | ---------------------- |
| **tinyint**      | Tiny Integer                | 0, 1, -65                  | +/- 2^8 - 1            |
| **smallint**     | Small Integer               | 42, -1,200, 653            | +/- 2^16 - 1           |
| **integer**      | Integer                     | 34, -532, 34,011           | +/- 2^32 - 1           |
| **biginteger**   | Big Integer                 | 17, -14,987,200, 9,450     | +/- 2^64 - 1           |
| **shortdecimal** | Short Decimal               | 123.45, -67.89             | Configurable precision |
| **decimal**      | Decimal                     | 123.4589, -67.8923         | Configurable precision |
| **longdecimal**  | Long Decimal                | 123.45123409, -67.00194409 | Configurable precision |
| **float**        | Floating Point Number       | 123.45, -67.89             | Configurable precision |
| **double**       | Large Floating Point Number | 123.45, -67.89             | Configurable precision |

#### Date and Time Types

| Type          | Description       | Example                  | Format     |
| ------------- | ----------------- | ------------------------ | ---------- |
| **Date**      | Date only         | 2024-01-15               | YYYY-MM-DD |
| **Timestamp** | Precise timestamp | 2024-01-15T14:30:00.000Z | ISO 8601   |

#### Boolean

| Type        | Description | Example     | Values      |
| ----------- | ----------- | ----------- | ----------- |
| **Boolean** | True/false  | true, false | true, false |

#### Complex Types

| Type     | Description       | Example                                | Use Case        |
| -------- | ----------------- | -------------------------------------- | --------------- |
| **JSON** | Structured data   | `{"key": "value"}`                     | Complex objects |
| **UUID** | Unique identifier | "123e4567-e89b-12d3-a456-426614174000" | System IDs      |

### Choosing the Right Data Type

<Tip>
  **Selection Guidelines**

  * Match the source data type when possible
  * Use most specific type (Small Int vs. Int)
  * Consider downstream usage
</Tip>

## Editing Existing Fields

<Steps>
  <Step title="Open Edit Field Modal">
    Click on the field in the entity node on the canvas, or click a field in the Fields tab list. This opens the **Edit Field** modal.
  </Step>

  <Step title="Modify Field Configuration">
    On the **Field Configuration** tab, update properties:

    * Name (with caution - may break existing mappings)
    * Description
    * Format
    * Tags

    <Warning>
      **Changing Data Type**: Changing a field's data type may break existing mappings or cause data loss. Always preview data after type changes.
    </Warning>
  </Step>

  <Step title="Modify Data Source (Optional)">
    On the **Data Source** tab, change how the field gets its value:

    * Select a different source field
    * Change the operator (Use First Available, Join Text, Apply Conditions, etc.)
    * Adjust field priority order or conditions
  </Step>
</Steps>

### Safe vs. Risky Changes

**Safe Changes** (no impact on data):

* Updating description
* Changing display name

**Risky Changes** (may break things):

* Changing field name
* Changing data type

## Deleting Fields

You may delete custom fields on your entities if you no longer need them or have made breaking updates to your source data systems. Entegrata's canonical fields may not be deleted, but they can be unmapped.

<Warning>
  **Permanent Action**: Deleting a field removes it from the entity definition and all historical data. This cannot be undone.
</Warning>

<Steps>
  <Step title="Select Field">
    Click on the field you want to delete.

    Make sure this field is a custom field that you created. Non-custom fields may not be deleted.
  </Step>

  <Step title="Open Delete Dialog">
    Right-click and select **Delete Field**.
  </Step>

  <Step title="Confirm Deletion">
    Type the field name to confirm deletion and click **Delete Permanently**.
  </Step>
</Steps>

### Alternatives to Deletion

Consider these alternatives:

* **Archive**: Hide field from views but preserve data
* **Remove Mapping**: Keep field definition but stop populating it

## System Fields

Entegrata automatically adds system fields to every entity. These fields are the minimum required fields for Entegrata to operate as intended.

<Info>
  System fields cannot be edited or deleted. They're automatically maintained by Entegrata.
</Info>

## Best Practices

<Tip>
  **Naming Conventions**

  * Use clear, business-friendly names
  * Be consistent (all camelCase or all snake\_case)
  * Avoid abbreviations unless universally understood
  * Use full words (e.g., "CustomerName" not "CustNm")
</Tip>

<Tip>
  **Data Types**

  * Choose most specific type available
  * Use validation rules to enforce quality
  * Document any special formats or requirements
  * Consider downstream system compatibility
</Tip>

<Tip>
  **Maintenance**

  * Review field usage regularly
  * Archive unused fields rather than delete
  * Document the purpose of custom fields
  * Keep field names stable (avoid frequent changes)
</Tip>

## Troubleshooting

### Cannot Add Field

**Issue**: Add Field button is disabled or not working.

**Solutions**:

* Verify you have edit permissions
* Check if entity is currently publishing (wait for completion)
* Ensure entity is not archived
* Try refreshing the page

### Field Changes Not Reflected

**Issue**: Modified field properties don't seem to take effect.

**Solutions**:

* Clear browser cache and refresh
* Verify changes were saved (look for save indicator)
* Check if you need to republish entity
* Try logging out and back in

### Data Type Mismatch Errors

**Issue**: Errors when mapping source data to field after changing data type.

**Solutions**:

* Preview source data to verify compatibility
* Add type conversion in mapping
* Use CASE expression to handle edge cases
* Consider reverting data type change
* Check for null values causing issues

## Related Topics

<CardGroup cols={2}>
  <Card title="Mapping Fields" icon="arrow-right-arrow-left" href="/data/pipeline/mapping-fields">
    Map source data to entity fields
  </Card>

  <Card title="Default Values" icon="pen-to-square" href="/data/pipeline/default-values">
    Set default values for fields
  </Card>

  <Card title="Multi-Field Mapping" icon="code-merge" href="/data/pipeline/multi-field-mapping">
    Advanced transformations with multiple fields
  </Card>

  <Card title="Managing Entities" icon="table" href="/data/pipeline/managing-entities">
    Create and manage data types
  </Card>
</CardGroup>
