Skip to content
helpdash/features · Features

A Index

Everything you need to run multi-brand support — and nothing you do not

Twenty production modules, one cohesive workspace. Built on Laravel 13 + React 18, hardened with per-tenant global query scopes so a query CANNOT cross tenants by accident.

02 Capabilities

Tickets that work for both agents and managers

06 modules · all tiers

module · tag FT-101

Five ticket types

question, incident, problem, task, feature_request — Zendesk and Jira parity, lowercase snake_case, label() lookups in the locale files.

helpdash · ticket / HD-1042 ● open

Re-open ticket on closed thread — customer added a new attachment

incident#billing#refunddue May 6
module · workflow FT-102

Eight statuses with transition gating

open, in_progress, waiting_on_customer / third_party, resolved, closed, reopened, cancelled. Per-transition permissions block privileged moves.

workflow_editor · ticket_status_graph 5 states · 4 transitions
open in_progress waiting_customer resolved closed

sla paused while in waiting_customer

required fields · per project 3 projects use this
module · clock FT-103

SLA with pause logic

Per-priority response and resolution targets (4h / 8h / 24h / 72h defaults). Clock pauses on waiting-states and re-extends on resume.

settings · sla_policies 4 tiers · auto-pause
priority first_response resolution pause_when
urgent 4h 8h waiting_customer
high 8h 16h waiting_customer
medium 24h 48h waiting_customer
low 72h 5d waiting_vendor
auto-pauses when status = waiting_customer enforced per project
module · users FT-104

Watchers, tags, due dates

Subscribe to tickets you did not author. Free-form tag array (max 20). Manual due date distinct from the SLA clock.

included in all tiers

module · zap FT-105

Workflow automation

Rules engine: trigger types, condition fields with operators, idempotent action execution, full execution log. Pro tier and up.

included in all tiers

module · lightning FT-106

Canned responses

Per-tenant macros and reply templates with variable substitution. Pro tier and up.

inbox · canned_responses 5 macros · last edited 2h ago by sarah
  • #refund Refund — billing dispute
  • #shipping-delay Shipping delay — apology
  • #login-issue Login issue — reset link
  • #feature-request Feature request — acknowledge
  • #bug-report Bug report — triage
#refund · preview selected

Hi {customer.name},

Thanks for reaching out about ticket {ticket.id}. I’ve reviewed the charge in question and confirmed it was an over-billing on our side.

A full refund of {ticket.amount} has been queued and should appear on your statement within 5–7 business days. I’ve also updated your account so this won’t recur next cycle.

Let me know if anything still looks off — happy to dig deeper.

{agent.name} · helpdash support

02 Capabilities

Surfaces your customers actually meet

06 modules · all tiers

module · user-circle FT-101

Customer Portal

Public per-tenant portal at the tenant subdomain or custom domain. Customers submit tickets and check status with magic-link auth — no password.

included in all tiers

module · code FT-102

Embeddable widget

Drop a script tag into any site. Choose popup / modal / drawer container, set brand colours, pick the icon, configure fields.

embed/widget · live preview ● editing

controls

accent

container

Need help?

How can we help today?

module · message-circle FT-103

Real-time chat

Reverb WebSocket layer powers live chat with typing indicators, read receipts, message edit / delete / pin, file uploads.

acme.helpdash.io · chat / #room-204 reverb · live
EL

Erik · agent · 14:32

Hi Sarah — I see your refund issue. Pulling the invoice now.

Sarah · customer · 14:33

Thanks. Reference #INV-8821. The amount is wrong by $40.
SM
EL Erik is typing
module · book FT-104

Knowledge Base

Per-tenant articles with categories, revisions, view counters, and reader feedback capture. Search query log included.

acme.helpdash.io · knowledge base 42 articles · 18.2k views (30d)
password reset 3 hits · logged
  • How to reset your account password account 4,128 views · 92% helpful
  • Configure SSO with Okta in five minutes sso 1,872 views · 88% helpful
  • Refund policy for prorated subscriptions billing 996 views · 76% helpful
  • Webhook delivery failures — debug checklist developer 612 views · 81% helpful
module · star FT-105

CSAT surveys

Signed token survey link sent on resolve. Configurable cooldown so customers are not surveyed repeatedly. Tenant rollup + cross-tenant analytics.

csat · last 30 days · 312 responses live rollup

avg score

4.7 / 5.0

↑ 0.2 vs prev

response rate

68%

+4pp

promoters

82%

rated 4 or 5

5 178
4 78
3 31
2 14
1 11

Quick reply, problem solved.

— anonymous customer · 2h ago

breakdown by channel · agent · day →
module · globe FT-106

Multi-language

Both agent and customer surfaces ship with Azerbaijani, English, Russian, and Turkish. Lang files per module under `lang/{locale}/`.

