Bulk Updating Freshdesk Tickets
Sometimes you need to bulk update Freshdesk tickets four hundred at a time. The UI handles a page, the API handles batches, and both have ceilings worth knowing.
The UI route to bulk update Freshdesk tickets
Filter the ticket list down to exactly what you want, select the tickets, and apply the change. That's the whole flow, and for most one-off jobs it is the right one.
What you can change in bulk is broadly the ticket properties: status, priority, group, agent, type, and tags, plus applying a scenario automation across the selection where your plan supports it.
Two things to get right before you click. Build the filter first and check the count, because a bulk update against a filter that was slightly wrong is not something you can cleanly reverse. And be aware you are working a page at a time, so a four hundred ticket job through the UI is a repetitive afternoon.
The selection ceiling per page and the exact set of bulk-editable fields have changed between releases, so check the current Freshworks docs for the numbers in your account rather than trusting a figure from a forum post.
The bulk update API
For anything genuinely large, the API is the tool. Freshdesk exposes a bulk update endpoint that takes a list of ticket ids and a set of properties to apply to all of them.
The request shape is roughly this:
PUT /api/v2/tickets/bulk_update
{
"bulk_action": {
"ids": [101, 102, 103],
"properties": { "priority": 3, "group_id": 12345 }
}
}Authenticate with your API key as the basic auth username and X as the password, the same as every other v2 endpoint. Full request details are in the Freshdesk API guide.
One property set applies to every id in the call. If you need different values per ticket, that's many calls, not one, and you should be thinking about your rate limit budget before you start.
The per-request id ceiling
There is a maximum number of ticket ids you can pass in a single bulk update call, and it's smaller than people expect. Think in terms of a low hundreds ceiling rather than thousands.
I am deliberately not quoting an exact figure, because it has moved and because it can differ by plan. Check the current Freshworks API docs for the number that applies to you, and write your client so the batch size is a config value rather than a hardcoded constant.
Practical approach: chunk your id list into batches comfortably under whatever the documented ceiling is, fire them sequentially, and handle the rate limit response properly. Freshdesk returns a retry hint when you exceed your allowance, and honouring it is much better than backing off on a fixed timer.
If you're updating thousands of tickets, plan for the job to take a while and to run outside business hours. A bulk reassignment that fires a notification per ticket during the working day is an unpleasant surprise for everyone.
It is asynchronous, so check the job
This is the part that catches people writing their first integration. The bulk update endpoint does not do the work before it responds. It queues a job and hands you back a job identifier.
A 2xx response means "accepted", not "done", and definitely not "all four hundred succeeded". Some tickets in the batch can fail while others succeed, for perfectly ordinary reasons: a ticket was deleted, a ticket is archived, a field value is invalid for that ticket type.
So the correct pattern is: submit the batch, keep the job id, then poll the job status endpoint until it reports completion, and read the per-ticket outcome. Check the current Freshworks API docs for the exact status path and response shape, since the details differ across endpoint versions.
If you skip the polling step you will eventually run a migration that silently half-applied, and you'll find out three weeks later when the numbers do not reconcile.
Before you run anything large
Four habits that have saved me more than once.
Frequently asked questions
How many tickets can bulk actions touch at once?
The UI works a page at a time, so Freshdesk bulk actions there cap at what's on screen. To update multiple tickets in Freshdesk beyond that you use the bulk update API, which runs asynchronously and returns a job to check.
How many tickets can I update in one Freshdesk API call?
There is a per-request ceiling on the id list, in the low hundreds rather than thousands. The exact number has changed across releases, so check the current Freshworks API docs and make your batch size configurable.
Is the Freshdesk bulk update API synchronous?
No. It queues a job and returns a job identifier. A success response means the batch was accepted, not that every ticket updated, so poll the job status and read the per-ticket outcome.
Can I bulk update tickets from the Freshdesk UI?
Yes. Filter the ticket list, select the tickets and apply property changes such as status, priority, group and agent. You work a page at a time, which makes very large jobs slow.
Can a bulk update be undone?
Not as a single action. Export the current values before you start, because reversing a bad bulk update means writing the old values back yourself, ticket by ticket.
Will a bulk update trigger my automations?
It can. Check which rules watch the fields you're about to change, especially anything that emails requesters, before running a large job during business hours.
Bulk closing duplicates by hand
If your bulk job is really "close all these duplicates", Ticket Merger does it continuously instead, merging pairs as they arrive rather than in a monthly cleanup.
Start free trial14-day free trial. No credit card required.