Support Revolution: setup and help

Quick start

  1. Upload the Support Revolution ZIP in Modules > Module Manager and install it.
  2. Open Support > Departments. Adjust the active departments and translate their names.
  3. Open Support > Settings > General. Review Allow Guest Tickets, Max Attachment Size, Allowed File Types and Use Support Revolution as the shop's contact page.
  4. In Email Notifications, set Support Email and review the notification switches, then save.
  5. Open the storefront and submit a ticket. Check it in Support > Tickets and confirm both notification emails.
  6. Reply from the ticket view, add an internal note and verify customer access to the thread.
  7. Copy the front cron URL from the Cron Job panel if you need mailbox polling or auto-closing, schedule it and check its JSON result.

Requires PrestaShop 1.6.1 or later and PHP 7.1 or later.

Setup manual

Install and configure

Follow the steps in Quick start.

Configure tickets

Open Support > Departments. Adjust the installed multilingual departments, descriptions, active state and order. Open Support > Settings for the settings below. Save after changing them.

General

  • Use Support Revolution as the shop's contact page. Default: on. Routes the shop contact page into the module contact form so submissions become tickets. Review this before enabling the module on a public shop.

  • Ticket Prefix. Controls the prefix used in ticket references such as SR-000001; default: SR. Set it in Support -> Settings -> General.

  • Auto-Close After. Automatically closes resolved tickets after this many inactive days; default: 14. Set to 0 to disable auto-closing.

  • Max Attachment Size. Sets the maximum upload size per attachment in MB; default: 10.

  • Allowed File Types. Sets the comma-separated list of allowed attachment extensions; default: jpg,jpeg,png,gif,pdf,doc,docx,xls,xlsx,txt,zip,rar.

  • Default Department. Selects the department used when a ticket is created without a department value; default: 0.

  • Allow Guest Tickets. Allows non-logged-in visitors to create support tickets; default: 1.

  • Include in Sitemap. Adds knowledge base URLs through the gSitemapAppendUrls hook; default: 1.

  • Article Author. Default: empty. Enter the name credited on knowledge base articles and their structured data. Empty credits the shop.

Changing Ticket Prefix affects newly generated references. For example, HELP gives references such as HELP-000001. Keep the expected reference in reply subjects so email ingestion can find the thread.

For a smaller attachment policy, set Max Attachment Size to 5 and Allowed File Types to jpg,jpeg,png,pdf,txt. Server upload and request limits also apply. Give the web server write access to upload/mprsupportrevolution/ (under the shop upload directory) for ticket attachments.

Email Notifications

  • Support Email. Sets the support reply-to address and admin notification recipient; default: empty, which falls back to the shop email.
  • Notify Admin on New Ticket. Sends an email to the support address when a new ticket is created; default: 1.
  • Notify Admin on Customer Reply. Sends an email to the support address when a customer replies; default: 1.
  • Notify Customer on New Ticket. Sends the customer ticket-created confirmation; default: 1.
  • Notify Customer on Admin Reply. Sends an email to the customer when staff post a non-internal reply; default: 1.
  • Notify Customer on Close. Sends an email to the customer when a ticket is closed; default: 1.

Use the shop's mail configuration to test delivery. Support Email supplies the reply-to address and support notification recipient, with shop-email fallback. The mail service uses templates in the module's mails/ directory. Variables passed by the relevant template can include {customer_name}, {ticket_reference}, {message} and {ticket_url}. Available variables depend on the email template.

IMAP Fetching

  • Enable IMAP Fetching. Enables mailbox polling when the PHP IMAP extension is available; default: 0.
  • IMAP Host. Sets the IMAP server hostname; default: empty.
  • IMAP Port. Sets the IMAP server port; default: 993.
  • Encryption. Sets the IMAP encryption mode; default: ssl. Accepted values are ssl, tls, and none.
  • IMAP Username. Sets the IMAP login username; default: empty.
  • IMAP Password. Sets the IMAP login password; default: empty. Leaving it empty while saving preserves the current stored password.
  • IMAP Folder. Sets the mailbox folder to monitor; default: INBOX.
  • Poll Interval. Default: 5 minutes. The shared scheduled task uses this value, with a minimum of one minute.
  • Skip Auto-Replies and Bounces. Default: on. Saved preference; scheduled mailbox fetching does not skip automated mail using this setting.
  • Honor Server Spam Verdict. Default: on. Saved preference; scheduled mailbox fetching does not skip messages marked as spam using this setting.
  • Blocked Senders. Default: empty. Stores comma-separated email addresses or @domains; scheduled mailbox fetching does not apply this blocklist.
  • Max Emails per Sender per Hour. Default: 10. Zero disables the limit; scheduled mailbox fetching does not apply it.

