Skip to content
Opensource helpdesk and ticketing system by Taskulu
PHP HTML JavaScript CSS Ruby Shell
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
includes Updated Drupal core May 12, 2016
misc Update core and modules Nov 8, 2015
modules Patch core Jun 15, 2016
profiles Updated Drupal core May 12, 2016
screenshots Add screenshots Jun 15, 2016
scripts Update core and modules Nov 8, 2015
sites Add settings.php template. Jun 15, 2016
themes Updated Drupal core May 12, 2016
.gitignore Add settings.php template. Jun 15, 2016
.htaccess Drupal update Feb 5, 2016
LICENSE.txt Add LICENSE.txt Jun 15, 2016 Update Jun 15, 2016
authorize.php Initial commit May 6, 2015
cron.php Initial commit May 6, 2015
deskulu.sql.gz Add database dump. Jun 15, 2016
index.php Initial commit May 6, 2015
robots.txt Initial commit May 6, 2015
update.php Initial commit May 6, 2015
web.config Drupal update Feb 5, 2016
xmlrpc.php Initial commit May 6, 2015

#Intro Deskulu is an opensource helpdesk and ticketing system based on Drupal 7, developed as a weekend project by Taskulu - a task management tool for enterprise. We've been using Deskulu as our own helpdesk since the initial development and have been fixing bugs and making improvements. It's quite production ready at this point.

Knowledge baseKnowledge base

Agent DashboardAgent dashboard


##Features Deskulu is based on Drupal and inherits all its flexibility and plethora of modules that allow you to add more functionality. Here's what Deskulu offers by default:

  • All existing features offered by Drupal (Role-based user management, customizable fields on all entities, etc), Views (easily visualize information in any format you want) and Rules (automate workflows without any coding).
  • Knowledge base
  • Discussions (public product forums)
  • Ticketing system
    • Ticket submission by both anonymous and logged in users.
    • Email integration for replying to tickets (for both users and support agents).
    • Assign tickets to support agents.
    • Configurable ticket status (open/closed/etc).
    • Configurable ticket categories (feature request/bug report/technical support/etc)
    • Configurable ticket priorities (urgent/high/low/etc).
    • Ticket tagging.
  • Multi-lingual support
    • Farsi and English are available by default.
    • Default theme supports RTL layout.
  • RESTful API for integration with your own product using the Services module.


Before you continue please make sure that you have all the necessary requirements. You also need a Mandrill account for the email integration to work. For the rest of this guide I'll be assuming that deskulu will be accessible from

Configure Mandrill for sending/receiving emails

  1. Open your Mandrill account and go to
  2. Add a new sending domain for Deskulu (for example
  3. Visit and add domain.
  4. On the same page click on in the table.
  5. Click on the "+Add New Route" button.
  1. Add another route by clicking on the "+Add New Route" button again.
  1. Visit and generate a new API key for the helpdesk. You'll need this API key later.
  2. Open your own mail administration tool and create an Alias to forward all emails sent to to

Install and configure Deskulu

  1. Clone the repository (or download the zip file and extrac it) in your webserver's documentroot.
    • Apply all patches available in /sites/all/patches
  2. Create a new database and import deskulu.sql.gz
  3. Adjust your PHP configuration to make sure it meets Drupal requirements.
  4. Configure your web server
  1. Open sites/default/settings.php, replace DB_NAME, USERNAME and PASSWORD with your database name, username and password.
  2. Open the website in your browser and login
  • Username: admin
  • Password: admin
  1. Visit and change your password.
  2. Visit (Configuration > System > Site Information in the top menu) and change Site name and Email address.
  3. Visit (Appearance > Settings > Helpdesk theme), scroll down "Override Global Settings" select "Logo image settings" and upload a new logo.
  4. Visit (Configuration > System > Regional and language > Languages)
  • If you don't need the Persian language, delete it, otherwise Enable it.
  • If you need any other languages, see the Localization section below.
  • If you don't need the multiple languages at all, visit (Modules in the top menu) and disable all modules related to "Multilingual", "Multilingual - Entity Translation" and "Multilingual - Internationalization". Also disable "Calendar Systems" and "Locale" modules (Please note that you need to disable modules that depend on these modules first).
  1. Open
  • Find SENDER E-MAIL ADDRESS and change its value to ticket-[node:nid]-[node:field-security-token]
  1. Open
  • Find SENDER E-MAIL ADDRESS and change its value to ticket-[node:nid]-[node:field-security-token]
  1. Open
  • Find SENDER E-MAIL ADDRESS and change its value to ticket-[comment:node:nid]-[comment:node:field-security-token]
  1. Open
  • Find REPLY E-MAIL ADDRESS and change its value to ticket-[node:nid]-[node:field_security_token]
  1. Open and set the Mandrill API Key.

Note: You can see all automation Rules and add/remove/edit them here: (Configuration > Workflow > Rules).

###Localization You can enable as many languages as you need. To do that you first need to add thos languages from (Configuration > Regional and language > Languages). Most of languages have translations available in You can download translations from this site and import them in (Configuration > Regional and language > Translate interface > Import). If there are strings that are not translated after importing, you can use the form at (Configuration > Regional and language > Translate interface > Translate) to translate them yourself.

###Adding agents If you want to add agents use the form at (People > Add user) and give them the "agent" role. If you want to change what agents can and cannot do, checkout this page: (People > Permissions).

###Changing heldesk article and ticket categories, priorities and statuses and discussion forums. If you need to change categories, priorities or statuses, visit (Structure > Taxonomy). Click on List terms in from of each Vocabulary to see/edit the list of available options.

###Changing Menues You probably want to change the menus. You can do that from here: (Structre > Menu).

###Changing fields on helpdesk articles, tickets and discussion forums If you need to add/remove fields to helpdesk articles or tickets visit this page: (Structure > Content types).

###Using the RESTful API Please see the documentation of Services module.


  • Add a more minimal theme.
  • Create a Drupal distribution that automates installation and initial configuration.
  • Add support for SendGrid and other transactional mail systems.
  • Add configuration forms and introduce tokens to make it possible to change Rules configs from a single form.

##License GPLv2. See LICENSE.txt.

You can’t perform that action at this time.