unsubbed.co

Frappe Helpdesk

Frappe Helpdesk is a self-hosted customer support & ticketing replacement for FreshDesk, Front, and more.

Open-source customer support software, honestly reviewed. No marketing fluff, just what you get when you self-host it.

TL;DR

  • What it is: Open-source (AGPL-3.0) customer support ticketing system built on the Frappe Framework — think Freshdesk or Zendesk, but the source code lives on your server and there’s no per-agent seat fee [1][README].
  • Who it’s for: Small-to-mid-size teams who are paying per-agent on Zendesk or Freshdesk and watching that bill compound as the team grows. Also teams already running ERPNext who want a support tool that integrates natively [1][README].
  • Cost savings: Freshdesk charges $15–$79/agent/month on paid plans. Zendesk starts at $19/agent/month and climbs fast. Frappe Helpdesk self-hosted has no per-agent pricing at all — you pay only for the VPS [1][README].
  • Key strength: No per-agent pricing on self-hosted, combined with native SLA tracking, auto-assignment rules, and a customer-facing knowledge base. Clean, modern UI built in Vue — not the typical rough edges you find in open-source support tools [website][README].
  • Key weakness: AGPL-3.0 license has stronger copyleft obligations than MIT. The Frappe Framework dependency (MariaDB, Redis, Python bench) makes the stack heavier than a simple Docker container. Third-party review coverage is thin — 3,040 GitHub stars is modest for a tool targeting this category, and independent comparisons are scarce.

What is Frappe Helpdesk

Frappe Helpdesk is a ticket management system that collects customer issues from email, a web portal, and forms, routes them to the right agents, tracks SLA compliance, and gives customers a self-service portal with a knowledge base. The project was built by the Frappe team — the same company behind ERPNext — because their own internal support system (the ERPNext support module) had UI and UX problems they couldn’t fix from the outside [README].

The result is a modern-looking, Vue-based interface running on the Frappe Framework. That framework dependency is the central architectural fact about this tool: everything — the database layer (MariaDB), the job queue (Redis), the Python application server, the ORM, the REST API, the migration system — comes from Frappe. If you’re already running an ERPNext or any other Frappe app, adding Helpdesk is a bench install-app command [3]. If you’re not, you’re adopting the full Frappe stack as part of the deal.

As of this review, the project has 3,040 GitHub stars and 21,700 installs on the Frappe Cloud marketplace [1][GitHub]. That install count is meaningful — Frappe Cloud is the managed hosting platform many Frappe users already operate on, and Helpdesk has clear traction there. The GitHub star count is modest by the standards of tools like n8n or Activepieces, which reflects a narrower target audience rather than lower quality.

The AGPL-3.0 license means source code is freely available and you can self-host for any purpose. The copyleft clause matters if you’re embedding or redistributing modified versions — AGPL requires you to publish your modifications if you distribute the software or run it as a network service. For a team using it internally to handle support tickets, this is irrelevant. For a SaaS company that wants to resell a white-labeled version, it matters [README].


Why people choose it

Available independent reviews are sparse — the tool doesn’t have Trustpilot coverage, G2 comparisons, or dedicated third-party writeups at the level of more established tools. What’s available is the Frappe Cloud marketplace listing [1], the official installation documentation [3], and the project README. That gap is itself a data point: Frappe Helpdesk is well-known within the Frappe/ERPNext community but hasn’t broken into general self-hosting discourse the way n8n or Nextcloud have.

Within the Frappe community, the reasons people choose it are consistent:

The per-agent pricing escape. Freshdesk at $15/agent × 10 agents = $150/month. Zendesk Suite at $55/agent × 10 agents = $550/month. Help Scout at $20/agent × 10 agents = $200/month. Frappe Helpdesk self-hosted: $0/agent, plus whatever VPS you’re already running. The website’s primary sales argument — “No Per-Agent Pricing” as reason #2, immediately after “Open Source & Fully Yours” — targets exactly this pain [website].

ERPNext integration. Teams running ERPNext for accounting, inventory, or HR can install Helpdesk on the same Frappe bench. Customer records, contact history, and order data are already in MariaDB — no API glue required. This is a genuine moat that pure-play alternatives can’t match [3][README].

