If you're trying to streamline your support workflow, you've probably wondered whether Zendesk macros can automatically populate custom ticket fields. The short answer? It depends on the field type. While macros work great for drop-downs and checkboxes, they hit a wall with text fields. This limitation trips up a lot of Zendesk admins, especially when agents need to quickly categorize tickets or populate required fields.
Let's break down exactly what Zendesk macros can and cannot do with custom fields, walk through the setup process for supported field types, and explore workarounds for the limitations you'll inevitably hit.
What Zendesk macros can and cannot do with custom fields
Before you start building macros, you need to know which custom field types actually work with them. Zendesk's macro functionality has a significant blind spot that affects how you should design your ticket forms.
Field types macros CAN set
Zendesk macros can set values for these custom field types without any issues:
- Drop-down lists Select any predefined option from your field configuration
- Multi-select fields Add or remove specific values (though you can't set all values at once)
- Checkbox fields Check or uncheck the box (these generate tags when checked)
- Date fields Set a specific date or use placeholders like
{{ticket.created_at}} - Numeric fields Enter whole numbers or decimals
- Regex fields Set values that match your validation pattern
These field types work reliably because they use predefined values or simple data formats that Zendesk can process consistently.
Field types macros CANNOT set
Here's where things get frustrating. Zendesk macros cannot set text fields (single line) or multi-line text fields. This isn't a bug or a temporary limitation. It's been a known constraint since at least 2021, and Zendesk has marked related feature requests as "Not Planned."
Why does this matter? Text fields are incredibly common in ticket forms. They're used for:
- Order numbers
- Account IDs
- Product serial numbers
- Free-form categorization
- Notes and references
When you try to use a macro action to set a text field, the option simply doesn't appear in the action dropdown. Your only workaround is to have agents manually type values, which defeats the purpose of using macros for efficiency.
The placeholder problem
Even if you could set text fields via macros (which you can't), there's another limitation: placeholders don't resolve in text field actions. So if you tried to create a macro that copies a user's account ID from their profile into a ticket field using something like {{ticket.requester.custom_fields.account_id}}, the literal placeholder text would appear in the field instead of the actual value.
This placeholder limitation also applies to triggers when setting text fields. It's a platform-wide constraint that affects any automation trying to populate text fields with dynamic data.
Step-by-step: Setting custom fields with macros
For the field types that do work, here's how to configure macros to set custom field values automatically.
Step 1: Access the Macros page in Admin Center
Navigate to Admin Center > Objects and rules > Business rules > Macros. This page lists all existing macros in your account. If you have dozens of macros, use the search bar to find specific ones.

Before creating a new macro, check if an existing one could be modified instead. Having fewer, well-organized macros is easier to maintain than many overlapping ones.
Step 2: Create or edit a macro
Click Add macro to create a new one, or select an existing macro to modify. You'll see a form with several sections:
Name your macro clearly. Use a descriptive name that explains what the macro does. Instead of "Priority Macro," use something like "Set High Priority for VIP Customers Billing Category."
Add a description. The description field is optional but highly recommended. Document what the macro does, which custom fields it sets, and when agents should use it. This context is invaluable when you're troubleshooting six months later.

Step 3: Add the set custom field action
Under Actions, click Add action and select the custom field you want to set from the dropdown. The available options depend on your field type:
For drop-down fields, select the specific option value from the list. You can only choose values you've already defined in the field configuration.
For checkbox fields, choose whether to check or uncheck the box. Remember that checkbox fields need associated tags to work properly in some business rules.
For multi-select fields, add or remove specific values. You cannot "set" all values at once; you work with individual selections.
For date fields, enter a specific date or use placeholders. Note that date fields in business rules always evaluate against GMT timezone, not your account timezone.
You can add multiple actions to a single macro. This lets you set several fields at once, like updating both "Category" and "Priority" in one action.
Step 4: Save and test
Click Save to create the macro. Now test it:
- Open a test ticket
- Apply the macro
- Verify the custom field updates to the correct value
- Check that other ticket properties (tags, status, assignee) update as expected
If the field doesn't update, verify that:
- The macro is active (not disabled)
- The custom field still exists and hasn't been deactivated
- The field is visible to agents and editable in the ticket form
- The agent has permission to edit that field
Workarounds for text field limitations
When you need to set text fields automatically, you have a few options beyond native macros. Each has trade-offs in complexity, reliability, and maintenance overhead.
Option 1: Use triggers instead of macros
Zendesk triggers can set text fields, but with a major caveat: they only accept static values. You cannot use placeholders to copy data from user fields or other dynamic sources.
Triggers work best when:
- The field value is always the same (like setting a "Source" field to "Email")
- You want automatic field population without agent action
- The condition logic is straightforward
The downside? Triggers fire automatically based on conditions, not on demand like macros. So you lose the agent control that makes macros useful.
Option 2: Trigger + webhook combination
This is the most common workaround Zendesk admins use. Here's how it works:
- Create a macro that adds a specific tag (like
update_text_field) - Create a trigger that fires when that tag is present
- Add a webhook action to the trigger that calls the Zendesk API
- The webhook updates the text field with your desired value
- The trigger removes the tag to prevent loops
This approach has risks. Zendesk officially discourages it because you can run into race conditions where the webhook and other triggers conflict. If you go this route, make sure your trigger has nullifying conditions and test thoroughly in a sandbox environment.
Option 3: Extended Macros app
The Extended Macros app from Eastern Logic adds text field setting capability to Zendesk macros. It's available on the Zendesk Marketplace and installs directly into your account.
According to a recent update from the app developer in the Zendesk community, the app now includes "the ability to set custom fields via macro" as a core feature. This is probably the cleanest solution if you're comfortable using a third-party app.
Option 4: ZIS (Zendesk Integration Services)
For Enterprise plans, Zendesk Integration Services provides a more robust automation layer. ZIS flows run after the trigger cycle completes, avoiding the race conditions that plague webhook-based workarounds.
ZIS supports complex data operations and can handle scenarios that native triggers cannot. The trade-off is technical complexity. You'll need someone familiar with Zendesk's integration platform to set it up properly.
Best practices for macros and custom fields
Getting the most out of Zendesk macros requires some upfront planning. These practices will save you headaches down the road.
Design fields with macro compatibility in mind
When creating ticket forms, prefer drop-down fields over text fields whenever possible. Yes, text fields offer more flexibility for free-form input, but they lock you out of macro automation.
If you need agents to select from a defined set of values, use a drop-down. If you need to capture unique identifiers (like order numbers), you'll have to accept that macros can't help and plan your workflow accordingly.
Use consistent tagging strategies across your macros. When multiple macros set the same custom fields, make sure they're not creating conflicting tag combinations that break your views or reports.
Organize macros effectively
Group macros using Zendesk's category notation. By adding double colons (::) in macro names, you create nested groups that make navigation easier. For example:
Billing::Refund::Process standard refundBilling::Refund::Process VIP refundTechnical::Bug report::Log frontend issue
This categorization becomes essential once you have more than 20-30 macros. Agents can quickly find the right macro without scrolling through an endless list.
Document your macro strategy somewhere accessible. When multiple admins manage the same Zendesk instance, it's easy for macro logic to become inconsistent. A simple shared document explaining naming conventions and use cases prevents chaos.
Test before rolling out
Always test new macros in a sandbox environment before deploying to production. Zendesk's sandbox lets you verify that:
- Custom fields update correctly
- Tags apply as expected
- No unintended side effects occur
Check field permissions carefully. If a macro tries to set a field that the applying agent doesn't have permission to edit, the action will fail silently. Verify that your agent roles include the necessary field access.
When to consider alternatives to native macros
There comes a point when Zendesk's native automation just isn't enough. Here's how to recognize that moment and what to do about it.
Signs you've outgrown Zendesk macros
You might need a different approach if you find yourself:
- Creating increasingly complex trigger + webhook combinations
- Needing to copy data between user fields and ticket fields
- Wanting conditional logic that depends on multiple factors
- Spending more time maintaining workarounds than using the automation
These are signals that your workflow requirements have exceeded what Zendesk's built-in tools can reasonably handle.
How eesel AI handles custom field automation
Our Zendesk integration takes a different approach to field automation. Instead of rigid trigger logic, you describe what you want in plain English. For example: "When a VIP customer submits a ticket about billing, set the priority to high, assign to the billing team, and copy their account ID from the user record."

Here's how it differs from native Zendesk automation:
- No race conditions We operate as an AI teammate that processes tickets after Zendesk's trigger cycle completes, avoiding the conflicts that plague webhook-based workarounds
- Natural language instructions Define complex automation without learning trigger syntax or API calls
- Context-aware field setting The AI reads ticket content, conversation history, and connected data to make intelligent decisions about which fields to set
- Progressive rollout Start with AI drafting responses while your team reviews them, then expand to full automation as confidence builds
For teams already using Zendesk, our AI triage product connects in minutes and learns from your existing tickets, macros, and help center content. You can run simulations on past tickets to verify quality before going live.
If you're spending more time working around Zendesk's automation limitations than benefiting from them, it might be worth exploring an approach built for modern support workflows. Check our pricing to see how we compare.
Key takeaways for setting custom fields in Zendesk
Let's recap what you need to know about Zendesk macros and custom fields:
- Macros can set: Drop-downs, multi-select, checkboxes, dates, numerics, and regex fields
- Macros cannot set: Text fields and multi-line text fields (this is a permanent platform limitation)
- Placeholders don't work in text field actions, even in triggers
- Workarounds exist but come with trade-offs: triggers (static values only), webhooks (race condition risks), third-party apps (additional cost), or ZIS (technical complexity)
The decision framework is straightforward. For simple field setting with predefined values, native macros work fine. For text fields or complex conditional logic, you'll need to evaluate whether a workaround is worth the maintenance overhead, or if it's time to consider an alternative approach like AI-powered automation.
If your team is struggling with these limitations daily, you're not alone. The Zendesk community has been requesting text field support in macros since 2021. Until Zendesk changes course, the workarounds in this guide are your best options.
Q1: Can you use a Zendesk macro to set custom text fields?
No, Zendesk macros cannot set text fields or multi-line text fields. This is a known platform limitation that Zendesk has marked as "Not Planned" for development. Macros can only set drop-down lists, multi-select fields, checkboxes, dates, numeric fields, and regex fields.
Q2: What custom field types can Zendesk macros actually set?
Zendesk macros can set drop-down list values, multi-select options, checkbox states, date fields, numeric fields, and regex fields. These field types work because they use predefined values or simple data formats. Text fields and multi-line text fields are explicitly not supported.
Q3: Why do placeholders not work when trying to set custom fields in Zendesk macros?
Placeholders like {{ticket.requester.name}} don't resolve in text field actions because Zendesk's macro system treats text field values as literal strings. Even if you could set text fields via macros (which you can't), the placeholder would appear as text rather than resolving to the actual value. This limitation also applies to triggers when setting text fields.
Q4: What is the best workaround for setting text fields if Zendesk macros don't support them?
The most reliable workarounds are: (1) Use the Extended Macros app from the Zendesk Marketplace, which adds text field setting capability; (2) Use a trigger + webhook combination (though Zendesk discourages this due to race condition risks); or (3) Consider third-party automation tools like eesel AI that handle complex field updates without these limitations.
Q5: How do you prevent trigger loops when using workarounds to set custom fields?
Add nullifying conditions that check the field isn't already set to your target value. For example, if your trigger sets a "Status" custom field to "Escalated," include a condition that Status "is not" Escalated. This prevents the trigger from firing repeatedly on the same ticket. Also remove any tags used to trigger the automation after the action completes.
Frequently Asked Questions
Share this post

Article by
Stevia Putri
Stevia Putri is a marketing generalist at eesel AI, where she helps turn powerful AI tools into stories that resonate. She’s driven by curiosity, clarity, and the human side of technology.



