Macha

What Is a Zendesk Custom Object, and When Do You Need One? (2026)

Abbas, Customer Support & AI, Macha

Written by

Ankeet Guha, Co-founder & CTO, Macha

Reviewed by

Published September 9, 2026

Updated September 24, 2026

Zendesk custom objects hold data that fits none of its three built-in buckets, the user, the organization and the ticket, such as a product serial number that outlives every ticket mentioning it. We built one on a demo sandbox to see what the setup involves, which decisions are permanent, and when a plain ticket field does the job.

Key takeaways

  • A Zendesk custom object is worth building only when a record outlives the ticket and more than one ticket will reference it; otherwise a custom ticket field does the job.
  • Zendesk caps custom objects at 3 on Suite Team, 5 on Suite Growth, 30 on Suite Professional and Support Enterprise, and 50 on Suite Enterprise and Enterprise Plus, with 100 fields per object.
  • Building a Product Registration custom object with four fields and three records through the API took about ten minutes on a Zendesk demo sandbox created 21 August 2026.
  • A Zendesk custom object's key becomes permanent once saved and cannot be edited or reused even after the object is deleted, so naming conventions come first.
  • Zendesk lets every plan configure custom object access for light agent and contributor roles, but only Enterprise plans can set record permissions for every custom role.
What Is a Zendesk Custom Object, and When Do You Need One? (2026)

A Zendesk custom object is a table of records, such as product registrations or contracts, that lives outside users, organizations and tickets and connects to tickets through a lookup relationship field. You need one only when a record outlives the ticket and more than one ticket will reference it; custom objects need a Zendesk Suite plan or Support Enterprise, and Suite Team caps you at 3 of them (Zendesk limits, checked 24 September 2026).

PlanCustom objectsLookup fields per objectConfigurable record permissionsAI object builder
Suite Team35Light agent and contributor roles onlyNo
Suite Growth55Light agent and contributor roles onlyNo
Suite Professional3010Light agent and contributor roles onlyYes, with Admin Copilot (early access)
Support Enterprise3010Every custom roleNo
Suite Enterprise and Enterprise Plus5010Every custom roleYes, with Admin Copilot (early access)
Zendesk Admin Center's Objects page — custom objects for data that doesn't fit users, organizations or tickets.
Zendesk Admin Center's Objects page — custom objects for data that doesn't fit users, organizations or tickets.

Whether you need one matters more than what it is, because parts of the setup are permanent in ways a ticket field is not.

So we built one and timed it. Everything below comes from a Product Registration object created on a Zendesk demo sandbox on 21 August 2026, given four fields and three records, entirely through the API. Four fields took about ten minutes. The screenshots are of that object, and where Zendesk's documentation refers to limits without printing numbers, no numbers are claimed here.

What is a Zendesk custom object made of?

Three layers. We used four fields and three records, and only one field type mattered.

An object is the type of thing: Product Registration, Rental Property, Contract. A field is a property of that thing: a serial number, a purchase date, a status. A record is one instance: this board, this lease, this contract.

None of that connects to a ticket by itself. The connector is a field type called a lookup relationship, which points a field at another object, including Zendesk's own users and organizations. Without one, a custom object is a table sitting beside your helpdesk that no ticket can reach.

The direction of that lookup is the thing to get right, and it is the thing we got wrong first time. We built a lookup on the object pointing at a user, which is useful for saying who owns a record. It does not put anything on a ticket. For that, Zendesk requires a lookup relationship field on the ticket pointing at the custom object: "Your ticket form must have at least one active lookup relationship field pointing to a custom object," and "within the ticket, a valid value must be set in the lookup field." Two lookups, two directions, two jobs.

We created an object called Product Registration on a demo instance, gave it four fields, and pointed the owner field at zen:user.

Product Registration custom object details in Zendesk Admin Center, with the object key field greyed out
Product Registration custom object details in Zendesk Admin Center, with the object key field greyed out

Two things on that screen are worth reading closely before you save anything.

