Freshdesk Agent Shifts, Availability & Out-of-Office Explained
Availability is the quiet engine underneath your Freshdesk queue. Whether a ticket lands on the right agent, waits for someone who's actually online, or bounces off a person who's on lunch all comes down to one thing Freshdesk tracks in the background: who is available right now. There are three moving parts that decide it — agent statuses, agent shifts, and out-of-office handling — and they stack on top of each other in ways that aren't obvious until a ticket goes to someone who left an hour ago. This guide walks through how each one works, how availability actually drives assignment, and where the native features are gated to higher plans so you can plan around them.
The two default agent statuses
At its simplest, every agent in Freshdesk is in one of two states. Per Freshworks' Configure Agent Status and Availability documentation, the two defaults are Available (online and ready to receive tickets) and Unavailable (offline, not receiving new tickets). That binary is what automatic routing reads before it hands a ticket to anyone.
The Unavailable state isn't a single bucket, though — it splits into two categories that describe why someone is off:
- Away covers non-work absence: lunch, a coffee break, stepping out. The agent is simply not at their desk.
- Busy covers work-related unavailability: a meeting, training, focused escalation review. The agent is at their desk but heads-down on something other than new tickets.
That distinction matters more than it looks, because it lets a manager glance at the availability view and tell the difference between "the whole afternoon shift is in a training session" and "half the team is at lunch at the same time."
Custom agent statuses: naming the reasons
Two states are rarely enough for a real team. Freshdesk lets you create custom agent statuses so the availability picture reflects how your team actually works. You configure them under Admin → Teams → Agent Status.
To add one:
- Go to Admin → Teams → Agent Status and click New agent status.
- Choose the type — Available or Unavailable.
- Enter a name (for example, "Email Escalation Review") and pick a matching icon.
- If it's Available, associate it with one or more queues (the ticketing sources it should receive work from). If it's Unavailable, choose the offline category — Away or Busy.
- Click Save.
One thing worth flagging before you start naming things: per the same Freshworks doc, you cannot rename a custom agent status once it's saved. So agree on wording first — a status called "Lunch" is stuck as "Lunch." Custom statuses are also plan-gated: they require Freshdesk Pro or Enterprise, so teams on Free or Growth are limited to the two defaults.
How availability actually drives assignment
Statuses would be cosmetic if nothing read them. The link is automatic routing (Omniroute / Advanced Automatic Routing). When it's enabled, new tickets are assigned only to agents whose status is Available — an Unavailable agent is simply skipped, whether they're Away at lunch or Busy in a meeting. That's the whole point of the status system: it's the filter that keeps work off people who can't act on it.
On Freshdesk Omni, availability gets more granular through queue mapping. An Available status can be tied to a specific queue — an Email Queue (email and portal), a Messaging Queue (WhatsApp, Facebook), or a Fallback Queue for anything unmatched — so you can have an agent who's "Available → Email Queue" but not taking messaging conversations. Availability stops being one switch and becomes channel-aware.
If you let agents set their own status from the profile dropdown (an Omniroute setting admins control), remember the flip side: a full queue with everyone marked Unavailable will quietly park new tickets, because routing has no one to hand them to. Availability and your working calendar are tightly coupled here — the same way business hours decide when your SLA clock is even running.
Agent Shifts: availability on a schedule
Setting status by hand works until you're running support across time zones. Agent Shifts automates the whole thing: an agent's availability flips on and off according to a schedule, so the night team goes Available at the start of their shift and the day team goes Unavailable when theirs ends — no one toggling a dropdown.
Per Freshworks' Managing Shifts with Freshdesk guide, you configure shifts under Admin → Team → Agent Shifts. Creating one means giving the shift a name, selecting a time zone, defining the active days and times, and adding the people who work it via the Agent List.
The screenshot above is the Agent Shifts setup landing — the empty, pre-configuration state you hit before any shift exists, with a single Create Shifts button. It's worth calling out honestly: Agent Shifts is an Enterprise-tier feature on Freshdesk (and the Enterprise tier of Freshdesk Omni). If your account is on a lower plan, this module may be gated or absent entirely, and you'll manage availability through statuses instead. Confirm against your own plan before you build a schedule around it.
There's also one configuration quirk to know: a shift cannot span midnight. A 9 PM–5 AM GMT overnight shift has to be expressed as same-day hours in a different time zone — Freshworks' own example converts it to 1:00 PM–9:00 PM PST. And if you want agents to manage their own shifts, that's granted through the Operational Admin role rather than opened up by default.
Out-of-office and re-routing
Shifts handle the recurring schedule; out-of-office handles the exceptions — leave, sickness, a day off. This is where availability becomes a customer-facing behaviour rather than an internal flag. According to Freshworks' agent shifts overview, when a customer replies to an agent who's away, Freshdesk works out whether they're temporarily unavailable or on a longer break, can automatically notify the customer, and can re-route the ticket to an agent who is available.
You can also reinforce this with automation rules: check whether an assignee is out of office when a customer responds and reassign the ticket, or block agents from being assigned tickets while they're marked out of office in the first place. The result is that a reply to someone on a two-week holiday doesn't sit unanswered in a personal queue — it moves to someone who can actually pick it up.
To watch all of this in real time, Freshdesk provides the Agent Availability Dashboard for a live snapshot of who's on and off, with the Agent Performance Report covering the historical trend.
The honest limits — and where an AI layer fits
Freshdesk's availability system is well-built and does exactly one job cleanly: it decides who should get a ticket based on who is online. But there are real edges. The most obvious is coverage — if it's 3 AM and nobody is scheduled, availability routing has an honest answer, which is "no one," and the ticket simply waits. Availability can route around an absent agent; it can't conjure a present one. The out-of-office re-routing is smart, but it re-routes to another human who has to be available.
The second edge is that availability governs assignment, not answering. Even when routing picks the perfect Available agent, that agent still has to read the ticket, understand it, and write the reply. Availability doesn't shorten the response — it just decides whose queue the response is owed from. And the more granular features that make availability powerful — custom statuses, shifts — are plan-gated to Pro and Enterprise, so smaller teams get the two-status version and manage the rest manually.
This is the seam where an AI agent layer helps, and it's worth thinking through the build-versus-buy tradeoff before reaching for one. The broader category of AI agents for customer service exists to cover the gaps a scheduling system structurally can't — the empty overnight window, the answer no available agent has time to write. Macha is one such layer: it runs on top of the Freshdesk you already use through a native connector, and it does not replace your help desk, your statuses, or your shifts. You connect Macha to Freshdesk with your subdomain and API key, and it reads and writes the same tickets your availability rules already route: drafting or posting grounded first replies so a customer gets an answer even when the queue is between shifts, triaging by intent, and looking up order or account status through a custom tool that turns a REST API into something an agent can call. You can wire it into your existing Freshdesk automation so it acts inside the workflows you've already built. (Macha's connector is for Freshdesk specifically — not Freshchat, Freshservice, or Freshcaller. Credits are consumed per AI action, not per resolution — see the pricing breakdown.)
The clean division of labour: let Freshdesk's statuses and shifts stay the source of truth for who's available and when, and layer an agent on top for the moments availability can't cover — the hours no one is scheduled, and the answer the available agent doesn't have bandwidth to write. If you want the timers on those tickets to behave predictably too, pair this with well-configured SLA policies.
FAQ
What are the default agent statuses in Freshdesk? Every agent is either Available (online, receiving tickets) or Unavailable (offline, not receiving new tickets). The Unavailable state further splits into Away (non-work absence like lunch or a break) and Busy (work-related, like a meeting or training).
Where do I configure agent status and shifts? Custom agent statuses live under Admin → Teams → Agent Status, and agent shifts live under Admin → Team → Agent Shifts. Note that custom statuses require Freshdesk Pro or Enterprise, and Agent Shifts is an Enterprise-tier feature — on lower plans some of these options may be gated or unavailable.
How does agent availability affect ticket assignment? When automatic routing (Omniroute) is enabled, new tickets are assigned only to Available agents — anyone marked Unavailable is skipped. On Freshdesk Omni, Available statuses can be mapped to specific queues (email, messaging, fallback), so availability can be channel-specific.
What happens when an agent is out of office? Freshdesk can detect that an assigned agent is away, automatically notify the customer, and re-route the ticket to an available agent. You can reinforce this with automation rules that reassign tickets or prevent out-of-office agents from being assigned new ones.
Can I add AI coverage without replacing Freshdesk's availability rules? Yes. An AI agent layer like Macha connects to Freshdesk as a native connector and runs on top of your existing statuses and shifts — it doesn't replace them. It helps cover the gaps availability can't, such as the overnight window when no agent is scheduled, by drafting or sending grounded replies while Freshdesk stays the system of record for who's available.
Want to cover the hours your shift schedule can't? Start a free trial of Macha and connect it to your Freshdesk in minutes.
Add AI agents to your Freshdesk
Macha resolves tickets end to end on Freshdesk — no migration, no code.
Zendesk
Freshdesk
Gorgias
Front
Shopify
Stripe
Slack
Notion
Google Workspace
Confluence

