Plugins Documentation How It Works About Support My Account Browse Plugins
Support

Bodholdt Tickets

The support desk your team actually wants to open

v0.33.4
PHP 8.0+
WP 6.0+
GPL-licensed
14-day money-back

Get Bodholdt Tickets

License-aware tickets, a Claude-BYOK AI co-pilot, and a desk that plays like a game. A generous free tier with up to 3 agents, unlimited tickets, and AI included. Download it free.

Free

$0

Free forever:

  • Up to 3 agents
  • Unlimited tickets
  • Front-end form, Gutenberg block, and customer portal
  • Custom fields, private notes, and canned replies
  • CSAT ratings plus gamification (XP, levels, leaderboard)
  • Claude-BYOK AI drafting (bring your own Claude key)
  • Embeddable widget and basic reports
Get it free →

Solo

$39.00 /yr

Everything in Free, plus:

  • 1 site
  • Unlimited agents
  • Email-to-ticket piping
  • Departments and routing
  • Advanced per-agent and per-department reporting
  • Licensing-aware customer context
  • Email support while active
Buy Solo →
Most popular

Studio

$79 /yr

Everything in Solo, plus:

  • 5 sites
Buy Studio →

Foundry

$149 /yr

Everything in Studio, plus:

  • 25 sites
  • Priority email support while active
Buy Foundry →
See full feature comparison →
Feature FreeSoloStudioFoundry
Sites 11525
Agents Up to 3UnlimitedUnlimitedUnlimited
Unlimited tickets
Claude-BYOK AI drafting
Canned replies, CSAT, gamification, custom fields
Email-to-ticket piping
Departments and routing
Advanced per-agent and per-department reporting
Licensing-aware customer context
Support credits (Lifetime plans only) 1550150

Support credits apply to one-time (Lifetime) plans only. Annual and monthly plans include email support while active.

Try it free

Start free with the Lite edition

A full support desk, free forever: up to 3 agents, unlimited tickets, and the Claude-BYOK AI co-pilot. Upgrade to Pro for email-to-ticket piping, departments and routing, and advanced reporting.

Get Bodholdt Tickets (free)

The free version is yours. No card, no license key. Enter your email and we will send you a download link.

A 6-digit verification code will be emailed to you.

Real screens from Bodholdt Tickets

These are real admin screens, not mockups. Click any one to view it full size.

A unified inbox you can filter by Open, Mine, All, or Resolved, with priority and category tags, customer-tier badges, and an XP bar that makes support feel like a game.
A unified inbox you can filter by Open, Mine, All, or Resolved, with priority and category tags, customer-tier badges, and an XP bar that makes support feel like a game.
Open a ticket to see the whole conversation, internal notes, and the customer's profile, alongside an AI-drafted reply you can edit before it goes out.
Open a ticket to see the whole conversation, internal notes, and the customer's profile, alongside an AI-drafted reply you can edit before it goes out.
Track ticket volume over time, break it down by channel, category, or department, and see how your first-response and resolution times trend.
Track ticket volume over time, break it down by channel, category, or department, and see how your first-response and resolution times trend.
Set up your channels here, including the front-end form and customer-portal shortcodes, the embeddable widget, and email intake.
Set up your channels here, including the front-end form and customer-portal shortcodes, the embeddable widget, and email intake.

License-aware support tickets, an AI co-pilot that drafts replies, and a workflow that plays like a game. You get a front-end agent support desk, four customer channels (email, web form, portal, and an embeddable widget), departments and routing, and reporting, all self-hosted on WordPress.

Front-end Agent Support Desk (SPA)

AI co-pilot that drafts replies with your own Claude key

Four channels: email, form, portal, and widget

License-aware customer panel

Departments and routing

Gamification with XP, levels, and a leaderboard

Reports on volume, response times, and CSAT

Categories and canned replies

  • Front-end Agent Support Desk (SPA)
  • AI co-pilot that drafts replies with your own Claude key
  • Four channels: email, form, portal, and widget
  • License-aware customer panel
  • Departments and routing
  • Gamification with XP, levels, and a leaderboard
  • Reports on volume, response times, and CSAT
  • Categories and canned replies
Version
0.33.4
PHP Required
8.0+
WordPress
6.0+
License
Annual
v0.33.4
  • Free (wp.org) edition: reworded the customer portal's "Linked emails" copy so it reads as consolidating your tickets across email addresses (no licensing/paid-support phrasing), and finished the wp.org readme (screenshots + a clean free-launch changelog). No behavior change.