Enter a dedicated mailbox, for example host imap.example.com, port 993, Encryption ssl, username support@example.com and folder INBOX. Set the mailbox password and save. The password field preserves the stored password when you leave it blank.

Scheduled mailbox fetching requires the PHP IMAP extension and Enable IMAP Fetching. Without the extension, scheduled fetching stays disabled.

Only unread messages are processed. A matching reference such as [SR-000001] attaches the message to an existing ticket. Messages without a matching ticket create a ticket with source email. Incoming attachments are not imported. Scheduled fetching does not check whether the sender matches the ticket email and does not apply the sender filters above.

Configure the contact form

Open Support > Contact form. The submenu contains Dashboard, Forms, Fields, Submissions and Configuration. Installation creates a default form if one is missing. Select the correct shop, review its fields and submit it once from the storefront before using it as the public contact page.

Use Use Support Revolution as the shop's contact page in Support Settings to control contact-page ownership. Check the resulting submission in both Contact form > Submissions and Support > Tickets. Employee access to these controllers governs who can manage forms and view submissions.

Forms and Fields

In Forms, edit Internal Name, multilingual Form Title, Description, Success Message, Email Subject and GDPR Label. The factory creates Default Contact Form with the English title Contact us, a contact-message confirmation and a personal-data consent label. Translate and replace that text for your store.

New form model defaults are Send Admin Email on, Admin Email empty, Send Customer Confirmation on, Enable Honeypot on, Enable Time Check on, Min Submit Time 3 seconds, GDPR Checkbox on and Active on. Review them for each form. Support-created tickets use the support mail service and the notification switches in Support > Settings; generic contact-mail switches do not replace those ticket switches.

In Fields, choose Form, translate Label, Placeholder and Description, and set Field Name, Field Type, Required, Options, Position and Active. Use one option per line for a select field. The default form has required Full Name, Email Address, Subject and Message fields, with an optional Phone Number. Keep the internal subject and message names when you want those values mapped into the ticket subject and message. Other values are appended as labeled text.

Contact form Configuration

The shared contact package stores its settings separately from ticket settings. Open Contact form > Configuration and review:

Tab and setting Default When to change it
General: Replace Core Contact Page Off This is the shared contact setting. For Support Revolution, control page ownership with Use Support Revolution as the shop's contact page in Support Settings.
General: Enable Schema.org Markup On Enable or disable contact-page LocalBusiness output.
Business Info: Show Business Info Cards On Show or hide business information.
Business Info: WhatsApp Number Empty Enter the contact number if you use this contact channel.
Business Info: Show Social Links On Hide the social-link section if unused. Stored links default to an empty list.
Business Info: Show FAQ Section On Review the built-in contact FAQ content before publication. Replace generic response-time, phone and office-visit answers with your own facts.
Location & Hours: Show Map On Hide the map if unused.
Location & Hours: Map Latitude / Map Longitude Empty Enter your actual location before expecting a useful map.
Location & Hours: Map Zoom Level 15 Adjust the displayed map scale.
Location & Hours: Show Opening Hours On Show or hide opening hours. The stored schedule starts at Monday to Friday 09:00 to 17:00, with weekends empty. Review it before publishing.
Location & Hours: Timezone Shop PS_TIMEZONE Use the timezone for the displayed hours.
Email: Send Admin Notification On Generic contact-mail setting; ticket notifications use Support Settings.
Email: Admin Email Address Shop email Generic contact recipient; check Support Email for ticket notifications.
Email: Send Customer Confirmation On Generic contact setting; check Notify Customer on New Ticket for the ticket confirmation.
Spam Protection: Enable Honeypot Protection On Keep the hidden-field check unless you have a specific form integration conflict.
Spam Protection: Enable Time-Based Check On Apply the minimum submission-time check.
Spam Protection: Minimum Submit Time (seconds) 3 Adjust the minimum elapsed time for submission.
Spam Protection: Max Submissions per IP/Hour 10 Set the contact-submission rate limit.
Spam Protection: Blocked Words Empty Enter terms to reject in the contact spam check.
Spam Protection: Cloudflare Turnstile Site Key / Cloudflare Turnstile Secret Key Empty Configure both keys together if you use Turnstile.
Spam Protection: Blocked IP Addresses Empty Enter addresses you want the contact check to reject.

