What's my plan?
Suite 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
  1. In Admin Center, click Objects and rules in the sidebar, then select Custom objects > Objects.
  2. Click Create object.
  3. Under Name and Plural display name, enter Software.
  4. Under Object key enter software_asset.
  5. Click Create object.
  6. Click the Fields tab, click Add field and add the following fields:
    1. For the Type, select Multi-line and then enter a Description for the display name. Click Save and add another.
    2. 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.
    3. For the Type, select Checkbox and then enter Needs approval? for the display name. Click Save and add another.
    4. 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.
  7. 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.
  8. 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
  1. In Admin Center, click Objects and rules in the sidebar, then select Tickets > Fields.
  2. Click the Fields tab, and then click Add field.
  3. 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.
  4. Click Save and add another.
  5. 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.
  6. Click Save and add another.
  7. 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.

  8. (Optional) To restrict valid values to active projects, add a filter of Status > is > Active.
  9. 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
  1. In Admin Center, click Objects and rules in the sidebar, then select Business rules > Triggers.
  2. Create or edit a trigger.
  3. 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.

  4. Under Actions, specify the following actions:
    • Ticket > Ticket status | Pending
    • Ticket > Assignee | Project > Project manager

    See Building trigger action statements.

  5. Click Save.
To create the Notifications trigger
  1. In Admin Center, click Objects and rules in the sidebar, then select Business rules > Triggers.
  2. Create or edit a trigger.
  3. 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.

  4. 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.

  5. Click Save.
Powered by Zendesk