Skip to main content

PBJ Helpdesk — Changelog

Current release: 7.0.0 (September 2026)

7.0.0 — 4 September 2026

7.0.0 — THE SUITE MAJOR, requiring PBJ CRM 7.0.0. One equal version across the suite. DB 13 → 14: the reversible-merge undo ledger (ticket_merge_undo) is created by the ordinary upgrade migration instead of on first use, so it arrives with the update rather than with the first merge. Nothing else changes.

Full release notes: PBJ CRM Suite 7.0.0.

2.58.0 — 2 September 2026

An empty mailbox now shows a short line drawn with the CRM’s shared empty-state frame, so it matches every other empty screen in the portal. No database change.

2.57.5 — 31 August 2026

The unified inbox attention view now resolves all active mailbox projections in one CRM batch and reads their capped unread inbound messages in one query, with no unused per-mailbox counts. Rows, order, unread state, labels, permissions, and database schema are unchanged.

2.57.4 — 30 August 2026

Security hardening around who a ticket is for. Choosing a person or business on a ticket — at creation or later — now checks that the acting agent can actually see the chosen record through the CRM’s own visibility rules, not merely that the record exists. A record outside the agent’s scope and a record that does not exist now return the same refusal, so guessing ids reveals nothing. A business handed in as a person still files as the business, linked pairs still work, and on an older CRM that does not publish the visibility check the previous behaviour is kept unchanged.

2.57.3 — 29 August 2026

Converting a ticket now asks what should happen to it, and closes it when you say so. The ticket declared no source dispositions at all, so the Convert follow-up step never appeared — “Create invoice” made the invoice and left the ticket sitting open every time. Its terminal status comes from this ticket’s own configured status path, never a hardcoded “closed”.

2.57.2 — 29 August 2026

Converting a ticket into a visit now carries the ticket’s own ids across, so Dispatch opens its escalation screen — the one that brings the customer and address over, links both sides and closes the ticket — instead of a blank New booking form.

2.57.1 — 29 August 2026

Mail attach is declared as two controls, Business and Person, each opening the CRM picker narrowed to that kind. The CRM core draws them as chips on the record’s title line.

2.57.0 — 29 August 2026

The Triage board is visible to the people it is for. Its entry in the CRM menu was published at the administrator level, while the board itself has admitted managers and owners since 2.22.0 – so both could reach it by typing the address and neither was ever shown the link. Corrected in both places it is registered. Employees are still refused, by the server, exactly as before.

2.56.0 — 29 August 2026

  • The help desk now appears on the CRM’s new “Who can do what” screen. Six rows: working a ticket, your own saved replies, the team view and triage board, the shared saved replies, the configuration screens, and the shared inbox – each against the four staff levels, with a note explaining the answer.
  • Nothing about who can do what has changed. This release only tells the CRM what the answers already are, so the screen can show them.

2.55.0 — 29 August 2026

  • The help desk now honours the CRM’s staff-list switch. PBJ CRM 1.73.0 puts “The help desk takes its staff list from the CRM” on its Danger screen, behind a typed confirmation. It is on, it has always effectively been on, and nothing changes on upgrade – but it is now a real switch rather than a sentence, and this release is the half that reads it. Administrators are deliberately unaffected either way, so turning it off can never lock somebody out of the screen that turns it back on.
  • Stored mail retention can be set from the CRM’s Mail screen. The same four settings as on the help desk’s own screen, writing to the same place – one store, two doors, so they cannot drift. It is on the Mail screen because deleting mail in bulk on a timer is one of the few things the website admin still keeps; reading, filing and replying to that mail stays in the product where your team works.
  • An email that became a ticket is still never touched by any of this, whatever is set – said on both screens rather than assumed on one.

2.54.0 — 29 August 2026

  • Shared canned replies are on the front end. Settings > Canned replies now opens in the CRM. Add one, rename one, edit the wording, or clear a title and save to remove it – without leaving the portal.
  • Bold, italic and lists are kept exactly as they were. This is what the screen was waiting for: until now the only way to put a saved reply on the front end would have flattened the formatting of every one you already had, so it stayed in the website admin on purpose.
  • Your own private saved replies are unchanged and stay on your personal settings page. This screen is the team library only, and it never touches anybody’s own writing.
  • On a CRM older than 1.72.0 nothing changes – the screen keeps its “open in website admin” link rather than showing you half of itself.
  • Tickets can now have their own “Who sees what” setting. A CRM owner can set tickets to open or scoped separately from everything else. Nothing changes until they do, and an agent always keeps the tickets assigned to them and the ones in their groups. A client still only ever sees their own.

2.53.0 — 29 August 2026

  • The group-to-category mapping is now also editable from the CRM’s new Group settings screen. It is the same mapping written by the same code – the wp-admin screen is unchanged and both doors agree.
  • A ticket that lands in a group with nobody’s name on it can now be handed to somebody automatically, using the group’s default assignee set in the CRM. Anybody marked away is skipped and the ticket says why.
  • An explicit assignment is never overridden, and a group with no default assignee behaves exactly as before.
  • Requires PBJ CRM 1.69.0 for the new screen; everything degrades safely on an older hub.

2.52.0 — 29 August 2026

  • A ticket is no longer handed automatically to somebody who has marked themselves away. It stays unassigned for the next person to pick up, and the ticket says why.
  • The triage board and the team list show who is out of office, and until when.
  • The two running-late warnings are marked urgent, so quiet hours never hold them.

2.51.0 — 28 August 2026

  • Refusals explain themselves (Access Ladder 23.3). Where a helpdesk screen or route turns somebody away by rung, the message now names the rung, names somebody who holds it, and offers what this person CAN do instead — built by the CRM, so the same refusal is not worded three different ways by three plugins.
  • Guarded on the hub: where the CRM is too old to build one, the plugin’s own sentence is used instead, so PBJ_HELPDESK_MIN_CRM deliberately does not move.
  • No schema change.

2.50.14 — 28 August 2026

  • Translation template regenerated. No code change.

2.50.13 — 28 August 2026

  • The ticket’s terminal action reads Close, and its dialog reads “Close this ticket?” / “Close ticket”. Status paths and stage labels are unchanged.
  • Ticket and convert screens leave the customer name to the CRM instead of writing “Selected person” / “Selected business”.

2.50.12 — 28 August 2026

  • Emails show a line of the message under the subject, and say who they belong to and what they are attached to — both settable from that same line.
  • Your own replies look like your replies. A message written back through a phone or text bridge had no WordPress author, so it was drawn in the customer’s bubble under the customer’s name.
  • The reading pane is the conversation. The assignment form, the facts form, the checklist and the portal invite have moved to the ticket itself — the pane’s own header carries those fields as click-to-edit controls.
  • Change customer is a small button beside the customer’s name and opens the finder directly, with “Just <business>” available when the ticket belongs to a business and nobody in particular.
  • Merging two contacts now moves tickets, messages and email customers onto the survivor.
  • Ticking a ticket or an email no longer reloads the list.
  • Tickets waiting on you appear in the Inbox; ones you have answered stand in Needs me.

2.49.0 — 26 August 2026

  • One reply can carry Cc and Bcc. Choose who is copied and who is copied blind from the same panel you pick recipients in.
  • A blind copy stays blind. Bcc is delivered through the mail envelope and is never written into a header anyone can read; the ticket’s timeline counts blind copies rather than naming them.
  • The address list refuses rather than truncating: twenty addresses per reply, counted across To, Cc and Bcc together, and a reply addressed to nobody is refused instead of quietly promoting a Cc.
  • A finished visit or task can become a ticket, with the customer carried into the new ticket form.
  • The ticket’s conversation is now placed by the shared record template, so it looks the same as every other work item.

2.48.0 — 26 August 2026

  • Ticket facts are editable where they stand — Status, Priority, Category and Agent. Closing still runs the close flow, so the invoice question is never skipped.
  • The agent picker searches the one suite roster and offers no create door, because an agent is a WordPress user.
  • A field the ticket has is shown even when it is empty, so the state where you most need the control is no longer the state without one.

2.47.0 — 25 August 2026

  • Removed the last Helpdesk-owned team and group painting paths after moving their behaviour into the shared workspace.
  • Tickets, Mail, Triage and replies now sit on the same shared card, reader, workspace, dialog and composer.

2.46.0 — 24 August 2026

  • Ticket, mail, history and triage surfaces now consume the CRM-owned item card, reader and saved workspace contracts without module-owned ordinary card chrome.
  • Ticket bulk Clear and Escape now clear live ticks, restore the breadcrumb footer and reject a stale asynchronous repaint.
  • Scoped Helpdesk tickets now appear in the CRM-owned Open Work section for contacts and businesses.
  • Mail selects its first readable item automatically while preserving mailbox identity, exact recipient behavior, reply actions and ticket conversion.

2.45.0 — 24 August 2026

  • Ticket, mail, history and triage lists now use the CRM card, reader and saved-workspace design.
  • Mail no longer carries a second embedded navigation rail, and non-reply email actions now use the breadcrumb footer.
  • Reply and Reply all use the shared compact composer with editable identity and recipients.
  • A reply can optionally create a ticket after the message sends successfully.

2.44.0 — 22 August 2026

New: handing a ticket over is one act, done at the ticket. Open it, type a name into the picker, choose the person, done — instead of the old two steps of picking somebody in one place and then crossing the screen to apply it.

Changed: the six separate assign controls scattered around the helpdesk have all been brought onto that one picker, so handing a ticket over works the same way wherever you do it.

Fixed: the “it worked” message destroyed itself the instant it appeared. It was being put on the screen a moment before a redraw that wiped it straight off again. Five places were doing this. All five are fixed.

Fixed: the agent directory was being fetched five times per screen instead of once.

New: the helpdesk’s five settings screens are now drawn by the CRM inside the portal, in the same look as everything else. What they do has not changed — only where they live and how they look. No database change.

