Support · App Starter
A working support desk — ticket queues, SLA timers, email intake, CSAT — generated into a codebase you own.
Describe how your team handles support, and Dual7 generates this helpdesk around it: six connected entities, an assignment queue, SLA enforcement, and a public knowledge base, delivered as a real full-stack app. Change a routing rule or add a priority tier by editing your own code, not by filing a feature request.
01 · Data model
Support tooling is a data problem wearing an inbox costume. This starter generates six entities that model the whole conversation — who asked, who answered, how fast, and against which promise — and every queue and report below is a view over them.
| table | what it holds |
|---|---|
tickets | The unit of work — requester, subject, status, priority, assignee, and the SLA clock it's measured against. |
ticket_messages | Every reply and internal note in a ticket's thread, with author, channel, and timestamps preserved. |
agents | The people answering — role, team membership, capacity, and the resolution stats behind the workload view. |
teams | Routing targets like billing, technical, or tier 2, each with its own queue, hours, and escalation path. |
sla_policies | Named response and resolution targets by priority and requester tier — the rules the timers enforce. |
tags | Freeform classification across tickets, powering saved views, trend reports, and knowledge-base gaps. |
02 · Screens
New tickets land in a triage queue and route to teams by rules you can read in your own code — round-robin, load-balanced, or keyword-based. Reassignment carries the full thread, so a handoff never means a customer repeating themselves.
Each ticket runs a visible countdown against its policy's first-response and resolution targets, pausing when you're waiting on the customer. Breach risk sorts the queue, so the ticket that needs attention next is always on top.
A support address turns inbound mail into tickets and threads replies onto the right one, with attachments preserved. Customers just use email; your team gets structure, ownership, and history instead of a shared inbox free-for-all.
Resolved tickets trigger a one-click satisfaction request, and scores land on the ticket, the agent, and the team. Trends show up in reporting where they drive coaching, not in a vendor dashboard you screenshot into slides.
A public help center with categories and search, editable from the same admin. Agents link articles into replies, and article-level view counts show which docs deflect tickets and which gaps keep generating them.
03 · Process
Tell Dual7 who writes in, what your teams are, and what response times you promise. The starter turns that into queues, policies, and routing without you drawing a single flowchart.
Work the generated desk conversationally: add a priority level, split a team, tighten an SLA target. Each edit is a reviewable change to your codebase, visible before it ships.
Move to production through approval gates with a full audit trail. The desk runs on your infrastructure, and every customer conversation stays in your database.
04 · Fit
A support@ inbox works until two people answer the same customer differently in the same hour. This starter keeps the email workflow customers expect and adds what the inbox can't: ownership, status, priorities, and a record of who said what.
Helpdesk pricing punishes the fix for slow support — hiring more agents. When the desk is your own code on your own servers, seat count stops being a budgeting line, and the whole company can see tickets without a license discussion.
Because the desk is a normal codebase sharing your stack, tickets can join your product data — the account's plan, usage, and error history on the same screen as the conversation. That context is an integration project on rented tools; here it's a join.
When support threads contain patient details, financial records, or contract terms, sending them to a third-party processor is a compliance question mark. Self-hosting the desk makes the data-residency answer one sentence long.
05 · Yours
The generated desk is a starting position. Rename what doesn't fit — tickets to cases, teams to desks — and add the fields your triage actually keys on: an affected-product picker, a severity matrix, a region flag. In Vibe mode those are conversational edits that land as schema and UI changes together.
Structural moves are equally in reach: add a chat channel next to email, wire ticket events into your alerting, or bolt an approvals step onto refund-class tickets. The output is a standard full-stack app with no runtime tie to Dual7, so your engineers can extend it the way they'd extend anything else in the repo.
Renting a helpdesk means renting access to your own support history — export limits, API tiers, and per-agent fees between you and conversations your customers had with you. This starter generates the schema, screens, and routing rules as source code in your repository, so the history sits in your database and the tooling costs what your infrastructure costs.
Owning it is a real responsibility, and the governed pipeline exists to make it a manageable one: staged deploys, approval gates, and an audit trail for every change. When the desk needs to evolve structurally, you regenerate with Dual7 instead of hand-patching — and review the diff like any other.
06 · Industries
An internal service desk that knows about laptops, licenses, and access — generated into code your IT team controls.
A support desk where every ticket knows its order — returns, refunds, and delivery questions handled with context you own.
One support desk for staff, students, and families — routed by campus, aware of devices, owned by the district.
A working support system generated into your own codebase: tickets, threaded messages, agents, teams, SLA policies, and tags, plus the queue, SLA timers, email-to-ticket intake, CSAT surveys, and a public knowledge base. It deploys to your infrastructure with every conversation stored in your database.
Yes — point your support address at the generated intake and mail becomes tickets, with replies threading onto the originals and attachments intact. Because the intake code is yours, address-specific quirks like plus-aliases or department addresses are edits, not tickets to a vendor.
SLA policies are data, not configuration screens: define response and resolution targets per priority and per customer tier, and the timers, queue sorting, and breach reporting follow. Business-hours calendars and pause-on-pending behavior are in your code where you can adjust them.
As many as your database can hold rows, which is to say: this is not a licensing question anymore. There is no per-seat price on code you own — add agents, viewers, and part-time helpers freely, and spend the budget on the team instead of the tool.
Both, per article. The knowledge base ships as a public help center with search, and articles can be marked internal for agent-only playbooks. It's served by the same app, so linking an article into a ticket reply is native, not an integration.
Yes — there's a dedicated IT version of this starter with assets and access requests modeled in the schema and workflows built around provisioning and incidents. See the IT helpdesk variant page for the adapted data model.
Dual7 App Starters
A working support desk — ticket queues, SLA timers, email intake, CSAT — generated into a codebase you own. Describe your version to start — the output is a project you own.