FreeScout Module Development

FreeScout
Module
Development.

FreeScout customisation, done properly. If your helpdesk needs behaviour FreeScout doesn’t ship with — a field that agents can’t edit, a mail provider that isn’t IMAP, a workflow your team actually uses — that is a module, and we write them.

We also publish our own, free and open source. Five of them are below, running in production and available to anyone.

What we build

Custom modules, integrations with your existing systems, API work, UI changes, and fixes to modules you already run

Published free

Five open source modules on GitHub — Microsoft 365 mail, read-only custom fields, customer ticket creation, multi-assign and user-scoped API auth

The stack

FreeScout is Laravel. Modules are Laravel packages — migrations, views, event listeners, middleware and all

You own it

Full source handover on every commissioned module. Open source it yourself if you want to.

Open Source
Modules we’ve published

Five FreeScout modules, free and open source.

Every one of these came out of a real problem on a real helpdesk. They are published because they are useful to other people running FreeScout, and because the fastest way to judge a FreeScout developer is to read their code.

FreeScout Mail365

Replaces SMTP and IMAP entirely with the Microsoft 365 Graph API. One Azure app registration handles both sending and fetching, so there is no relay to configure and no mailbox password to store. Works with shared mailboxes without user credentials, handles attachments up to 150 MB, and retries transient failures automatically.

Requires FreeScout 1.8.100+ · PHP 7.1+ with curl

View on GitHub →

Custom Fields Read Only

Extends the official Custom Fields module so a field can be made read-only in the interface, or hidden from the conversation view altogether, while the API keeps full write access. Useful when a field is maintained by an integration and agents must not overwrite it. Enforced in middleware, so it cannot be bypassed from the browser.

Requires FreeScout 1.8.181+ · Custom Fields module · PHP 8.1/8.2

View on GitHub →

Customer New Ticket

Adds a New Ticket button to the customer profile page with the customer’s email address already filled in. Agents pick from the mailboxes they actually have access to, and the dropdown is skipped entirely when there is only one. Small module, but it removes a copy-and-paste step agents repeat all day.

Requires FreeScout 1.8.181+ · Customers Management (CRM) module

View on GitHub →

Multi Assign

Assign additional users to a conversation alongside the primary assignee, for tickets that genuinely need more than one owner. Co-assigned conversations can appear in each user’s Mine folder, assignment changes are logged, and additional assignees are searchable, carried through merges and exposed to webhooks.

Requires FreeScout 1.8.181+

View on GitHub →

API User Auth

User-scoped bearer tokens for the FreeScout API, so a mobile app or integration can authenticate as a particular agent instead of holding admin credentials. Results are filtered by that agent’s mailbox access and role, tokens are stored hashed with configurable expiry, and admin-only operations stay blocked.

Requires FreeScout 1.8+ · PHP 7.2+ · ApiWebhooks module

View on GitHub →

Services
FreeScout development services

Whatever FreeScout doesn’t do yet.

FreeScout work is one part of what we do — see all development services if you need more than a module, or the custom CRM side of things when the helpdesk isn’t the whole problem.

Custom FreeScout Module Development

A module built for your workflow, from scoping through to a tested release you install like any other. Migrations, settings pages, permissions and upgrade safety handled properly — not a patch applied over the core that breaks at the next FreeScout update.

FreeScout Integrations & API Work

Connect FreeScout to the systems your business already runs on — CRM, billing, stock, telephony, or an internal database nobody else supports. Two-way sync, webhook handling and custom endpoints, built to survive both sides changing.

Mail & Authentication

Modern mail delivery when IMAP and SMTP no longer cut it. Microsoft 365 Graph API, OAuth flows, shared mailboxes and SSO — the ground our Mail365 module already covers, extended to whatever your provider requires.

FreeScout Module Support & Maintenance

Inherited a module nobody maintains, or one that broke on the last upgrade? We take on other people’s FreeScout code — read it, fix it, test it, and tell you honestly when rewriting is cheaper than repairing.

FreeScout Interface & Workflow Customisation

Change what agents see and do. Extra tabs, sidebar panels, bulk actions, custom folders and filters, fields that behave differently by role. Small changes to the daily path through a ticket compound quickly across a team.

FreeScout Upgrades & Migrations

A FreeScout migration from another helpdesk, or bringing an old install up to a current version with its modules intact. Data mapping, module compatibility review and a plan that doesn’t involve losing ticket history.

Read
the
code
first.

Why us

We ship FreeScout modules in public.

Anyone can call themselves a FreeScout expert or a FreeScout consultant, and most have nothing you can inspect before you commit. Ours is on GitHub — the structure, the migrations, the middleware, the commit history. Read it, run it, and judge the work before you spend anything.

FreeScout is a Laravel application, and its modules are Laravel packages. That is ordinary web development, which is what we do all week — so a FreeScout module gets the same treatment as any other bespoke software we build.

  • 01Five modules published free and open source — inspect the code before you brief us.
  • 02Built as proper modules, so a FreeScout upgrade doesn’t undo the work.
  • 03Fixed-price quotes with a defined scope. No open-ended hourly billing.
  • 04Full source handover. Open source it, fork it or keep it private — your call.

Need FreeScout to do something else?

Whether you need a FreeScout developer for a single module or ongoing FreeScout support, tell us what your agents are working around. We’ll tell you whether it’s a module, a setting, or a bad idea — and what it would cost.

We use cookies to keep the site working and, with your permission, to understand how you use it. Privacy policy