---
title: "Working with Custom & Original Fields"
url: "https://docs.unified.to/reference/fields"
description: "Learn how to request specific fields, including custom and original data from your integrations"
generated_at: "2026-06-11T22:38:32.002Z"
---
# Working with Custom & Original Fields

When integrating with platforms and SaaS apps, you often need control over which fields to receive or send. This guide explains how to work with both standard and custom fields.

## [Requesting Specific Fields](#requesting-specific-fields)

By default, API calls return all available fields for an object. However, you can optimize your requests by specifying only the fields you need using the `fields` parameter:

Some upstream APIs also expose **slow fields** that require additional API calls per record (for example, Greenhouse application `offers` or `raw.offers`). These can be excluded or included by default at the workspace level and overridden per request using `fields`. For details, see [Slow fields](/reference/slow-fields).

```
GET /crm/{connection_id}?/contact?fields=id,name,emails

```

## [Accessing Original Data (Raw Fields)](#accessing-original-data-raw-fields)

### [Reading Original Data](#reading-original-data)

Sometimes you need access to the original, unmodified data from an integration (for example, to access platform-specific fields). To receive this data:

1. Include `raw` in your `fields` parameter
2. The response will include a `raw` object containing the original data from the source

```
GET /crm/{connection_id}?/contact?fields=id,name,emails,raw

```

## [Writing Original Data](#writing-original-data)

When creating or updating records, you can include integration-specific data that isn't part of our unified data model:

```
{
    "name": "John Doe",
    "raw": {
        "custom_integration_field": "value"
    }
}

```

## [Accessing the original ID of the object](#accessing-the-original-id-of-the-object)

Usually, Unified.to will return the object's ID in the `id` field.

But sometimes, Unified.to is required to transform that original ID with additional information. If you require the original object's ID (for example, using our Passthrough API), it will be available in the `raw.__id` field.

## [Working with Custom Original Fields](#working-with-custom-original-fields)

Some CRM platforms (like HubSpot and Salesforce) require specific fields to be explicitly included in the API call i.e., they won't be returned if you only added `raw` to the request parameters. If your app requires specific fields in this way ("custom fields"):

1. Include `raw` in your fields parameter
2. Add the specific custom fields you need with the `raw.` prefix

For example, to request custom fields named `leadFunnelStage` and `customerSegment`:

```
GET /crm/{connection_id}?/contact?fields=id,name,raw,raw.leadFunnelStage,raw.customerSegment

```