2.43.0 — 20 August 2026

New: mark a ticket as read. When a ticket is waiting for a reply, one press says “I have seen this” — it clears your unread count and takes the ticket off your waiting list, your bell and your inbox, without sending the customer anything. It is per person: marking it read on your screen never hides an unanswered customer from a colleague, and the manager views still show every unanswered ticket. If the customer writes again, the ticket comes back onto your list by itself; there is nothing to un-tick.

New: join two tickets together. Two tickets that turned out to be one job can be merged: the conversation, the emails, the attachments, the checklist and any linked texts or calls move onto the ticket you keep, and the other one is closed with a note pointing at it — never deleted, so an old email quoting its number still finds a home. Merging a ticket into itself, a number that no longer exists, more than twenty at once, a ticket you are not allowed to manage, or two different customers’ tickets are each refused by name with a sentence saying why; the two-customers one goes ahead if you tick the box to say you mean it.

New: tick boxes on the ticket lists. Close, hand over to a person, hand over to a group, mark as read, add somebody to the ticket, merge and delete — all on a selection. Handing to a person and handing to a group are two separate actions, because putting a ticket in a group takes the individual’s name off it so the group can pick it up. Permission is checked again on every single ticket, you get back a list of any that were skipped and why, and asking for more than 200 at once is refused rather than quietly half done.

New: tick boxes in the mail piles too. Move to inbox, filed, spam or bin, mark spam, add to a ticket, turn into tickets, and delete. Email that belongs to a ticket is protected on every one of them, exactly as it is one at a time.

New: texts and calls on an open ticket are added to it, the same way inbound email is. The message arrives as the customer’s reply, so the ticket goes to “waiting on a reply” and turns up on the bell and in the inbox. A text or call about a ticket that is already closed does not reopen it — a note is written on the closed ticket saying they have been in touch and where to look.

New: somebody else can be put on a ticket straight from the contacts list. They become a participant — pickable in the reply box’s “Send to” row, with a line on the timeline saying who added them — and the ticket’s own customer is never overwritten.

Changed: the notifications “Tickets” row now counts the open tickets on your plate — the ones assigned to you, plus any unclaimed ones you are allowed to pick up — and shows the replied ones as part of that number (“Tickets: 5 open (3 replied)”) instead of adding two different piles together. The Inbox row counts the same emails the inbox actually lists, rather than counting mail from folders it does not show.

Database version 12: one new column on the per-person read table. It is added on its own, checked before it is recorded as done, and tried again on the next page load if the server refuses it. Without it nothing is ever marked as read and everything behaves as it did in 2.42.2.

2.42.2 — 19 August 2026

Fixed: an email that arrived after its ticket was closed disappeared without a trace. It threaded onto the closed ticket, was filed out of the inbox as ticket mail, and sat on a ticket no open list, waiting list or notification count ever shows — stored, but invisible. A closed ticket now never takes new mail: the email stays visible and goes down the brand-new-mail path — becoming a new ticket automatically for known senders, or sitting in the triage inbox for an agent — with the closed ticket recorded as a “looks like a follow-up” suggestion so the history is one press away. A closed ticket is never quietly reopened.

Changed: the notifications menu shows tickets as one line. “Your open tickets” and “Waiting on a reply” were two rows counting the same work twice; the row now reads “Tickets: 5 open 2 replied” (“replied” — the customer spoke last and is waiting on you), and when something has been replied to it opens that waiting list. No database change.

2.42.1 — 19 August 2026

Fixed: making a ticket from a RingCentral text or call always refused with “Ticket needs: source_url”, however the number was linked. The help desk was rebuilding the phone module’s screen address from route names that module stopped using before it ever shipped, then requiring an exact match — so the check could never pass. It now validates the supplied address the right way (this site’s portal, pointing at exactly that text or call) without pretending to know another plugin’s routes. Pairs with PBJ RingCentral 1.5.2.

2.42.0 — 19 August 2026

Your ticket screens now look like the rest of the suite — triage, every ticket list, the mail list and the Team screens draw the CRM’s unified cards, with the same icons and colours as everywhere else. The tickets screen’s dropdown offers Open / Closed / Awaiting reply. And having this plugin active now unlocks two things in the CRM’s marketing area: the designed-email builder and the minutes-between-emails drip setting.

2.41.0 — 19 August 2026

Reply to more than one person. Email replies on a ticket get a Send to row: the requester is always included, and you can tick contacts at the customer’s business, people who wrote in on the ticket, anyone you find in search — or type in a plain email address for somebody who is not in your records yet. One email goes out to everybody chosen. A mistyped address is refused, and typing an address never creates a contact by itself.

2.40.0 — 18 August 2026

The waiting-on-a-reply list has a real address, so the notification count lands on it instead of an error page. An open ticket shows a red Close button beside Book this in (Create invoice moved off the open bar; closing still asks about an invoice). The Mail screen opens straight into your first mailbox’s inbox, and clicking a sender’s name lets you match or create the customer on the spot. Requires PBJ CRM 1.44.0 or newer; no database change.

2.39.0 — 18 August 2026

Tickets waiting on a customer reply are marked, counted and listable. A ticket whose newest message came from the customer wears a waiting mark, is counted in the CRM’s Notifications menu and unified Inbox, and has its own “Waiting on a reply” list view. Each agent also sees how many customer messages are new since they last opened a ticket (a small new watermark table — database version 11, additive only).

The ticket header now shows the business first, then the person, with who spoke last. Closed tickets show a Create invoice or View invoice button for people with invoice access — including in a team member’s history, which gained an Open/Closed toggle — and agent replies now appear on the agent’s, the business’s and the contact’s timelines. Requires PBJ CRM 1.44.0 or newer.

2.38.0 — 18 August 2026

Faster ticket lists on big databases. Additive sort indexes on the ticket table remove a filesort from the queue screens. Database version 10 (additive only — nothing to redo).

2.37.0 — 17 August 2026

Save and close now saves or delivers first, then closes. A failed delivery leaves the ticket open; a sent reply followed by a close failure shows a durable warning and cannot be accidentally sent twice.

A newly closed ticket offers Create invoice or No invoice only to a permitted agent. Triage shows the complete task checklist with working Edit and tick controls, and closed tickets retain their resolution date and invoice actions.

2.36.0 — 17 August 2026

Replies remember how the work arrived. Inbound email, text and phone can establish an immutable communication origin; replies default to that usable channel, while an unavailable or missing origin requires an explicit choice.

Email retains its mailbox and thread. Text and click-to-call use the CRM communication provider, and background email intake remains strictly tied to the authoritative stored inbound message. No database or minimum-CRM change.

2.35.0 — 16 August 2026

Ticket reporting now lives on the CRM’s unified Reports screen. Helpdesk registers its searchable ticket report only while the module is installed, so there is one reporting destination and no empty Helpdesk placeholder when it is absent.

Requires PBJ CRM 1.46.0 or newer. No database change.

2.34.0 — 16 August 2026

Current tickets now appear in the CRM profile’s Everything view. They are filed for the customer, the business, the assignee and the member of staff who created them, while the existing CRM visibility rules still decide who may see each row.

Personal helpdesk notification choices now use the CRM’s self-service Notification settings on the staff member’s own profile. Owners continue to control site and group notification rules in admin. Requires PBJ CRM 1.44.0 or newer; no database change.

2.33.0 — 16 August 2026

Your name in the CRM top bar now opens your own CRM profile and timeline. Helpdesk no longer redirects it to notification and canned-reply settings; those settings remain available from Helpdesk navigation.

Requires PBJ CRM 1.44.0. No database change.

2.32.0 — 15 August 2026

“First reply” is now a record of what happened instead of an editable box. First reply due and resolution due remain editable targets, and a ticket with no reply yet says “Not yet”.

The assignee, requester and client names link to their CRM records only when you are allowed to open them. Triage no longer pulls the whole Tickets menu in or appears twice; Reports and site settings live on the CRM’s shared screens; and dialogs follow the chosen theme.

2.31.1 — 15 August 2026

A ticket made from a visit was being recorded as if somebody had typed it in by hand. When a booked job is turned into a follow-up ticket, the ticket was stored as hand-logged work, and the only trace of where it really came from was a reference number nothing ever put on screen. A ticket now knows that a visit can be where it started, and the opening line of its history says “opened from a visit”.

That opening line now names any way of raising a ticket, including one it has not been taught yet. It only ever mentioned email, so a ticket that came in from a form or from a visit said nothing at all about where it came from.

“Who this is with changed” shows properly in the history again. That note has been written since 2.30.0 but was never registered with the timeline, so it turned up with no icon, no heading, and could not be filtered for. It now reads like every other entry.

No database change.

2.31.0 — 15 August 2026

A ticket is now something you can attach things to — tasks, notes and files. One declaration to the CRM does all three.

Anything attached to a ticket follows it when the ticket is escalated to a visit, and comes back if that visit is turned back into a ticket.

The ticket’s own number is used wherever an attached item says where it lives — the number stored on the ticket, never one worked out from its id, so it always matches the number on emails you have already sent.

Also carries the to-do box fix from 2.30.2, which was never released on its own.

2.30.2 — 15 August 2026

The “add a to-do” box now has a width of its own. It relied entirely on being stretched to fill its row — the same shape that collapsed the CRM’s checklist box to a sliver on an iPhone.

The phone case was already handled here and is untouched. On a narrow screen this row has always stacked so the box takes a full line. What is new is the band between a phone and a laptop, and any browser that will not stretch a box at all.

Found by sweeping for the same shape everywhere after fixing the CRM, not from a separate report. Look only, and no database change.

2.30.0 — 14 August 2026

Send and close. A reply box now has a second button that sends your reply and closes the ticket in one press, after asking you to confirm. If the reply fails to send the ticket stays open; if the reply sends but the close fails, you are told that plainly rather than being left to send it twice.