Theme styles uses shared detected theme values. Its contact-specific defaults include Form spacing 20px, WhatsApp color #25D366 and the package's normal/raised card shadows. Adjust these after checking the rendered form.

Use Dashboard and Submissions to check contact activity and the ticket linked to a submission. Test a permitted message and a rejected submission after changing spam settings.

Schedule maintenance

Module front cron URL

Copy the complete URL from the Cron Job panel in Support > Settings. It has this form:

https://your-shop.com/module/mprsupportrevolution/cron?token=YOUR_SUPPORT_CRON_TOKEN

This uses the module's CRON_TOKEN, generated as 32 hexadecimal characters during configuration installation. Regenerate Token invalidates the old URL, so update your scheduler afterwards.

The front controller runs IMAP polling, if allowed, and auto-closing whenever you call it. It does not apply the shared task intervals itself. For example, call it every five minutes if that is your chosen polling cadence. Auto-closing affects resolved tickets older than Auto-Close After; zero disables it.

Shared CLI runner

If you use the common MPR scheduler, its CLI entry point is:

php /var/www/html/modules/mprsupportrevolution/cron.php --token=YOUR_SHARED_MPR_CRON_TOKEN --max-tasks=20 --max-seconds=55 --context=cron

Replace the installation path and use the shared cron token from your MPR cron setup. This is different from the support URL token. The runner validates the global mprcron TOKEN value, generated as 64 hexadecimal characters when needed. It can execute due tasks across MPR modules using the shared scheduler.

The support tasks are IMAP polling at Poll Interval, resolved-ticket auto-close every 3600 seconds, and knowledge base cache-change checking every 300 seconds. A once-per-minute CLI invocation lets the scheduler honor those task intervals. Check the task results and errors after the first run.

Work with tickets

Customers open My Tickets from their account. With the default routes, they can browse /my-support, create at /my-support/create and open /my-support/ticket/{id_ticket}. Use generated links for the shop and language prefix.

The creation form collects subject, department, message, optional attachments and GDPR consent. New tickets start with medium priority. Logged-in customers use account identity. Guests enter their name and email if Allow Guest Tickets is enabled. Guest ticket links include a private token. Preserve that complete link when checking guest access.

Open Support > Dashboard for counts, status summaries and recent messages. Use Support > Tickets to filter by reference, customer, email, status, priority, department, assignee, message count and dates. Open a ticket to reply, add an internal note, attach files, change status or priority, and assign an employee. Assigning an open ticket moves it to in_progress.

Statuses are open, in_progress, waiting, resolved and closed. Priorities are low, medium, high and urgent. There is no editor for adding custom status or priority values. Internal notes remain in the back office. Closed tickets do not show the customer reply form.

Give employees only the ticket and department permissions needed for their work. Test an internal note from a customer account to confirm it is hidden.

Use the knowledge base

The module provides a public knowledge base with localized category and article routes, view tracking, helpful feedback, canonical/SEO output and sitemap contributions. There is no category or article editor in the module's admin menu. Publish content through your existing publishing workflow.

Typical routes are:

/knowledge-base
/knowledge-base/{category}
/knowledge-base/{category}/{article}

The base segment is taken from the localized CMS category with ID 5 when available. Fallback URL segments use the language ID: 1 knowledge-base, 2 wissensdatenbank, 3 base-de-connaissances, 4 baza-wiedzy, 5 base-di-conoscenza and 6 base-de-conocimientos. A different language-ID arrangement can therefore change which fallback appears. Follow generated links rather than assuming an ISO-to-slug mapping.

