Skip to content

Frontdesk

Scheduled Sep 24, 2026

Ticketing that does not bill you per agent.

Replaces

  • Zendesk Suite · Zendesk, Inc. $115 per seat per month (Suite Professional), about $552,000/yr at 400 seats
  • Freshdesk · Freshworks Inc. $55 per seat per month (Pro), about $264,000/yr at 400 seats

Rented, per year

$552,000

Zendesk Suite list price at 400 seats.

Owned, per year

$8,280

AWS infrastructure only. Azure is $8,880.

Build

10 weeks

2 engineers. To parity on the core features above, including migration of ticket history, macros, SLA policies and CSAT results from Zendesk or Freshdesk.

Difficulty

3/5

Well-understood shape. Low delivery risk.

Reference organisation: 150 agents plus 400 free light agents, 40,000 tickets a month, 5 years of ticket history, 1.5 TB of attachments, single region, prod + non-prod. 3-year Compute Savings Plan on Fargate / 3-year reservation on Container Apps. Aurora minimum 1 ACU in prod. Attachments on S3 Standard for 90 days then Glacier Instant Retrieval. PostgreSQL full-text search rather than OpenSearch at this volume. Excludes LLM gateway token cost, telephony and vendor support plans. Figures are infrastructure only and exclude the build.

What it is

Frontdesk is a support desk: email, web form and API intake, queues and routing, SLA policies with business calendars, macros, side conversations and CSAT. It is aimed at support organisations past roughly 80 agents, where the per-agent licence has made seasonal staffing a budget conversation and where the ticket history — the most detailed record of what your product actually does wrong — sits in a vendor's schema. Frontdesk is deliberately conventional software. The interesting engineering is in email threading and SLA timing, which is where support tools quietly fail.

Why this one stops making sense

  • Zendesk Suite Professional lists at $115 per agent per month paid yearly. A 150-agent desk is $207,000 a year, and every seasonal hire adds $1,380 for the year whether they work three months or twelve.
  • Per-agent pricing makes the right operational decision — staffing up for a launch or a peak — an expensive one, so teams share logins, which destroys the audit trail you bought the tool for.
  • Ticket history is the highest-resolution record of your product's defects and your customers' confusion. It is a research dataset, and it is trapped behind an export API with rate limits.
  • Macros, triggers, automations and custom fields become an undocumented business process over five years, with no version history and no way to test a change before it fires on live traffic.
  • Freshdesk Pro at $55 per agent per month is cheaper and has the same structural problem: the price of knowing what your customers said scales with how many people are allowed to read it.

What ships

  • Email, web form, API and chat intake into one ticket model with reliable threading
  • Queues, views and assignment rules with skills-based and round-robin routing
  • SLA policies with business calendars, holiday schedules, pause states and breach prediction
  • Macros and canned responses with placeholders, versioned in git and testable
  • Triggers and automations with a dry-run mode against historic tickets
  • Side conversations to engineering and vendors without leaking the customer thread
  • CSAT surveys on resolution, with response rates and driver analysis
  • Customer-facing portal with ticket history and Atlas knowledge-base search
  • Unlimited light agents — engineers, product managers and finance read and comment for nothing
  • Full-text search over every ticket, comment and attachment with retention rules per field

Data model

TicketCommentRequesterOrganisationAgentQueueSlaPolicySlaClockMacroTriggerTriggerRunSideConversationSatisfactionResponseAuditEvent

Stack

frontend
Next.js 15 App Router + Tailwind + TanStack Query, with an agent workspace built for keyboard use
backend
NestJS on Node 22 — agent API, a mail ingress service and an SLA sweeper
database
PostgreSQL 16 with Row Level Security per brand and per queue
cache
Redis 7 for view counts, agent presence and macro lookup
queue
BullMQ for trigger execution, notification and CSAT dispatch
auth
OIDC against the customer IdP for agents; magic-link or IdP for portal users
search
PostgreSQL tsvector with pg_trgm; OpenSearch only above roughly 20M tickets
ai
Optional summarisation, macro suggestion and intent classification through an LLM gateway

Parity, honestly

What we match, and what we do not.

The rows marked No are the important ones. If one of them is the reason you bought Zendesk Suite, keep buying it — and we will tell you that on the first call rather than the fifth month.

CapabilityZendesk SuiteOursNote
Email, form and API ticket intakeYesYes
SLA policies with business hours and pause statesYesYesOurs predicts breaches rather than only reporting them.
Macros, triggers and automationsYesYesDefined as code, reviewed as code, and dry-runnable against last month's tickets.
Skills-based and round-robin routingYesYes
CSAT collection and reportingYesYes
Unlimited free light-agent seatsNoYesZendesk light agents are limited and plan-dependent. This is usually the largest cost line to disappear.
Customer portal with knowledge-base searchYesYesShares Atlas's index rather than maintaining a second copy of the articles.
Marketplace of 1,500+ apps and integrationsYesNoZendesk's marketplace is a genuine asset. We build the four or five integrations your desk depends on. If your workflow rests on a dozen marketplace apps, the migration cost is larger than the licence saving.
Built-in cloud telephony with global numbersYesNoZendesk Talk carries carrier relationships, number provisioning in dozens of countries and emergency-calling obligations. We are not becoming a telecoms provider. Frontdesk integrates with Amazon Connect, Genesys or your existing contact centre and logs the interaction.
Industry benchmark reportingYesNoZendesk can compare your first-response time with thousands of other desks. We only have yours.
Vendor-run SOC 2, ISO 27001 and FedRAMP authorisationsYesNoFrontdesk inherits your cloud posture. FedRAMP in particular cannot be reproduced by building your own.
AI ticket summarisation and suggested repliesPartialYesThrough your LLM gateway, on your data, with no training on customer content.
Live chat and in-product messagingYesPartialConverse covers this properly and shares the contact model. Frontdesk alone is asynchronous.
Multilingual agent interface and content translationYesPartialThe interface ships in the languages you need. Automatic content translation runs through your LLM gateway and is not free.