Closing is a button, not a date. The “Closed” row used to be a date field, which let you write a closing date onto a ticket that was still open — a ticket claiming to be finished while sitting in the open list. It is now a Close button that actually closes it, which means the notifications go out and the customer is told.

The opening date and time can no longer be changed. When a ticket was opened is the fact everything else is measured against — the response clocks, its age in every list, the order of its history — so it is shown as plain text now.

You can say who a ticket is with. A ticket logged over the phone, or an email whose sender was not recognised, had nobody on it and no way to add one. There is now a picker, the same one used for choosing the customer. A ticket still does not need one — “set to nobody” is a real choice, not a mistake.

2.29.0 — 14 August 2026

You can now add ANY email to ANY ticket by hand. Open an email in the mail client and press “Add this email to a ticket”, then search by ticket number, subject or customer. Until now the only way to file an email onto an existing ticket was to accept the one ticket the help desk had guessed for you — and when it guessed nothing, or guessed wrong, there was no way to do it at all.

The mail client can now be opened by your agents — but only if you switch it on. It is OFF when you update, so nothing changes for anybody until you tick “Let agents use the mail client” under Helpdesk settings. With it off the mail client stays administrators-only, exactly as it has always been.

Once you have switched it on: an agent sees an email attached to a ticket only if they can see that ticket. Email that is not on a ticket yet belongs to nobody, so any agent can pick it up and file it — that is what filing an email requires, and it is spelled out on the settings screen before you turn it on. Attachments follow the same rule as the email they came from.

Emptying the bin, blocking a sender, composing, retention and the mailbox list are unchanged and still administrator-only.

2.28.0 — 14 August 2026

The help desk can answer “what does this customer see”, and the standalone page finally has a margin.

On a contact or business in the CRM there is a new Show as client button. The help desk is what fills it in: it hands over that customer’s tickets in the same shape a client sees them — the number, what it is about, where it has got to and when — and nothing an agent sees. No assignee, no clock, no internal notes. Closed tickets are included, because a customer’s own page is their history.

The standalone help desk page had no margin at all. If your help desk is on its own page rather than inside the PBJ CRM portal, everything on it started hard against the left edge of the screen. It now has a proper gutter. Nothing changes if you run the help desk inside the CRM portal, which already supplied one. No database change.

2.27.0 — 14 August 2026

The ticket screen has one place for the facts, and every one of them can be changed where it stands.

Who it is assigned to, which team, who it is for, the category, the status, the priority and all four dates now sit in a single Attributes panel down the right-hand side — and each one is a live control, not a label. The five separate boxes that used to restate those same facts underneath are gone: the screen used to say everything twice, once as text and once as a control, and the two could disagree while you looked at them.

Choosing the business or person is now a pop-up rather than a permanent block of the sidebar. Dates can be corrected for the first time — a job phoned in on Friday and logged on Monday can be dated Friday — and every correction writes the old value and the new one onto the timeline, so the record gains the correction rather than losing the original.

On a phone the order changed: Attributes at the top, collapsed, then the conversation, then your checklist, then the portal account, with the requester’s details last. The requester card now starts closed and its email, phone and web addresses are clickable. Print puts every panel back on the page. No database change.

2.26.2 — 13 August 2026

Housekeeping, all of it invisible in normal use. The mail checker was writing a PHP warning into the site’s error log every single time it ran, and the same fault meant that on an email made of several parts the help desk could take the wrong part as the message body. Nearly all email is one part, which is why this never turned into a complaint. A second fault logged a database error while WordPress was working out its scheduled jobs, and on one occasion stopped the schedule list being saved at all. A third logged a database error when updating from 2.12.0 or earlier. Mail delivery itself was never interrupted. No database change.

2.26.1 — 13 August 2026

Fixes the amber “due today” chip in the Triage feed, which could never appear. It tested for two words that nothing in the suite has ever sent, so in practice a row either showed the red overdue chip or showed no chip at all. It now recognises the word the CRM actually sends, and the older wordings are kept as well, so an older CRM behaves exactly as it does today rather than losing the chip. A finished job still gets no chip, which is the point. No database change.

2.26.0

A ticket now reads in a fixed order. Who it is for and who is handling it, then what it is about, then when it came in, and then why. Conversation and Timeline sit underneath, both working exactly as they did before.

You can now rename a ticket. Click the subject and type. Managers and owners only, and the change is written onto the ticket’s timeline, so everybody can see what it used to be called.

A clear Edit button at the top, and a print button. Printing a ticket now leaves out the menus, the reply box and the welcome banner.

2.24.0

An assistant can now answer a ticket, not just raise one. Until now it could start a ticket and read one, but it could not reply. It can now post a reply the customer sees, or a note only your team sees, and it obeys exactly the same rules about who may write what that the portal obeys. Internal notes are only ever in the list for the people entitled to see them, and that decision is made in one place rather than two.

It can also look up your categories and your status steps. An assistant can ask what categories you have, and what the steps are on one of them, so it can file something in the right place without first having to open another ticket to see what the right place is called.

2.23.0

“What has changed since” now gives an honest total. Ask an assistant which tickets have changed since a date and the number it reports is the number that really did change, and it agrees with the tickets listed beside it. It used to hand back the total for every ticket you have, so the count stopped short of the truth — an assistant reading it would either give up early or keep hunting through work that was not there. An assistant asking what has changed now gets the complete answer.

2.22.0

Triage is rebuilt as the place a manager or owner runs the whole day. Everything due across the system — tasks, tickets and visits together; incoming mail still to be turned into tickets; and your teams: a card for every member of the groups you manage, with their open and overdue counts and a “Give it to them” button, plus staff not yet in any group in a simple list. Managers and owners get it — not just administrators.

Triage no longer appears inside Tickets. It lives in the Dashboard, full stop.

Fixed: clicking an email in the inbox opened My Queue instead of the email. Opening a message now works from anywhere you can see one.

2.21.0

Tickets are available to the CRM’s new assistant connector (Apps & Assistants). Requires PBJ CRM 1.29.0 or newer.

2.20.0

My Queue no longer shows closed tickets. Clicking “Your open tickets” in the top bar used to land on a list that mixed in tickets you had already closed. My Queue and the group queues now start on open tickets only, and both carry the same All open and closed · Open · Closed choice the other ticket lists already had — your closed tickets are one click away instead of mixed in with the live ones. Unassigned is deliberately unchanged: a ticket waiting to be assigned is open by definition. No database changes.

2.19.0

Mail now has exactly one home. The mail client lives in Communication ▸ Help desk inbox only — the Tickets and Triage sections no longer build a Mail pill or the mail screen behind it. And Triage joins the CRM’s new Dashboard group as the landing screen for administrators, alongside PBJ CRM 1.28.0.

2.18.0

The ticket search now honours the search’s per-kind limit exactly as documented. No visible change on most sites.

2.17.0

The help desk now feeds the CRM’s new top bar: your open-ticket count (the same number the triage screen shows) and, for mail managers only, the unread inbox count. Ticket search joins the CRM’s new global search — subject, reference or customer — and only ever returns tickets you could already open. Clicking your name in the top bar opens your helpdesk profile. Requires PBJ CRM 1.24.0 for the new bar; on an older CRM everything simply stays as it was.

2.16.0

Phase 14’s help desk half. No database change.

The booking form speaks your words. If PBJ Dispatch (1.4.0+) has been told to call a visit a “call-out” or an appointment a “fitting”, every sentence on the “Book this in” form says so too. With an older Dispatch, everything reads exactly as it did.

Handing the job over. Managers and owners can hand the new visit to a different agent right on the booking form — “Who is doing this one?”, with the current agent pre-picked. The list only ever contains people the server will actually accept, and when there is nobody it says so in a sentence instead of showing an empty box. Employees see who has the ticket and no picker.

A directory fix. A manager who was not in any team used to see a directory containing only themselves. The list now comes from PBJ CRM’s one suite-wide roster (CRM 1.23.0+): your teams, plus staff not yet in any team, never anybody above your own rank.

2.15.0

Two things, both about letting the rest of the suite reach a ticket. No database change.

A “Create an invoice” button on a ticket — open or closed. The row of buttons at the top of a ticket was written for PBJ Dispatch and only ever drew for it. It now draws for PBJ Invoicing as well, so with PBJ Invoicing 1.16.0 or newer you can turn any ticket into an invoice, including one you have already closed. Each add-on is checked separately, so having one and not the other never hides the other’s button, and on a site with neither the bar looks exactly as it did.

People who are not in your contact book can open a ticket. Until now every way into the help desk needed a login. There is now a public ticket-intake seam, and its first user is the public invoice page: a customer looking at their invoice can ask a question about it and it arrives as a ticket, with no account and no password.

Worth being clear about what that does and does not mean. Nothing on your site becomes publicly reachable just by updating — the seam is a socket, and with nothing plugged into it nothing happens. It is deliberately built as a place things plug into rather than as one fixed form, so a proper public contact form can arrive later without changing the help desk. The spam trap, the rate limits and the confirm step all belong to the help desk itself, so nothing that plugs in can switch them off. And a stranger’s typed-in name does not go into your contact book: their details arrive on the ticket, where an agent reads them and adds the person deliberately.

2.14.0

Agents can now add a brand-new person or business right from the new-ticket screen — no hopping over to the CRM first. The “Who is this for?” boxes on the new-ticket form now use PBJ CRM’s shared contact picker: type a few letters and matching people and businesses appear together, and when nobody matches, the box offers to add them on the spot with a small name, email and phone form. Nothing is ever created without you asking. Needs PBJ CRM 1.22.0 or newer to appear; on an older CRM the form keeps its own search boxes, unchanged.

Every person and business page in the CRM (1.22.0+) now carries a “Start something” row, and the help desk puts a “New ticket” button on it. Pressing it opens the new-ticket form with that customer already chosen — a business record arrives in business mode, a person in person mode — and either can still be changed or cleared before the ticket is made. Opened any other way, or on an older CRM, the form behaves exactly as it always did. No database changes.

