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

# Field Mappings

Field Mappings allow you to transform data between your app and external apps when reading from or writing to a [Data Source](/reference/workspace-elements/data-sources).

## Configuring Field Mapping

To configure field mapping, you provide:

* External Fields define the [Data Schema](/docs/references/data-schemas) of the fields in the external app.
* Internal Fields define the schema of fields in your app. It can be generated automatically based on the mapping configuration, defined statically, or calculated dynamically via [Internal Data Schemas](/reference/workspace-elements/app-data-schemas).
* Direction: import, export, or bi-directional.
* Export Value: mapping from your app to external app.
* Import Value: mapping from external app to your app.

Depending on the level of abstraction (universal, integration, or tenant level), different set of fields will be available for mapping:

* Universal: fields from the Universal Data Model configured in the data source will be available.
* Integration: standard fields from the Data Collection data source is pointing to will be available.
* Tenant: connection-specific fields from the data collection that data source is pointing to will be available, including any custom fields.

## Applying Field Mapping

When field mapping is applied in a Flow or an Action, the data will be transformed based on the tenant-level field mapping configuration.

You will see the mapping and the result in the Flow or Action logs.

### Fields in Create and Update methods

If `create` or `update` methods for a Data Collection mapping is used for specify supported fields, only those fields will stay in the mapping, ignoring values of the rest of the fields.

This is done to let you use the same mapping for different methods, and to avoid errors due to extra fields.

For example, if `type` field is supported in the `create` method, but not supported in the `update` method and you have this field in the field mapping, it will not be sent to the `update` method.

## Learn More

<Columns cols={2}>
  <Card title="Field Mappings" href="/reference/workspace-elements/field-mappings/field-mapping-instances" target="_blank">
    Drop-in UI for a single field mapping.
  </Card>

  <Card title="Data Schemas" href="/docs/references/data-schemas" target="_blank">
    Representing data structures used in integrations.
  </Card>

  <Card title="Data Sources" href="/reference/workspace-elements/data-sources" target="_blank">
    Configuring access to data in external apps.
  </Card>

  <Card title="Internal Data Schemas" href="/reference/workspace-elements/app-data-schemas" target="_blank">
    Reusing data schemas between integration elements.
  </Card>

  <Card title="Internal Events" href="/docs/managing-membrane/monitoring-troubleshooting/logs/internal-events" target="_blank">
    Reacting to events in your app.
  </Card>
</Columns>
