The shared workplace for you and your customers.
TCKT is a self-hosted open-source platform for support and collaboration between service providers and their customers. Tickets, customer communication, projects, service agreements, time tracking and customer-specific extensions — in one application, on your infrastructure.
Apache 2.0 · Self-hosted · Python · PostgreSQL · React
Internal content is never delivered to a customer user — the separation happens on the server, by permission. Ticket contents are illustrative.
* The customer is the foundation
Not a field on the ticket.
In most ticketing systems, the customer is an attribute. In TCKT, the customer is the unit everything else sits under: contacts, access, workflows, service hours, agreed rates.
01 — Who it is for
For service providers with many customers.
TCKT is built for teams that develop, operate or support software for several customers with different requirements: SaaS and custom software vendors, technical support teams, IT service providers. Five questions belong together — what the customer needs, who is on it, which response time was agreed, what is still missing, how much work was done. TCKT answers them on the same case.
- Operator admin
- Configures the environment, registers apps and releases them to customers.
- Agent
- Handles customer requests and records working time.
- Freelancer
- Works for explicitly assigned customers only.
- Customer user
- Submits requests, answers follow-up questions and tracks progress in the portal.
- Customer admin
- Sees additional overviews and settings for released customer apps.
02 — Day to day
What TCKT does day to day.
Take in requests and work on them together
A ticket holds description, priority, responsibility, status, attachments and communication; custom fields, labels, links and subtasks structure the case. Work lists, a board, full-text search and saved views keep the overview. With a mail gateway, customers can simply reply by email — the reply lands in the right ticket.
Organize workflows and projects
Each queue has its own statuses, transitions, creation rights and custom fields; a transition can require input, such as a documented solution on closing. Projects add goals, time frames, milestones and estimates. Moved tickets keep their earlier keys, so old links keep working.
Make service agreements visible
Two separate clocks: response and resolution. Rules per customer, with priorities, business hours, time zones, public holidays and exceptions; a 24/7 mode is available. Automatic AI follow-ups don't count as a response. Warnings, documented breaches, escalations and a monthly SLA report show where attention is needed.
Record working time for billing
With a timer or after the fact, with a work note on what was done. Customer-specific rates and time windows cover business hours, work outside them, weekends and holidays. Admins review, approve, correct and export monthly as CSV; corrections to locked entries stay traceable as reversals. The invoice itself is written outside TCKT — deliberately.
AI clarification and dictation
Optional. Per queue, your team defines which information a request needs; TCKT asks targeted follow-up questions for what is missing, and your team can take over at any time. Summaries and suggestions for priority and labels apply only after confirmation. Ticket clarification works only with public ticket content, and AI and dictation run only once you have enabled them and set up a provider.
Apps and integrations
Extend customer portals with your own apps — pages, dashboard tiles, ticket sections, reports — released per customer. API access, webhooks and the Model Context Protocol connect other systems and assistants. MCP is off by default and bound to customer, user and connection rights.
03 — A typical flow
A feature stops working.
From the customer's report to the exported work record.
- 01The customer creates a ticket in the “Operations” queue of the portal, attaches a screenshot or dictates the description.
- 02If AI clarification is active, TCKT asks for missing information. The support team can take over at any time.
- 03An agent takes the ticket, replies, and documents the investigation in the internal area. The SLA display shows the agreed deadlines.
- 04While working, the agent records time with a work note. Questions and answers stay on the ticket.
- 05Once resolved, the team informs the customer, who confirms the solution or reopens the ticket.
- 06The recorded work is reviewed and exported for billing. The case keeps its communication, history and work records.
04 — Self-hosted
Your infrastructure. Open source.
You keep control over installation, data storage and configuration.
- Backend
- Python, FastAPI
- Database
- PostgreSQL
- Interface
- React and TypeScript, as an installable web application that keeps drafts during network interruptions
- Files
- S3-compatible object storage
- Sign-in
- OpenID Connect — Zitadel or your corporate identity provider
- Operations
- Docker Compose; production stack with TLS, virus scanner, backups, recovery and operational status
- License
- Apache 2.0
With cloud AI connected, the content intended for a function goes to the provider you configured. That decision is made during setup — by you, not by the software.
05 — Scope
What TCKT deliberately is not.
- NOTSprints
- NOTA wiki
- NOTA general email inbox
- NOTInvoicing
- NOTRetainer management
- NOTA graphical workflow editor
The focus is support, customer projects and the work records that belong to them. If you need one of the above, you should know before introducing TCKT. For invoicing, the CSV export feeds the system you already use.
Where it is going
Customer portals are growing into broader self-service: alongside their tickets, customers find the information, evaluations and tools that fit them. Support for local AI models is the next step — so clarification also runs where ticket content must not leave the building.
06 — Talk to us
Several customers, one place where support, projects and work records stay together?
We show you TCKT on your own workflow — and tell you where it doesn't fit.