2.13.0

The spam pile now has an “Empty the spam pile now” button, the one the bin has had for a while — and both buttons now tell you what they left behind. Email that belongs to a ticket is never deleted, so an “empty” can legitimately leave messages behind: instead of a bare number that does not add up, you now get how many were deleted and how many were kept, and why, and the two always reconcile against the pile’s badge.

A new “All mailboxes” entry at the top of the mail rail shows every mailbox’s mail in one list, with the pile counts added up to match. It only appears when you actually have more than one mailbox, and you cannot send from it — composing picks a real mailbox.

And when one email address belongs to more than one customer, the ticket now asks you which one it is for, offering the choices instead of quietly filing under the oldest — anything you have taught it before is listed first and marked as remembered. It only ever asks: nothing is written until you click a name, so tickets filed correctly months ago are unaffected, and it only names records your own account is allowed to see. There is a small database change (schema version 9): one address can now REMEMBER more than one customer. One index changes shape and nothing else — no message, ticket or contact is deleted, updated or re-filed. Shared addresses need PBJ CRM 1.20.0 or newer.

2.12.0

Four fixes from a sweep of things reported on the live site. The Welcome line at the top of the portal now stays gone once you close it — it used to come back in the next tab, the next day, and the moment somebody’s role changed. Emails now always open on a white page in the mail screen: on the dark colour schemes a plain email could come out as dark text on a dark background and simply could not be read. The little calendar button on the “Book this in” date box is visible on the dark schemes instead of a black smudge. And one email address is now allowed to belong to more than one customer — the help desk still files a ticket under exactly the customer it always did, it just now knows when there is more than one possible answer, ready for the screen that asks (which arrived in 2.13.0). Shared addresses need PBJ CRM 1.20.0 or newer; on an older CRM everything else here still works, unchanged. No database changes.

2.10.0

New: a documented seam for other plugins to hold back one closure email. When a ticket is closed, the help desk now asks — once, for that close — whether the “your ticket has been closed” message should be sent. With nothing listening, it sends, exactly as before.

Why it exists. PBJ Dispatch closes a ticket when it turns it into a booked visit. Without this, the customer would get the booking confirmation and a closure notice in the same minute, for one job. The help desk does not know or care which plugin is asking; it just asks the question.

Only the email is held back. The stage change, the closed stamp, the silent claim, the timeline note and the status-changed action all still happen, exactly as they do for any other close. There is no site-wide “closure emails off” switch, and this is not one.

The existing bulk-manager behaviour is unchanged and still takes precedence on its own.

No database changes. Pairs with PBJ Dispatch 1.1.0, released alongside it.

2.9.0

A safety release for the database. On a site where an earlier update had only partly applied, the help desk could fail in ways that looked like something else entirely — new tickets refusing to save, incoming email quietly not being stored, or a mailbox connection being made over and over. Every one of those paths now checks first and steps around the missing piece instead of failing, and the site repairs itself the moment the database catches up.

The plugin also stops recording a database change as done unless it can see that it actually happened, and stops retrying for ever on a host that will never allow it — after five attempts it leaves one clear notice naming what is missing.

It also now checks that PBJ CRM is not just installed but new enough. On a site running an older CRM the help desk could take the whole site down; it now shows one notice and loads nothing. Some tidying of code and settings nobody used. No database change.

2.8.0

Your tickets now appear on the CRM’s new Today screen, alongside your tasks, in one list sorted by when things are due. You still only ever see the tickets you were already allowed to see — the help desk decides that, exactly as it does on every other list, and the CRM only merges what it is handed. Update PBJ CRM to 1.16.0 as well, or Today will show tasks only.

The per-stage status dropdown has been removed from every ticket list. Every row already prints its exact status in the Status column, so the dropdown asked you to re-specify something you could already see — and it was the half of the pair that produced silent empty lists, because its “Open” meant one single stage while the control beside it meant “not closed”. What survives is the simple one: All open and closed · Open · Closed.

The triage screen’s “New messages (not tickets yet)” card has been removed. It counted inbound mail sitting in spam, in the bin and in filed, while the list directly beneath it showed the inbox only — so it could read “191” over an empty list. The inbox is right there underneath; the number was not telling you anything the list was not.

2.7.0

The Email Templates and Canned Replies tabs have gone from the help desk’s own settings. Both editors moved to PBJ CRM’s Templates & Notifications tab back in 2.5.0, and until now they sat in both places at once — the same editor behind two different doors. Every link and button that used to point here takes you straight to the CRM tab instead, including the “Review the templates” step in the setup guide. Nothing about the templates themselves has changed and nothing has been deleted. On a site still running a CRM older than 1.12.0 the two tabs stay exactly where they were, so nothing can become unreachable. No database changes.

2.6.0

When you reply to a ticket you can now choose which of your mailboxes it goes out from, instead of the help desk always deciding for you. Leave it alone and it decides exactly as before. The choice applies to public replies only — an internal note is never emailed, and a client never picks the address your business sends from. No database changes.

2.5.0

The triage screen now leads with the tickets assigned to you. Its first tile used to count new messages, which is not something anybody is answerable for; it now counts your own still-open tickets and opens them as cards when clicked. Open-ness is read from each ticket’s own status path, so a category with its own stages is counted properly rather than against a fixed list of names. “Tickets waiting to be assigned” appeared twice — a tally and the heading of the list it was counting, each fetched separately; the tally and its database query are gone. New messages have moved to the top of the screen. Clicking a person on the Team screen now shows what they have been working on beneath their open tickets — replies and notes across every ticket you are allowed to see, newest first, each naming its ticket, with a filter by kind of activity. You can add your own sign-off to replies, written once on your profile using your name, job title and direct number; it is off until you turn it on, and a manager can set a shared one instead. Categories can carry their own wording, so a “Billing” ticket reads differently from a “Technical help” one — fill in only what differs. Email templates and canned replies have moved to PBJ CRM’s Templates & Notifications tab alongside every other add-on’s, and groups are now created and edited in the CRM, leaving this Groups tab as “Group categories” for the one job the CRM cannot do. History, Reports, Team, Settings and Profile are tucked under a single “Settings” button rather than sitting in the main row — nothing moved out of reach and nobody sees more than before. Security: the sign-up link at the bottom of a client’s email now expires after 24 hours and offers a fresh one, where before it worked indefinitely, so a forwarded email handed account setup to whoever received it. Requires PBJ CRM 1.10.0 or newer. No database changes.

2.4.1

A fix for 2.4.0. On some servers the database update from that release did not complete, and when that happened the mail list came back completely empty — while the message count above it still showed the right number, so the inbox looked wiped rather than broken. No mail was ever lost. This release repairs the database by itself on the next page load and the list comes straight back.

Two related fixes came with it. The update used to record itself as finished even when the database change had been refused, so it never tried again; it now only records success once the change is really in place. And every part of the plugin that uses the new columns checks they exist first, so a site part-way through the update keeps replying, keeps taking internal notes and keeps collecting email as normal — you simply do not get follow-up suggestions until the update finishes.

2.4.0

Plenty of customers do not press reply. They open a brand-new email, type the same subject, and send it — and until now that landed in your inbox looking like fresh work, with the ticket it belonged to sitting open two feet away. The helpdesk now spots those. When an email arrives from the same person, about the same thing, as mail already on a ticket, it gets a caution mark in the inbox, and opening it offers Add to ticket HD-n — showing you that ticket, what it is about and whether it is still open, so you can check before you agree. Nothing is ever attached on its own. There is a Not a follow-up button too, which clears the prompt and leaves the email where it was.

Every ticket also has a new Timeline tab beside the conversation: the whole life of the job in order, day by day — opened, what the customer wrote, what you replied, internal notes, status and priority changes, reassignments, category and customer changes, missed response targets, and follow-up emails you added. When a job has dragged on and somebody asks what actually happened, the answer is one tab away. Tickets you raised long before this update get a full timeline too. Internal notes stay staff-only there, and group tickets stay nameless, exactly as everywhere else.

The database updates itself when you upgrade. A background job fills in what is needed to match older mail; until it finishes, suggestions simply do not appear for that older mail.

2.3.0

A bug-fix release from a full code review. Seventeen colour tints across the portal — status pills, notice backgrounds, hover shades — were being thrown away by every browser because of a stray character in the stylesheet; they all render again. An email you sent can no longer be marked as junk, which used to block your own sending address. Deleting a ticket now files your sent replies instead of dropping them into the inbox as if they were new mail. While PBJ CRM is running, new mailboxes are created there rather than here, so one address is never set up twice.

2.2.0

Email that became a ticket now lives in a permanent Tickets pile — kept for reference until the ticket itself is deleted. New “Manage tickets” screen: every ticket in one filterable list with bulk assign, group, category, status, priority, customer, CSV export and delete (bulk actions only email people when you tick the box).

2.1.x

Invites are sent only when an agent asks (with a confirm naming the recipient); closing a ticket emails the requester a closed notice; every reply footer carries the portal link and the customer’s own never-expiring sign-up link. Full mobile pass.

2.0.0

The helpdesk became a true module of PBJ CRM: your agents ARE your CRM staff — one list, one set of roles, nothing programmed twice. Existing helpdesk staff are moved onto CRM roles automatically.

1.5.0–1.10.1

Mailbox connections moved into PBJ CRM (entered once, used by campaigns, invoices and ticket replies); the Mailboxes tab became a simple picker; collection is strictly INBOX-only and one-way — nothing on your mail server is moved or deleted; mail hygiene (spam button + sender blocklist, automatic filing at 90 days), remembered sender→customer matches, and a long list of review fixes.

1.0.0–1.4.0

The foundation: portal, ticket engine, silent claim, SLA ladder, built-in mail client, agent intake, Team view, reports, invites, and the move inside the PBJ CRM hub.

