# DataFirefly Helpdesk & Ticketing — Complete Guide

> Overview The DataFirefly Helpdesk & Ticketing module (dfhelpdesk) adds a real built-in customer support system to your store: every request becomes a ticket with a unique reference, a status, a…

- Page: <https://www.datafirefly.com/en/documentation/dfhelpdesk/>
- Language: en
- Last updated: 2026-06-27
- Other languages: [fr](https://www.datafirefly.com/documentation/dfhelpdesk/index.md), [es](https://www.datafirefly.com/es/documentation/dfhelpdesk/index.md), [de](https://www.datafirefly.com/de/documentation/dfhelpdesk/index.md), [it](https://www.datafirefly.com/it/documentation/dfhelpdesk/index.md), [pl](https://www.datafirefly.com/pl/documentation/dfhelpdesk/index.md), [nl](https://www.datafirefly.com/nl/documentation/dfhelpdesk/index.md), [pt](https://www.datafirefly.com/pt/documentation/dfhelpdesk/index.md)
- Index: <https://www.datafirefly.com/en/documentation/llms.txt>

## Overview

The **DataFirefly Helpdesk & Ticketing** module (`dfhelpdesk`) adds a real built-in customer support system to your store: every request becomes a **ticket** with a unique reference, a status, a priority, a category and a full history. Agents handle tickets from a back-office **queue**, reply to the customer or take internal notes, and drive progress without leaving PrestaShop.

The module is self-contained: no Composer dependency, and an architecture based on `ModuleAdminController` that guarantees compatibility from PrestaShop 8.0 to 9.x.

Tickets can be automatically attached to an order: your agents get the context (number, amount) right inside the ticket and on the order page.

## Compatibility

- PrestaShop 8.0 to 9.x
- Single-store and multistore
- Multilingual ticket categories
- E-mails provided in French and English
- No dependency (neither Composer nor an external framework)

## Installation

1. In the back-office, open **Modules > Module Manager**.
2. Click **Upload a module** and select the `dfhelpdesk.zip` file.
3. Once installed, click **Configure**.

On installation, the module creates its tables (categories, tickets, messages, attachments), adds its admin tabs under **Customer Service**, registers its hooks and installs four default ticket categories.

## Configuration

The configuration page gathers the module's general settings:

- **Front helpdesk enabled**: shows or hides the customer-side ticket area (customer account and button on the order detail page).
- **Allow guests**: lets a customer open a ticket without an account. When disabled, opening requires login.
- **Notification e-mail**: the address that receives the alert on every new ticket. Left empty, the shop address is used.
- **Default category**: category pre-selected when creating a ticket.
- **Close on reply**: status behavior applied when a reply is sent.

### Ticket categories

The **Categories** tab lets you create and organize categories (for example After-sales, Delivery, Billing, Pre-sales). Each category has a **multilingual name**, a **color**, an active state and a display position. Categories are used to classify tickets in the queue and to route requests.

## Customer side

### "My tickets" area

When the front helpdesk is enabled, a **"My tickets"** link appears in the customer account. The customer finds the list of their tickets there with reference, subject, status and last update, and can open each conversation.

### Open a ticket from an order

On an order detail page, an **"Open a ticket"** button lets the customer create a request directly linked to that order. The attachment is automatic: the ticket keeps the order number as context.

### Guest opening

If the option is enabled, a logged-out visitor can open a ticket by providing their name and e-mail. Subsequent access to the thread remains protected.

### Tracking and replying

From a ticket's thread, the customer reads the team's replies and answers in a few clicks. A customer reply reopens the ticket so it rises back up the queue.

Internal notes are never visible on the customer side: only the replies meant for them appear in their thread.

## Back-office side

### Queue

The **Tickets** tab displays the queue: a filterable, sortable list showing the reference, subject, customer, category, **priority** (colored badge), **status** (colored badge), assigned agent and last update date. You instantly spot urgent and pending requests.

### Ticket view

Opening a ticket shows the full **conversation thread**, any order context, and a side management panel. Everything is handled from this single screen.

### Reply to the customer

The reply area sends a message to the customer and triggers, depending on the configuration, the e-mail notification and the status update.

### Private internal note

The **internal note** lets your team record information or discuss a ticket without the customer seeing it. It is clearly distinguished in the thread and remains strictly internal.

### Ticket management

The management panel lets you change the **status**, **priority**, **category** and **assignment** to an employee in one click. Each change is immediately reflected in the queue.

### Tickets linked to an order

On the order page in the back-office, a dedicated panel lists all tickets associated with that order. Your agents thus reach an order's support history without switching screens.

## Statuses and priorities

### Statuses

- **Open**: new ticket awaiting handling.
- **In progress**: handled by an agent.
- **Waiting for customer**: the ball is in the customer's court.
- **Answered**: a reply has been provided.
- **Closed**: request closed.

### Priorities

- **Low**, **Normal**, **High**, **Urgent** — each tied to a colored badge in the queue.

## E-mail notifications

The module sends two types of notifications, with templates provided in **French** and **English** (HTML and text versions):

- **New ticket**: sent to the team on every opening, with a direct link to the ticket in the back-office.
- **Reply to customer**: sent to the customer on every team reply, with a link to the conversation on the store side.

The templates use the reference, subject, customer name and message variables. They are customizable like any PrestaShop module e-mail.

## Technical architecture

- **Tables**: categories (and their multilingual version), tickets, messages and attachments, all prefixed and dropped on uninstall.
- **Hooks**: customer account, order detail, front asset loading, back-office header and panels on the order page.
- **Architecture**: admin controllers based on `ModuleAdminController` and object models loaded directly, for full PrestaShop 8 and 9 compatibility.
- **Dependencies**: none (no Composer).

## FAQ and troubleshooting

### Is the module compatible with PrestaShop 9?

Yes, from PrestaShop 8.0 to 9.x, single-store and multistore, with no deprecated method.

### Can guest customers open a ticket?

Yes, provided you enable the **Allow guests** option in the configuration. Otherwise, opening requires login.

### Does the customer see the internal notes?

No. Internal notes are strictly reserved for the team and never appear in the customer-side thread.

### The team does not receive new-ticket e-mails

Check the address entered in **Notification e-mail** (or the shop address if the field is empty), then PrestaShop's e-mail configuration (Advanced Parameters > E-mail) and the send logs.

### How do I link a ticket to an order?

On the customer side, open the ticket from the order detail page: the attachment is automatic. Linked tickets then appear on the order page in the back-office.
