Helpora - Internal Request Desk

Description
The problem
Every help desk reports response times. Almost every one of them can be made to report better ones than it earned. An agent adds an internal note and the ticket looks touched. Somebody reassigns it and it looks fresh. An auto-reply goes out and the first-response clock stops before a human has read a word. The status changes and the timer resets.
None of that is fraud. It is what the software allows, and after a while nobody in the room believes the dashboard — including the person presenting it.
Helpora is a self-hosted support desk that refuses. The first reply stamps the clock once, by the first message that actually goes to the requester, and nothing else ever moves it. You cannot close a request nobody answered. You can pause the resolution clock only while genuinely waiting on the person who asked, only after you have written to them, and the pause ends by itself when they reply.
Who this is for
Teams whose response-time numbers are used for something — a contract, a board pack, a renewal conversation — and who would rather have a smaller true number than a larger one nobody trusts. Also: anyone who wants their support conversations in their own database rather than a SaaS, and anyone whose customers should not need an account to ask for help.
Installs on ordinary shared PHP hosting in a couple of minutes.
Who this is NOT for
Desks that need to pause a first-response timer. Helpora will not let you, on purpose. If that is a requirement, this is the wrong product.
Anyone wanting a hosted "we take care of everything" SaaS. Self-hosted is the point, which means you run the server, the HTTPS and the backups.
Large support organisations needing ticket merging, parent/child linking, CSAT surveys, a public knowledge base or a status page. Helpora is a focused single-desk product.
Anyone who wants the numbers to look good. That is not a joke — it is the honest disqualifier.
What you get
1. You can put the response-time figure in front of a customer without checking it first. Response Met is exported beside the target and the stamp it came from, so any number in a report traces back to the rows that produced it. A late reply stays marked late even after somebody finally answers.
2. Nobody can quietly close what nobody answered. The commonest way a queue gets "cleaned up" is disposal, and it improves every metric at once. Helpora refuses — on the screen, over the REST API and to an AI agent told to tidy the queue.
3. Your customers do not need an account. A reference and a passphrase they choose, and they can read your replies and write back from any browser. Nothing to sign up for, nothing to reset, and one fewer credential in the world.
Objections answered
"Won't the strict rules just make our numbers look worse?" Yes, at first, and that is the product working. What you get for it is a figure you can defend. The dashboard also separates "never answered" from "breached", so the thing most desks hide behind a green average is the second card on the page.
"Will it run on my shared hosting?" Yes. PHP 8+ with PDO, present on virtually all cPanel/Plesk hosts. SQLite for zero setup or MySQL for production. The web installer takes about two minutes.
"Can an AI agent work it?" Yes, over MCP, with a revocable key — and it is held to the same clock. Read-only keys make the write tools invisible rather than merely refused, so a careless prompt cannot settle anything.
"What about the auto-reply everyone sends?" Helpora will send one if you switch it on, and it deliberately does not count as a first response. A desk that counted it would report a flawless response time while nobody had read a single request.
Skeptic FAQ
"Every helpdesk claims accurate SLAs." Then check this one specifically: there is exactly one UPDATE in the entire codebase that writes first_response_at, it is guarded on WHERE first_response_at IS NULL, and the test suite asserts both facts — that it is the only one, and that no status change, reassignment or auto-reply path can reach it. The source ships with the product; that assertion is checkable in a minute.
"We already have a spreadsheet and an inbox." Then you have no first-response time at all, and the first month with real numbers is usually the uncomfortable one. That is the point of buying it.
Honest limitations
Agent-side desk — not a knowledge base, not a status page, no CSAT surveys
Single desk, single tenant: one set of logins per installation
No ticket merging or parent/child linking
Email needs your own SMTP; there is no SMS
Reminder jobs need a scheduler — the app runs no background jobs by itself
Not billing, quoting or invoicing software; money appears nowhere in it
The clock rules are strict by design and cannot be configured away
Technical details
PHP 8.1+ | PDO | pdo_sqlite or pdo_mysql | Apache mod_rewrite
No Composer, no NPM, no build step; explicit require-chain front controller
CSRF protection on every POST; session auth (password_hash/verify); TOTP two-factor
All output escaped via htmlspecialchars(); prepared statements throughout
References: 10 chars from a no-lookalike alphabet (no 0/O/1/I/L), collision-checked
Passphrase stored only as a hash; never displayed after submission, never exported
REST API with OpenAPI 3 spec, HMAC-signed webhooks, MCP endpoint with read/write key scopes
317 offline assertions + 85 database-level probes, plus three HTTP suites that walk the running app: every page, the four clock rules through the real forms, and the agent surface
.demo-mode auto-reset guard for public demos; the shipped product never includes it
Dockerfile included for containerised deployments
Features
PHP 8.1+ | PDO | pdo_sqlite or pdo_mysql | Apache mod_rewrite
No Composer, no NPM, no build step; explicit require-chain front controller
CSRF protection on every POST; session auth (password_hash/verify); TOTP two-factor
All output escaped via htmlspecialchars(); prepared statements throughout
References: 10 chars from a no-lookalike alphabet (no 0/O/1/I/L), collision-checked
Passphrase stored only as a hash; never displayed after submission, never exported
REST API with OpenAPI 3 spec, HMAC-signed webhooks, MCP endpoint with read/write key scopes
317 offline assertions + 85 database-level probes, plus three HTTP suites that walk the running app: every page, the four clock rules through the real forms, and the agent surface
.demo-mode auto-reset guard for public demos; the shipped product never includes it
Dockerfile included for containerised deployments
Requirements
PHP 8.0+ with PDO, and MySQL 5.7+/MariaDB 10.x or SQLite 3 — standard shared hosting is enough; no Composer, no Node, no build step. SMTP details if you want email notifications.
Instructions
Upload the contents of app/ to your web root, open the site in a browser, and the built-in installer will create the database, run the schema and set up your admin account — then optionally load the demo data to see it populated before you start.
| Author | ownware |
|---|---|
| Category | Scripts & Code / PHP Scripts / Help Desk |
| Price | $74 |
| Extended License | $222 |
| Likes | 1 |
| First Release | Sep 6, 2026 |
| Last Update | Sep 6, 2026 |
| Database | MySQL 5.7, MySQL 8.0, MariaDB 10.x, SQLite 3.x |
| Files included | .php, .css, .html, .sql, .md, JavaScript .js |
| Software version | PHP 8.0, PHP 8.1, PHP 8.2, PHP 8.3, PHP 8.4 |
| Programming language | PHP, JavaScript |
Categories
Tags
External listing. code.market does not sell this product and does not process payment for it. Pricing, payment, delivery, licensing, refunds, and support are handled by the third-party merchant on its own website. We may earn an affiliate commission from a referral. Details.
Products of the Week.
Submit🥇
STOP GUESSING WHAT TO POST
AI that learns your brand voice and builds a month of consistent, on-brand social content: carousels, posts and hooks that sound like you, not like everyone else's AI.
SaaS · 3,102 views · 28 clicksSaaS · Week 45 · 3,102 views · 28 clicks
🥈
Conversational Backlinks for Busy Founders
Place Backlink Relevant Conversation for your domain across Forums and Conversations
Website · 40,498 views · 216 clicksWebsite · Week 45 · 40,498 views · 216 clicks
🥉
upvote.club
Free Social Media Engagement that Helps Boost Your Content. Upvote Club supports 19 social networks with 100+ engagement actions in one dashboard. Add links to your posts and get free engagement from real users.
SaaS · 38,585 views · 110 clicksSaaS · Week 45 · 38,585 views · 110 clicks
#4
Substack Posting API
Onboard your Agent to Substack. Write Publish on Substack via API
SaaS · 57,628 views · 197 clicksSaaS · Week 45 · 57,628 views · 197 clicks
#5
Seenshot App
Free, Fast, MacOS Screenshot app. Make Screenshot cmd+shift+2 and send it via link
Desktop App · 27,058 views · 119 clicksDesktop App · Week 45 · 27,058 views · 119 clicks
#6
Hand-Placed Backlinks $9.99 per link. Flat rate.
Buy hand-placed forum, Q-A and directory backlinks. Flat $9.99 per link, no subscriptions — you only pay for approved listings.
Website · 2,996 views · 18 clicksWebsite · Week 45 · 2,996 views · 18 clicks
#7
Free Invoice Generator - PDF Invoices in Your Browser, No Sign-Up
A free invoice maker for freelancers and small businesses: fill in the invoice, check the live preview, and download a PDF that looks exactly like it. Any currency, tax per item, three templates, no sign-up, and nothing leaves your device.
1,692 views · 16 clicksWeek 45 · 1,692 views · 16 clicks
#8
Merge PDF Files Free - Combine PDFs in Your Browser, No Upload
A free PDF merger for office workers, students, and freelancers: combine PDFs and images into one file in the browser, reorder files and pages, pick page ranges, keep bookmarks, and open password-protected PDFs. Nothing is uploaded, no sign-up, no watermark.
1,582 views · 13 clicksWeek 45 · 1,582 views · 13 clicks