The object key is permanent. Zendesk's own help text says it plainly: "Once saved, it can't be edited or reused, even after the object is deleted." You cannot rename it and you cannot recycle it. If you create product_reg and later decide you wanted product_registration, you keep both keys burned. Decide the naming convention before the first object, not after the third.

The description is not decoration. It appears on the object page and it is what a colleague reads in eighteen months when they are deciding whether to add a field to your object or build a new one. Ours says what the object is for and what question it answers.

Which fields does every custom object get automatically?

We added four fields. The object ended up with six.

Custom object fields list: Name and External ID badged Standard, plus four added fields
Custom object fields list: Name and External ID badged Standard, plus four added fields

Name and External ID carry a Standard badge, which means Zendesk created them and every record has them. Zendesk's planning guide confirms the first one: "All records have a Name field, which is text-based." That matters for your data model, because it means every record already has a human-readable label and you do not need to invent one. It also means Name is doing double duty as your display value, so whatever you put there is what agents will see in a list.

External ID is the field people miss. If these records originate in another system, a warranty database or an ERP, that is where the foreign key goes. Populate it at creation time. Backfilling identifiers into records that are already referenced by tickets is the kind of migration nobody schedules.

The warranty_status dropdown and the owner lookup are the two that make the object useful. The lookup is typed against zen:user, so a record belongs to a person Zendesk already knows about.

That's the object side done. The ticket side is a second field, created against /api/v2/ticket_fields with type lookup and a target of zen:custom_object:product_registration.

A Zendesk ticket field named Registered product, type Lookup relationship, Active and used on one form.
A Zendesk ticket field named Registered product, type Lookup relationship, Active and used on one form.

Note two things Zendesk did without being asked. The field type is locked once created, the same permanence rule the object key follows. And it went straight onto a form: the header reads "Used on 1 form," which satisfies Zendesk's stated prerequisite that the ticket form carry an active lookup field pointing at the object. Only now can an agent set a value and see the record.

Which Zendesk plans limit custom objects, and how?

Custom objects are available on every Suite plan and on Support Enterprise, with the Agent Workspace turned on. Three things about them are gated by plan: permissions, the AI builder and the counts.

Full record permissions are configurable on Enterprise only. Zendesk states that "On Enterprise plans, you can configure permissions for object records," and that "On Team, Growth, and Professional plans, agent permissions are predefined." The same article adds one exception: on all plans, access is "pre-defined for the standard admin and agent roles, and configurable for the light agent and contributor roles." If your reason for building an object is that some agents should see the data and others should not, check your plan before you design around it.

A Zendesk custom object's Permissions tab — a role matrix with View, Edit, Add and Delete columns.
A Zendesk custom object's Permissions tab — a role matrix with View, Edit, Add and Delete columns.

Our sandbox is on Enterprise, so that matrix is editable, and it carries a second constraint the plan documentation does not lead with: "Permissions for system roles can't be changed." Admin, Billing admin, Contributor and Light agent all carry a System badge and are fixed. Only the custom roles on that instance, Customer, Advisor and Staff, are links you can open and change. Enterprise buys you a permissions layer over your own roles, not over Zendesk's.

The AI object builder needs Suite Professional or higher. Zendesk's note is explicit: "You must be on Zendesk Suite Professional or higher to use the AI object builder." Check two more things before counting on it: Zendesk still labels it an early-access program (EAP), and it also requires Admin Copilot enabled, so being on Professional is necessary and not sufficient. On lower plans you build the schema by hand, which is what we did, and which took about ten minutes for four fields.

The counts are capped, and the caps are low at the bottom. Zendesk publishes them: Suite Team gets 3 custom objects, Suite Growth 5, Suite Professional and Support Enterprise 30, Suite Enterprise and Enterprise Plus 50. Each object can hold at most 100 fields. Lookup relationship fields, the ones that make an object reachable, are capped at 5 per object on Team and Growth and 10 on Professional and Support Enterprise and above. Accounts top out at 50 million records, and each individual record is capped at 32 KB.