Modern UI by Frappe standards. The Frappe ecosystem has historically had dense, functional-but-dated interfaces (anyone who’s used ERPNext knows the feeling). Frappe Helpdesk is explicitly built with Frappe UI (their Vue component library) and screenshots show a genuinely clean, modern interface — agent list view, knowledge base, and ticket detail all look like something designed in 2023, not 2013 [README].

Frictionless setup on Frappe Cloud. With 21,700 marketplace installs [1], many users are running it as a one-click deployment on Frappe’s managed hosting, which removes the self-hosting burden entirely. If you’re already on Frappe Cloud for ERPNext, Helpdesk adds in minutes.


Features

Based on the README, official documentation, and website:

Ticket management:

  • Email-to-ticket: incoming emails create tickets automatically [website][README]
  • Web portal for customers to submit and track their own tickets [README]
  • Agent list view with filters, saved views, and full ticket history [README]
  • Saved replies — pre-written responses for common questions [README]
  • Internal notes visible only to agents [README]

Routing and SLAs:

  • Customizable SLA policies: set response and resolution targets by ticket type, team, or priority [website][README]
  • Automated escalation alerts when SLAs are at risk [website]
  • Assignment rules: auto-route tickets to the right team, balance workload, or assign based on priority or issue type [website][README]

Customer self-service:

  • Knowledge base with article creation and management [website][README]
  • Advanced article search — the README specifically calls out that customers are shown relevant articles as they type their issue, before the ticket is submitted [README]
  • Customer portal: raise tickets, view status, find answers without contacting an agent [website]

Customization:

  • Custom fields on tickets via the Frappe Framework’s doctypes system — no code required [website]
  • Custom workflows and automation scripts, leveraging the full Frappe scripting environment [website]
  • Configurable views and filters saved per agent [website]

Reporting and mobile:

  • Dashboards showing ticket volume, agent performance, SLA compliance [website]
  • PWA (Progressive Web App) — usable on mobile without an app store download [website]

Infrastructure:

  • Docker and Docker Compose deployment supported [README]
  • REST API via Frappe Framework (every doctype is automatically REST-accessible) [profile]
  • ERPNext integration native when running on the same bench [3]

What’s not here (compared to commercial tools): no native live chat widget, no AI-powered reply suggestions, no native integration with Slack or Teams for ticket notifications (you’d wire these via Frappe’s webhook/notification system), no video or screen recording for tickets.


Pricing: SaaS vs self-hosted math

Frappe Cloud (their managed hosting):

Exact pricing tiers aren’t broken out per-app on the marketplace listing — you pay for Frappe Cloud infrastructure and Helpdesk is an app that runs on top of it [1]. Frappe Cloud pricing is based on server size rather than per-seat, which means the no-per-agent model holds on the managed hosting side as well.

Self-hosted:

  • Software license: $0 (AGPL-3.0) [README]
  • Server to run it: a VPS with at least 4GB RAM (the Frappe stack is not lightweight — MariaDB + Redis + Python workers + the app itself)
  • Your time for setup and ongoing maintenance

Competitors for comparison:

ToolFree tierPaid starts atModel
FreshdeskYes (10 agents)$15/agent/month (Growth)Per-agent
Zendesk SuiteNo$19/agent/monthPer-agent
Help ScoutNo$20/agent/monthPer-agent
CrispYes (2 agents)$25/workspace/monthPer-workspace
Frappe HelpdeskSelf-hosted: unlimitedFrappe Cloud: infra-basedNo per-agent

Concrete savings math for a 10-agent support team:

On Freshdesk Growth: 10 × $15 = $150/month ($1,800/year). On Zendesk Suite Team: 10 × $55 = $550/month ($6,600/year). Self-hosted Frappe Helpdesk on a $20/month VPS (4GB RAM Hetzner or Contabo): $240/year, regardless of agent count. That’s $1,500–$6,300 saved annually — just on license costs, before the setup investment.

The catch: per-agent pricing tools scale with you automatically. Self-hosted scales only after you invest time (or money, hiring someone) in the setup and maintenance.


Deployment reality check

The official install path is either Frappe Cloud (one-click) or a Python-based easy-install script that wraps Docker [3]. The script command looks deceptively simple:

python3 ./easy-install.py deploy \
    --project=helpdesk_prod_setup \
    --email=your_email@example.com \
    --image=ghcr.io/frappe/helpdesk \
    --version=stable \
    --app=helpdesk \
    --sitename subdomain.domain.tld

