# Get started with custom objects

> What custom objects are, how they fit the Rippling data model, and how you can use them.

## What is a custom object?

A custom object is a container for a custom dataset you add to Rippling. Custom objects become part of the Rippling [data model](https://developer.rippling.com/documentation/rippling-platform/data-model/getting-started). You can use the data stored in custom objects in the same ways you would any of the native data in Rippling, tailoring the platform to your company’s unique needs.

| Examples of Rippling objects | Examples of custom objects |
| --- | --- |
| Employee, Device, Device order, Company pay run, Employee pay run, Job requisition | License, Regulatory body, Client, Invoice, Project, Incident |

Any kind of data you want to track, whether for analytical purposes or to automate a process, can be added as a custom object in Rippling.

* * *

## Components of a custom object

Custom objects have three main components:

-   Object
-   Field
-   Record

Think of the object and fields as containers, and the records as the actual values being stored within those containers. Categories group related objects. For more information, see the [Custom Objects API guide](https://developer.rippling.com/documentation/rest-api/guides/customobjects) for how these map to API resources.

* * *

## Organizing data into custom objects

Depending on how you plan to use the data, the way you structure it in Rippling becomes important. For example, if you’re importing project data, you may want to split it up into three separate objects:

-   client list
-   project list
-   project manager assignment list

For more guidance, see [Data modeling with custom objects](https://developer.rippling.com/documentation/rippling-platform/custom-objects/data-modeling).

* * *

## Types of fields in custom objects

You can add the following types of fields to custom objects:

-   [Basic fields](https://developer.rippling.com/documentation/rippling-platform/custom-objects/fields#basic-fields)
-   [Lookup fields](https://developer.rippling.com/documentation/rippling-platform/custom-objects/lookups)
-   [Summary fields](https://developer.rippling.com/documentation/rippling-platform/custom-objects/fields#summary-fields)
-   [Simple formula fields and formula fields](https://developer.rippling.com/documentation/rippling-platform/custom-objects/fields#formula-fields)

When you create a custom object, Rippling also adds [default fields](https://developer.rippling.com/documentation/rippling-platform/custom-objects/fields#default-fields), including [Name](https://developer.rippling.com/documentation/rippling-platform/custom-objects/fields#name-field) and [Owner](https://developer.rippling.com/documentation/rippling-platform/custom-objects/fields#owner-field).

* * *

## Methods to create custom objects

You can create custom objects in the following ways:

-   Manually in **Catalog**
-   Manually within a table in a [custom app](https://developer.rippling.com/documentation/rippling-platform/custom-apps/get-started)
-   CSV upload
-   [API](https://developer.rippling.com/documentation/rest-api/reference/create-custom-objects)
-   Rippling-managed or custom [pipeline](https://developer.rippling.com/documentation/rippling-platform/pipelines/getting-started)
-   Publishing a [transformation](https://developer.rippling.com/documentation/rippling-platform/transformations/getting-started)

* * *

## Methods to add records

Once you’ve set up custom objects, you can add records to them in the following ways:

-   Manual entry
-   CSV upload
-   [API](https://developer.rippling.com/documentation/rest-api/reference/create-custom-objects-custom-object-api-name-records)
-   [Via workflow](https://developer.rippling.com/documentation/rippling-platform/developer/workflows/get-started)

To import data via API, you must subscribe to the Rippling API. For more information, see the [Custom Objects API guide](https://developer.rippling.com/documentation/rest-api/guides/customobjects).

When you import records via CSV, lookups must use unique IDs rather than display names. For more information, see [API names and unique IDs](https://developer.rippling.com/documentation/rippling-platform/custom-objects/api-names-and-ids).

* * *

## How data from custom objects can be used

### Custom apps

Add custom objects to Rippling and use them to build your own custom apps. For more information, see [Get started with custom apps](https://developer.rippling.com/documentation/rippling-platform/custom-apps/get-started).

### Workflows

Use data in custom objects to automate a process by driving a workflow. For example, set up a workflow that sends a reminder email to a clinician when their license is set to expire in 45 days. For more information, see [Get started with workflows](https://developer.rippling.com/documentation/rippling-platform/developer/workflows/get-started).

### Reports and Dashboards

Query custom objects in reports to analyze the data your custom apps capture. For example, create reports that show records by status, owner, due date, category, or any other fields defined on the custom object.

Add those reports to dashboards to give teams a shared view of operational metrics and progress. For example, a License Management dashboard could show licenses expiring soon, licenses grouped by issuing organization, overdue renewals, and records assigned to each owner.

You can also combine custom object data with related Rippling data, such as employees or other custom objects, when lookup fields are configured. This makes it possible to build reports and dashboards that connect custom app records to the people, teams, or processes they support.

* * *

## When to use custom objects vs. custom fields

In addition to custom objects, you can also add custom fields to the native objects in Rippling. Custom fields work well for collecting single attributes, but if the data point you’re adding has multiple attributes, you should consider adding it as a custom object instead. This will make your data better organized and easier to locate and manage. It also gives you more flexibility when building custom apps and analytics, and more granular control over permissions and approvals for the data. For more information, see [Object permissions](https://developer.rippling.com/documentation/rippling-platform/data-model/object-permissions).

These examples are good candidates to be created as **custom fields** on the Employee object:

-   Favorite color
-   AM/PM meeting preference
-   Shoe size

The following examples would be better handled as **custom objects**:

-   License - You’ll need not only the name of the license, but you’ll also want to capture its expiration date, state of issuance, and license holder’s name
-   Vehicle - You may want to capture the make and model, year, owner, VIN, etc

> **Note:**
> Custom fields on the Employee object can be collected from employees during the onboarding and offboarding flows. Custom object data cannot.

* * *

## See also

-   [Custom object limits](https://developer.rippling.com/documentation/rippling-platform/custom-objects/custom-object-limits)
-   [Data modeling with custom objects](https://developer.rippling.com/documentation/rippling-platform/custom-objects/data-modeling)
-   [Fields](https://developer.rippling.com/documentation/rippling-platform/custom-objects/fields)
-   [Lookups and relationships](https://developer.rippling.com/documentation/rippling-platform/custom-objects/lookups)
-   [API names and unique IDs](https://developer.rippling.com/documentation/rippling-platform/custom-objects/api-names-and-ids)
-   [Rules and validations](https://developer.rippling.com/documentation/rippling-platform/custom-objects/rules-and-validations)
-   [Approvals for custom objects](https://developer.rippling.com/documentation/rippling-platform/approvals/custom-objects)
-   [Record layouts](https://developer.rippling.com/documentation/rippling-platform/custom-objects/record-layouts)
-   [Object permissions](https://developer.rippling.com/documentation/rippling-platform/data-model/object-permissions)
-   [Custom Objects API](https://developer.rippling.com/documentation/rest-api/guides/customobjects)

Source: https://developer.rippling.com/documentation/rippling-platform/custom-objects/getting-started

> For the complete documentation index, see [llms.txt](https://developer.rippling.com/llms.txt). Public pages have a Markdown version at the same URL with .md added.
