Skip to main content
Site Store Pro includes a full helpdesk ticketing system — customers can open support requests from their dashboard or directly via /tickets/create, staff manage and reply through the admin console, and tokenized guest links let unauthenticated visitors track their tickets without logging in.

Customer Ticket Submission

Creating a Ticket

Customers navigate to GET /tickets/create to open a new support request. The submission form accepts:
File attachments are a great way to share screenshots, error logs, or order confirmation PDFs directly with support staff.

Viewing a Ticket Thread

The tokenized link (/tickets/view/{token}) is automatically included in every ticket confirmation and staff reply email. This gives unauthenticated customers — such as guest checkout buyers — secure read and reply access to their ticket thread without needing an account.
Tokenized links are cryptographically unique per ticket. Sharing the link gives the recipient full thread access, so treat them like a password.

Customer Dashboard

Logged-in customers access all self-service tools from a single tab-switched workspace at GET /dashboard.

Dashboard Tabs

Admin & Agent Redirect

Admins and agents (roles 3, 4, and 5) who land on /dashboard are automatically redirected to /admin/dashboard. The customer dashboard is only visible to roles 1 and 2.

Conditional Navigation

The public site header adapts based on the authenticated user’s role:
  • Customers (roles 1 & 2): Public header with site logo, Tickets, Orders, and Downloads tabs, profile controls, and sign-out link.
  • Admins & Staff (roles 3, 4 & 5): Full backoffice administration sidebar — the public header is not shown.

Staff Operations

Admin Ticket Console

GET /admin/tickets The main ticket management interface for administrators. Features include:

Search & Filter

Full-text search across all tickets with status and category filters.

Status Updates

Update ticket status (open, pending, resolved, closed) in bulk or individually.

Agent Assignment

Assign tickets to specific support agents from a staff member dropdown.

Post Replies

Write and send staff replies directly from the console, with attachment support.
  • Pagination: 25 tickets per page
  • Delete: Admins can permanently delete tickets from this view

Agent Queue

GET /admin/assigned-tickets A focused view showing only the tickets assigned to the currently authenticated agent. This keeps agents’ workloads clear without the noise of the full queue.

Email Notifications

The system supports:
  • Ticket creation confirmations
  • Ticket status updates
  • New reply notifications
  • Email conversation threading
Closed tickets do not send status notification emails.
Customers can access tickets without logging in using secure token URLs. Example:
These links allow customers to:
  • View ticket conversations
  • Reply securely

Email Based Ticket Replies

Customers can reply directly through email. Example:
The system automatically:
  • Matches replies to tickets
  • Creates new replies
  • Maintains conversation history
Supported providers:
  • Cloudflare Email Routing
  • Mailgun
  • Postmark

Ticket Email Configuration

Default development mode:
Emails will be written to:
For production configure:
  • SMTP
  • Mailgun
  • Postmark
  • Other Laravel mail providers

Email Reply Webhook

Configure your provider to send:

All providers must include a header field called: X-Webhook-Secret This value must be set as .env variable: INBOUND_WEBHOOK_SECRET
Supported payload formats: Generic JSON:
Mailgun:
Postmark:
Cloudflare

Cloudflare Email Worker Setup

If you are using Cloudflare Email Routing for inbound ticket replies, create an Email Worker that forwards incoming emails to the Laravel webhook endpoint. After creating the Email Worker, open the code editor and replace the worker code with the following. Important: Update these two values before deploying:
  1. Replace:
with your actual Laravel webhook URL. If your app is installed in a subdirectory, include it:
  1. Replace:
with the same value configured in your Laravel .env file:
Cloudflare Email Worker:
After saving the worker:
  1. Click Deploy
  2. Return to Email Routing
  3. Add the worker as the destination for your support reply domain
  4. Send a test email to verify the Laravel ticket reply is created

Ticket Attachment File Upload Configuration to CDN (S3 | Cloudfront)

Set s3 as the filesystem (upload destination) in .env:
Enter your S3 bucket credentials in .env:
Enter the URL to your S3 bucket or CloudFront distribution domain in .env under:

Configure the reply-to domain in your DNS and mail provider settings to match reply+*@yourdomain.com so all tokenized reply addresses are routed correctly.