For AI agents: an index of this documentation is at https://developer.rippling.com/llms.txt. Public pages have a Markdown version at the same URL with .md added.

Skip to main content
guide

Fields on custom objects

Default fields, basic fields, name, owner, formulas, and summaries on custom objects.

Use with AI:Rippling AI ChatGPT Claude Cursor

Default fields​

When you create a custom object, a set of fields is automatically created and added to the object. These fields contain important information required in every custom object. They cannot be removed.

FieldData typeDescriptionEditable in records?
Created byLookupThe person who created the record.No
Created dateDate TimeThe date and time the record was created. This is stored in ISO-8601 format but displayed according to the user’s locale. Example: 08/22/2024 03:07 PM PDT.No
External IDTextThe ID for the record in an external system. This applies only to records imported from another system, and can be useful if you want to be able to tie records back to that system.Yes
IDTextThe unique ID for the record in Rippling.No
Last modified byLookupThe person who last changed the record.No
Last modified dateDate TimeThe date and time the record was last changed. Stored in ISO-8601 format but displayed according to the user’s locale. Example: 08/23/2024 03:32 PM PDT.No
NameTextThe display name for the record. This is also used in search. This field includes an optional setting to automatically generate an incrementing number for each record.Yes
OwnerLookupThe person responsible for the record. This is used to determine who has the ability to view, edit, and delete the record. This may or may not be the same as the person in the Created by field. For example, consider a record for a project assignment. The project manager who makes the assignment would be the person in the Created by field. The assignee would be the person in the Owner field.Yes
System modified atDate TimeThe date and time of the last system update.No

You can change the following things on the default fields in a custom object:

  • Name
  • Description
  • Section
  • Enable/disable history
  • Restriction on duplicate values
  • Related data label (in lookup fields)
  • Auto-numbering settings (in the Name field)

You cannot change the following things:

  • Data type
  • API name
  • Required/optional setting
  • Parent/child relationship setting (in lookup fields)

Basic fields​

You can add basic fields to a custom object to capture static information in a standardized format. Basic fields are useful to capture information that isn’t going to change.

If you want the value of a field to be kept up to date dynamically, use a simple formula field or summary field instead.

Examples:

  • Capture the start date of an assignment.
  • Ask for a photo upload as part of a help desk ticket.
  • Capture the amount of an expense.
  • Indicate whether or not a task has been completed.

Supported data types​

Basic fields support the following data types:

  • Text. Plain text. You can also specify the maximum character length.
  • Rich text. A text field that supports rich text formatting, such as bold, italics, underline, strikethrough, indentation, and links.
  • Number. Numerical digits only. Leading zeroes are not supported. You can also specify how many decimal places to allow.
  • Boolean. True or false.
  • Currency. Numerical digits formatted as currency. You can also specify the type of currency, such as USD or EUR.
  • Percentage. Numerical digits formatted as a percentage.
  • Date. Stored in ISO-8601 format but displayed according to the user’s locale. Example: 08/22/2024.
  • Date Time. Stored in ISO-8601 format but displayed according to the user’s locale and time zone. Example: 08/22/2024 03:07 PM PDT.
  • Choice. A drop-down field with multiple options, allowing just one option to be selected. When you select this data type, you'll also add the options you want to be available.
  • Multichoice. A dropdown field allowing multiple options to be selected. When you select this data type, you'll also add the options you want to be available.
  • Email. An email address. Values must contain an @ symbol and a domain, but the validity of the domain will not be verified.
  • URL. A URL containing http:// or https://.
  • Phone number. A phone number including country code.
  • Time. Time in HH:MM:SS format. Time fields are stored in military time but displayed according to the user’s time zone. Example: 09:17:01 AM.
  • File. Allow a file or image to be uploaded by dragging and dropping into the field. You can also specify which types of files the field should support:
    • Images, including jpg, jpeg, png, gif, bmp, or svg.
    • Documents, including doc, docx, pdf, csv, txt, rtf, ppt, pptx.
    • Any file type, including those listed above.

Field and object counts are listed in Custom object limits.


Name field​

Every record stored in a custom object needs a name that will help distinguish it from the other records. Think of the name as the leftmost column in a spreadsheet.

The name field is created automatically whenever you create a custom object.

  • When you complete a CSV import of a custom object, you’re prompted to configure the name field.
  • When you manually add a custom object, the name field is automatically added to the object.

There are three ways to name records.

Option 1: Use a basic name​

For some types of objects, it makes sense to use a basic name to uniquely identify each record. For example:

  • In a Projects object, the name field would be the Project name.
  • In an Inventory object, the name field might be Item name.
  • In a Supervisor object, the name field might be Employee.

