Dynamic request forms
Conditional fields per request type — onboarding, problems, changes, access and software requests.
Self-hosted · GPL-3.0
Give your users a clean, form-based front door to FreeScout — submit tickets, attach files, and track status, without ever touching the agent UI.
A focused front door to FreeScout — six pieces that do one job each.
Conditional fields per request type — onboarding, problems, changes, access and software requests.
Authenticate against Active Directory / LDAP, local SQLite accounts, or let users choose.
Users attach screenshots and documents; uploads are type-, size- and content-validated.
A "My Tickets" view with real-time status — Active, Pending, Closed — and full history.
Users reply to tickets and read responses from support staff in a single thread.
Configure company name, logo, colors, icon, and support contacts to match your org.
They pick a request type and fill in a dynamic form tailored to it.
The portal calls the FreeScout API and opens the ticket in your mailbox.
They follow status updates and reply in a two-way thread from their dashboard.
Support Portal is a free, self-hosted, open-source web app that gives your end users a friendly form-based interface to submit support tickets to FreeScout, attach files, and track ticket status — without giving them access to the FreeScout agent UI.
Yes. It is open-source software released under the GNU General Public License v3.0 and is free to self-host.
PHP 8.1+ with the pdo_sqlite, curl, json, mbstring and fileinfo extensions, Composer, a web server (Apache or Nginx), and a FreeScout instance with the API module installed. The ldap extension is needed only for LDAP authentication.
Yes. It supports LDAP/Active Directory, local SQLite accounts, or both at once. LDAP binds over StartTLS or LDAPS and escapes credentials and the username filter.
Deploy
$ git clone https://github.com/jeffcaldwellca/support-portal.git
$ cd support-portal && cp .env.example .env
$ docker compose up -d
✔ portal running → http://localhost:8080