Support system

Tickets with automatic diagnosis, escalation, a thread with attachments, and an admin inbox.

A complete ticket system, not a contact form. The user opens an issue from their dashboard, gets an automatic diagnosis straight away and, if that does not solve it, escalates to a human. You handle it from an admin inbox.

See it working in two minutes

Before reading anything, watch the whole journey, from ticket to inbox:

Watch the video: the full support system, tickets, diagnosis and automatic emails (2:18, narrated in Spanish)

The user's journey

  1. They pick a category. Six ship with the template: technical issue, credits, account, billing, export and other. You rename and extend them without touching the logic.
  2. They get an automatic diagnosis written for that category, with their account data already checked. A good share of enquiries close right here, with nobody having to answer.
  3. If that does not help, they escalate. They describe what happened, can attach a screenshot, and the ticket lands in the inbox.
  4. They follow the conversation from "my tickets", in a thread with replies from both sides.

Step 2 is the one that saves the work. A ticket that resolves itself is stored as auto_resolved, so you can see which questions keep coming back.

The admin inbox

From the panel you see tickets with the useful context already in front of you: who is writing, in which language, how many credits they have left and what they last bought. On each one you can reply in the thread, close it, grant a credit when the incident cost the user money, and clean up old ones.

The emails

Four templates, in English and Spanish, sent automatically:

When To whom
The user escalates a ticket Confirmation to the user
The user escalates a ticket Notification to the team
An admin replies Notification to the user
The user replies in the thread Notification to the team

Two details that matter at volume

Emails do not repeat. If the same user escalates the same category twice within six hours, the second ticket is still saved (nothing they wrote is lost) but it does not fire the notifications again. The check runs before saving: run it afterwards and it finds the ticket just created, treats it as a duplicate, and then no email ever goes out at all.

There is rate limiting. Ticket creation goes through a distributed limiter in Firestore, so nobody can flood your inbox or your mailbox.

What it takes to lift it elsewhere

The module is packaged separately, in registry/support/, with the map of all its files in registry.json. It depends on only five things from the host, documented in its contract: authentication, database, email sending, translations and product identity.

Inside this template it is already installed and wired: there is nothing to do.

The module is also sold on its own, for anyone who already has their application and only wants this piece. Both options and their prices are on the pricing page.