"We will keep you updated" is a promise made by nobody in particular.
The status changes on the Case and no message goes out. Some agents send a quick note, others do not, and which you get depends on who opened your ticket. Quiet hours, consent and language are each handled by memory.
The cost lands in the queue. Customers who were not told anything write in to ask, so the team handles the same case twice, and every update is typed from scratch because there is no standard wording to reach for.
Then somebody escalates, and there is no trail showing what the customer was told and when. That conversation is much harder than the original fault.
Acknowledge, progress, resolution. Three moments, driven by Case events rather than by agents, with one shared set of guardrails in front of all three.
Three tracks, on the Case you already have.
Case is the system of record for status, priority, owner and SLA. Each track is a record-triggered flow that calls the same guardrail subflow, then sends, then stamps a field so nothing fires twice.
Acknowledge: confirm the case exists
Fires when the Case is created from a channel where messaging is allowed. It sends the case number and one line about what happens next, and it invites a reply, because the extra detail a customer adds in the first hour is usually the detail that solves the case.
The flow stamps First_Status_Notification_Sent__c, which is also what tells you later how many cases got one.
Progress: update on the transitions that matter
Not every field change deserves a message. Pick a small set of transitions and write one template each: assigned and under investigation, waiting on the customer, on hold behind a third party.
Keeping the set small is the whole discipline. A message per status change teaches customers to ignore the channel, which costs you the one that matters.
Resolution: close the loop, and ask
On close, one message confirming what was done and how to reopen. It is also the natural place for a one-question survey, because the customer is already in a thread they trust.
A reply after close reopens the case rather than starting a new one, so the history stays in one place.
A reply belongs on the case, not in an inbox.
Every inbound message is written to the Case as a comment and raises a Task for the case owner, so the context is already attached when they open it.
One subflow in front of all three tracks.
"How well do we keep people informed" becomes answerable.
Because each track stamps a field, coverage is a report rather than an impression. Group by team and the gaps show up as a column, not as a complaint.
Where ValueText fits.
ValueText is the send action and the inbound handler. It adds the Send Message invocable action to Flow Builder, writes every inbound message to the Case as a comment and a Task, and keeps the whole thread on the record in the Converse view. Templates, keyword rules and the org-level send window live in ValueText Setup. The three flows, the stamp fields, the guardrail subflow and the report are yours and stay if you leave.
Professional edition or above · Works with standard Case status, no Service Cloud milestone required · 1 SMS segment per update at the published per-country rate“The new features have made it very easy for our business to communicate with patients and improve their journey experience.”
Charles LucasSalesforce Lead · AppExchange