August 4, 2026

Current release: 7.0.0 (September 2026)

7.0.0 — 4 September 2026

7.0.0 — THE SUITE MAJOR, requiring PBJ CRM 7.0.0. One equal version across the suite. DB 13 → 14: the reversible-merge undo ledger (ticket_merge_undo) is created by the ordinary upgrade migration instead of on first use, so it arrives with the update rather than with the first merge. Nothing else changes.

Full release notes: PBJ CRM Suite 7.0.0.

2.58.0 — 2 September 2026

An empty mailbox now shows a short line drawn with the CRM’s shared empty-state frame, so it matches every other empty screen in the portal. No database change.

2.57.5 — 31 August 2026

The unified inbox attention view now resolves all active mailbox projections in one CRM batch and reads their capped unread inbound messages in one query, with no unused per-mailbox counts. Rows, order, unread state, labels, permissions, and database schema are unchanged.

2.57.4 — 30 August 2026

Security hardening around who a ticket is for. Choosing a person or business on a ticket — at creation or later — now checks that the acting agent can actually see the chosen record through the CRM’s own visibility rules, not merely that the record exists. A record outside the agent’s scope and a record that does not exist now return the same refusal, so guessing ids reveals nothing. A business handed in as a person still files as the business, linked pairs still work, and on an older CRM that does not publish the visibility check the previous behaviour is kept unchanged.

2.57.3 — 29 August 2026

Converting a ticket now asks what should happen to it, and closes it when you say so. The ticket declared no source dispositions at all, so the Convert follow-up step never appeared — “Create invoice” made the invoice and left the ticket sitting open every time. Its terminal status comes from this ticket’s own configured status path, never a hardcoded “closed”.

2.57.2 — 29 August 2026

Converting a ticket into a visit now carries the ticket’s own ids across, so Dispatch opens its escalation screen — the one that brings the customer and address over, links both sides and closes the ticket — instead of a blank New booking form.

2.57.1 — 29 August 2026

Mail attach is declared as two controls, Business and Person, each opening the CRM picker narrowed to that kind. The CRM core draws them as chips on the record’s title line.

2.57.0 — 29 August 2026

The Triage board is visible to the people it is for. Its entry in the CRM menu was published at the administrator level, while the board itself has admitted managers and owners since 2.22.0 – so both could reach it by typing the address and neither was ever shown the link. Corrected in both places it is registered. Employees are still refused, by the server, exactly as before.

2.56.0 — 29 August 2026

  • The help desk now appears on the CRM’s new “Who can do what” screen. Six rows: working a ticket, your own saved replies, the team view and triage board, the shared saved replies, the configuration screens, and the shared inbox – each against the four staff levels, with a note explaining the answer.
  • Nothing about who can do what has changed. This release only tells the CRM what the answers already are, so the screen can show them.

2.55.0 — 29 August 2026

  • The help desk now honours the CRM’s staff-list switch. PBJ CRM 1.73.0 puts “The help desk takes its staff list from the CRM” on its Danger screen, behind a typed confirmation. It is on, it has always effectively been on, and nothing changes on upgrade – but it is now a real switch rather than a sentence, and this release is the half that reads it. Administrators are deliberately unaffected either way, so turning it off can never lock somebody out of the screen that turns it back on.
  • Stored mail retention can be set from the CRM’s Mail screen. The same four settings as on the help desk’s own screen, writing to the same place – one store, two doors, so they cannot drift. It is on the Mail screen because deleting mail in bulk on a timer is one of the few things the website admin still keeps; reading, filing and replying to that mail stays in the product where your team works.
  • An email that became a ticket is still never touched by any of this, whatever is set – said on both screens rather than assumed on one.

2.54.0 — 29 August 2026

  • Shared canned replies are on the front end. Settings > Canned replies now opens in the CRM. Add one, rename one, edit the wording, or clear a title and save to remove it – without leaving the portal.
  • Bold, italic and lists are kept exactly as they were. This is what the screen was waiting for: until now the only way to put a saved reply on the front end would have flattened the formatting of every one you already had, so it stayed in the website admin on purpose.
  • Your own private saved replies are unchanged and stay on your personal settings page. This screen is the team library only, and it never touches anybody’s own writing.
  • On a CRM older than 1.72.0 nothing changes – the screen keeps its “open in website admin” link rather than showing you half of itself.
  • Tickets can now have their own “Who sees what” setting. A CRM owner can set tickets to open or scoped separately from everything else. Nothing changes until they do, and an agent always keeps the tickets assigned to them and the ones in their groups. A client still only ever sees their own.

2.53.0 — 29 August 2026

  • The group-to-category mapping is now also editable from the CRM’s new Group settings screen. It is the same mapping written by the same code – the wp-admin screen is unchanged and both doors agree.
  • A ticket that lands in a group with nobody’s name on it can now be handed to somebody automatically, using the group’s default assignee set in the CRM. Anybody marked away is skipped and the ticket says why.
  • An explicit assignment is never overridden, and a group with no default assignee behaves exactly as before.
  • Requires PBJ CRM 1.69.0 for the new screen; everything degrades safely on an older hub.

2.52.0 — 29 August 2026

  • A ticket is no longer handed automatically to somebody who has marked themselves away. It stays unassigned for the next person to pick up, and the ticket says why.
  • The triage board and the team list show who is out of office, and until when.
  • The two running-late warnings are marked urgent, so quiet hours never hold them.

2.51.0 — 28 August 2026

  • Refusals explain themselves (Access Ladder 23.3). Where a helpdesk screen or route turns somebody away by rung, the message now names the rung, names somebody who holds it, and offers what this person CAN do instead — built by the CRM, so the same refusal is not worded three different ways by three plugins.
  • Guarded on the hub: where the CRM is too old to build one, the plugin’s own sentence is used instead, so PBJ_HELPDESK_MIN_CRM deliberately does not move.
  • No schema change.

2.50.14 — 28 August 2026

  • Translation template regenerated. No code change.

2.50.13 — 28 August 2026

  • The ticket’s terminal action reads Close, and its dialog reads “Close this ticket?” / “Close ticket”. Status paths and stage labels are unchanged.
  • Ticket and convert screens leave the customer name to the CRM instead of writing “Selected person” / “Selected business”.

2.50.12 — 28 August 2026

  • Emails show a line of the message under the subject, and say who they belong to and what they are attached to — both settable from that same line.
  • Your own replies look like your replies. A message written back through a phone or text bridge had no WordPress author, so it was drawn in the customer’s bubble under the customer’s name.
  • The reading pane is the conversation. The assignment form, the facts form, the checklist and the portal invite have moved to the ticket itself — the pane’s own header carries those fields as click-to-edit controls.
  • Change customer is a small button beside the customer’s name and opens the finder directly, with “Just <business>” available when the ticket belongs to a business and nobody in particular.
  • Merging two contacts now moves tickets, messages and email customers onto the survivor.
  • Ticking a ticket or an email no longer reloads the list.
  • Tickets waiting on you appear in the Inbox; ones you have answered stand in Needs me.

2.49.0 — 26 August 2026

  • One reply can carry Cc and Bcc. Choose who is copied and who is copied blind from the same panel you pick recipients in.
  • A blind copy stays blind. Bcc is delivered through the mail envelope and is never written into a header anyone can read; the ticket’s timeline counts blind copies rather than naming them.
  • The address list refuses rather than truncating: twenty addresses per reply, counted across To, Cc and Bcc together, and a reply addressed to nobody is refused instead of quietly promoting a Cc.
  • A finished visit or task can become a ticket, with the customer carried into the new ticket form.
  • The ticket’s conversation is now placed by the shared record template, so it looks the same as every other work item.

2.48.0 — 26 August 2026

  • Ticket facts are editable where they stand — Status, Priority, Category and Agent. Closing still runs the close flow, so the invoice question is never skipped.
  • The agent picker searches the one suite roster and offers no create door, because an agent is a WordPress user.
  • A field the ticket has is shown even when it is empty, so the state where you most need the control is no longer the state without one.

2.47.0 — 25 August 2026

  • Removed the last Helpdesk-owned team and group painting paths after moving their behaviour into the shared workspace.
  • Tickets, Mail, Triage and replies now sit on the same shared card, reader, workspace, dialog and composer.

2.46.0 — 24 August 2026

  • Ticket, mail, history and triage surfaces now consume the CRM-owned item card, reader and saved workspace contracts without module-owned ordinary card chrome.
  • Ticket bulk Clear and Escape now clear live ticks, restore the breadcrumb footer and reject a stale asynchronous repaint.
  • Scoped Helpdesk tickets now appear in the CRM-owned Open Work section for contacts and businesses.
  • Mail selects its first readable item automatically while preserving mailbox identity, exact recipient behavior, reply actions and ticket conversion.

2.45.0 — 24 August 2026

  • Ticket, mail, history and triage lists now use the CRM card, reader and saved-workspace design.
  • Mail no longer carries a second embedded navigation rail, and non-reply email actions now use the breadcrumb footer.
  • Reply and Reply all use the shared compact composer with editable identity and recipients.
  • A reply can optionally create a ticket after the message sends successfully.

2.44.0 — 22 August 2026

New: handing a ticket over is one act, done at the ticket. Open it, type a name into the picker, choose the person, done — instead of the old two steps of picking somebody in one place and then crossing the screen to apply it.

Changed: the six separate assign controls scattered around the helpdesk have all been brought onto that one picker, so handing a ticket over works the same way wherever you do it.

Fixed: the “it worked” message destroyed itself the instant it appeared. It was being put on the screen a moment before a redraw that wiped it straight off again. Five places were doing this. All five are fixed.

Fixed: the agent directory was being fetched five times per screen instead of once.

New: the helpdesk’s five settings screens are now drawn by the CRM inside the portal, in the same look as everything else. What they do has not changed — only where they live and how they look. No database change.

2.43.0 — 20 August 2026