Article indexing follows the category's indexing setting. Articles 46 and 52 are always excluded from indexing. Indexable articles can emit article structured data. Include in Sitemap enables eligible URLs through gSitemapAppendUrls; a compatible sitemap generator must consume that hook.

Verify and troubleshoot

  1. Submit a test ticket as a customer and, if enabled, as a guest. Confirm the admin notification, customer confirmation and private guest link.
  2. Reply from the back office. Confirm the customer email and thread. Add an internal note and check that it remains private.
  3. Test a permitted attachment and an oversized or disallowed file. Check PHP upload limits if the permitted file fails.
  4. Send an unread email with a test reference, call the chosen scheduler and check that it is handled once. If no email is fetched, check extension availability, credentials, folder, unread state and token.
  5. Resolve a test ticket and check scheduler output for auto-close processing. Do not shorten a production inactivity setting merely to test old tickets.
  6. Open existing knowledge base content in each language. Check route generation and sitemap eligibility separately from ticket pages.

If a cron URL returns Invalid token, copy it again from the correct panel. A support URL token does not authenticate the shared CLI runner. If the mailbox connects but a message stays outside the thread, check the reference prefix and unread state. If customer confirmation does not arrive, check Notify Customer on New Ticket, mail configuration and mail delivery logs.

Customize templates and styles

Use these template override paths in your active theme:

themes/your-theme/modules/mprsupportrevolution/views/templates/front/ticket_create.tpl
themes/your-theme/modules/mprsupportrevolution/views/templates/front/ticket_view.tpl
themes/your-theme/modules/mprsupportrevolution/views/templates/front/tickets_list.tpl
themes/your-theme/modules/mprsupportrevolution/views/templates/hook/displayCustomerAccount.tpl

Put CSS in your theme's custom stylesheet. Load CSS through your theme's stylesheet settings. Useful selectors are #mprsupportrevolution-link, .mpr-support, .mpr-support__hero, .mpr-support__card, .mpr-support__status--open, .mpr-support__status--in_progress, .mpr-support__status--waiting, .mpr-support__status--resolved, .mpr-support__status--closed, .mpr-support__message--staff and .mpr-support__message--customer.

Disable or uninstall

Disable the module in Module Manager to stop its storefront integration. Before uninstalling, back up tickets, messages, attachments, contact forms, submissions, knowledge base content and settings. Remove or update your cron jobs. Uninstall removes scheduled tasks, admin pages, configuration and module database tables. Stored attachment files remain after uninstall; review them separately after backing them up.

Reference screenshots

Support Revolution, Create support ticket

Support Revolution, Knowledge base

Support Revolution, Admin ticket management

Support Revolution, Admin support departments

Questions

1

What does a ticket store, and is consent required on the native ticket form?

A ticket stores customer identity, subject, department, priority, status, shop and submitter IP address, with its message thread and any saved attachments. The native ticket creation form rejects submission unless its data-processing checkbox is ticked. Internal notes are filtered out of the customer-facing conversation. Other intake routes have their own controls, so this checkbox requirement should not be assumed for every imported email or contact form.

Known Issues

21

Customer ticket list shows tickets from all shops in multistore

Open

A customer who has accounts on multiple shops sees tickets from all shops merged into one list. The customer ID is shared but the ticket context is not shop-filtered.

Resolution note

Added id_shop filter to the customer ticket query.

Security hardening

ResolvedUpdated:
Fixed in: 2.8.2
Security hardening.

Ticket notification emails failed on newer PrestaShop releases

ResolvedUpdated:
Fixed in: 2.8.2
Support ticket notification emails could fail to send on PrestaShop 1.7, 8 and 9.

Staff reply badge was difficult to read

ResolvedUpdated:
Fixed in: 2.7.4
Staff reply badges could have insufficient contrast on Bootstrap 4 themes.

Knowledge base title overlap on Classic

ResolvedUpdated:
Fixed in: 2.7.4
The category link and badge could overlap the article title on the Classic theme.

