Workflow: Using custom objects to manage assets in Zendesk


What's my plan?





All Suites

Team, Growth, Professional, Enterprise, or Enterprise Plus









Support

Enterprise






Many Zendesk customers manage assets, such as hardware, software licenses, or physical
items. Custom objects can replace the external
systems you've used in the past to manage these assets. Bringing this data into Zendesk
streamlines agent productivity by providing all the information they need directly in
the ticket and can even improve your record keeping.
This recipe uses custom objects, custom ticket fields, triggers, and Explore reporting.
The example includes:
Workflow goal
Planning your custom object workflow
Defining custom objects to represent your assets
Add a lookup relationship field to your tickets
Import your asset data into Zendesk
Configure triggers to use your custom objects




Workflow goal

You work in the IT department of a software development company. Your company already
has a process in place for employees to submit software requests to your team
through Zendesk. You want to make this process more efficient by maintaining all
records of approved software and the licenses you have for them in Zendesk,
alongside the tickets your coworkers submit about them. You also want to reference
the custom objects in business rules to assign tickets to the right agents at each
step.



Planning your custom object workflow

Before you create custom objects, it's important to plan out your custom object workflow. In this case, you
know you want to track assets within Zendesk, but you still need to identify which details you need to capture
for each object and how the object is related to other objects
in your account. Sketching out a plan before you start will save you time in the
long-run.
After going through this planning exercise, you find that you need three custom
objects: Software, License, and Project.

You make a spreadsheet for each object, with the field names and types serving as
column headings.













Custom object:
Software




Software name
Description
OS compatibility
Needs approval?
Status




Field type
(standard: Name)
(multi-line)
(drop-down)
(checkbox)
(drop-down)



Designs
Collaborative design software for people to create, share,
and test designs for digital products and experiences.
All
Yes
Pending



Flowcharts
Software that helps create flowcharts and manage
processes.
Windows
Yes
Approved



Photo editing
Photo editing and raster graphic design software to create,
edit, and manipulate graphics.
MacOS
Yes
Approved

















Custom object:
License




License Key
Software
Status
Assigned to




Field type
(standard: Name)
(lookup field > Software object)
(drop-down)
(lookup field > user)



X67Z-8WFC-2V9M-QBJD
Flowcharts
Assigned
Yuki Murakami



HJ12-RP5E-7TZN-1XKQ
Flowcharts
Active
-



N9VB-6CQW-4LKZ-2XTE
Photo editing
Active
Spencer Willig



R4SD-8FJL-1PQX-5CGM
Photo editing
Expired
-

















Custom object:
Project




Project name
Project code
Status
Project Manager




Field type
(standard: Name)
(text)
(drop-down)
(lookup field > user)



Janus
255
Completed
Keith Ellis



Vesta
256
Active
Adele Arment








Defining custom objects to represent your assets

Next, use the data you gathered to create your custom objects in Admin Center. See
Creating custom objects to integrate with custom
data.
The following example demonstrates how to create the Software custom object
you just planned.

To create your Software custom objects
In Admin Center, click
Objects and rules in the sidebar, then select Custom objects >
Objects.
Click Create object.
Under Name and Plural display name, enter
Software.
Under Object key enter software_asset.
Click Create object.
Click the Fields tab, click Add field and add the following fields:
For the Type, select Multi-line and then enter a
Description for the display name. Click Save and add
another.
For the Type, select Drop-down and then enter OS
compatibility for the display name. Add the following
Field values: All, Windows, and
MacOS. Click Save and add another.
For the Type, select Checkbox and then enter Needs
approval? for the display name. Click Save and add
another.
For the Type, select Drop-down and then enter
Status for the display name. Add the following Field
values: Pending, Approved, Not
approved. Click Save.


Click the Permissions tab to 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.
Repeat steps 1–8 to create the Licenses and Project objects as
planned in the spreadsheets.



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.



Add a lookup relationship field to your tickets

Both your License and Project objects contain lookup relationship
fields pointing to other custom objects and users. This is a great start to
integrating your custom data into Zendesk. However, surfacing relevant custom data
in tickets is how you're going to improve agent efficiency. Agents will be able to
preview details about records related to the ticket without navigating away from the
ticket.
In this example, you want to add all three objects to the tickets. That means you
need to create three lookup relationship ticket fields.

To create ticket lookup relationship fields pointing to custom objects
In Admin Center, click
Objects and rules in the sidebar, then select Tickets > Fields.
Click the Fields tab, and then click Add field.
Add a lookup field pointing to the Software object:
For Field type select Lookup relationship and enter
Software requested.
Under Select a related object, select Software.
(Optional) To restrict valid values to approved software, you can
add a filter of Status > is >
Approved.


Click Save and add another.
Add a lookup field pointing to the License object:
For Field type select Lookup relationship and enter
License Assigned.
Under Select a related object, select License.


Click Save and add another.
Add a lookup field pointing to the Project object:
For Field type select Lookup relationship and enter
Project.
Under Select a related object, select Project.

Because both the project's Name and Project code
fields are text-based, agents will be able to search for either value
when adding a project to a ticket.

(Optional) To restrict valid values to active projects, add a filter of
Status > is > Active.
Click Save.





Import your asset data into Zendesk

In this example, you have an existing list of software you support, their licenses,
and projects. You probably want to add the current data into Zendesk all at once so
it's available to your agents. Bulk importing your existing data is the easiest way
to do this. You can use your planning spreadsheets with the following modifications
to do this:
Remove the first row with the custom object's name.
Remove the third row with the field types.
Ensure the column headings are identical to the custom object's field
names.
Export your spreadsheet as a .CSV file.


Then, use the Data importer to upload each of your spreadsheets and generate your
initial records for your respective custom objects. See Bulk importing custom object records.
Alternatively, if you only have a few records for an object, you can also manually
add the records.



Configure triggers to use your custom objects

Finally, you have your custom objects and data in Zendesk. Agents can connect tickets
to your custom object records through the lookup fields in tickets. Now you want to
leverage the custom data to route tickets to the right agents and notify
stakeholders when things change. To do this, you create two triggers: Approvals and Notifications.

To create the Approvals trigger
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 All or Any conditions under which you want to assign the
ticket to the project manager.

Software > Needs approval | Is |
Checked


Project > Project code | Is | Present


See Building trigger condition
statements.

Under Actions, specify the following actions:

Ticket > Ticket status | Pending


Ticket > Assignee | Project > Project
manager


See Building trigger action
statements.

Click Save.



To create the Notifications trigger
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 All or Any conditions under which you want to notify the
requester and project manager.

Ticket > Ticket status | Is | Solved


See Building trigger condition
statements.

Under Actions, specify the following actions:

Notify by > Email user | Ticket >
(requester) Email subject: Solved: Request for
{{ticket.ticket_field_17531163245847}}
Email body:
{{ticket.ticket_field_17531163245847}} has been installed
for {{ticket.requester.first_name}}
{{ticket.requester.last_name}}.


Notify by > Email user | Project > Project
manager Email subject: Solved: Request for
{{ticket.ticket_field_17531163245847}}
Email body:
{{ticket.ticket_field_17531163245847}} has been installed
for {{ticket.requester.first_name}}
{{ticket.requester.last_name}}.


See Building trigger action
statements.

Click Save.



