Tickets plugin

The Fleio tickets plugin adds a ticketing system, support departments and configurable signatures for staff users. Tickets can be created from the Fleio interface or automatically generated when a department receives a message on its related email. Staff can configure email notifications for ticket actions (open/close/reply) based on the associated department.

This documentation includes:


Enduser: create ticket

Enduser can add a new ticket by clicking the Add ticket button from the bottom right side of the tickets page.


After clicking the button the following form will need to be submitted to create the ticket.


As you can see, the enduser needs to fill in some basic details. He also needs to select a department (departments can be created in staff panel), can add CC recipients (they may receive email notifications about the ticket), can associate a service with the ticket or may add attachment files.

Enduser: replying and managing the ticket

A typical conversation from the enduser perspective may look like this:


As you can see, everyone can add replies, the enduser may close the ticket by pressing the close ticket button. Messages with attachments will have it added at the bottom of the box and clicking it will trigger a dropdown where users can choose to either open the attachment in a new tab or download it.

Staff: tickets list page


The page where tickets are listed in the staff panel automatically filters the tickets that: do not have the internal status set to done, are assigned to the logged in user and those that have no assignee.

You can change the ordering/filtering of the tickets using the action buttons from the above image.

Available filters to user are:

  • Assigned to: Filter tickets by their assigned user
  • Created at: Filter tickets by their creation date
  • Internal status: Filter tickets by internal status
  • Status: Filter tickets by their status
  • Priority: Filter tickets by their priority (high/medium/low)
  • Client: Filter tickets by their associated client
  • Department: Filter tickets by their associated department

You can also order the items by: assigned to, created at, created by, internal stats/status, title, department or priority and can also display the tickets as cards or as a list (table).

Staff: create ticket

Same as for the Enduser: create ticket, though the staff can also set the internal status and priority.

Staff: replying and managing the ticket

Same as for the Enduser: replying and managing the ticket, though the staff can also:

  • Add notes: a new tab just like the activity tab is available, just for adding notes
  • Link tickets: staff can link tickets between them (add links using the button from the quick actions dropdown on top-right side of a ticket)
  • Edit/delete comments and attachments: staff users can manage all comments and attachments for tickets. A small note will be added at the bottom of the message for staff users to see when was the last edit done and by whom

Ticket updates

When a certain action is taken on the ticket, updates appear between messages.


They appear on ticket status updates, when changing assignee, associated client, changing description, etc.. (though some of the updates are not available for endusers).

Ticket attachments

You may want to change a few settings regarded to attachments. You can edit/set these variables in the file:

  • ATTACHMENTS_DIR: directory where attachments will be saved
  • MAX_TICKET_ATTACHMENT_SIZE: the maximum file size (in bytes) allowed to be uploaded for ticket attachments
  • FREE_DISK_SPACE_LIMIT: ticket attachments upload won’t be allowed if the free space left on device (in bytes) will be smaller than this setting after upload

Default values for these are:

ATTACHMENTS_DIR = '/var/fleio/attachments'
FREE_DISK_SPACE_LIMIT = 52428800  # 50MB

Ticket generation from emails

After you set up the departments in fleio and configure the mail server so that incoming emails will be sent through the script, tickets will be automatically generated in fleio when one of those mail servers will receive a message. The ticket will associate the department, the user that creates the ticket (if a user with the sender email address exists in fleio) and its related client with the ticket. Ticket replies are also added when someone sends an email having the ticket ID in the subject field of the email (though the sender needs to be related somehow to the existing ticket, or be a staff user in fleio).

User signatures

Staff users can manage signatures based on department. Those can be added/edited going to the My profile page and clicking on Edit signatures button. The user is requested to add a global signature first then he can add custom signatures for each department. After saving signatures, the textarea from ticket details page that is used for replying to tickets will always be prepopulated with either the global signature if the ticket has a department for which the user did not configure a custom signature or the signature associated with that certain department.


Ticket notifications

You can enable/disable notifications when editing the department (more on that below). You can also edit these notification templates in the staff notification templates page.

Configure ticket id