New: mark a ticket as read. When a ticket is waiting for a reply, one press says “I have seen this” — it clears your unread count and takes the ticket off your waiting list, your bell and your inbox, without sending the customer anything. It is per person: marking it read on your screen never hides an unanswered customer from a colleague, and the manager views still show every unanswered ticket. If the customer writes again, the ticket comes back onto your list by itself; there is nothing to un-tick.

New: join two tickets together. Two tickets that turned out to be one job can be merged: the conversation, the emails, the attachments, the checklist and any linked texts or calls move onto the ticket you keep, and the other one is closed with a note pointing at it — never deleted, so an old email quoting its number still finds a home. Merging a ticket into itself, a number that no longer exists, more than twenty at once, a ticket you are not allowed to manage, or two different customers’ tickets are each refused by name with a sentence saying why; the two-customers one goes ahead if you tick the box to say you mean it.

New: tick boxes on the ticket lists. Close, hand over to a person, hand over to a group, mark as read, add somebody to the ticket, merge and delete — all on a selection. Handing to a person and handing to a group are two separate actions, because putting a ticket in a group takes the individual’s name off it so the group can pick it up. Permission is checked again on every single ticket, you get back a list of any that were skipped and why, and asking for more than 200 at once is refused rather than quietly half done.

New: tick boxes in the mail piles too. Move to inbox, filed, spam or bin, mark spam, add to a ticket, turn into tickets, and delete. Email that belongs to a ticket is protected on every one of them, exactly as it is one at a time.

New: texts and calls on an open ticket are added to it, the same way inbound email is. The message arrives as the customer’s reply, so the ticket goes to “waiting on a reply” and turns up on the bell and in the inbox. A text or call about a ticket that is already closed does not reopen it — a note is written on the closed ticket saying they have been in touch and where to look.

New: somebody else can be put on a ticket straight from the contacts list. They become a participant — pickable in the reply box’s “Send to” row, with a line on the timeline saying who added them — and the ticket’s own customer is never overwritten.

Changed: the notifications “Tickets” row now counts the open tickets on your plate — the ones assigned to you, plus any unclaimed ones you are allowed to pick up — and shows the replied ones as part of that number (“Tickets: 5 open (3 replied)”) instead of adding two different piles together. The Inbox row counts the same emails the inbox actually lists, rather than counting mail from folders it does not show.

Database version 12: one new column on the per-person read table. It is added on its own, checked before it is recorded as done, and tried again on the next page load if the server refuses it. Without it nothing is ever marked as read and everything behaves as it did in 2.42.2.

2.42.2 — 19 August 2026

Fixed: an email that arrived after its ticket was closed disappeared without a trace. It threaded onto the closed ticket, was filed out of the inbox as ticket mail, and sat on a ticket no open list, waiting list or notification count ever shows — stored, but invisible. A closed ticket now never takes new mail: the email stays visible and goes down the brand-new-mail path — becoming a new ticket automatically for known senders, or sitting in the triage inbox for an agent — with the closed ticket recorded as a “looks like a follow-up” suggestion so the history is one press away. A closed ticket is never quietly reopened.

Changed: the notifications menu shows tickets as one line. “Your open tickets” and “Waiting on a reply” were two rows counting the same work twice; the row now reads “Tickets: 5 open 2 replied” (“replied” — the customer spoke last and is waiting on you), and when something has been replied to it opens that waiting list. No database change.

2.42.1 — 19 August 2026

Fixed: making a ticket from a RingCentral text or call always refused with “Ticket needs: source_url”, however the number was linked. The help desk was rebuilding the phone module’s screen address from route names that module stopped using before it ever shipped, then requiring an exact match — so the check could never pass. It now validates the supplied address the right way (this site’s portal, pointing at exactly that text or call) without pretending to know another plugin’s routes. Pairs with PBJ RingCentral 1.5.2.

2.42.0 — 19 August 2026

Your ticket screens now look like the rest of the suite — triage, every ticket list, the mail list and the Team screens draw the CRM’s unified cards, with the same icons and colours as everywhere else. The tickets screen’s dropdown offers Open / Closed / Awaiting reply. And having this plugin active now unlocks two things in the CRM’s marketing area: the designed-email builder and the minutes-between-emails drip setting.

2.41.0 — 19 August 2026

Reply to more than one person. Email replies on a ticket get a Send to row: the requester is always included, and you can tick contacts at the customer’s business, people who wrote in on the ticket, anyone you find in search — or type in a plain email address for somebody who is not in your records yet. One email goes out to everybody chosen. A mistyped address is refused, and typing an address never creates a contact by itself.

2.40.0 — 18 August 2026

The waiting-on-a-reply list has a real address, so the notification count lands on it instead of an error page. An open ticket shows a red Close button beside Book this in (Create invoice moved off the open bar; closing still asks about an invoice). The Mail screen opens straight into your first mailbox’s inbox, and clicking a sender’s name lets you match or create the customer on the spot. Requires PBJ CRM 1.44.0 or newer; no database change.

2.39.0 — 18 August 2026

Tickets waiting on a customer reply are marked, counted and listable. A ticket whose newest message came from the customer wears a waiting mark, is counted in the CRM’s Notifications menu and unified Inbox, and has its own “Waiting on a reply” list view. Each agent also sees how many customer messages are new since they last opened a ticket (a small new watermark table — database version 11, additive only).

The ticket header now shows the business first, then the person, with who spoke last. Closed tickets show a Create invoice or View invoice button for people with invoice access — including in a team member’s history, which gained an Open/Closed toggle — and agent replies now appear on the agent’s, the business’s and the contact’s timelines. Requires PBJ CRM 1.44.0 or newer.

2.38.0 — 18 August 2026

Faster ticket lists on big databases. Additive sort indexes on the ticket table remove a filesort from the queue screens. Database version 10 (additive only — nothing to redo).

2.37.0 — 17 August 2026

Save and close now saves or delivers first, then closes. A failed delivery leaves the ticket open; a sent reply followed by a close failure shows a durable warning and cannot be accidentally sent twice.

A newly closed ticket offers Create invoice or No invoice only to a permitted agent. Triage shows the complete task checklist with working Edit and tick controls, and closed tickets retain their resolution date and invoice actions.

2.36.0 — 17 August 2026

Replies remember how the work arrived. Inbound email, text and phone can establish an immutable communication origin; replies default to that usable channel, while an unavailable or missing origin requires an explicit choice.

Email retains its mailbox and thread. Text and click-to-call use the CRM communication provider, and background email intake remains strictly tied to the authoritative stored inbound message. No database or minimum-CRM change.

2.35.0 — 16 August 2026

Ticket reporting now lives on the CRM’s unified Reports screen. Helpdesk registers its searchable ticket report only while the module is installed, so there is one reporting destination and no empty Helpdesk placeholder when it is absent.

Requires PBJ CRM 1.46.0 or newer. No database change.

2.34.0 — 16 August 2026

Current tickets now appear in the CRM profile’s Everything view. They are filed for the customer, the business, the assignee and the member of staff who created them, while the existing CRM visibility rules still decide who may see each row.

Personal helpdesk notification choices now use the CRM’s self-service Notification settings on the staff member’s own profile. Owners continue to control site and group notification rules in admin. Requires PBJ CRM 1.44.0 or newer; no database change.

2.33.0 — 16 August 2026

Your name in the CRM top bar now opens your own CRM profile and timeline. Helpdesk no longer redirects it to notification and canned-reply settings; those settings remain available from Helpdesk navigation.

Requires PBJ CRM 1.44.0. No database change.

2.32.0 — 15 August 2026

“First reply” is now a record of what happened instead of an editable box. First reply due and resolution due remain editable targets, and a ticket with no reply yet says “Not yet”.

The assignee, requester and client names link to their CRM records only when you are allowed to open them. Triage no longer pulls the whole Tickets menu in or appears twice; Reports and site settings live on the CRM’s shared screens; and dialogs follow the chosen theme.

2.31.1 — 15 August 2026

A ticket made from a visit was being recorded as if somebody had typed it in by hand. When a booked job is turned into a follow-up ticket, the ticket was stored as hand-logged work, and the only trace of where it really came from was a reference number nothing ever put on screen. A ticket now knows that a visit can be where it started, and the opening line of its history says “opened from a visit”.

That opening line now names any way of raising a ticket, including one it has not been taught yet. It only ever mentioned email, so a ticket that came in from a form or from a visit said nothing at all about where it came from.

“Who this is with changed” shows properly in the history again. That note has been written since 2.30.0 but was never registered with the timeline, so it turned up with no icon, no heading, and could not be filtered for. It now reads like every other entry.

No database change.

2.31.0 — 15 August 2026

A ticket is now something you can attach things to — tasks, notes and files. One declaration to the CRM does all three.

Anything attached to a ticket follows it when the ticket is escalated to a visit, and comes back if that visit is turned back into a ticket.

The ticket’s own number is used wherever an attached item says where it lives — the number stored on the ticket, never one worked out from its id, so it always matches the number on emails you have already sent.

Also carries the to-do box fix from 2.30.2, which was never released on its own.

2.30.2 — 15 August 2026

The “add a to-do” box now has a width of its own. It relied entirely on being stretched to fill its row — the same shape that collapsed the CRM’s checklist box to a sliver on an iPhone.

The phone case was already handled here and is untouched. On a narrow screen this row has always stacked so the box takes a full line. What is new is the band between a phone and a laptop, and any browser that will not stretch a box at all.

Found by sweeping for the same shape everywhere after fixing the CRM, not from a separate report. Look only, and no database change.

2.30.0 — 14 August 2026

Send and close. A reply box now has a second button that sends your reply and closes the ticket in one press, after asking you to confirm. If the reply fails to send the ticket stays open; if the reply sends but the close fails, you are told that plainly rather than being left to send it twice.

