Building a product catalog with custom objects for customers to use

What's my plan?






All Suites

Team, Growth, Professional, Enterprise, or Enterprise Plus









Support

Enterprise






Custom objects provide a way for Zendesk admins to build a product catalog with custom
objects and then make the data available to agents, customers, business rules, and
reporting.
Previously, admins might have attempted to use drop-down fields rather than ticket lookup
relationship fields that point to a custom object to create a simple list of products.
This recipe uses custom objects, custom object record permissions, the data importer,
lookup relationship fields, and ticket triggers.
This article contains the following topics:
Workflow goal
Creating a custom object to use as a product catalog
Configuring agent and end-user permissions for the product records
Importing your products into the catalog
Incorporating the new product catalog into your ticket forms
Group agents by the types of product they support
Creating ticket triggers to route requests based on the product selected
Reporting on your product catalog workflow




Workflow goal

ShoeLaLa is a shoe company that sells more than 5,000 models of shoes across multiple
categories, such as running shoes, lifestyle shoes, boots, and sandals. As the
Zendesk admin for ShoeLaLa, you've been asked to create a product catalog that can
be used in the ticket form, so customers must select the specific shoe they have an
issue with when submitting a complaint. You'll also use this information to help
route tickets to the correct agents and improve reporting on product issues.



Creating a custom object to use as a product catalog

The first thing you need to do is create a custom object named Product, which will
serve as your product catalog. Each record for the Product object represents a
different shoe sold by ShoeLaLa.

To create your Product custom object
In Admin Center, click
Objects and rules in the sidebar, then select Custom objects >
Objects.
Click Create object.
Under Name enter Product, and under Plural display
name, enter Products.
Under Object key, enter product.
Select Add image icons for individual records.
Click Create object.
Click the Fields tab, click Add field, and add the following fields:
For the Type, select Drop down and then enter
Category for the display name. Add your categories and
tags, and then click Save.
Tip: If your
categories change frequently, consider creating a separate
custom object called Product category instead of relying
on a custom field called Category.

For the Type, select Drop-down and enter Style
for the display name. Add your style values and tags, and then click
Save and add another.
For the Type, select Multi-line and enter
Description for the display name. Click Save and add
another.
For the Type, select Checkbox and then enter
Active for the display name. Click Save and add
another.
For the Type, select Multi-select and then enter
Colors available for the display name. Add your color
values and tags, and then click Save and add another.
For the Type, select Multi-select and then enter
Sizes for the display name. Add the possible sizes and
tags, and then click Save.
For the Type, select Lookup relationship and then enter
Product Article for the display name. Select
Article as the related object.


Open the custom object's Name field (field key
standard::name), and then select Require unique record name to
ensure each record's name is unique.
Click Save.


Note: Optionally, you can use the Cards page in Admin Center to configure which
fields are included and the order in which they are listed in the record preview
for agents. See Configuring cards to view additional
information in the Agent Workspace.




Configuring agent and end-user permissions for the product records

In this workflow, you want agents and end users to be able to view and select product
records related to their tickets.

To configure user permissions for your product catalog
In Admin Center, click
Objects and rules in the sidebar, then select Custom objects >
Objects.
Click Product to edit the product object.
Click the Permissions tab.
For Customer, select View.
Review agent permissions to access the object's records. On
Enterprise plans, you can configure agent access to object
records. On Team, Growth, and Professional plans, agent
permissions are predefined.


Note: You can also use access rules to restrict agent
access to the custom object's records that are relevant to their
responsibilities. For example, if you have agents who handle only
tickets related to shoes, you could define an access rule that restricts
access to only records with a Product category value of
Shoes, and then apply it to the agents' permissions for the
custom object's records.



For more details, see Configuring access to custom object records.



Importing your products into the catalog

When you use a custom object as a catalog, each product within the catalog is a
record. In this scenario, you have an existing set of products that ShoeLaLa already
sells that you need to import. For the purposes of this scenario, we're going to
use the data importer. However, you can
also use the Custom Object Records API to create
records in bulk. In both cases, you can use object triggers and webhooks to keep
your product data in Zendesk synchronized back to an external service, such as a
sales CRM.
After the initial import, you can either perform additional bulk imports periodically
or admins and agents can manually add new products as needed.
Note: To provide a
richer experience for agents and end users, after you import the product
records, admins and agents with permission can manually upload icons to each product record to
make it visually recognizable.


To import your product records
Create a comma-separated value (CSV) file with columns for each of the
object's fields you want to import values for, and add one product per
row. Make sure to include unique external ID values for each
record to ensure you can update the records with the data importer and
API in the future. For additional guidelines, see Creating a custom object records CSV
file.

In Admin Center, click
Objects and rules in the sidebar, then select Tools > Data importer.
Under Import type, select Create only.
Under Target destination, select Product.
Under File upload, drag and drop your file or click to upload
and select your CSV file from the file browser.
Click Next.
Review the Field mapping list.
If the field mapping is correct, click Next.
If the field mapping isn't correct, click Back. Edit your CSV
file to adhere to the format requirements, and
then re-upload the file.


Click Start import.