Reference architecture

Built twice, on purpose.

Every application in Techtons ships with a production architecture for AWS and one for Azure, using the same diagram grammar so you can read them side by side. Your cloud, your account, your bill.

Amazon Web Services

Compute
ECS Fargate (api, mail-ingress, sweeper, worker) behind an ALB
Data
Aurora Serverless v2 PostgreSQL, ElastiCache Redis
Storage and edge
S3 for raw inbound MIME and attachments, CloudFront for the front end and the portal
Identity
Cognito federated to the customer IdP for agents; a second pool for portal users
Observability
CloudWatch and OpenTelemetry; SLA sweeper lag is a paging alarm, because a late sweep is an invisible breach
Infrastructure as code
Terraform, one module per environment

Services

ECS FargateALBAurora Serverless v2ElastiCache RedisS3CloudFrontCognitoSESSES receipt rulesSNSSQSEventBridgeSecrets ManagerWAFCloudWatch

The decision worth arguing about

Inbound mail lands through an SES receipt rule that writes the raw MIME to S3 and notifies SNS, and the non-obvious decision is how a reply gets attached to the right ticket. The standard trick is plus-addressing — support+1234@example.com — and it breaks in the field more often than vendors admit: distribution lists rewrite the envelope, some corporate gateways strip subaddressing entirely, and a customer forwarding the thread to a colleague loses it altogether. So Frontdesk threads primarily on RFC 5322 Message-ID, In-Reply-To and References, which survives forwarding and rewriting because it lives in the headers rather than the address. The cost is a table of every Message-ID the system has ever emitted, indexed and never pruned, which for a desk handling 40,000 tickets a month is roughly two million rows a year — small, but it must be treated as permanent, because pruning it is how you get a reply to a two-year-old ticket opening a new one. Two fallbacks sit behind it: a signed token in the subject line, and finally a requester-plus-subject-similarity match that creates a linked ticket rather than guessing. SLA timers run as a single sweeper scanning an indexed breach_at column every 30 seconds rather than a scheduled event per ticket, which caps breach detection granularity at half a minute and costs nothing at any ticket volume.

Microsoft Azure

Compute
Container Apps (api, mail-ingress, sweeper, worker) with KEDA scaling on queue depth
Data
PostgreSQL Flexible Server, Azure Cache for Redis
Storage and edge
Blob Storage for raw MIME and attachments, Front Door Standard for edge and WAF
Identity
Entra ID for agents, Entra External ID for portal users
Observability
Azure Monitor and Application Insights, with sweeper lag as an alert rule
Infrastructure as code
Bicep, azd-compatible layout

Services

Container AppsFront Door StandardPostgreSQL Flexible ServerCache for RedisBlob StorageEntra IDEntra External IDKey VaultService BusEvent GridCommunication ServicesLog Analytics

The decision worth arguing about

Azure gives you a better mechanism for SLA timing than AWS does, and it is worth using rather than porting the sweeper across unchanged. Service Bus supports scheduled messages with an arbitrary future enqueue time, so each ticket can carry its own one-shot timer that fires exactly at the breach moment — no polling, no 30-second granularity, no sweeper to fall behind during a queue backlog. SQS caps delivery delay at 15 minutes, which is why that shape is unavailable on AWS without either EventBridge Scheduler at one schedule per ticket or the sweeper we actually use. The trade-off is bookkeeping: cancelling or moving a scheduled message requires holding its sequence number, so every SLA pause, reassignment or policy change has to find and cancel the old message and enqueue a new one, and a dropped sequence number leaves an orphan timer that fires on a ticket already closed. Frontdesk stores the sequence number on the SLA clock row and treats a fired timer for a resolved ticket as a no-op, which makes the failure mode harmless rather than merely unlikely. We run this on Service Bus Standard; Premium's fixed monthly floor is only worth it past roughly 1,000 messages a second, which no support desk of this size reaches.

Sources

Every price on this page, with the page we read it from and the date we read it.

ProductPlanList priceCheckedSource
Zendesk SuiteSuite Professional$115 / seat/month2026-09-05www.zendesk.com/pricing/

Paid yearly. Suite Team lists at $55 per agent per month; Suite Enterprise is quoted by sales.

FreshdeskPro$55 / seat/month2026-09-05www.freshworks.com/freshdesk/pricing/

Billed annually. Growth lists at $19 and Enterprise at $89 per agent per month.

Should you still be paying for Zendesk Suite?

Two weeks, fixed price. We audit what you actually use, map it against Frontdesk, cost the replacement on your own AWS or Azure account, and give you a delivery plan. If the honest answer is to keep the licence, that is what the report will say.