Overview
Discover what makes Frappe Helpdesk powerful
Frappe Helpdesk is a fully open‑source ticketing system built on the **Frappe Framework**, a Python‑based full‑stack web application platform. It exposes a clean REST/JSON API and a Vue‑powered UI through **Frappe UI**, enabling developers to consume, extend, or replace the front‑end with minimal friction. From a technical standpoint, Helpdesk acts as an event‑driven microservice that manages ticket lifecycles, SLA calculations, auto‑assignment rules, and knowledge‑base interactions—all stored in a relational PostgreSQL database. The application is designed to be modular; core entities such as `Ticket`, `SLA`, and `Knowledge Article` are represented as DocTypes, which can be extended via hooks, client scripts, or custom modules.
Backend
Frontend
Database
Messaging
Overview
Frappe Helpdesk is a fully open‑source ticketing system built on the Frappe Framework, a Python‑based full‑stack web application platform. It exposes a clean REST/JSON API and a Vue‑powered UI through Frappe UI, enabling developers to consume, extend, or replace the front‑end with minimal friction. From a technical standpoint, Helpdesk acts as an event‑driven microservice that manages ticket lifecycles, SLA calculations, auto‑assignment rules, and knowledge‑base interactions—all stored in a relational PostgreSQL database. The application is designed to be modular; core entities such as Ticket, SLA, and Knowledge Article are represented as DocTypes, which can be extended via hooks, client scripts, or custom modules.
Architecture
- Backend: Python (Flask‑style request handling) running on the Frappe Framework, with a robust ORM that maps DocTypes to PostgreSQL tables. Business logic is split into server scripts and Python modules, allowing developers to write custom workflows without touching the core codebase.
- Frontend: Vue.js components provided by Frappe UI, rendered through the framework’s templating engine. The UI is highly customizable; developers can override components or add new ones via the
frappe-uilibrary. - Database: PostgreSQL, with support for full‑text search (used in knowledge‑base recommendations) and JSONB columns for dynamic fields.
- Messaging: Built‑in event bus (
frappe.publish_realtime) and Celery workers for background tasks such as SLA timers, email notifications, and webhook triggers. - Containerization: Docker images are available for all core components (web, worker, scheduler, redis). The
docker-compose.ymlprovided in the repo can spin up a local instance in minutes, making CI/CD pipelines straightforward.
Core Capabilities
- RESTful API: Endpoints for CRUD operations on tickets, agents, customers, SLAs, and knowledge articles. Pagination, filtering, and role‑based access control are baked in.
- Webhooks & Events: Developers can subscribe to events like
ticket_created,sla_breach, orarticle_publishedand trigger external services (e.g., Slack, PagerDuty). - Automation: Scriptable workflows using server scripts (
frappe.db.get_list,frappe.enqueue) and client scripts for UI interactions. Auto‑assignment rules evaluate ticket attributes against agent workload in real time. - Custom Fields & DocTypes: The meta‑model allows adding arbitrary fields to any DocType without code changes, stored in a generic
Custom Fieldtable. - Search & Recommendations: Elastic‑search or PostgreSQL full‑text search can be enabled to power knowledge‑base article suggestions based on ticket content.
Deployment & Infrastructure
Self‑hosting is straightforward: a single docker-compose up launches the entire stack, while Kubernetes manifests are available for production workloads. The architecture supports horizontal scaling of workers and web servers behind a load balancer, with Redis for task queuing. Persistent storage is handled via Docker volumes or external PostgreSQL clusters. The application can be deployed on any Linux distribution, and the Frappe Cloud platform offers a managed alternative that abstracts all operational concerns.
Integration & Extensibility
- Plugin System: Developers can create independent Frappe apps that hook into Helpdesk events, extend DocTypes, or add new modules. The
hooks.pyfile exposes a clean API for registering custom scripts and UI overrides. - API Clients: Official Python, JavaScript, and REST clients are documented in the helpdesk API guide, facilitating integration with external CRM or ERP systems.
- Webhooks: Out‑of‑the‑box support for HTTP callbacks on ticket state changes, enabling real‑time syncing with third‑party tools.
- Customization: The UI can be altered by editing Vue components, while the backend logic can be extended through Python scripts or custom DocTypes. No core code modifications are required for most use cases.
Developer Experience
The documentation is comprehensive, with a dedicated section on Developing an App that walks through creating custom DocTypes, writing server scripts, and deploying a new module. Community support is active on GitHub Discussions, Slack channels, and the Frappe Forum. The codebase follows PEP8 conventions for Python and ESLint rules for JavaScript, ensuring readability. Continuous integration tests cover 90%+ of the code, giving confidence that custom changes will not break future releases.
Use Cases
- In‑house Support Portal: A SaaS company can host Helpdesk behind its existing domain, providing a customer self‑service portal and an internal agent dashboard.
- Embedded Helpdesk: Integrate the knowledge base into a product’s help menu by consuming the API and rendering articles with Vue.
- Custom Workflow Automation: Use server scripts to auto‑assign tickets based on SLA thresholds, or trigger escalation emails when a ticket remains unresolved.
- Analytics & Reporting: Export ticket data to BI tools via the API, or use built‑in dashboards for KPI tracking.
Advantages
- Zero Licensing Cost: Fully open source with no per‑agent fees, making it ideal for startups and enterprises alike.
- Full Control & Flexibility: Since the source is exposed, developers can modify core logic or UI to fit unique business processes.
- Performance & Scalability: Leveraging PostgreSQL’s concurrency and Cel
Open SourceReady to get started?
Join the community and start self-hosting Frappe Helpdesk today
Related Apps in other
Immich
Self‑hosted photo and video manager
Syncthing
Peer‑to‑peer file sync, no central server
Strapi
Open-source headless CMS for modern developers
reveal.js
Create stunning web‑based presentations with HTML, CSS and JavaScript
Stirling-PDF
Local web PDF editor with split, merge, convert and more
MinIO
Fast, S3-compatible object storage for AI and analytics
Weekly Views
Repository Health
Information
Explore More Apps
Textpattern CMS
Elegant, fast PHP CMS for flexible content management
RERO ILS
Modern open‑source library management for heritage, public and school libraries
AmuseWiki
Library‑oriented wiki engine for authoring, archiving and publishing
Matomo
Open‑source web analytics with full data ownership
OpenSIPS
High‑performance, open‑source SIP server for telecom services
Varnish
High-performance HTTP reverse proxy and caching