v0.33.3
  • Code quality: annotate the custom-table database queries (the plugin owns its own `wp_bt_*` tables, which have no core API) with justified `phpcs:ignore` markers, add `wp_unslash()` to the remaining admin save paths, and trim the short description — clears the WordPress.org Plugin Check warnings. No behavior change.
  • Free (wp.org) build: regenerate the translation template for the free slug/text domain so the shipped `.pot` matches `bodholdt-support-tickets` (no stale licensing strings).
v0.33.2
  • Hardening: escape upgrade-nag output in the agents/plan admin views and add `wp_unslash()` + key sanitization to the Settings and Appearance save paths.
  • Fix: pass bound query parameters to `$wpdb->prepare()` via argument spread in the ticket-queue query so replacement counts match (no behavior change).
  • Free (wp.org) build: the slug rename now also rewrites `assets/admin.css`, so the free edition's admin styling is correctly scoped and no longer renders unstyled.
v0.33.1
  • Desk SPA: surface SLA state in the agent desk — an "Overdue" / "At risk" badge on queue rows, an SLA quick-filter (Overdue / At risk) in the inbox, and first-response / resolution due times with their on-track / at-risk / overdue state in the ticket detail panel. (Pro; the desk shows nothing SLA-related on the free plan.)
v0.33.0
  • New (Pro): SLA management + automation. Set first-response and resolution targets per priority (Urgent / High / Normal / Low), define your business hours (working days, open/close, timezone, or count 24/7), and every new ticket is stamped with due dates. The desk flags tickets that are *at risk* or *breached*, and an hourly check emails the assigned agent and admin the moment a target is missed.
  • New (Pro): round-robin auto-assignment. Tickets routed to a department are automatically handed to the next agent in that department.
  • SLA due dates recompute automatically when a ticket's priority changes. (The basic SLA *report* remains available on the free plan.)
v0.32.1
  • Rebuilt the Agent Support Desk SPA and refined the in-admin help and upgrade prompts.
  • Packaging: the WordPress.org free build now ships a self-contained free edition (Pro-only code physically stripped) and is available as a self-served Lite download.
v0.32.0
  • New, more generous Free + a clearer Pro. The plan model is now free-vs-Pro: paid tiers differ only by how many sites they cover. Free now includes up to 3 agents, unlimited tickets, the support form & block, the customer portal, custom fields, private notes, canned replies, CSAT, gamification, categories, the Claude (bring-your-own-key) AI co-pilot, the embeddable widget, and basic/aggregate reports.
  • Pro (any paid plan) adds: unlimited agents, inbound email-to-ticket piping, departments & routing, advanced per-agent/per-department reporting, and license-aware customer context in the desk.
  • Inbound email intake and the licensing-aware customer context are now gated to paid plans; the free plan is capped at 3 agent seats (upgrade to any paid plan for unlimited agents).
v0.31.0
  • In-app bug reports (authenticated channel). A new `bt/v1/app-report` endpoint lets a companion mobile app file tickets on behalf of the logged-in user — no typed email, identity comes from the authenticated account. Reports land in your desk on the new `app` channel and reply by email like any other ticket.
  • Beta-tester allowlist. Submission is gated on a per-user Beta tester capability, toggled from the user-edit screen (Users → edit a user → "Bodholdt Speed Test — Beta"). Only allowlisted accounts can file reports. The `app` channel bypasses the free-tier cap and the paid-support gate, so it stays fully decoupled from licensing.
v0.30.0
  • Agent email alerts. Get an email the moment a customer opens a ticket or replies — so your team is notified even when nobody has the Support Desk open. A reliable fallback to the desk's browser/desktop alerts (which require each agent to opt in per device).
  • Turn it on under Tickets → Agent notifications: choose whether to alert on new tickets, new replies, or both; send to all agents or only the assigned agent/department; add extra recipients (a shared inbox or on-call alias); and send a test alert to confirm delivery. Off by default.