Three objects is the number worth sitting with. On Suite Team, a customer, a contract and a product registration is the entire budget.

The gating has a shape, and the incentive behind it is worth reading. Zendesk charges at both ends. It caps how many objects you can create on the low tiers, and it sells the governance you need once you have several. What you get in the middle, on Professional, is thirty objects and no way to decide who sees them.

That middle is the interesting spot. Thirty objects is enough to build a real data model, and a real data model is exactly the point at which "every agent sees everything" stops being acceptable. Zendesk optimizes for the upgrade, which is ordinary and worth seeing coming.

One more constraint, and it is narrower than it first looks: the schema designer "can display a maximum of five custom objects and their relationships at a time." That is a limit on the AI object builder's canvas, not on your data model, which can run to 50 objects. It only bites when you are drawing.

When is a ticket field enough instead of a custom object?

A custom ticket field stores a value on the ticket. A custom object stores a record that outlives the ticket and can be referenced by many of them. The test is whether the data has a life of its own.

A serial number belongs to a product the customer will still own next year, and one product can generate five tickets. That's an object.

A refund reason belongs to the ticket and dies with it. That's a ticket field. Build an object for it and you're maintaining a schema, a permission model and a lookup in exchange for nothing.

The honest rule: if you cannot name the second ticket that will reference the same record, you want a field.

How do you get data into and out of a custom object?

Everything above is reachable over the API. The object lives at /api/v2/custom_objects, its schema at /api/v2/custom_objects/{key}/fields, and the rows at /api/v2/custom_objects/{key}/records. We created all three that way, which is worth knowing if you are importing from an existing system rather than typing records in by hand.

The API is not the only import path. Admin Center carries a Data importer under Objects and rules → Tools, which takes CSV up to 1 GB, 500,000 rows and 102 columns. One detail there is worth reading twice, because it turns the External ID advice above from good practice into a requirement: Zendesk states that "if you wish to bulk update the records in the future, you must also include an external_id field." Import without it and your next bulk update has nothing to match on.

Zendesk API response listing three records, the last column a numeric owner user ID
Zendesk API response listing three records, the last column a numeric owner user ID

That is the actual response from our sandbox, rendered for legibility. The fourth column is the point: owner returns a numeric Zendesk user ID, because the lookup is typed against zen:user. That ID is the thread back to a ticket.

Custom object records can also be referenced in ticket triggers, which is how the data starts affecting routing rather than just sitting there. And Explore can report on them, so an object is not a dead end for reporting.

Start with the spreadsheet Zendesk's planning guide recommends. One sheet per object, columns as fields, a few real rows. If you cannot fill in ten rows from data you actually have, you are designing a schema for a process that does not exist yet.

Common questions

What is the difference between a custom object and a custom ticket field? A ticket field stores a value on one ticket. A custom object stores a record that persists independently and can be referenced by many tickets. If the data outlives the ticket, use an object.

Can I rename a custom object's key later? No. Zendesk's admin interface states the key "can't be edited or reused, even after the object is deleted." The display name can change; the key cannot.

How does a custom object connect to a ticket? Through a lookup relationship field, which points at another object including Zendesk's users and organizations. Without one, nothing in the ticket can reach the record.

Do I need Enterprise to use custom objects? No. Any Suite plan or Support Enterprise works. You need Enterprise to configure record permissions for every custom role; on Team, Growth and Professional only the light agent and contributor roles are configurable.

Do records come with any fields already? Yes. Name and External ID are created for you and marked Standard. Name is text and acts as the record's display label.

How many custom objects can I have? It depends on the plan. Zendesk publishes the caps: 3 on Suite Team, 5 on Suite Growth, 30 on Suite Professional and Support Enterprise, and 50 on Suite Enterprise and Enterprise Plus. Each object holds up to 100 fields.

