HelporaSelf-Hosted Request Desk: First Response, Working Hours, Settlement
Self-hosted internal request desk: the clock starts when the request arrives, stops when a human actually answers, and nothing can be settled that was never answered.
No sign-up, no password — the demo opens already signed in, on sample data.
- Full PHP source included
- Instant download + licence key
- It never phones home
- Compare vs SaaS pricing →
The problem it solves
For a self-hosted helpdesk request tracker, small businesses usually land on the big free options — osTicket, FreeScout, Zammad — all capable, all assuming someone will play sysadmin. Helpora is the lighter answer: $69 once, plain PHP on shared hosting, and a desk where the clock starts when a request arrives and stops only when a human actually answers.
Every shared inbox becomes the same thing: a queue nobody can measure. Somebody says response times are fine, somebody else says nothing gets answered, and there is no number either of them can point at.
The number that matters is narrow — how long until a person actually replied — and it is the one a shared mailbox cannot produce.
- A mailbox where "answered" means somebody read it
- Help-desk platforms at per-agent-per-month, for an internal queue of four people
- Reports built from a status field that anybody can set to whatever makes the month look better
What you get
Exactly one UPDATE sets it, guarded by WHERE first_response_at IS NULL. A second reply cannot move it, an import cannot backdate it, and the agent tool goes through the same door as the screen.
Closing a request nobody replied to is refused, and the refusal says why. It is the single rule that stops a queue being tidied into a good-looking report.
A request that arrives at 16:00 on Friday is not four hours late by Monday morning. The clock knows your hours and your holidays, because a target measured in wall-clock hours is a target nobody trusts.
Waiting on the requester is the only thing that stops the clock, and it resumes automatically the moment they reply. There is no manual hold that quietly makes every breach disappear.
Re-prioritising can extend a target; it cannot pull it in retrospectively to make a breach vanish. Every move is on the record.
A request nobody has touched is not a slow one — it is a different failure, and it is reported as its own number rather than averaged into a percentage.
A read-scoped API key does not merely get refused the write tools: it never SEES them, so an assistant does not propose settling forty unanswered requests in the first place.
The 3.1 wave gave the catalogue a way to reach the other side of the transaction: counterparty email through your own SMTP server, calendar feeds your own calendar subscribes to, attachments filed where the paperwork belongs, and export presets other people's software imports. Every outbound path ships switched off, runs on your own credentials, and can never break the thing that triggered it. This app gained no new outbound path in 3.1 — its pass rewrote the honest-limitations list against the shipped code instead, which is the more useful change when the product was already complete.
See it running — right now, on sample data
No sign-up, no password — it opens already signed in, and resets itself. Click around freely.
Open the live demoIs Helpora right for you?
Before the price, not after it: what Helpora deliberately does not do. We publish this on every product because the wrong purchase costs you more than the price.
- Internal requests, not a customer helpdesk — no public portal, no customer accounts
- No inbound mail — no IMAP polling, no mail parsing; requests come from the form, the API or MCP
- No self-service requester portal — requesters are recorded, not users
- No CMDB, no change approvals, no incident/problem hierarchy — a request queue, not an ITSM suite
- No live chat, no phone integration
- Single-tenant: one organisation per installation
Still the right fit? See the price → · Not sure — see who should stay with the SaaS →
Pricing — one-time, yours forever
- ✔ Full source included — PHP you can read and change
- ✔ No subscription. One payment, yours forever
- ✔ It never phones home
- ✔ Your data stays on your server
- ✔ 14-day refunds — we’d rather refund than argue
- ✔ Offline test suite in the box — run it before you rely on it
- ✔ If we ever stop: after 1 year the domain limit lifts, after 3 years your copy relicenses to MIT — it’s in the licence
Not ready to own it? Ownware Cloud runs selected apps from $12/month — and after 12 paid months the perpetual self-host licence is yours.
Read before you buy — what the zip looks like inside
helpora/
README.md · QUICKSTART.txt · LICENSE.txt
app/
index.php · router.php · config.sample.php · Dockerfile
src/ the classes — plain PHP 8, no framework, no Composer
controllers/ every route handler
views/ every screen
tests/ the offline test suite — run it yourself: php tests/run.php
bin/ packaging · seeding · maintenance scripts
API.md the REST + webhook + MCP reference
Nothing is obfuscated or encoded. What you read is what runs.
What the same job costs rented
Every figure is read from the vendor’s own pricing page and carries the date it was read.
Suite Team $55 per agent/month paid yearly; Suite Professional $115 per agent/month paid yearly; Support Team $19 per agent/month; Enterprise quote-gated
1 month of Zendesk equals the one-time $69.00.
Source, read 2026-08-22 →Growth $19/agent/month billed annually; Pro $55/agent/month; Enterprise $89/agent/month
2 months of Freshdesk equals the one-time $69.00.
Source, read 2026-08-22 →The full table — every competitor, what each does better than us, and who should stay with them: Helpora vs renting →
Which licence do I need?
It comes down to how many installations you need. Running your own business on one site is the Single licence. Building or running sites for other people — a second domain of your own, or an installation a client keeps — is the Extended licence.
Single licence
One (1) domain or subdomain
One business, running it on one site.
- Install it on one domain or subdomain you own or operate
- Change the source however you like for that installation
- Run your own business on it commercially, client work included
- Re-download the current build any time from your buyer portal
- A second site, or an installation you hand to a client as theirs, needs the Extended licence
- No reselling, redistributing or sublicensing the source
- Not for offering it to other people as a hosted service
Extended licence
Unlimited sites you own or operate
Agencies, and anyone running it on more than one site.
- Everything the Single licence grants
- Install it on as many domains as you own or operate — no cap on the number
- Build and hand over one installation per client project
- Still no reselling or redistributing the source itself
- Running it as a multi-tenant service others sign up for needs a SaaS agreement
Every download carries the full terms as LICENSE.txt, and the licence you bought is
named on your order and in your buyer portal. The complete wording lives on the
terms page, and the live demo is free for as long
as it takes to decide.
No reviews yet — so here is what we offer instead. Every competitor price on our comparison pages is source-linked and dated, and when a vendor’s price won’t load we say so rather than guess. See the sources for yourself →
After you buy
The four things people ask right before they decide.
Your download link always serves the current build at the time you fetch it — re-download any time from your order page or the buyer portal. No renewal fee to keep what you bought.
Email support for installation and for defects in the code as delivered — a person answers, usually within a day or two. It does not cover custom development or server administration. What support covers →
Refunds are handled by Lemon Squeezy as Merchant of Record, case by case — if something is broken and we can’t fix it, we’d rather refund than argue. EU consumers additionally hold the statutory 14-day right until delivery starts. Refund terms →
Nothing stops. You hold the full PHP source, it runs on your own server, and the software does not phone home — there is no licence check that can fail and no cloud that can be switched off. LICENSE.txt ships inside the zip, so your right to keep running it never depended on this site existing.
Covered in these guides
Every internal queue argues about response times with no number either side can point at. The reason is that "answered" in a mailbox means somebody read it. What it takes to produce a first-response figure that survives being audited, including the four ways teams accidentally fake one.
Questions about Helpora
Is this a customer-facing helpdesk?
It is built for internal requests — IT, facilities, HR, ops. There is no public portal, no customer accounts and no branded ticket site.
Does it read my mailbox?
No IMAP polling and no inbound mail parsing. Requests are filed through the form, the REST API or the MCP endpoint. Outbound notification goes through your own SMTP.
Can requesters log in and see their tickets?
No self-service requester portal. Requesters are recorded, not users; the people working the queue have accounts, roles and 2FA.
Can I make the numbers look better?
Deliberately not. The first-response stamp has one writer and cannot be moved, deadlines only ever move later, the only pause ends automatically, and nothing can be settled that was never answered. That is the product.
Does it do change management or assets?
No. No CMDB, no change approvals, no incident/problem hierarchy. It is a request queue with an honest clock, not an ITSM suite.