portal · widget heading lang/{locale}/portal.php

How can we help?

portal.heading · resolved

02 Capabilities

Plug into the systems you already run

06 modules · all tiers

module · plug FT-101

Jira Cloud + Data Center

Strategy-pattern sync — pick Cloud or Data Center per tenant, configure from Settings. Sync logs surfaced in the admin UI.

integrations · jira ● synced 14:32
strategy JiraDataCenterStrategy tenant: aurorabank
last run · 14:32:08 3 issues mirrored
  • HD-1042 SUP-2099 linked
  • HD-1041 SUP-2098 linked
  • HD-1039 SUP-2097 queued
module · key FT-102

LDAP authentication

Optional bind-DN authentication, configured from Settings. Falls back to local credentials when LDAP is disabled or fails.

included in all tiers

module · send FT-103

Telegram notifications

Bot-based subscriber model in the Notification module — agents and customers can opt into Telegram delivery.

inbox · cross_channel 2 sources merged
@erikv 1m

Need help with my order #4421

+994 50 123 45 67 1m

Where is my package?

HD-2099 open cross-channel 2 sources merged
telegram whatsapp unified thread · single agent reply
module · phone FT-104

Call Center capture

Per-tenant API key (sha256-hashed, IP-scoped, signature-required) for ingesting call metadata into tickets from external phone systems.

call_center · live_call recording

Sarah Mendoza

+1 415 555 0142

00:42

live transcript

…can you check my last invoice — I think there’s a charge I didn’t recognise from the upgrade last week

recordingauto-transcribecrm linked
module · mail FT-105

Email-to-ticket

Inbound email creates tickets with full thread context. Configurable per project.

inbox · email_pipeline 3 steps

Step 01 · inbound

customer@acme.io

invoice question

2m ago

Step 02 · parse

customersubjectattachments · 1thread-id

Step 03 · ticket

HD-2114 open medium created from email
module · webhook FT-106

Webhooks + REST API

Versioned `/api/v1/*` REST API with auto-generated OpenAPI spec served at `/api/documentation`. Tenant-scoped API keys with allowed_ips and scopes.

embed.html · 7 lines
<!-- one script tag · loads tickets, chat, kb -->
<script src="https://widgets.helpdash.io/v1/embed.js"
  data-tenant="acme"
  data-container="popup"
  data-accent="#0bb368"
  defer></script>

start a workspace · 2 minutes

See every feature in your own workspace

14 days free, full access, zero credit card.

  • 14-day trial
  • No card required
  • Cancel anytime
  • 4 languages

02 Capabilities

Tools for the people who run the platform

04 modules · all tiers

helpdash/features · grouped by capability sort: priority ↓
  1. open

    Per-tenant RBAC

    Spatie Laravel Permission with `teams=true` and `team_foreign_key=tenant_id`. Roles and permissions scoped to a workspace.

  2. open

    Activity log

    Every status transition, assignment change, and sensitive action recorded with actor, before / after, IP, and user agent.

  3. pending

    Plan limits enforcement

    `EnforcePlanLimitMiddleware` reads per-plan caps (max users, tickets / month, projects, API keys, widget sites) and blocks over-quota writes.

  4. open

    Settings + branding

    Per-tenant settings stored in DB with encryption support for sensitive values. Branding service for logos, colours, email-from name.

end of queue · 4 of 4

all enabled by default

02 Capabilities

Built to pass a security review

05 modules · all tiers

helpdash/features · grouped by capability sort: priority ↓
  1. open

    Strict tenant isolation

    BelongsToTenant trait + global scope on every business model. Cross-tenant queries are physically impossible from authenticated routes.

  2. open

    Two-factor authentication

    TOTP-based 2FA with trusted device store. Configurable from per-user settings.

  3. pending

    Tenant-scoped API keys

    sha256-hashed at rest, raw value shown once at creation. Optional IP allow-list, optional HMAC signature requirement, optional expiry.

  4. open

    Encrypted settings

    Sensitive setting values (LDAP bind passwords, Jira API tokens) stored encrypted at rest with Laravel encryption.

  5. closed

    JWT auth (Tymon)

    JWT bearer tokens with custom `provider` claim preventing cross-guard reuse. Trusted device store and token invalidation on logout.

end of queue · 5 of 5

all enabled by default

start a workspace · 2 minutes

See every feature in your own workspace

14 days free. Full feature access. No credit card.

  • 14-day trial
  • No card required
  • Cancel anytime
  • 4 languages
helpdash · sales · enquiry

Talk to sales

Tell us a bit about your team and we'll get back within one business day.

We use this only to reply. No marketing pings.

helpdash · sign in · find workspace

Find your workspace

Enter your workspace slug to sign in. We'll take you to the right place.

Your workspace URL is your-team.helpdash.io — set when you signed up. Forgot it? Email support@helpdash.io