How do I get a custom object record to show on a ticket? Add a lookup relationship field to the ticket itself, targeting the object, and make sure it is on the ticket form. Zendesk's requirement is that "your ticket form must have at least one active lookup relationship field pointing to a custom object."

Can I build the schema automatically? Only on Suite Professional or higher, which is where the AI object builder is available. Below that you define fields by hand.

Where does an AI agent fit with custom objects?

An object is only worth building if something reads it at the moment a customer asks. Otherwise it is a table an agent has to remember to open.

Macha runs on top of the Zendesk you already have. It reads the ticket, including custom field values and attachments, and can classify it, add an internal note, or post a public reply, using your existing triggers and webhooks as the entry point. It answers from the sources you connect, so what it can tell a customer about a warranty depends on what you have actually recorded. It suits teams already committed to Zendesk who want agents acting inside the ticket. Setup runs through the Zendesk integration, and billing is per ticket, so one thread with one person is one charge however many replies it takes.

Start your free trial and connect your Zendesk in a few minutes.

Macha

About Macha

Macha is an AI agent platform that works on top of the help desk you already use (Zendesk, Freshdesk, Gorgias, Front, Intercom or HubSpot) and connects to the rest of your stack, even your own internal systems. It is done for you: the Macha team analyzes your past tickets, builds the knowledge base and the agents, and runs them in safe mode until the drafts are right. Pricing is about $0.40 a ticket, and that includes setup and a dedicated success manager who handles your changes. Learn more about Macha →

Zendesk
5.0 on Zendesk Marketplace

Loved by support teams worldwide

See what support teams are saying about Macha AI.

The application seems excellent to me! We are still testing, and we need support for some details and they were extremely efficient too!

Daniela Costa

Daniela Costa

Head of Support, Seabra

Macha has been a great addition to our support toolkit. It generates clear, well-organized responses that fit naturally into our workflow. One feature we particularly appreciate is its ability to automatically reply in the same language as the ticket.

Marius F

Marius F

Support Head, Zentana

We've been using Macha for a little while now and it's been really great addition so far! It's powerful, convenient, and makes getting work done a lot easier for our agents.

Alexander Wedén

Alexander Wedén

Head of Support

Support team is very helpful and responsive. Really enjoy how lightweight this is within Zendesk itself vs other more intrusive tools.

Cathleen Wright

Cathleen Wright

Zendesk Admin, Cortex IO

So far it's pretty good! Our queries are a little nuanced, so we can't always use it, but it's got enough utility for us. It can even incorporate our bilingual country with greetings in a second language.

Jae Oliver

Jae Oliver

Head of Support, Wise

Really enjoying using Macha, it has made a noticeable difference to our support team in a short amount of time. I really like the ticket summary feature, saves us a lot of time.

Harry Jackson

Harry Jackson

Head of Support, Crumb

Macha AI is a great addition to my workspace! It's powerful, convenient, and it really makes productivity so much easier for our agents!

Dave G

Dave G

Head of Support, Cyber Power Systems

Very impressed! AI integration for Zendesk has certainly come a long way and Macha seems to set the standard for now. This will for sure save lot of time in our support team.

Pauli Juel

Pauli Juel

Head of CS, Dokument24

Macha has been working great for us so far! The auto-responses are accurate and our resolution time has dropped significantly.

Lana T

Lana T

Zendesk Admin, Swotzy

Macha AI is a great addition. The knowledge base feature means our agents always have the right answers at their fingertips.

Mischa Wolf

Mischa Wolf

Head of Support, Topi

We're enjoying this integration so far. It's made our support team more efficient and our customers get faster responses.

Paula G

Paula G

Head of Customer Support, Xly Studio

The team enjoys using it. It saves considerable time on common questions and the integration options are excellent.

Kilian Leister

Kilian Leister

Support Head, Didriksons

Get your AI agents set up for you.

Book a 20-minute call with our team. We'll show you where we would start on your Zendesk and how the setup works. Setup and a dedicated success manager come with the trial and every plan.

Live in under a week
Safe mode until you approve
About $0.40 a ticket