Last updated: 2024-03-18
With Freshdesk, you can create custom objects to capture all relevant information right from the get-go, so that your agents can get down to solving customer issues as soon as possible. A custom object can help you get more information related to your native objects. You can even link or associate custom objects with native objects to provide agents with a comprehensive and complete view of the issue raised by your customers.
Here are a few use cases where custom objects can come in handy:
1. ‘Contracts’ in Property Management
A property management company that leases homes and apartments needs to support both tenants and landlords. Having the latest rental contract information is highly relevant to agents providing support. With Custom Objects, businesses can create a new data entity in Freshdesk called ‘Contract’ and define attributes for the object like Contract ID, Renewal date, Property Type, and Name of Signee. Every tenant can be ‘associated’ with a Contract so that when they raise a support ticket requesting the renewal date, the contract information is stored in Freshdesk as the system of record, and it would be available for agents to access and/or update.
2. ‘Stores’ in Retail
A high-tech security company provides CCTV cameras and support to hundreds of grocery stores across the country. When a store owner calls in to complain of a damaged camera, it would be useful for a support agent to know details about the store (Store code, location, or size), as well as details of the type of camera (Make, model and type). This information helps the support agent dispatch the right technician for the job and avoids accessing different tools to capture all the missing pieces.
3. ‘Cars’ in a car rental company
A car rental company keeps track of all cars rented by their customers. This includes details about the car like its make & model, rental date, body type, and status. When a customer reaches out with an issue related to payments, the agent would have all details handy to diagnose and resolves the customer’s payment related to the rental based on the car type and the number of days it was rented for.
Let us consider an example to understand how you can use custom objects better.
Let’s say you are an eCommerce company that sells furniture online. Customers can report problems with their orders/check their order status by raising a ticket, calling, or starting a chat with your support team. When a ticket (native object) is created, you can associate it with the corresponding order through its Order ID (custom object), so that agents can get a better understanding of which order the customer requires assistance with, without any back and forth.
Here’s a high-level overview of how this will work:
Let us now see in detail how you can perform each of these actions.
Creating a Custom Object
Note - Only Admins can create a new custom object
In our example - the furniture business, we create the Custom Object ‘Orders’, and each order will be represented as a custom object record. Every time a customer places an order for any furniture, you can add them as individual object records in your system. To make identifying the orders easier, you can define each order with attributes like Order ID, Category, Order status, Price, etc.
Here is a quick guide to creating a custom object:
1. Log in as an admin and go to Admin > Support Operations > Custom Objects 2. Click on ‘Create a custom object’ 3. Enter the Custom Object name. In this case, we can use ‘Orders’ 4. Enter a description for the object 5. Choose a relevant icon from those displayed and click ‘Create’ 6. Once you create the custom object, the relevant icon will appear on the sidebar for quick and easy access
Defining custom object fields
On the next page, you can start defining the object fields. These fields can be used to represent the relevant order details - like Order ID, Delivery status, Furniture category, etc.
The ‘Primary field’ holds values that will uniquely identify each custom object record. It is an identifier that will only be associated with that particular order, similar to how a Ticket ID is only associated with only one particular ticket. The primary field has the following characteristics:
- No tworecords can have the same value in the primary field
- It can be used as a record identifier in Search and Lookup functions
Things to keep in mind when creating fields:
- Here are the limits for each field type within the custom object:
- Number - 30
- Checkbox - 30
- Decimal - 20
- Multi-select - 20
- Date - 30
- Text - 80
- Dropdown - 30
- Lookup relationship - 10 - For example, you can create 80 text fields and 20 multi-select fields in an object, or 60 text fields, 30 number fields, and 10 check box fields in an object
This is how you can create the custom object fields for our use case:
- Text
- Paragraph
- Number
- Decimal
- Date
- Dropdown
- Checkbox
- Multiselect
- Lookup relationship
- Required when submitting the form - check this box if you want to make this field mandatory
- Accept unique values - Check this box if you want this field to only accept unique values. This setting will only be available for the Primary field
- Use this field to filter records - Check this box if you want to filter records using this field
Here’s how this will work for our considered use case:
| Record name | Type | Required | Comment |
| Order ID | Number | Yes | Primary field, unique identifier. Assigned by you to each order |
| Order status | Dropdown | No | Delivered/Not delivered |
| Furniture category | Dropdown | No | Living room furniture, Patio furniture, etc. |
| Furniture price | Decimal | No | Cost |
| Furniture type | Dropdown | No | New/Used |
The Order ID field is ‘Required’ here because that is the field we’ll use toassociate the orders with the relevant tickets that customers raise. You can also search for records using this field. You can see how associations work here.
Here is a small video to help you understand how to set up custom objects:
Snippet 1
``` 1. For Freshdesk, Custom Objects is available only for ticket-specific use cases. If you have a contact-specific use case, reach out to us at support@freshdesk.com 2. For Freshdesk Omnichannel, CUstom objects is available only for ticket-specific use cases. It will be made available for all use cases tentatively by the end of August. ```
Translating custom object fields
Sometimes, your agents may be located in different countries and may require the Custom Object names and field labels to be translated into their language. To do so, you can upload the custom object names, their descriptions, field labels, and the field names (including the lookup field label names) in the language chosen in your helpdesk settings. This way, you can provide more personalized support to your agents and customers worldwide.
As an admin, you can:
To enable translations:
- Custom Object name
- Custom Object Description
- Field labels
- Picklist values of the respective fields (for dropdown/multi-select field types)

``` If you have fields without a translation label in the .yml file, you should remove the tag <include translated label> for those fields. This will display the fields inthe default language. For example: if 'Country' is a field in a custom object, and you want to show 'Country' as a label in all languages, then you should remove the tag <include translated label> against the Country field in the .yml file. ```
Create custom objects with APIs
You can get custom object schemas, create/update/delete/view records, and associate objects using Freshdesk APIs. You can use Freshdesk’s marketplace platform to create custom apps to display the custom objects and associated entities in Freshdesk.
You can also create custom objects using an API. Learn more here.