Mailbox polling ignored its interval setting

ResolvedUpdated:
Fixed in: 2.7.4
Mailbox polling ran at a fixed five-minute interval instead of following the configured interval.

New-ticket confirmation was not sent

ResolvedUpdated:
Fixed in: 2.7.4
Customers did not receive the enabled new-ticket confirmation email after creating a ticket.

Administration ticket view failed to load

ResolvedUpdated:
Fixed in: 2.7.3
Opening a ticket in the back office could fail because its view was not found.

Administration labels remained in English

ResolvedUpdated:
Fixed in: 2.7.1
Some settings and short administration labels did not use the available translations.

Knowledge base setup missed article shop information

ResolvedUpdated:
Fixed in: 2.7.1
Installation checks could miss required shop information for knowledge base articles.

Guest ticket links failed

ResolvedUpdated:
Fixed in: 2.7.1
Guests could not reliably open their support tickets from the provided ticket links.

Module refused to load on PHP 7.1

ResolvedUpdated:
Fixed in: 2.7.0
The module could reject PHP 7.1 even though that version was supported.

Email tickets missing from the customer portal

ResolvedUpdated:
Fixed in: 2.6.0
Tickets created from incoming email were not linked to the matching customer account and therefore did not appear in that customer's portal.

Reply and ticket details could become inconsistent

ResolvedUpdated:
Fixed in: 2.6.0
A failed reply save could leave the message and ticket information only partially updated.

Open tickets could not be saved

ResolvedUpdated:
Fixed in: 2.6.0
Saving an open ticket could fail validation because its closing date was empty.

Article content styles were missing

ResolvedUpdated:
Fixed in: 2.4.2
Knowledge base articles did not consistently load the styles required for their content.

Unknown knowledge base addresses returned the wrong response

ResolvedUpdated:
Fixed in: 2.4.2
Requests for nonexistent articles did not consistently return a proper not-found response.

Knowledge base heading did not use the article title

ResolvedUpdated:
Fixed in: 2.4.2
Article pages could show an incorrect heading instead of their article title.

Structured data on articles excluded from indexing

ResolvedUpdated:
Fixed in: 2.1.16
Articles marked to stay out of search indexing could still publish article structured data.

Knowledge base feedback attached incorrectly

ResolvedUpdated:
Fixed in: 2.1.16
Knowledge base view and helpfulness tracking did not reliably associate feedback with the correct article.

Customer support page failed to open

ResolvedUpdated:
Fixed in: 2.1.16
The customer support page could return an error when building links to individual tickets.

Feature Requests

22

Implemented

IMAP email-to-ticket conversion

Implemented
Incoming emails from the configured IMAP mailbox are converted into support tickets. Replies containing an existing ticket reference in the subject are added to that ticket.

Knowledge base articles with view counts and reader feedback

Implemented
The shop hosts multilingual knowledge base articles with view counts. Readers can mark articles as helpful or unhelpful and leave feedback.

Multilingual knowledge base

Implemented
Publish dedicated knowledge base articles with translated addresses, article navigation and visitor feedback.

Article views and helpfulness feedback

Implemented
Measure article views and collect helpful or not-helpful responses from readers.

Knowledge base categories

Implemented
Organize articles into categories with nested addresses, category navigation and redirects from earlier addresses.

Article author and dates

Implemented
Show article authors, publication dates and trust details alongside knowledge base content.

FAQ previews and links

Implemented
Connect the knowledge base to FAQ content and show FAQ previews to readers.

Installation checks and repair

Implemented
Check installation requirements and repair missing module infrastructure from the back office.

One-click module updates

Implemented
Check for and install module updates from the back office.

Formatted article code blocks

Implemented
Display code examples with the shared formatted code-block presentation in knowledge base articles.

Public PrestaShop security scanner

Implemented
Offer a public page for passive PrestaShop security checks and make it discoverable from the knowledge base and sitemap.

Mailbox tickets without an IMAP extension

Implemented
Import mailbox messages as support tickets on hosts that do not provide the optional IMAP extension, including modern PHP installations.

Incoming email filters