You can configure ticket id based on each department. When editing a department (more on that below) you can edit the ticket id format. Each ticket that is created and related to that specific department will have an id generated using that format. The format supports the following keys:

  • %Y (will display the year, eg. 2019)
  • %y (will display last 2 digits from year, eg. 19)
  • %M (will display month, eg. 06)
  • %D (will display day, eg. 05),
  • %h (will display hour, eg. 12)
  • %m (will display minute)
  • %L (will transform into a random uppercase letter)
  • %l (will transform into a random lowercase letter)
  • %n (will transform into a random number between 0 and 9).

Besides these, you can use regular characters, prefixes, etc. Some ticket id formats may look like these: ‘T-%n%n%n%n%n%n’, ‘BILLING-%Y-%M-%l%l%l%l%l%l’. You are required to use at least 6 key values that will generate random letters/numbers. However you can change this requirement by editing the TICKET_ID_MIN_RANDOM_CHARS setting in your advanced settings file, however we recommend using at least 6. If the ID cannot be generated using the format defined on the department (very unlikely if you follow the standard minimum of random keys) it will use the fallback TICKET_ID_DEFAULT_FORMAT setting that you can change in the same advanced settings file. This default format is composed of 6 random numbers.


Departments list page

The departments page lists your application tickets departments. Departments can be filtered, ordered or you can switch their display (cardview/listview) using the action controls in the top right side of the screen.


Hovering over a card will show the edit and delete action buttons related to that specific department.

Departments create/edit and manage notifications

You can add a new department clicking the (+) button from the bottom right side of the screen:


A form like in the following image will be shown.


As you can see, basic info about the department needs to be set (name and email). Make sure the email you’ll set is configured to receive emails through the /var/webapps/fleio/scripts/incoming_pipe script, otherwise when an email is sent to that address, a ticket won’t be opened in fleio.

If you have a local mail server you need to add a line like this in your /etc/aliases file:

support: | /var/webapps/fleio/scripts/incoming_pipe

Assuming email to is routed to the local machine, the above pipe will send messages received on this address to Fleio tickets system.

Ticket id format will allow you to change the id format of each ticket created and related to the specific department. More on that here: Configure ticket id.

The checkboxes listed underneath the input fields will let you configure which kind of notifications to send and to whom. Each ticket will have the associated department notifications configuration.

Route emails when using the docker deployment method

When using the docker deployment method, you will have to do some extra configurations to your mail server, to allow routing of emails from local mail server, to the docker container.

First, we will need to impersonate the fleio user and to create a new aliases file, in the /home/fleio/ directory:

cd /home/fleio && touch .aliases

Now, we need to add the following line, so we can pipe the emails to the docker incoming mail container:

vi /home/fleio/.aliases
support: | "docker exec -i fleio_incomingmail_1 /var/webapps/fleio/scripts/incoming_pipe"

Save and exit vi. Generate the aliases database, and apply propper permisions:

postalias /home/fleio/.aliases
chown fleio:fleio /home/fleio/.aliases
chown fleio:fleio /home/fleio/.aliases.db

Next step is to edit the postfix configuration:

vi /etc/postfix/

On the alias_maps line, we need to add the new alias file:

alias_maps = hash:/etc/aliases, hash:/home/fleio/.aliases

Finally, you need to allow unauthenticated mails from the docker container, to be sent via the local mail server. In the same postfix configuration file, you need to add these two IP classes, on the mynetwork line:

mynetworks = [::ffff:]/104 [::1]/128

Notice that the and are the classes that we added. Both are used by docker and both need to be allowed so you can send emails from docker containers.

If you want to be more restrictive to the IPs that are allowed to send unauthenticated mail, you can run the following command to get the IP list of the docker container, that you need to add it in my networks:

for f in `fleio status | grep fleio | awk '{print $1}'`;do docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $f;done

This will output a list of IPs, like in this example:

Note that in the postifx configuration, in the mynetworks, you need to add the class, so if you want to add only the IPs that are used, you need to add a /32 at the end of the ip (

Restart postfix:

systemctl restart postfix