ThickGrass
ThickGrass turns any WordPress site into a complete end-user support desk. Requesters open tickets through a simple front-end portal; agents work them from a dedicated admin workbench with saved filters, SLA tracking, an activity timeline, and templated replies. Every list of values (statuses, priorities, categories, ticket types, close reasons, business hours, role permissions, email templates…) is configurable from the admin screens — nothing is hardcoded, so the plugin adapts to how your team already works instead of forcing its own vocabulary on you. All data lives in the plugin’s own database tables; it does not touch WordPress core files or other plugins.
Key Features
- Ticketing — configurable ticket types with automatic numbering (e.g.
REQ-00001,INC-00001), custom statuses/priorities/impact/categories, public comments vs. internal “work notes”, file attachments, and a full per-ticket activity/audit log. - Calls (quick interaction log) — agents log an incoming phone call, email, or walk-in in seconds, then either convert it into a full ticket or close it with a reason — the only way a ticket gets opened by staff, keeping every request traceable back to an interaction.
- SLA management — tracks four targets per ticket (assignment, first response, first update, resolution) against rules scoped to organization, priority, category, and ticket type, calculated using each organization’s business hours, with automatic pause/resume when a ticket is on hold, a visual breach indicator, automatic escalation, and CSV-exportable SLA reports.
- Organizations & assignment groups — group requesters into organizations with their own business hours, and route tickets to the right team of agents.
- Knowledge Base — a public, no-login article library (searchable via shortcode) that agents can also insert straight into a ticket reply.
- Canned responses — reusable reply templates with merge fields (ticket number, title, requester name…), scoped by assignment group and/or location so agents only see what’s relevant to them.
- Custom intake forms — build a form (text, textarea, select, checkbox, file fields) tied to a shortcode, so specific request types land as pre-filled tickets routed to the right group automatically.
- Approvals by email — request an approval on a ticket and let the approver say yes/no straight from an email link, no login required; the ticket moves through configurable “awaiting / approved / rejected” statuses automatically.
- Notifications — configurable email templates for ticket creation, status changes, replies, and SLA breaches; an IMAP inbox that automatically links a reply email back to its ticket.
- Saved views — agents and managers can save their own ticket filters (or share them), so the daily queue is one click away.
How to Use
Where do I find everything?
Activating the plugin adds a ThickGrass item to the WordPress admin sidebar, with:
- Dashboard — the agent/manager workbench: the ticket queue, filters, saved views, and the ticket detail screen (status, priority, assignment, comments/work notes, attachments, activity timeline).
- Record new Call — log a new phone/email/walk-in interaction, and the list of calls already logged.
- SLA reports — SLA performance reporting with CSV export.
- Setup — one screen, organized into tabs, for every configurable list and CRUD entity: Assignment groups, Ticket types, Priority, Impact, Status, On-hold reasons, Call close reasons, Contact types, Custom forms, Category, Organizations, Agents, Users (end-users), Asset types, Assets, SLA definitions, Knowledge Base articles/categories, Canned responses/categories.
- Settings — Email inbox (IMAP) and Email templates.
Front-end shortcodes
Add these to any WordPress page to build your customer-facing portal:
[thickgrass_new_ticket]— the “open a new ticket” form for logged-in end-users.[thickgrass_my_tickets]— a logged-in end-user’s list of their own tickets, with status.[thickgrass_kb]— the public Knowledge Base search/browse page (no login required).[thickgrass_custom_form slug="your-form-slug"]— renders a custom intake form built in Setup → Custom forms.[thickgrass_approval]— the page an approver lands on when responding to an approval request from outside their inbox (used internally by the email approval flow; you generally don’t need to place this manually).
Setting up ticket types, statuses, and SLAs
- Go to Setup → Ticket types and confirm/edit the prefix, number padding, and starting number for each type (defaults:
REQandINC). - Go to Setup → Status to review the ticket lifecycle. Each status has checkboxes controlling its behavior: whether it counts as resolved, closed, on hold (pauses the SLA clock), a one-time-only state, or whether it should auto-assign the ticket to whoever moves it there.
- Go to Setup → Priority, Impact, and Category to adjust the values offered on the ticket form.
- Go to Setup → SLA definitions to define response/resolution targets per organization, priority, category, and/or ticket type.
- Go to Setup → Organizations to set each organization’s weekly business hours — SLA deadlines are calculated against these hours, not the clock.
Logging a call and turning it into a ticket
- Go to ThickGrass → Record new Call, pick how the person reached you (phone, email, self-service, chat, walk-in), enter the requester and a short description, and save.
- From the call, either:
- Convert to ticket — choose a ticket type and requester; the full ticket form opens pre-filled with the call’s details, ready to complete, or
- Close without a ticket — pick a close reason (e.g. “answered by phone”, “duplicate”) and the call is done.
This is intentional: every ticket opened by staff traces back to a logged call, so nothing gets created out of nowhere.
Working a ticket
Open a ticket from the Dashboard queue to change its status, priority, or assigned agent/group, add a public comment (visible to the requester) or an internal work note (visible only to staff), attach files, insert a canned response or Knowledge Base article, or request an approval. Every change appears in the ticket’s activity timeline in one chronological feed, most recent first.
Using canned responses and the Knowledge Base
- Setup → Canned responses — create reply templates with merge fields like
{ticket_number}or{requester_name}; optionally scope a template to specific assignment groups and/or locations. On a ticket, pick one from the dropdown above the comment box to insert it, then choose public/work note as usual. - Setup → Knowledge Base articles — write help articles with a category and tags. Insert one directly into a ticket reply, or point customers to the public
[thickgrass_kb]page to self-serve before opening a ticket.
Requesting an approval
On a ticket whose type/status is flagged to allow it, use Request approval to email an approver a link they can act on without logging in. Approving or rejecting automatically moves the ticket to the matching configured status (and can pause its SLA via an “on hold” reason) — no manual follow-up needed.
Setting up email notifications
- Settings → Email templates — edit the subject/body (with placeholders) sent on ticket creation, status changes, new replies, and SLA breaches.
- Settings → Email inbox (IMAP) — point ThickGrass at a mailbox it should poll (every 5 minutes) so replies sent by email are automatically matched back to the right ticket by its
[Ticket #N]subject tag.