The docs say this takes about five minutes [3]. That’s plausible for the script to complete, but the actual production readiness checklist is longer:

What you actually need:

  • A Linux VPS with at least 4GB RAM — the Frappe stack is heavier than a single-service Docker app (MariaDB, Redis, multiple Python worker processes, Nginx)
  • A domain name pointed at your server before you run the install (the script handles SSL via Let’s Encrypt but needs the DNS to resolve)
  • SMTP credentials for email-to-ticket functionality (without this, a major use case is dead)
  • Basic familiarity with Linux for troubleshooting when something goes sideways

What makes this harder than it looks:

Frappe Helpdesk is not a standalone service. It’s a Frappe Framework application. The framework is a full-stack Python web framework with its own database schema management (doctypes), job queue system, and site management CLI (bench). If you’re comfortable with Django or Rails, you’ll recognize the patterns. If you’ve only deployed Node.js apps with Docker Compose, this is a steeper learning curve.

The easy-install script abstracts most of this. But when you need to update, troubleshoot, or customize, you’re working in the Frappe paradigm — and the learning resources, while good within the Frappe community, are sparse compared to mainstream tools [3].

Existing ERPNext users: Easiest path in the category. One bench get-app helpdesk command, one install, done [3]. No new stack, no new server, no new credentials to manage.

Non-technical founders going in cold: Budget a full day minimum. The install may work in five minutes; getting email routing, SMTP, domain, SSL, and an initial agent walkthrough working correctly is a four-to-eight-hour project if you’re learning as you go. Frappe Cloud removes all of this friction and is worth the cost for the first month to validate the tool before committing to self-hosting.


Pros and cons

Pros

  • No per-agent pricing on self-hosted. Add 50 agents and the infrastructure cost doesn’t change. This is the single strongest argument for any growing team that’s watching per-seat bills compound [website][README].
  • Native ERPNext integration. If you’re already in the Frappe ecosystem, this is the only helpdesk that lives in your existing database, uses your existing contacts and customers, and shares your existing authentication [3][README].
  • Modern UI for a Frappe app. Frappe UI (Vue-based) gives Helpdesk a noticeably cleaner interface than older Frappe products. Screenshots show a genuinely usable agent and customer portal [README].
  • SLA tracking built in. Response and resolution SLAs with automated escalation are core features, not add-ons. On Freshdesk, SLA management is gated behind the Growth tier ($15/agent). Here it’s included [website][README].
  • Knowledge base with smart search. Article recommendations shown to customers before they submit a ticket is a genuine ticket deflection feature, not just a static FAQ page [README].
  • 21,700 Frappe Cloud installs. Not a dead project — real traction within the Frappe ecosystem [1].
  • Easy install for the target audience. The Frappe Cloud one-click path is genuinely fast and maintenance-free [1][3].

Cons

  • AGPL-3.0, not MIT. The license requires publishing modifications if you distribute or offer the software as a service. Fine for internal use; constraining if you’re building a product on top of it [README].
  • Frappe Framework dependency is heavy. You’re not deploying a Go binary or a single Docker service. You’re adopting MariaDB, Redis, Python bench, and the full Frappe paradigm. Troubleshooting requires learning this stack [3][README].
  • Thin third-party review coverage. No independent comparisons on Trustpilot, G2, or major review sites. The decision to use Frappe Helpdesk is based heavily on first-party information and community reputation [1].
  • 3,040 GitHub stars is modest. Freshdesk’s open-source alternative Zammad has 4,700+. Freescout has 2,100 with a simpler stack. osTicket (older but battle-tested) has 3,300. Frappe Helpdesk is not the dominant choice in open-source support ticketing [GitHub].
  • No native chat widget. If you want a live chat bubble on your website that converts to tickets, you’ll need to integrate a separate tool [website][README].
  • No AI reply suggestions out of the box. Zendesk and Freshdesk are shipping AI-generated reply drafts as standard features. Frappe Helpdesk doesn’t have this [README].
  • Updating requires Frappe knowledge. bench update is the path, but version management across apps on the same bench can create dependency conflicts that require experience to resolve [3].

Who should use this / who shouldn’t

