The desk SPA's titles, marks and install icons come from this repo's own source, so they change here: the shell title and apple title, the PWA manifest name, the sidebar and welcome-ticket copy, the fallback logo component, the SPA favicon and the 180/192/512 install icons. The login page, navbar, footer and favicon are rendered by the Frappe core, which reads those marks from Website Settings / Navbar Settings / System Settings at run time. helpdesk/brand.py writes them and the entrypoint runs it per site on every boot, next to the SSO setup. Each field is set to a constant and guarded on the field existing, so a boot against a site that already exists restores the same values instead of failing. The marks are served from this app's own public directory (helpdesk/public -> /assets/helpdesk), so no page reaches a third-party host for a logo.
Frappe Helpdesk
Frappe Helpdesk is an 100% open-source Ticket Management tool which helps you streamline your company's support, offers an easy setup, clean user interface, and automation tools to resolve customer queries efficiently.
Motivation
Managing issues from our customers was a big challenge for us. We were using the ERPNext support module which was not very good in UI and the UX was also not good. We wanted to have a tool that can be easily integrated with our existing system and can be customized as per our needs. So we decided to build Frappe Helpdesk.
Key Features
-
Agent and Customer Portal Views: Dual portals for agents and customers to simplify issue submission and management.
-
Customizable SLAs: Discover how you can set and track SLAs for better response times.
-
Assignment Rules: Custom auto-assignment of tickets based on priority, issue type, or workload.
-
Knowledge Base: Learn how to create and manage help articles to empower users and reduce tickets.
-
Saved Replies: Pre-written replies for common queries to ensure quick and consistent communication.
View Screenshots
Under the Hood
-
Frappe Framework: A full-stack web application framework written in Python and Javascript.
-
Frappe UI: A Vue-based UI library, to provide a modern user interface.
Production Setup
Managed Hosting
You can try Frappe Cloud, a simple, user-friendly and sophisticated open-source platform to host Frappe applications with peace of mind.
It takes care of installation, setup, upgrades, monitoring, maintenance and support of your Frappe deployments. It is a fully featured developer platform with an ability to manage and control multiple Frappe deployments.
Self Hosting
Follow these steps to set up Frappe Helpdesk in production:
Step 1: Download the easy install script
wget https://frappe.io/easy-install.py
Step 2: Run the deployment command
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
Replace the following parameters with your values:
your_email.example.com: Your email addresssubdomain.domain.tld: Your domain name where Helpdesk will be hosted
The script will set up a production-ready instance of Frappe Helpdesk with all the necessary configurations in about 5 minutes.
Development Setup
Docker
You need Docker, docker-compose and git setup on your machine. Refer Docker documentation. After that, follow below steps:
Step 1: Setup folder and download the required files
mkdir frappe-helpdesk
cd frappe-helpdesk
# Download the docker-compose file
wget -O docker-compose.yml https://raw.githubusercontent.com/frappe/helpdesk/develop/docker/docker-compose.yml
# Download the setup script
wget -O init.sh https://raw.githubusercontent.com/frappe/helpdesk/develop/docker/init.sh
Step 2: Run the container and daemonize it
docker compose up -d
Step 3: The site http://helpdesk.localhost:8000/helpdesk should now be available. The default credentials are:
- Username: Administrator
- Password: admin
Local
To setup the repository locally follow the steps mentioned below:
- Install bench and setup a
frappe-benchdirectory by following the Installation Steps - Start the server by running
bench start - In a separate terminal window, create a new site by running
bench new-site helpdesk.test - Map your site to localhost with the command
bench --site helpdesk.test add-to-hosts - Get the Telephony app. Run
bench get-app https://github.com/frappe/telephony - Get the Helpdesk app. Run
bench get-app https://github.com/frappe/helpdesk - Run
bench --site helpdesk.test install-app helpdesk. - Run
bench build --app helpdesk - Now open the URL
http://helpdesk.test:8000/helpdeskin your browser, you should see the app running
For Frontend Development
- Open a new terminal session and cd into
frappe-bench/apps/helpdesk/desk, and run the following commands:yarn install yarn dev or yarn dev --host helpdesk.test - Now, you can access the site on vite dev server at
http://helpdesk.test:8080
Note: You'll find all the code related to Helpdesk's frontend inside frappe-bench/apps/helpdesk/desk
Compatibility matrix
| Helpdesk Branch | Compatible Frappe Framework Version |
|---|---|
| main | version-15 |
| main | version-16 |
| develop | develop branch |



