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.
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.
-
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
-
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.
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.
Follow these steps to set up Frappe Helpdesk in production:
Step 1: Download the easy install script
wget https://frappe.io/easy-install.pyStep 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.tldReplace 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.
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
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. This also builds the customer portal. - Now open the URL
http://helpdesk.test:8000/helpdeskin your browser, you should see the app running. Customers use the portal athttp://helpdesk.test:8000/help.
Note: The develop branch needs frappe develop, which ships Studio, the app that runs the customer portal. Article search needs Redis with the RediSearch module, for example Redis Stack, in your bench's redis_cache.
For Frontend Development
The agent portal:
- 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
The customer portal, a Studio app:
- Enable developer mode, allow the dev server's requests, and install dev dependencies:
bench set-config -g developer_mode 1 bench --site helpdesk.test set-config ignore_csrf 1 bench setup requirements --dev - Run
yarn installinfrappe-bench/apps/helpdesk. This links@helpdesk/shared, the code that the desk and the portal share. - Start Studio's dev server in
frappe-bench/apps/frappe/studio/frontendwithyarn installandyarn dev --host. In developer mode,bench watchstarts it for you. - In another terminal, run
bench --site helpdesk.test watch-studioand keep it running. It imports the page JSON that you change. - Open
http://helpdesk.test:8080/dev/help. If the desk's dev server already holds 8080, use the port that Studio's dev server prints./helpserves the last build, so it shows your changes only afterbench build --app helpdesk. - To edit the portal in the Studio editor, open
http://helpdesk.test:8080/studioon the same dev server as Administrator and select the Helpdesk app. In developer mode, a save writes the page JSON tofrappe-bench/apps/helpdesk/studio.
Note: Helpdesk’s frontend code is in frappe-bench/apps/helpdesk/desk, the portal's in frappe-bench/apps/helpdesk/studio, and the code they share in frappe-bench/apps/helpdesk/shared. See studio/README.md for how the portal is laid out.
| Helpdesk Branch | Compatible Frappe Framework Version |
|---|---|
| main | version-15 |
| main | version-16 |
| develop | develop branch |