Use Frappe Helpdesk if:

  • You’re already running ERPNext or any other Frappe app — this is the clear choice, native integration included.
  • You have 5+ agents and are on a per-seat ticketing plan spending $100+/month. The self-hosted savings math is immediate and compelling.
  • You want SLA tracking and auto-assignment without paying for a higher pricing tier.
  • You’re comfortable with Frappe Cloud managed hosting and want zero maintenance overhead.
  • Your support volume is email-heavy — email-to-ticket is polished and central to the product.

Skip it (try Zammad or Freescout) if:

  • You want a simpler self-hosted stack without the full Frappe Framework dependency. Freescout runs on standard PHP/MySQL — more familiar for most developers.
  • You need strong community review data before committing. Zammad has documented G2 reviews and independent comparisons.

Skip it (try osTicket) if:

  • You’re on a very constrained server (1GB RAM). osTicket runs lighter.
  • You need the absolute largest self-hosted support community for troubleshooting help.

Skip it (stay on Freshdesk free) if:

  • You have fewer than 10 agents and the Freshdesk free tier covers you.
  • You’re not comfortable with Linux and don’t want to pay for Frappe Cloud.

Skip it (use Zendesk or Freshdesk) if:

  • Your compliance team requires vendor SLAs, SOC 2 attestation, and enterprise-grade support contracts.
  • You need AI reply drafts, omnichannel (WhatsApp, SMS), and a marketplace with hundreds of integrations.
  • You’re at a company where per-agent pricing is covered by budget and time savings from polish matter more than license costs.

Alternatives worth considering

  • Zammad — Open-source, runs on standard Rails stack, has G2 reviews and Trustpilot presence. Better documented third-party comparisons. AGPL-3.0 license (same as Frappe Helpdesk). Good pick if you want the open-source approach without the Frappe Framework dependency.
  • Freescout — MIT-licensed, PHP/MySQL, extremely lightweight. Lacks SLA rules and auto-assignment in core (available via paid modules). Best if simplicity and low resource usage matter most.
  • osTicket — The long-standing open-source choice. Dated UI, but battle-tested and runs on minimal hardware. Huge community of people who’ve debugged its edge cases.
  • Freshdesk — The incumbent SaaS. Free for up to 10 agents, clean onboarding, huge integration catalog. The tool you leave when the per-agent billing outgrows your budget.
  • Zendesk — Fullest feature set in the commercial space. Expensive. Recommended only when you’re at scale and need enterprise compliance and vendor contracts.
  • Linear (for internal teams) — If your “support tickets” are actually internal engineering requests, Linear is the better tool and worth separating from customer-facing support.

For a non-technical founder escaping per-seat SaaS bills, the realistic self-hosted shortlist is Frappe Helpdesk vs Zammad vs Freescout. Frappe Helpdesk wins if you’re in the Frappe ecosystem or need SLA tracking out of the box. Zammad wins if you want more third-party validation and a standard Rails stack. Freescout wins if you want the simplest possible setup.


Bottom line

Frappe Helpdesk makes a specific, honest case: no per-agent pricing, built on a real framework, clean modern UI, native SLA tracking. For teams paying $150–$600/month on Freshdesk or Zendesk because they’ve added agents, the self-hosted math is straightforward. The trade-off you’re making is the Frappe Framework dependency — a heavier stack than you’d get from a single-binary alternative, one that requires either Frappe Cloud managed hosting or genuine comfort with Linux server maintenance.

For ERPNext users, this is barely a decision — native integration with your existing customer and contact data makes it the obvious first choice. For everyone else, the deciding question is whether you want to learn the Frappe paradigm (or pay someone who already knows it) in exchange for eliminating per-agent licensing costs permanently. If yes, Frappe Helpdesk delivers. If the stack feels like too much overhead for a support tool, Zammad or Freescout are worth the detour.

If the deployment is the blocker, that’s exactly what unsubbed.co’s parent studio upready.dev handles for clients — one-time setup, you own the infrastructure.


Sources

  1. Frappe Cloud Marketplace — Helpdesk listing (21.7k installs). https://cloud.frappe.io/marketplace/apps/helpdesk
  2. Frappe Helpdesk — Official Installation Guide — docs.frappe.io. https://docs.frappe.io/helpdesk/installation
  3. Frappe Helpdesk GitHub README — “Modern, Streamlined, Free and Open Source Customer Service Software”. https://github.com/frappe/helpdesk
  4. Frappe Helpdesk official website — product page and feature list. https://frappe.io/helpdesk

Features

Integrations & APIs

  • REST API