Closing is a button, not a date. The “Closed” row used to be a date field, which let you write a closing date onto a ticket that was still open — a ticket claiming to be finished while sitting in the open list. It is now a Close button that actually closes it, which means the notifications go out and the customer is told.

The opening date and time can no longer be changed. When a ticket was opened is the fact everything else is measured against — the response clocks, its age in every list, the order of its history — so it is shown as plain text now.

You can say who a ticket is with. A ticket logged over the phone, or an email whose sender was not recognised, had nobody on it and no way to add one. There is now a picker, the same one used for choosing the customer. A ticket still does not need one — “set to nobody” is a real choice, not a mistake.

2.29.0 — 14 August 2026

You can now add ANY email to ANY ticket by hand. Open an email in the mail client and press “Add this email to a ticket”, then search by ticket number, subject or customer. Until now the only way to file an email onto an existing ticket was to accept the one ticket the help desk had guessed for you — and when it guessed nothing, or guessed wrong, there was no way to do it at all.

The mail client can now be opened by your agents — but only if you switch it on. It is OFF when you update, so nothing changes for anybody until you tick “Let agents use the mail client” under Helpdesk settings. With it off the mail client stays administrators-only, exactly as it has always been.

Once you have switched it on: an agent sees an email attached to a ticket only if they can see that ticket. Email that is not on a ticket yet belongs to nobody, so any agent can pick it up and file it — that is what filing an email requires, and it is spelled out on the settings screen before you turn it on. Attachments follow the same rule as the email they came from.

Emptying the bin, blocking a sender, composing, retention and the mailbox list are unchanged and still administrator-only.

2.28.0 — 14 August 2026

The help desk can answer “what does this customer see”, and the standalone page finally has a margin.

On a contact or business in the CRM there is a new Show as client button. The help desk is what fills it in: it hands over that customer’s tickets in the same shape a client sees them — the number, what it is about, where it has got to and when — and nothing an agent sees. No assignee, no clock, no internal notes. Closed tickets are included, because a customer’s own page is their history.

The standalone help desk page had no margin at all. If your help desk is on its own page rather than inside the PBJ CRM portal, everything on it started hard against the left edge of the screen. It now has a proper gutter. Nothing changes if you run the help desk inside the CRM portal, which already supplied one. No database change.

2.27.0 — 14 August 2026

The ticket screen has one place for the facts, and every one of them can be changed where it stands.

Who it is assigned to, which team, who it is for, the category, the status, the priority and all four dates now sit in a single Attributes panel down the right-hand side — and each one is a live control, not a label. The five separate boxes that used to restate those same facts underneath are gone: the screen used to say everything twice, once as text and once as a control, and the two could disagree while you looked at them.

Choosing the business or person is now a pop-up rather than a permanent block of the sidebar. Dates can be corrected for the first time — a job phoned in on Friday and logged on Monday can be dated Friday — and every correction writes the old value and the new one onto the timeline, so the record gains the correction rather than losing the original.

On a phone the order changed: Attributes at the top, collapsed, then the conversation, then your checklist, then the portal account, with the requester’s details last. The requester card now starts closed and its email, phone and web addresses are clickable. Print puts every panel back on the page. No database change.

2.26.2 — 13 August 2026

Housekeeping, all of it invisible in normal use. The mail checker was writing a PHP warning into the site’s error log every single time it ran, and the same fault meant that on an email made of several parts the help desk could take the wrong part as the message body. Nearly all email is one part, which is why this never turned into a complaint. A second fault logged a database error while WordPress was working out its scheduled jobs, and on one occasion stopped the schedule list being saved at all. A third logged a database error when updating from 2.12.0 or earlier. Mail delivery itself was never interrupted. No database change.

2.26.1 — 13 August 2026

Fixes the amber “due today” chip in the Triage feed, which could never appear. It tested for two words that nothing in the suite has ever sent, so in practice a row either showed the red overdue chip or showed no chip at all. It now recognises the word the CRM actually sends, and the older wordings are kept as well, so an older CRM behaves exactly as it does today rather than losing the chip. A finished job still gets no chip, which is the point. No database change.

2.26.0

A ticket now reads in a fixed order. Who it is for and who is handling it, then what it is about, then when it came in, and then why. Conversation and Timeline sit underneath, both working exactly as they did before.

You can now rename a ticket. Click the subject and type. Managers and owners only, and the change is written onto the ticket’s timeline, so everybody can see what it used to be called.

A clear Edit button at the top, and a print button. Printing a ticket now leaves out the menus, the reply box and the welcome banner.

2.24.0

An assistant can now answer a ticket, not just raise one. Until now it could start a ticket and read one, but it could not reply. It can now post a reply the customer sees, or a note only your team sees, and it obeys exactly the same rules about who may write what that the portal obeys. Internal notes are only ever in the list for the people entitled to see them, and that decision is made in one place rather than two.

It can also look up your categories and your status steps. An assistant can ask what categories you have, and what the steps are on one of them, so it can file something in the right place without first having to open another ticket to see what the right place is called.

2.23.0

“What has changed since” now gives an honest total. Ask an assistant which tickets have changed since a date and the number it reports is the number that really did change, and it agrees with the tickets listed beside it. It used to hand back the total for every ticket you have, so the count stopped short of the truth — an assistant reading it would either give up early or keep hunting through work that was not there. An assistant asking what has changed now gets the complete answer.

2.22.0

Triage is rebuilt as the place a manager or owner runs the whole day. Everything due across the system — tasks, tickets and visits together; incoming mail still to be turned into tickets; and your teams: a card for every member of the groups you manage, with their open and overdue counts and a “Give it to them” button, plus staff not yet in any group in a simple list. Managers and owners get it — not just administrators.

Triage no longer appears inside Tickets. It lives in the Dashboard, full stop.

Fixed: clicking an email in the inbox opened My Queue instead of the email. Opening a message now works from anywhere you can see one.

2.21.0

Tickets are available to the CRM’s new assistant connector (Apps & Assistants). Requires PBJ CRM 1.29.0 or newer.

2.20.0

My Queue no longer shows closed tickets. Clicking “Your open tickets” in the top bar used to land on a list that mixed in tickets you had already closed. My Queue and the group queues now start on open tickets only, and both carry the same All open and closed · Open · Closed choice the other ticket lists already had — your closed tickets are one click away instead of mixed in with the live ones. Unassigned is deliberately unchanged: a ticket waiting to be assigned is open by definition. No database changes.

2.19.0

Mail now has exactly one home. The mail client lives in Communication ▸ Help desk inbox only — the Tickets and Triage sections no longer build a Mail pill or the mail screen behind it. And Triage joins the CRM’s new Dashboard group as the landing screen for administrators, alongside PBJ CRM 1.28.0.

2.18.0

The ticket search now honours the search’s per-kind limit exactly as documented. No visible change on most sites.

2.17.0

The help desk now feeds the CRM’s new top bar: your open-ticket count (the same number the triage screen shows) and, for mail managers only, the unread inbox count. Ticket search joins the CRM’s new global search — subject, reference or customer — and only ever returns tickets you could already open. Clicking your name in the top bar opens your helpdesk profile. Requires PBJ CRM 1.24.0 for the new bar; on an older CRM everything simply stays as it was.

2.16.0

Phase 14’s help desk half. No database change.

The booking form speaks your words. If PBJ Dispatch (1.4.0+) has been told to call a visit a “call-out” or an appointment a “fitting”, every sentence on the “Book this in” form says so too. With an older Dispatch, everything reads exactly as it did.

Handing the job over. Managers and owners can hand the new visit to a different agent right on the booking form — “Who is doing this one?”, with the current agent pre-picked. The list only ever contains people the server will actually accept, and when there is nobody it says so in a sentence instead of showing an empty box. Employees see who has the ticket and no picker.

A directory fix. A manager who was not in any team used to see a directory containing only themselves. The list now comes from PBJ CRM’s one suite-wide roster (CRM 1.23.0+): your teams, plus staff not yet in any team, never anybody above your own rank.

2.15.0

Two things, both about letting the rest of the suite reach a ticket. No database change.

A “Create an invoice” button on a ticket — open or closed. The row of buttons at the top of a ticket was written for PBJ Dispatch and only ever drew for it. It now draws for PBJ Invoicing as well, so with PBJ Invoicing 1.16.0 or newer you can turn any ticket into an invoice, including one you have already closed. Each add-on is checked separately, so having one and not the other never hides the other’s button, and on a site with neither the bar looks exactly as it did.

People who are not in your contact book can open a ticket. Until now every way into the help desk needed a login. There is now a public ticket-intake seam, and its first user is the public invoice page: a customer looking at their invoice can ask a question about it and it arrives as a ticket, with no account and no password.

Worth being clear about what that does and does not mean. Nothing on your site becomes publicly reachable just by updating — the seam is a socket, and with nothing plugged into it nothing happens. It is deliberately built as a place things plug into rather than as one fixed form, so a proper public contact form can arrive later without changing the help desk. The spam trap, the rate limits and the confirm step all belong to the help desk itself, so nothing that plugs in can switch them off. And a stranger’s typed-in name does not go into your contact book: their details arrive on the ticket, where an agent reads them and adds the person deliberately.

2.14.0

Agents can now add a brand-new person or business right from the new-ticket screen — no hopping over to the CRM first. The “Who is this for?” boxes on the new-ticket form now use PBJ CRM’s shared contact picker: type a few letters and matching people and businesses appear together, and when nobody matches, the box offers to add them on the spot with a small name, email and phone form. Nothing is ever created without you asking. Needs PBJ CRM 1.22.0 or newer to appear; on an older CRM the form keeps its own search boxes, unchanged.

Every person and business page in the CRM (1.22.0+) now carries a “Start something” row, and the help desk puts a “New ticket” button on it. Pressing it opens the new-ticket form with that customer already chosen — a business record arrives in business mode, a person in person mode — and either can still be changed or cleared before the ticket is made. Opened any other way, or on an older CRM, the form behaves exactly as it always did. No database changes.

