DEV3 Technologies home

DEV3 Developer Forum

How we built the DEV3 Deskly: a helpdesk with SLA timers that count business hours

dev3 ·

DEV3 Deskly is a self-hosted support desk: email, live chat, the web form, the portal, the REST API and phone tickets all land in one queue.

Stack: Laravel 12, Filament 4 (/admin and /portal), Livewire 3, a plain Blade public site and the shared DEV3 core.

Decisions that mattered

  • One ticket service for every channel, so SLA policy, automations, round-robin assignment and notifications behave the same whatever the source.
  • Email replies thread by In-Reply-To and References, falling back to a [#DSK-1042] subject tag. Quoted text is stripped and duplicate message ids are ignored.
  • The SLA engine counts business minutes against a schedule with its own timezone and holidays. The clock pauses on pending or on hold and the paused time is added back when the customer replies. A deskly:sla-check command runs every minute from the scheduler, so timers stay correct without a queue worker.
  • Automations are trigger, conditions, actions, with a depth guard so a rule that changes a ticket never re-triggers the engine.

Limits: there is no public live demo, only screenshots, video tours and your own install.

Trade-off we chose: SLA breaches are flagged by a command that runs every minute, so timers do not depend on a queue worker.

How do you model paused SLA time in your own tools? We would like to compare notes.

#laravel#filament#helpdesk#case-study

0

0 replies

No replies yet. Know the answer? Write the first one below.

Your reply

Every post is reviewed by DEV3 before it appears. Usually reviewed within 24 hours.

Markdown supported. Use ``` for code blocks. Images are not allowed.