Implemented
Skip automatic replies, bounces and spam, block selected senders or domains and set an hourly ticket limit per sender.

Ticket integrations

Implemented
Let compatible shop integrations create, read, reply to and close support tickets with customer and shop scoping.

Knowledge base search integration

Implemented
Make knowledge base articles available through the compatible shared shop search.

Knowledge base cache updates

Implemented
Notify compatible page caches when knowledge base content changes so readers can receive updated articles.

Reusable variables in support content

Implemented
Resolve reusable content variables in staff-written knowledge base articles and public support labels, including search results and metadata.

Automatic detection of article updates

Implemented
Check for knowledge base updates every five minutes and notify compatible caches when content changed outside the normal editor.

Article author setting

Implemented
Choose the author name displayed on knowledge base articles from the module settings.

Contact messages become support tickets

Implemented
Optionally use Support Revolution for the shop contact page so contact messages become trackable tickets, including messages from guests.

Contact form management and spam protection

Implemented
Manage contact forms, fields and submissions with shared spam protection and optional Cloudflare Turnstile.

Public knowledge base page caching

Implemented
Allow compatible performance tools to cache public knowledge base pages.

Changelog

v2.1.182026-05-27

  • AddedFinalize support hub SEO cleanup
  • AddedShow FAQ previews in knowledge base
  • AddedLink knowledge base back to FAQ
  • Addedcomplete FR/DE/ES/IT/PL translations
  • FixedUse article title for KB headings
  • FixedSuppress KB schema on noindex articles
  • FixedCreate support runtime tables from schema
  • FixedWire support integrity services
Older releases

v1.3.02026-04-20

  • AddedAdd KB category system with nested URLs and 301 redirects
  • AddedAdd author byline and dates to KB footer bar, remove cache-busting
  • AddedRedesign KB footer as compact inline bar with views + thumb counts
  • AddedKnowledge Base — fully-owned KB articles with views + feedback
  • Addedadmin menu management via MenuInstaller for streamlined module setup
  • AddedLicense management tab with key management and renewal options
  • Addedself-healing integrity checks for automatic diagnostics and repair
  • Addedcomplete FR/DE/ES/IT/PL translations
  • ImprovedRevert KB listing to simpler card design with category sections
  • ImprovedPush views + thumbs to right side of KB footer bar
  • Improvedadmin list columns with visual badge indicators and multiselect filters
  • ImprovedSEO handling with proper canonical URLs and meta tags on all front pages
  • FixedUpdate SCSS source for KB footer bar styles
  • FixedKB insights — replace broken negative-ID hack with proper id_article column
  • FixedKB SEO — 301 redirect ?slug= URLs, sitemap hook, version bump
  • Fixedvarious stability and compatibility improvements (6 fixes total)
  • Fixedadmin list filters — sorting, searching, and filtering now work correctly on all columns

v1.2.02026-02-10

  • AddedPS 9 / Hummingbird theme compatibility
  • AddedIMAP email-to-ticket bridge — incoming emails auto-create or reply to tickets
  • Improveddepartment routing rules with keyword and category triggers
  • Optimized ticket list query — 60% faster on stores with 10k+ tickets using indexed status
  • Fixedthreaded reply notification not sending when customer updates closed ticket

v1.0.02026-02-05

  • Initialrelease: customer support ticketing system for PrestaShop
  • InitialThreaded ticket conversations between customers and agents
  • InitialDepartment routing and agent assignment
  • InitialCustomer-facing ticket portal in My Account section
  • InitialCompatible with PS 1.7.x and PS 8.x

v1.1.02025-04-30

  • Addedfile-attachment support (PDF, images) on ticket replies
  • AddedSLA timer — displays response-due countdown in agent back office
  • AddedCSAT rating request sent after ticket closure

Demo

Test the full module before you buy

Buy a licence later and keep your settings.

  • Your 30-day demo Test it on your own shop for 30 days from the first install.
  • Ready demo shop Explore a ready demo shop in your browser.
  • No registration No account, email or store domain needed.
Launch demo shop

By downloading, you accept the demo terms and privacy policy.

By opening this demo you accept the demo terms and the privacy policy.

Loading...
Back to top