Incorporating the new product catalog into your ticket forms

After you've created the Product object and added records, you need to do the
following:
Creating a ticket drop-down
field for the product category.
Create a ticket lookup
relationship field that points to the Product object.
Add the lookup relationship
field to your complaint ticket form.




Creating a custom ticket field named product category

In this scenario, we want to be able to compare which product category a ticket
is about and the related custom object's product category. To do this, you must
create a custom drop down field for tickets that has identical values to the
Category field you added to the product custom object.

To create a custom ticket field named Product category
In Admin Center, click
Objects and rules in the sidebar, then select Tickets > Fields.
Select Drop down as the custom field type.
For the Display name, enter Product category.
Add your categories as Values and Tags, identical to those
specified for the Product object's Category field.
Under Permissions, select Customers can edit. This is
the only option that allows the field to be visible as part of the
request forms in the help center.

Click Save.





Creating a ticket lookup relationship field named product

Lookup relationship fields are used to define how custom data is related to other
objects within Zendesk. In this scenario, you want customers to select a product
while submitting a ticket. That means the lookup relationship field must be
created as a ticket field that points
to the Product object.

To create a ticket lookup relationship field that points to the product
catalog
In Admin Center, click
Objects and rules in the sidebar, then select Tickets > Fields.
Select Lookup relationship as the custom field type.
For the Display name, enter Product.
Under Related object, select Product.
Under Permissions, select Customers can edit.
(Optional) Enter Title shown to customers and Description
shown to customers.
Select Required to submit a request.
Under Filters, click Add filter and configure the
following filter that allows users to select only product records that
have the same category as the ticket's product category value.
: (Product object field) Category | Matches |
Product category (Ticket field)

Click Save.
Add the lookup field to
your ticket form.





Adding the product lookup field to your complaint ticket form

After you create a custom ticket field, you must add it to your ticket form in
order for agents and end users to use it.
Note: End users must be signed in to
see lookup relationship fields.


To add the Product lookup field to your ticket forms
In Admin Center, click
Objects and rules in the sidebar, then select Tickets > Forms.

Create a new ticket form or
edit your existing ticket form
named Complaint.
Select Editable for end users.
Drag and drop the Product ticket field into the form.
Click Save.






Group agents by the types of product they support

At ShoeLaLa, agents are grouped by the shoe styles they support. For example, one
group of agents called Sports is responsible for handling all complaints
related to sneakers, hiking boots, cleats, and so on, while another group of agents
called Formal is responsible for handling complaints related to heels,
loafers, fancy flats, and so on. This approach to grouping agents works well with
this product catalog workflow.

To group agents by shoe categories they support
In Admin Center, click
People in the sidebar, then select Team > Groups.

Create or edit groups of agents to handle
complaints based on shoe style.





Creating ticket triggers to route requests based on the product selected

Because agents are grouped by the styles of shoes they support, you can use the
product style values as conditions in ticket triggers and automatically assign them
to the correct group.

To create a ticket trigger that assigns groups based on the related products'
style
In Admin Center, click
Objects and rules in the sidebar, then select Business rules >
Triggers.

Create or edit a trigger.
Under Conditions, click Add condition to set up the trigger to
meet Any of the style conditions you want to assign to the group of
agents. For example, to assign all athletic styles of shoes to a group
named Sports, you might use the following conditions:


Ticket > Product > Style | Is | Running


Ticket > Product > Style | Is | Hiking


Ticket > Product > Style | Is | Cleat


See Building trigger condition
statements.

Under Actions, specify the following action:

Ticket > Group | Sports


See Building trigger action
statements.

Click Save.





Reporting on your product catalog workflow

After setting up your custom object workflow, you can use Explore to create reports based on lookup relationship field data.
Specifically, you can use attributes of related custom object records to quantify
ticket data, such as number of tickets by product, style, or whether the product is
currently available.

To create a report for number of tickets for a style of shoe
Open Explore, or click the Zendesk Products icon ( ) in the top bar, then select
Analytics.
Click the New report button.
Select the Support - Tickets dataset.
Click Start report.
Replace New report with Ticket number by shoe type as the
report name.
Under Metrics, click Add.
Select Tickets > Tickets. This appears as COUNT
(Tickets) in the report's list of metrics.

Under Columns, click Add.
Select Ticket lookup relationships > Product - Style.
Click Save.




{
"@context": "https://schema.org",
"@type": "TechArticle",
"@id": "https://support.zendesk.com/hc/en-us/articles/8301334445082",
"url": "https://support.zendesk.com/hc/en-us/articles/8301334445082-Building-a-product-catalog-with-custom-objects-for-customers-to-use",
"headline": "Building a product catalog with custom objects for customers to use",
"description": "You can build a product catalog using custom objects to enable customers to select specific products in ticket forms, route tickets to appropriate agents, and improve reporting on product issues.",
"articleSection": "Workflow best practices and recipes",
"datePublished": "2024-11-01T15:09:20+00:00",
"dateModified": "2025-10-16T05:15:09+00:00",
"inLanguage": "en-US",
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://support.zendesk.com/hc/en-us/articles/8301334445082"