Option 2: Auto-number the records​

For other types of objects, it makes more sense to assign a name value using a number and/or date that automatically increments as records are added. For example:

  • In a Class signups object, you may want the name field to look something like Signup-2024-09-04-001.
  • In a Help requests object, you may want the name field to look like Request00125.

If you want to use an auto-generated name, you can indicate this during setup and specify the format you want to use.

ComponentRequired?NotesExamples
Number placeholderRequiredAt least one zero (0) surrounded by curly braces. Provide enough space for the number of records you expect. For example, if you expect more than 100 records, you’ll need three zeroes.{0000}, {0}, {0000000}
Date placeholderOptionalThe date (or portion of the date) the record was created, surrounded by curly braces. You can include: two-digit day {DD}, two-digit month {MM}, four-digit year {YYYY}.{DD}-{MM}-{YYYY}-{0000}, {MM}{DD}{YYYY}-{000}, {YYYY}-{000000}
Static textOptionalAny static text that should appear as part of each auto-generated number, including special characters like dashes.A-{000}, {0000}WestRegion, Request-{0000}-{YYYY}

Option 3: Automatically populate the name using a formula​

In some cases, you might want the name to be populated automatically based on other information in the record. For example, in a Class signups object, rather than assigning a number, you could populate the name field by concatenating the name of the attendee and the date they signed up.

To do this, create a rule that populates the name field automatically based on a formula.

You can change the name field to use a basic name or an auto-numbered name at any time. The existing records will not be updated. New records you create going forward will use the new configuration.


Owner field​

Every record in a custom object has an owner. The owner is the person responsible for the record. This could be the person who created the record, or it could be someone responsible for the maintenance of the record. For example:

  • In an object tracking help desk tickets, the record owner would be the person who filed the ticket.
  • In an object tracking projects, the record owner might be the assigned project manager.
  • In an object tracking clinical licenses, the record owner would be the license holder.

The owner field is created automatically whenever you create a custom object. It is a lookup to the Employee object. By default, the display name of the field is "Owner," and the API name is owner_role.

The owner of a record often determines who has permission to view or edit that record. For example:

  • If you have a custom object to track projects, the project manager would be the owner of their projects. When you set up permissions, you could configure it so that only the project manager has permission to edit the records they own (their assigned projects).
  • In an object to track class signups, the owner of each signup will be the person who registered for the class. When you set up permissions, you could configure it so attendees can see their own sign ups but cannot see who else has signed up.

For parent/child owner inheritance, see Lookups.


Formula fields​

You can add fields to custom objects that automatically calculate new values based on the other data in Rippling. There are two types of formula fields you can create:

  • Simple formula field
  • Formula field

Formulas let you tap into the data across your custom objects and tie it to employee data in Rippling. You’ll use RQL to compose formulas and save them as fields within your object.

Examples:

  • Calculate the total time someone spent placing calls (simple formula field).
  • Populate someone’s email address in a record (simple formula field).
  • Concatenate the state and type of a license to generate a unique value (simple formula field).
  • Select the person in a given department with the highest pay and add them to a record (formula field).

There are trade-offs when using one type of formula field versus the other. For most use cases, a simple formula field is sufficient. However, more advanced use cases may require a formula field.

Use a simple formula field when:

  • You need data that is updated in real-time.
  • You don’t need to do a complex operation (such as SELECT or ORG).
  • You only need to include fields from other custom objects in the calculation.

Use a formula field when:

  • It isn’t important for the data to be kept up to date in real-time.
  • You need to do complex operations (such as SELECT or ORG).
  • You need to use Rippling native data in the calculation.
Note

If you need to calculate a sum, count, minimum, or maximum using records from a child object, use a summary field instead of a simple formula field.

Tip

If you need to do a complex operation but want to ensure the data gets updated in real-time, use a combination of summary fields and simple formula fields to achieve the same results that you could achieve using formula fields.


Summary fields​

You can add summary fields on custom objects to calculate a new value by summarizing related records.

Examples:

  • Count the number of team members on a project.
  • Identify the most expensive incident to date.
  • Calculate the total maintenance fees on an invoice.

Summary field calculations are updated in real-time as records are created, updated, and deleted.

Available methods of summarization:

  • Count. Count the records.
  • Sum. Sum the values across records.
  • Min. Select the record in the dataset that has the minimum value.
  • Max. Select the record in the dataset that has the maximum value.

To use summary fields, you must first establish a parent/child relationship between two objects. You can then add a summary field to the parent object to summarize the child records. For example, if you have a parent object Invoice and a child object Line items, you can create a summary field on the Invoice object to count the related Line items.

For more information, see Parent/child relationships.