v0.29.1
  • Appearance preview fix. The settings-page brand preview now faithfully reflects light/dark mode (the admin dark styling was bleeding into the live preview's input fields). Visual-only.
v0.29.0
  • White-label your customer-facing surfaces. The contact form, customer portal, and floating widget now adopt *your* brand instead of Bodholdt's — driven by a single accent colour with clean, neutral defaults. Semantic ticket-status colours keep their meaning.
  • New Appearance settings. Pick a brand colour, light/dark/auto mode, corner style, and font from the Tickets settings page, with a real live preview. Applies across the form, portal, and widget at once. (The agent Support Desk is intentionally left on its own dark theme.)
v0.28.0
  • Refreshed admin styling. The Tickets settings screen now uses the shared Bodholdt Labs dark admin design system — clearer headings and labels, readable inputs and tables, a unified button style, and consistent focus states. No functional change.
v0.27.0
  • Choose your support model. New setting runs lifetime support as non-expiring credits (tokens), a fixed time window, or both.
  • Build your own credit packs. Define any number of packs (credits + price + your own Stripe Payment Link) instead of a fixed single/3-pack.
  • Set how many non-expiring credits each lifetime license grants, by site tier.
v0.26.2
  • See your support credits. The My Tickets portal now lists your available support credits with a per-product breakdown, so you always know what you have and which product each credit applies to.
v0.26.1
  • Renamed to Bodholdt Tickets. The product is now "Bodholdt Tickets" and the wp-admin menu reads "Tickets." No functional changes - your license, data, and settings are untouched.
v0.26.0
  • Product-scoped support credits. Lifetime support credits are now redeemable only for support on the product they were purchased with; manually-granted/comped credits remain universal.
v0.25.0
  • Custom ticket fields. Add your own fields (text, dropdown, checkbox, email, number, and more) to the support form and the new block - values arrive attached to the ticket.
  • Gutenberg support-form block. Drop the support form on any page with a block, alongside the existing [bodholdt_support_form] shortcode.
  • Lifetime support credits. Lifetime license purchases now automatically receive non-expiring support credits, ADDED to any credits you already have (never overwritten).
  • More desk power. File attachments on tickets (customer + agent), a canned/saved-replies picker, one-click ticket deletion, a personal "My stats" tab, and a fully responsive Support Desk.
  • Accessibility, i18n, and reliability improvements throughout.
v0.18.1 · May 22, 2026
  • Brand consolidation: author byline + the License page's support email now use Bodholdt Labs / bodholdtlabs.com.
v0.18.0 · May 21, 2026
  • Licensing + plans. Bodholdt Tickets is now a licensed product with a Free tier and paid Solo/Studio/Foundry plans. Enter your license key under Tickets → License to unlock your plan and receive automatic updates. The Free tier includes 1 agent and 25 tickets/month across email, the web form, and the customer portal. Solo adds the AI co-pilot, the embeddable cross-site widget, categories, gamification, and aggregate reports with CSV. Studio adds departments & routing plus the per-agent and per-department report breakdowns. Foundry removes all limits. Your desk keeps working if a license lapses — it falls back to Free-tier limits after a short grace period, never losing your data. (No database changes.)
v0.17.0 · May 20, 2026
  • Reporting & analytics. A new supervisor-only Reports view in the Support Desk surfaces what the desk already tracks: volume over time (created vs resolved + open backlog, sliced by channel, category, and department), speed & SLA (first-response and resolution times with median/avg/p90 and % within a target you choose), CSAT (average, the 1–5 spread, a daily trend, and breakdowns by agent and department), per-agent workload & outcomes, and the category/channel/tag mix. Pick a date range (7/30/90 days, this month, or custom) and export any report to CSV. Agents can opt out of the peer leaderboard from their stats panel (supervisors still see everyone in reports). Computed live from your data — no setup required. (Adds reporting indexes — applied automatically on update.)
v0.16.0 · May 20, 2026
  • Departments & routing. Group your agents into departments (Sales, Support, Billing…), then map each category to a department so incoming tickets auto-route to the right team — set it all up under Tickets → Departments & routing, and tick which departments each agent belongs to. In the Support Desk, the department shows on every ticket, you can filter the queue by department (or “My departments”), and re-route a ticket by hand from the ticket header. Built to run real multi-team support out of the box; solo operators can simply leave it empty. (Adds an `assigned_group` column — applied automatically on update.)
v0.15.0 · May 20, 2026
  • Categories. Define your own ticket categories (e.g. one per product, or Billing / General) under Ticketing settings; customers then pick “What’s this about?” on the front-end form and the embeddable widget, and you can filter the Support Desk queue by category. The category shows on the ticket and in the queue. (Adds a `category` column — applied automatically on update.)
v0.14.0 · May 20, 2026
  • Onboarding — a new “Channels & setup” panel at the top of the Ticketing admin page. It shows a setup checklist (do you have a form page, a portal page, agents, email intake, the AI co-pilot?) and spells out every way customers can reach you — the form + portal shortcodes (with “view your page” links) and pointers to the widget + email — plus a one-click “Create the support pages for me” button. Makes it obvious how to put ticket entry on the front end.
v0.13.0 · May 20, 2026
  • Phase 4 (polish) — customer-facing pass on the submission form, customer portal, and embeddable widget. Delightful success states (an animated checkmark + warm copy) when a request is sent or a sign-in link is on its way; the widget now has a friendly chat-bubble launcher, properly labeled fields, focus-on-open, and closes on Escape; consistent look across all three. Accessibility + micro-interaction polish; no functional change to ticket handling.
v0.12.0 · May 20, 2026
  • Phase 4 (packaging) — distribution-ready build. Adds a `build.sh` that produces a clean customer/WordPress.org ZIP (ships only the compiled Support Desk bundle, never the React source or build tooling), directory-index hardening (`index.php` silence files), a translation template, and a polished readme. No behavior change for existing installs.
v0.11.0 · May 20, 2026
  • Phase 3 — gamification. The desk now plays like a game: agents earn XP for first responses, resolutions, and good CSAT; XP drives levels (with a progress bar), daily streaks, an all-time rank, a weekly + all-time leaderboard, and unlockable achievements. A stats chip sits in the Support Desk top bar; clicking it opens a leaderboard + achievements panel, and a satisfying “+XP” toast pops whenever you earn points. (Adds a bt_xp table — created automatically on update.)
v0.10.0 · May 20, 2026
  • Phase 2.3 — embeddable cross-site widget. Paste a small snippet on ANY external website and a floating “Contact support” button appears; visitors file a ticket without leaving the page. The widget UI is isolated in a shadow DOM (host-site CSS can’t interfere), and submissions post cross-origin to a token-gated endpoint with an optional origin allowlist + honeypot + rate limit, landing on the “widget” channel. Configure + copy the snippet under Tickets → Embeddable widget.
v0.9.0 · May 20, 2026
  • Phase 2.2 — customer portal. Add the [bodholdt_portal] shortcode to a page and customers can view, track, and reply to their own tickets. Works for logged-in WordPress users (uses their account email) and for customers without an account via a passwordless magic-link sign-in (enter email → receive a secure, single-use link → a 7-day session). Every view is strictly scoped to the signed-in customer’s email; internal notes and AI drafts are never shown. Magic-link requests are honeypot- and rate-limited and never reveal whether an email exists.
v0.8.0 · May 20, 2026
  • Phase 2.1 — front-end submission form. Drop the [bodholdt_support_form] shortcode on any page and customers can file a ticket from your site (pre-filled for logged-in users). New tickets land in the desk on the “form” channel and flow into the same pipeline as email (auto-triage/draft if the co-pilot is on). Posts to a public REST endpoint protected by a honeypot + per-IP rate limit + validation; a clean, self-contained card that fits any theme; on-screen confirmation with the ticket reference.
v0.7.0 · May 20, 2026
  • Phase 1.3 — thread summarize. A “✨ Summarize” button in the ticket header gives agents a one-click internal TL;DR for picking up or handing off a conversation: what the customer needs, what’s happened, current status, and the recommended next step. Includes internal notes for full context; shown in a dismissible banner above the thread; never sent to the customer.
v0.6.0 · May 20, 2026
  • Phase 1.2 — the self-organizing desk. With Auto-pilot on (AI Co-pilot settings), every new ticket is analyzed by Claude the moment it arrives — in one call it sets the priority, adds topic tags, and pre-writes a reply that's waiting in the composer behind the “review before sending” ribbon when the agent opens the ticket. Tags show in the ticket header. Drafts are kept out of the visible conversation, generated at most once per ticket, and discarded once the agent sends. Analysis runs on a background job so inbound email stays fast; nothing is ever sent without a human.
v0.5.0 · May 20, 2026
  • Phase 1 — the AI co-pilot (BYOK Claude). Agents click “Draft with AI” in the Support Desk and Claude drafts a reply using the ticket thread, the customer’s license context, and your brand voice + knowledge base. Drafts land in the composer under a “review & edit before sending” ribbon — a human always reviews and sends; nothing goes out automatically. Bring your own Anthropic API key (stored encrypted at rest); pick the model (defaults to Claude Opus 4.7); set brand voice + a knowledge base in Tickets → AI Co-pilot, with a one-click connection test. The stable system prompt (voice + KB) is prompt-cached for speed + cost across drafts.
v0.4.0 · May 20, 2026
  • Phase 0.4 — email channel + configuration console (closes Phase 0). Outbound: agent replies email the customer via the site’s mail/SMTP, with a [#BT…] subject tag so their reply threads back. Inbound: a token-secured webhook endpoint (no IMAP needed) that any inbound-parse service (Postmark/Mailgun/SendGrid) or server forward can POST email to — new mail opens a ticket, replies thread by the subject tag, and quoted reply tails are trimmed. Console: a wp-admin page to set the desk name, from-name/email, enable in/out email, view + rotate the inbound webhook URL, and grant/revoke agent access. The core engine (license-aware tickets + REST API + Agent Support Desk + email + admin) is now complete; next up is the AI co-pilot.
v0.3.0 · May 20, 2026
  • Phase 0.3 — the Agent Support Desk: a chrome-less, full-page React app at /support-desk/ (agent-gated) where agents work tickets. Tier-colored, triage-sorted queue (Open/Mine/All/Resolved + search); a conversation thread with distinct customer / agent / internal-note styling; a reply composer (with internal notes + ⌘↵ to send); assign + status + one-click Resolve; and a license-aware customer panel showing the customer's Bodholdt Licensing tier, active licenses, sites, and renewal inline. Built with React + Vite (bundle in assets/desk/). Cyberpunk-dark, matches the Labs catalog.
v0.2.0 · May 20, 2026
  • Phase 0.2 — the `bt/v1` REST API (tickets list/get/create/reply, status, assign, csat, plus /me and /agents; all gated on the bt_agent capability) and the license-aware customer lookup that pulls a customer's Bodholdt Licensing tier, products, active licenses, and nearest expiry into every ticket. This is the spine the Agent Support Desk front-end (0.3) will talk to.
v0.1.0 · May 20, 2026
  • Phase 0.1 — initial scaffold: plugin bootstrap, database schema (tickets, messages, attachments, tags, canned replies, activity log), and capabilities (bt_agent / bt_supervisor / bt_admin). Not yet feature-complete; activation creates the schema and a status page in the admin.
After purchase, you'll receive a download link and license key by email. In your WordPress admin, go to Plugins → Add New → Upload Plugin, choose the ZIP you downloaded, click Install, then Activate. The plugin will prompt you for your license key on its settings page. Paste it in and you're live.
A single WordPress install with a unique domain. Subdomains, staging clones, and dev environments don't count against your site limit as long as they're flagged as non-production in the plugin settings.
Yes. Stripe pro-rates the difference. If you bought Solo in January and upgrade to Studio in April, you pay the prorated difference between Studio and Solo for the remaining 8 months. Lifetime-to-lifetime upgrades just pay the difference.
At renewal, yes. Pick a lower tier when your license is up. We don't refund the difference for mid-cycle downgrades.
Lifetime means lifetime of the product. You pay once, you get updates and your license stays active forever. Lifetime licenses also include a bucket of support credits that never expire, so you always have a way into support. If we ever sunset a product (announced 12 months in advance), lifetime customers get a free transfer to the equivalent successor.
Yes. Stripe handles cancellation in one click from your account dashboard. You keep access until the end of the billing period.
14 days, no questions asked, full refund. Open a ticket on our Support page (bodholdtlabs.com/support) using the email you bought with.
Two reasons: Stripe's per-transaction fees compound when you charge 12 times instead of once, and monthly subs have higher churn risk for us. Annual or lifetime is the better deal if you know you're sticking around.
All three include every Pro feature: unlimited agents, email-to-ticket piping, departments and routing, advanced per-agent and per-department reporting, and licensing-aware customer context. They differ only by sites: Solo ($39/yr) covers 1 site, Studio ($79/yr) covers 5 sites, and Foundry ($149/yr) covers 25 sites.
A generous free edition of Bodholdt Tickets is coming soon, self-served from bodholdtlabs.com. It runs a real support desk with up to 3 agents, unlimited tickets, and Claude-BYOK AI drafting included, so it doubles as an open-ended trial of the core product. For the Pro features, the 14-day money-back guarantee is your trial: buy it, run it, and refund within 14 days if it doesn't fit.