2.13.0

The spam pile now has an “Empty the spam pile now” button, the one the bin has had for a while — and both buttons now tell you what they left behind. Email that belongs to a ticket is never deleted, so an “empty” can legitimately leave messages behind: instead of a bare number that does not add up, you now get how many were deleted and how many were kept, and why, and the two always reconcile against the pile’s badge.

A new “All mailboxes” entry at the top of the mail rail shows every mailbox’s mail in one list, with the pile counts added up to match. It only appears when you actually have more than one mailbox, and you cannot send from it — composing picks a real mailbox.

And when one email address belongs to more than one customer, the ticket now asks you which one it is for, offering the choices instead of quietly filing under the oldest — anything you have taught it before is listed first and marked as remembered. It only ever asks: nothing is written until you click a name, so tickets filed correctly months ago are unaffected, and it only names records your own account is allowed to see. There is a small database change (schema version 9): one address can now REMEMBER more than one customer. One index changes shape and nothing else — no message, ticket or contact is deleted, updated or re-filed. Shared addresses need PBJ CRM 1.20.0 or newer.

2.12.0

Four fixes from a sweep of things reported on the live site. The Welcome line at the top of the portal now stays gone once you close it — it used to come back in the next tab, the next day, and the moment somebody’s role changed. Emails now always open on a white page in the mail screen: on the dark colour schemes a plain email could come out as dark text on a dark background and simply could not be read. The little calendar button on the “Book this in” date box is visible on the dark schemes instead of a black smudge. And one email address is now allowed to belong to more than one customer — the help desk still files a ticket under exactly the customer it always did, it just now knows when there is more than one possible answer, ready for the screen that asks (which arrived in 2.13.0). Shared addresses need PBJ CRM 1.20.0 or newer; on an older CRM everything else here still works, unchanged. No database changes.

2.10.0

New: a documented seam for other plugins to hold back one closure email. When a ticket is closed, the help desk now asks — once, for that close — whether the “your ticket has been closed” message should be sent. With nothing listening, it sends, exactly as before.

Why it exists. PBJ Dispatch closes a ticket when it turns it into a booked visit. Without this, the customer would get the booking confirmation and a closure notice in the same minute, for one job. The help desk does not know or care which plugin is asking; it just asks the question.

Only the email is held back. The stage change, the closed stamp, the silent claim, the timeline note and the status-changed action all still happen, exactly as they do for any other close. There is no site-wide “closure emails off” switch, and this is not one.

The existing bulk-manager behaviour is unchanged and still takes precedence on its own.

No database changes. Pairs with PBJ Dispatch 1.1.0, released alongside it.

2.9.0

A safety release for the database. On a site where an earlier update had only partly applied, the help desk could fail in ways that looked like something else entirely — new tickets refusing to save, incoming email quietly not being stored, or a mailbox connection being made over and over. Every one of those paths now checks first and steps around the missing piece instead of failing, and the site repairs itself the moment the database catches up.

The plugin also stops recording a database change as done unless it can see that it actually happened, and stops retrying for ever on a host that will never allow it — after five attempts it leaves one clear notice naming what is missing.

It also now checks that PBJ CRM is not just installed but new enough. On a site running an older CRM the help desk could take the whole site down; it now shows one notice and loads nothing. Some tidying of code and settings nobody used. No database change.

2.8.0

Your tickets now appear on the CRM’s new Today screen, alongside your tasks, in one list sorted by when things are due. You still only ever see the tickets you were already allowed to see — the help desk decides that, exactly as it does on every other list, and the CRM only merges what it is handed. Update PBJ CRM to 1.16.0 as well, or Today will show tasks only.

The per-stage status dropdown has been removed from every ticket list. Every row already prints its exact status in the Status column, so the dropdown asked you to re-specify something you could already see — and it was the half of the pair that produced silent empty lists, because its “Open” meant one single stage while the control beside it meant “not closed”. What survives is the simple one: All open and closed · Open · Closed.

The triage screen’s “New messages (not tickets yet)” card has been removed. It counted inbound mail sitting in spam, in the bin and in filed, while the list directly beneath it showed the inbox only — so it could read “191” over an empty list. The inbox is right there underneath; the number was not telling you anything the list was not.

2.7.0

The Email Templates and Canned Replies tabs have gone from the help desk’s own settings. Both editors moved to PBJ CRM’s Templates & Notifications tab back in 2.5.0, and until now they sat in both places at once — the same editor behind two different doors. Every link and button that used to point here takes you straight to the CRM tab instead, including the “Review the templates” step in the setup guide. Nothing about the templates themselves has changed and nothing has been deleted. On a site still running a CRM older than 1.12.0 the two tabs stay exactly where they were, so nothing can become unreachable. No database changes.

2.6.0

When you reply to a ticket you can now choose which of your mailboxes it goes out from, instead of the help desk always deciding for you. Leave it alone and it decides exactly as before. The choice applies to public replies only — an internal note is never emailed, and a client never picks the address your business sends from. No database changes.

2.5.0

The triage screen now leads with the tickets assigned to you. Its first tile used to count new messages, which is not something anybody is answerable for; it now counts your own still-open tickets and opens them as cards when clicked. Open-ness is read from each ticket’s own status path, so a category with its own stages is counted properly rather than against a fixed list of names. “Tickets waiting to be assigned” appeared twice — a tally and the heading of the list it was counting, each fetched separately; the tally and its database query are gone. New messages have moved to the top of the screen. Clicking a person on the Team screen now shows what they have been working on beneath their open tickets — replies and notes across every ticket you are allowed to see, newest first, each naming its ticket, with a filter by kind of activity. You can add your own sign-off to replies, written once on your profile using your name, job title and direct number; it is off until you turn it on, and a manager can set a shared one instead. Categories can carry their own wording, so a “Billing” ticket reads differently from a “Technical help” one — fill in only what differs. Email templates and canned replies have moved to PBJ CRM’s Templates & Notifications tab alongside every other add-on’s, and groups are now created and edited in the CRM, leaving this Groups tab as “Group categories” for the one job the CRM cannot do. History, Reports, Team, Settings and Profile are tucked under a single “Settings” button rather than sitting in the main row — nothing moved out of reach and nobody sees more than before. Security: the sign-up link at the bottom of a client’s email now expires after 24 hours and offers a fresh one, where before it worked indefinitely, so a forwarded email handed account setup to whoever received it. Requires PBJ CRM 1.10.0 or newer. No database changes.

2.4.1

A fix for 2.4.0. On some servers the database update from that release did not complete, and when that happened the mail list came back completely empty — while the message count above it still showed the right number, so the inbox looked wiped rather than broken. No mail was ever lost. This release repairs the database by itself on the next page load and the list comes straight back.

Two related fixes came with it. The update used to record itself as finished even when the database change had been refused, so it never tried again; it now only records success once the change is really in place. And every part of the plugin that uses the new columns checks they exist first, so a site part-way through the update keeps replying, keeps taking internal notes and keeps collecting email as normal — you simply do not get follow-up suggestions until the update finishes.

2.4.0

Plenty of customers do not press reply. They open a brand-new email, type the same subject, and send it — and until now that landed in your inbox looking like fresh work, with the ticket it belonged to sitting open two feet away. The helpdesk now spots those. When an email arrives from the same person, about the same thing, as mail already on a ticket, it gets a caution mark in the inbox, and opening it offers Add to ticket HD-n — showing you that ticket, what it is about and whether it is still open, so you can check before you agree. Nothing is ever attached on its own. There is a Not a follow-up button too, which clears the prompt and leaves the email where it was.

Every ticket also has a new Timeline tab beside the conversation: the whole life of the job in order, day by day — opened, what the customer wrote, what you replied, internal notes, status and priority changes, reassignments, category and customer changes, missed response targets, and follow-up emails you added. When a job has dragged on and somebody asks what actually happened, the answer is one tab away. Tickets you raised long before this update get a full timeline too. Internal notes stay staff-only there, and group tickets stay nameless, exactly as everywhere else.

The database updates itself when you upgrade. A background job fills in what is needed to match older mail; until it finishes, suggestions simply do not appear for that older mail.

2.3.0

A bug-fix release from a full code review. Seventeen colour tints across the portal — status pills, notice backgrounds, hover shades — were being thrown away by every browser because of a stray character in the stylesheet; they all render again. An email you sent can no longer be marked as junk, which used to block your own sending address. Deleting a ticket now files your sent replies instead of dropping them into the inbox as if they were new mail. While PBJ CRM is running, new mailboxes are created there rather than here, so one address is never set up twice.

2.2.0

Email that became a ticket now lives in a permanent Tickets pile — kept for reference until the ticket itself is deleted. New “Manage tickets” screen: every ticket in one filterable list with bulk assign, group, category, status, priority, customer, CSV export and delete (bulk actions only email people when you tick the box).

2.1.x

Invites are sent only when an agent asks (with a confirm naming the recipient); closing a ticket emails the requester a closed notice; every reply footer carries the portal link and the customer’s own never-expiring sign-up link. Full mobile pass.

2.0.0

The helpdesk became a true module of PBJ CRM: your agents ARE your CRM staff — one list, one set of roles, nothing programmed twice. Existing helpdesk staff are moved onto CRM roles automatically.

1.5.0–1.10.1

Mailbox connections moved into PBJ CRM (entered once, used by campaigns, invoices and ticket replies); the Mailboxes tab became a simple picker; collection is strictly INBOX-only and one-way — nothing on your mail server is moved or deleted; mail hygiene (spam button + sender blocklist, automatic filing at 90 days), remembered sender→customer matches, and a long list of review fixes.

1.0.0–1.4.0

The foundation: portal, ticket engine, silent claim, SLA ladder, built-in mail client, agent intake, Team view, reports, invites, and the move inside the PBJ CRM hub.

Latest Articles