Business & Operations

Supportdesk

Source code included

Laravel helpdesk with live SLA clocks, three support levels and Claude AI assistant for IT support companies

Built by Build Nest Updated 7 Oct 2026 28,172 lines of code

Open live demo Built withOpenAI CodexClaude Code

Why Supportdesk

What makes it better
than the alternatives

  1. 01

    Live SLA clocks per ticket

    First-response and resolution timers pause when waiting on customer, breach alerts sent before deadlines

  2. 02

    Three support levels with automatic escalation

    Skill-based assignment, transfer with reason, escalates at configurable SLA percentages, out-of-office backups

  3. 03

    Claude AI assistant with knowledge base

    Answers from help articles, uploaded PDFs/Word/text, websites and custom answers; hands over as ticket when stuck

  4. 04

    Contract-based service plans

    Premium/Standard/Basic plans with different SLA targets and monthly support hours, renewals tracked

  5. 05

    Single-cron deployment

    Runs on cPanel shared hosting with database queue/cache/sessions, no build step, no Redis, no Supervisor

Ticketing & SLA Engine

  • First-response and resolution clocks per ticket with live countdown
  • 24/7 or business-hours targets with public holidays (BusinessHours
  • SlaClock
  • SlaMonitor classes)
  • Clocks pause while status is 'waiting on customer'
  • At-risk warnings and breach alerts via StaffAlert notifications and TemplateMail
  • SLA snapshot stored per ticket for audit trail
  • Bulk actions: assign
  • transfer
  • close
  • delete with reasons

Three Support Levels

  • L1/L2/L3 levels with skill-based auto-assignment (AgentRouter picks by category skill
  • online status
  • working hours
  • fewest open tickets)
  • Transfer between agents with reason logged in TicketJournal
  • Escalate up levels with reason (TicketRouting)
  • Automatic escalation at configurable SLA percentages (SlaMonitor)
  • Out-of-office status with backup agent redirect
  • Level-specific roles: level-1
  • level-2
  • level-3
  • team-lead (RolesAndPermissionsSeeder)

Customer Portal

  • Raise tickets with attachments (AttachmentStore outside public/)
  • View and reply to own tickets
  • Resolve
  • reopen and rate tickets (CSAT 1-5 stars)
  • Company admins see all company tickets and invite colleagues (Inviter service)
  • Public help center with live article search (ArticleSearch)
  • Registration with email verification or invitation-only mode

Agent Workspace

  • Dashboard with KPIs: open tickets
  • SLA at risk
  • average response/resolution
  • rating (DashboardController)
  • Ticket queues sorted by SLA urgency (index view with filters)
  • Internal notes and canned replies (CannedReplySeeder)
  • Time logging per ticket (TimeEntry model)
  • Customer profiles with ticket history and contract details
  • Real-time presence tracking (TrackPresence middleware
  • is_online flag)

AI Assistant (Claude)

  • Answers from help articles
  • uploaded PDF/Word/text files
  • websites and custom answers (Assistant
  • KnowledgeSearch)
  • Chunking and vector-like search via embeddings (Chunker
  • Indexer with chunks table)
  • Hands over as ticket when can't answer (ChatOutcome enum: Answered
  • Ticket
  • Abandoned)
  • Draft with AI for agents (ReplyDrafter)
  • Works without API key using article answers only
  • Configurable tone (friendly/formal)
  • instructions
  • model selection (claude-3-5-sonnet-20241022
  • claude-3-5-haiku-20241022)
  • Test panel in admin (AssistantSettingsController::ask)
  • Embeddable chat widget with localStorage continuation (chat-widget.blade.php
  • app.js)

Knowledge Hub

  • Upload PDF
  • Word
  • text
  • CSV files (TextExtractor with smalot/pdfparser
  • phpoffice/phpword)
  • Index websites (WebsiteFetcher with Guzzle)
  • Built-in sources: help articles and resolved tickets (KnowledgeSource type: articles
  • tickets)
  • Custom Q&A pairs (CustomAnswer model)
  • Toggle sources active/inactive
  • reindex on demand (IndexKnowledgeSource job)
  • Chunk count and status tracking per source

Contracts & Plans

  • Premium
  • Standard
  • Basic plans with SLA targets and monthly hours (Plan
  • SlaTarget models)
  • Contract per company with start/end dates
  • status (Contract model)
  • Monthly hours tracking with usage warnings at 85%
  • Renewals (renew method adds one year)
  • Plan changes apply SLA to new tickets only
  • Reports show hours used per company

Administration

  • Roles and permission matrix (14 permissions across 4 groups: Tickets
  • Knowledge
  • Reports
  • Administration)
  • Agent management with levels
  • skills
  • online/away status (AgentController)
  • Email templates with {fields} and preview (EmailTemplateController
  • TemplateMail)
  • Audit log with search
  • filter by person
  • CSV export (AuditLog model
  • AuditLogController)
  • Settings: company name
  • timezone
  • password min length
  • notify.* switches (Setting model with encrypted storage)
  • SLA policies editor (SlaPolicyController)

Reports & Analytics

  • KPIs: tickets received
  • avg response/resolution
  • SLA met %
  • rating
  • chats solved % (ReportBuilder)
  • Tickets per day chart (weekly or daily points)
  • SLA met by priority and support level (SlaStats service)
  • Agent performance: resolved count
  • avg response
  • SLA met
  • rating
  • Category and rating distribution
  • Excel export with 7 sheets including one row per ticket (SimpleXlsx class)

Integrations & API

  • REST API with Bearer token authentication (AuthenticateApiKey middleware
  • ApiKey model with SHA-256 hash)
  • API keys: live/test environments
  • revoke
  • last-used tracking (ApiKeyController)
  • Embeddable chat widget with domain whitelist (SUPPORTDESK_WIDGET_DOMAINS)
  • Settings for email-to-ticket
  • WhatsApp
  • Slack
  • Teams
  • Google sign-in
  • webhooks (IntegrationCatalog
  • IntegrationSettings)
  • Rate limiting: 10 wrong keys per IP per minute before 429

Quality report

Manually reviewed

92/ 100

Automated audit score

◷ 3 open warnings

Passed the audit and a manual review.
Audit run: 7 Oct 2026
Reviewed by Vibe96 staff, Dubai.

Security93
Code structure78
Docs & completeness100
Dependency health95
Build & deploy92

What to know before you buy

3 non-blocking findings shown publicly: no real credentials found; weak demo password generation needs attention; strong authentication & authorization; minor ownership gaps on read endpoints; good separation of concerns with some duplication and oversized utility classes. The seller has been notified; fixes ship in the next version.

Versions & updates

1.0.0
First release7 Oct 2026✓ Reviewed & audited

No updates yet. New versions appear here with a changelog.
Buyers receive updates free for 1 year.

Quality report

What you get

  • </>Full source codeThe complete audited source, delivered as a download from your account. No obfuscation.
  • ▤DocumentationSetup guide, architecture notes, CLAUDE.md and AGENTS.md.
  • ↻One year of updatesEvery new version the builder publishes, free for 12 months.
  • ♧30 days of supportInstallation and defect support through Vibe96 tickets.
$349Single-site licence Details