Key Takeaways
Customer service phrases are the standard sentences agents use to open, steer, and close a customer conversation. They cover greetings, empathy, escalation, refusals, and closings.
The effective ones name a specific action, object, or time. The ineffective ones describe a feeling or a company posture instead.
Your customer talks to sales once. They talk to your customer service team every time something breaks. Support carries most of the relationship with the customer.
Each customer service interaction gives your customer one more data point on whether anyone at your company is paying attention. They spend or rebuild customer loyalty on that basis, one reply at a time.
The wording carries more weight than most teams assume. Two replies can deliver the same outcome and produce different customer satisfaction scores. The gap usually comes down to whether you make a customer feel valued or processed.
Politeness will not close that gap. Every phrase below is polite. The ones that fail are polite and generic at once, which is a specific and avoidable failure.
Good customer service and great customer service sit very close together here. Both fix the problem. Only one shows the customer that a person read their words before answering.
Cross that gap often enough and helpful customer service turns into customer engagement that survives a renewal. Enough of those in a row is what a positive customer experience is made of. Every customer interaction either adds evidence that you understand their customer needs, or spends some.
Two studies from the same research group tested this directly, using real service conversations rather than surveys. Together they cover more than 1,000 recorded customer interactions and eight controlled experiments.
| Study | Published | Evidence base | Finding |
|---|---|---|---|
| "How Concrete Language Shapes Customer Satisfaction" (Packard & Berger) | Journal of Consumer Research, Vol. 47 No. 5, February 2021, pp. 787–806 | 185 recorded calls at a large American online apparel retailer, 941 service interactions at a Canadian consumer-durables retailer, 3 experiments (n=1,102) | One standard deviation more concreteness raised customer satisfaction 9% and spending at least 13% |
| "(I'm) Happy to Help (You)" (Packard, Moore & McFerran) | Journal of Marketing Research, Vol. 55 No. 4, August 2018, pp. 541–555 | 5 studies across lab experiments and field data | Agents saying "I" outperform agents saying "we"; customer-referencing "you" has little effect and can be negative |
Grant Packard, Associate Professor of Marketing at York University's Schulich School of Business, co-authored both. On why concreteness works, Packard and Berger wrote that customers "infer that employees who use more concrete language are listening."
The effect size is worth quoting exactly. In the field data, raising linguistic concreteness by one standard deviation improved customer satisfaction by 9%. Actual customer spending rose by at least 13%.
That single mechanism explains most of what follows. The study measured attention rather than warmth, and specificity is the only evidence of attention a written reply can carry.
Positive phrasing in customer service means telling the customer what you can do instead of what you can't, and saying it concretely. Research in the Journal of Consumer Research found customers are more satisfied when employees use specific, tangible wording. Specificity signals that the agent is listening.
Four rules follow from the research above. Name the specific thing rather than the category, so "the failed export" replaces "your issue." Say "I" rather than "we," because the customer needs one accountable person.
Name a real time rather than a speed, so "by 3:00 p.m. Thursday" replaces "shortly." Describe what you did rather than what you feel, because an action is verifiable and a feeling is not.
Applied together, these four rewrites change almost every sentence in a support reply. They hold across email, live chat, Slack Connect, and phone. They also let an agent generate new phrasing rather than retrieve a saved one, which is what keeps a team from sounding scripted.
Here is each rule with the evidence behind it.
Rule 1. Name the thing. Replace the category with the object. "Your issue" becomes "the export that failed at 09:14." Concrete wording is what customers read as proof of attention, per the 2021 study. Full paper: How Concrete Language Shapes Customer Satisfaction. Shorter version: Knowledge at Wharton.
Rule 2. Say "I," not "we." Agents who referred to themselves as "I" raised the customer's sense that the agent acted on their behalf. That lifted satisfaction and purchase behavior. The authors summarized the finding for MIT Sloan Management Review.
Rule 3. Name a time, not a speed. "Soon" and "shortly" carry no information. "By 3:00 p.m. Thursday" is a commitment the customer can hold you to, which is why it reassures them.
Rule 4. Say what you did, not what you feel. "I've reissued your API key and it's live now" outperforms any wording of "I completely understand how disruptive this has been."
Every table below is tagged with the rules it uses.
B2B customers usually know the product. Skip the pleasantry ramp and get to the part where you show you have already looked.
An opening that references the account does two jobs at once. It saves the customer from re-explaining, and it proves someone read the history before typing.
These useful customer service phrases assume the customer wants an answer, not a welcome. Let the customer know what you have already checked, then ask the customer only for what you still need. A positive experience starts there.
| Situation | Say this | Not this | Rules | Best channel |
|---|---|---|---|---|
| First contact from a new account | "Hi Priya, I'm Marcus and I'll be handling this one. I've got your account open." | "Thank you for contacting us. How may I assist you today?" | 1, 2 | Any |
| Returning account | "Hi Priya, I see we sorted the webhook timeouts in March. Is this related?" | "Welcome back! How can I help?" | 1 | Email, Slack |
| Picking up a thread mid-shift | "I've read the whole thread, so you don't need to repeat anything. Picking up from Dan's last message." | "I'm taking over this ticket." | 1, 2 | Any |
| Inheriting an escalation | "I've been handed this because I can approve the credit. Here's where things stand." | "Your case has been escalated to a senior agent." | 1, 2 | |
| Customer already explained the issue | "So the SSO redirect fails only for your EU users. I'm reproducing that now." | "Let me make sure I understand your request." | 1, 4 | Any |
| Customer is clearly technical | "I've pulled the request logs for that endpoint. Give me two minutes." | "I'll look into that for you." | 1, 3 | Chat, Slack |
| First reply after hours | "I saw this at 11pm and started on it. I'll have an answer by 9am your time." | "Thanks for your patience, we'll respond as soon as possible." | 2, 3 | |
| Customer asks a question you get daily | "Common one, and the docs are wrong about it. Here's what actually works." | "Great question! Many customers ask this." | 1, 4 | Any |
Your customer is writing about the time already lost, more than about the thing in front of you. Acknowledgement alone will not move them. The fastest route through a complaint is a fact plus an action, delivered in that order.
Customer service agents reach for reassurance here, and that instinct fails. A frustrated customer has already heard reassurance. They have not heard what changed since the last reply.
Escalations put the whole customer support team on trial. Your customer starts judging the company instead of the agent, which puts the overall customer experience on the line.
The stakes rise when the complaint arrives near a renewal. A frustrated customer 30 days before renewal is a different conversation from the same customer 30 days after one.
| Situation | Say this | Not this | Rules | Best channel |
|---|---|---|---|---|
| Third message on the same broken thing | "This is the third time you've had to write in about this. I'm treating it as a defect, not a ticket." | "I'm so sorry for the frustration this has caused." | 1, 2 | |
| Customer is right and you were wrong | "You're right, we shipped that change without telling anyone. That was our mistake." | "I apologize if there was any confusion." | 1, 2 | Any |
| Customer is threatening to leave | "I don't want to talk you out of that. I'd rather fix the reason. Here's what I can do today." | "We value your business and would hate to lose you." | 2, 4 | Email, call |
| Anger aimed at the agent personally | "I'm going to stay on this until it's resolved. Let's start with the export that failed." | "I understand you're upset, but I need you to calm down." | 2, 4 | Any |
| Angry ticket close to renewal | "Your renewal is on 14 March. I've flagged this to your CSM so it's part of that conversation." | "Thanks for your feedback, I'll pass it along." | 1, 2 | |
| Customer has lost data | "Nothing is deleted. I've located your 11 March snapshot and I'm restoring it now." | "I understand how concerning this must be." | 1, 4 | Any |
| Repeated outage, no trust left | "I'm not going to promise stability. I'll send you the incident review on Friday and you can judge it." | "We're committed to providing a reliable service." | 2, 3 | |
| Escalation to a manager demanded | "I'm bringing in Sara, who owns this area. She'll reply on this thread within the hour." | "Let me transfer you to my supervisor." | 1, 3 | Any |
| Complaint about a teammate's earlier reply | "Dan's answer was wrong and I can see why it cost you a day. Here's the correct one." | "I'm sorry you had that experience with my colleague." | 1, 2 |
Risk language buried in support threads is the earliest churn warning most companies have, and the one most often missed. That is exactly what Helply's churn signals surface and route to the CSM who owns the account.
In B2B the customer often knows the product better than a new agent does. Pretending otherwise ends the credibility of the thread, so say the true thing faster.
Admitting the gap costs less than it feels like it should. Customers forgive ignorance and punish a vague answer designed to hide it.
This is the most common customer service failure in technical support. A service question gets a confident non-answer, and the customer now has two problems instead of one.
| Situation | Say this | Not this | Rules | Best channel |
|---|---|---|---|---|
| You have no answer yet | "I don't know yet. I'm asking the engineer who built this and I'll have an answer by 2pm." | "That's a great question! Let me find out for you." | 2, 3 | Any |
| You need to check the code | "I want to read the actual handler before I answer, so I don't guess. Twenty minutes." | "Let me look into that and get back to you." | 1, 3 | Chat, Slack |
| Answer depends on their config | "This depends on whether your workspace has custom roles enabled. Checking now." | "It depends on your setup." | 1 | Any |
| You have a partial answer | "I can confirm the webhook fired. I can't yet confirm why your endpoint rejected it." | "We're still investigating." | 1, 4 | |
| It's a bug and you know it | "This is a bug, not a config problem. I've filed it as ENG-4471 and linked your account." | "I've raised this with our technical team." | 1, 4 | Any |
| You need to put the customer on hold | "I need four minutes with the billing system. Staying on the line, back shortly." | "Let me place you on a brief hold." | 1, 3 | Call, chat |
Naming the Linear issue does more work than any reassurance. It tells the customer the problem now exists somewhere other than an inbox.
A specific update schedule beats an apology. Customers can plan around bad news, and they cannot plan around silence.
The instinct under pressure is to soften the message. The better instinct is to sharpen it, because vagueness is what generates the follow-up ticket.
| Situation | Say this | Not this | Rules | Best channel |
|---|---|---|---|---|
| Live outage, no ETA | "No ETA yet. I'll message you at the top of every hour until this clears, even if nothing has changed." | "We're working hard to resolve this as quickly as possible." | 2, 3 | Slack, status page |
| Live outage, ETA known | "Ingestion is paused. Engineering expects it back by 4:30pm UTC, and I'll confirm either way at 4:30." | "This should be fixed shortly." | 1, 3 | Any |
| Bug won't be fixed this quarter | "This is real and it's logged. It isn't on the roadmap before October. Here's the workaround." | "We've added this to our backlog for future consideration." | 1, 3 | |
| Billing error in your favor | "We overcharged you $1,240 in June. I've refunded it to the original card, and it lands in 5 business days." | "We apologize for any billing discrepancy." | 1, 3 | |
| Data-loss scare | "Your data exists. It's in cold storage, not deleted. Restore takes about 40 minutes and I've started it." | "Let me check on that for you." | 1, 4 | Any |
| Delay caused by their config | "The block is on the firewall rule at your end. Here's the exact rule, and I'll stay on to test it with you." | "This appears to be an issue on your side." | 1, 2 | Chat, call |
| Deprecation with a deadline | "The v1 API stops responding on 30 September. Your team has 14 calls a day still on it, listed here." | "Please be advised that v1 will be deprecated." | 1, 3 | |
| You missed your own deadline | "I said Thursday and I missed it. New date is Monday, and I'll send proof it's done." | "Apologies for the delay in getting back to you." | 2, 3 |
Every one of these is easier to write when the account is already in front of you. Otherwise your agent hunts for the invoice, the log, and the renewal date before writing a word. Helply drafts each reply with sources and account context attached.
There are three different nos in B2B support, and they need three different sentences.
No to a refund or a policy exception. Do not cite policy. Say what is available instead, and be concrete about it.
No to a feature request. This is the highest-stakes no you will send. Never promise a roadmap you do not control. Say what happens to the request.
No to a workaround they already tried. Acknowledge the attempt first, or the redirect reads as though you did not read the ticket.
| Situation | Say this | Not this | Rules | Best channel |
|---|---|---|---|---|
| Refund outside the window | "I can't refund November. I can credit your next invoice $400, and I can do that today." | "Unfortunately that falls outside our refund policy." | 1, 2 | |
| Policy exception refused | "I don't have authority for that. Sara does, and I've asked her. She replies here by Thursday." | "That's against company policy." | 1, 2 | |
| Feature request, not building it | "We're not building this. I've logged it with your ARR attached so Product sees which accounts want it." | "Great suggestion! I'll pass it to our product team." | 1, 4 | Any |
| Feature request, maybe later | "It's on the list but not scheduled. I'll message you if that changes. No promises on timing." | "That's definitely on our roadmap." | 2, 3 | |
| Workaround they already tried | "You've already cleared the cache, so let's skip that. Next thing to test is the token scope." | "Have you tried clearing your cache?" | 1, 4 | Chat |
| Asking them to do work | "If you can enable audit logs, I can see the failure directly. Takes about a minute, here's where." | "You'll need to enable audit logging." | 1, 2 | Any |
| Out of scope entirely | "This is outside what we support. The people who can help are your Okta admins, and here's what to ask them." | "I'm afraid that's not something we can assist with." | 1, 4 |
Feature requests are worth capturing properly rather than absorbing into a thread nobody reads again. Weighted by account value, they are the clearest signal your product team gets about what customers want.
Some phrases are not tied to a scenario. They are short moves you can drop into customer conversations to raise the quality of the exchange.
The power phrases that hold up are the ones carrying information. Intensifiers like "absolutely" and "definitely" feel confident, but they add nothing the customer can act on.
The customer service words that survive contact with a real inbox are verbs. Nouns and adjectives describe a posture, and verbs describe an event that happened to the customer's account.
| Power phrase | What it does | Rules |
|---|---|---|
| "I've already checked X, so we can skip that." | Proves work happened before the reply, without claiming it. | 1, 4 |
| "Here's what I can do." | Turns a refusal into an offer, and puts a concrete option next. | 1 |
| "I'll own this until it's closed." | Names a person accountable. Nobody can escalate past "we." | 2 |
| "You should not have had to ask twice." | Acknowledges the real cost, which is the customer's time. | 1, 4 |
| "Short version: yes. Detail below if you want it." | Respects a reader who is scanning on a phone. | 4 |
| "That's a fair read of the docs, and the docs are wrong." | Removes blame from the customer and puts it on the artifact. | 1, 2 |
| "I've written this up so the next person doesn't ask." | Shows the answer improved something permanent. | 4 |
| "Nothing needed from you." | Ends a thread cleanly and returns time to the customer. | 4 |
| "I'll confirm either way." | Commits to an update even when there is no news. | 3 |
Each of these works because it hands over information. Test any phrase claiming to boost customer satisfaction the same way: strip the warmth and see whether anything is left.
A thank-you sent before the issue is resolved reads as dismissal. Confirm the fix landed first, then close.
Proactive customer support starts with the follow-up. Check on a fix nobody asked you to check on, and you improve your customer experience without shipping anything.
Customer feedback requests belong at the end of this sequence, never before it. Ask while the customer issues are still open and you will measure the frustration rather than the fix.
| Situation | Say this | Not this | Rules | Best channel |
|---|---|---|---|---|
| Confirming resolution | "Exports are running again on your account. I've checked the last three and they completed." | "Is there anything else I can help you with today?" | 1, 4 | Any |
| Closing after a hard week | "Closing this one. If it comes back, reply here and it reopens on my queue, not a new one." | "Thank you for your patience throughout this process." | 1, 2 | |
| Proactive check-in | "Checking that the SSO change held over the weekend. Nothing needed from you if it did." | "Just following up to see how everything is going!" | 1, 2 | Email, Slack |
| The fix you promised shipped | "The bug you reported in May shipped this morning. You don't need to do anything." | "We've released an update that may address your issue." | 1, 4 | |
| Asking for customer feedback | "Was the answer right, or just fast? I'd rather know which." | "Please take a moment to rate your experience." | 2 | |
| Long-running thread ends | "That's 11 days and 14 messages. Thanks for staying with it while we found the cause." | "Thank you for being a valued customer." | 1, 2 | |
| Thanking a long-term customer | "Four years and you've reported nine bugs we'd have missed. Genuinely useful." | "We appreciate your continued business." | 1, 4 |
The intent stays the same across customer service channels. The shape has to change, because the reading conditions are not the same.
Email tolerates length and needs a full recap, because the reader may open it three days later. In-app chat is read in fragments, so front-load the answer and never open with a paragraph of framing. Slack Connect is semi-public, and the customer's admin, their end users, and sometimes their VP are all in the channel.
That last one changes the calculation. Anything that reads as a script reads worse with an audience. Anything that names a specific person doing a specific thing reads better, because the whole channel can see the commitment.
| Intent | In-app chat | Slack Connect | |
|---|---|---|---|
| Acknowledging a new issue | "I've read this and reproduced it. Details below." | "Reproduced it. Digging in now." | "Got it, I can reproduce. Taking this one, will post here." |
| Buying time | "I want to read the handler before answering. I'll reply by 2pm." | "Checking the code, 20 min." | "Checking the code. Back here within 20 minutes." |
| Outage update | "Ingestion paused at 14:02 UTC. Cause identified. Next update 15:00 regardless." | "Still down. Next update 15:00." | "Update: paused at 14:02, cause found, next post 15:00 even if nothing changes." |
| Saying no | "We're not building this. Here's what I've logged and who sees it." | "Not building this one. Logged it with your account attached." | "Straight answer: not building this. Logged with your ARR so Product sees it." |
| Escalating | "I've brought in Sara, who owns this area. She replies on this thread today." | "Bringing in Sara now." | "@Sara owns this area, adding her here so you're not relaying through me." |
| Closing | "Exports are running. I checked the last three." | "Fixed, checked 3 exports. All good." | "Fixed. Checked the last three exports, all completed. Shout here if it returns." |
Microsoft Teams and Discord follow the Slack rules, for the same reason: other people are reading. Helply treats every channel as one inbox, from Slack Connect and Teams to email, chat, SMS, and WhatsApp. The account context follows the customer across all of them.
Every phrase here is polite, and every one is worn out. Support teams have sent them so many times that customers now read past the words to the script underneath.
These phrases can sound dismissive for the same underlying reason. They describe a company posture rather than an action, which leaves the customer nothing to hold on to.
Avoid phrases that would survive a find-and-replace of your company name. If a sentence works for any product or service on earth, it is telling the customer nothing about theirs.
| Stop saying | Why it fails | Say instead |
|---|---|---|
| "I apologize for any inconvenience" | Any" treats a real problem as hypothetical. It apologizes for nothing in particular. | "You lost two hours to this. Here's what I've fixed." |
| "Your call is important to us" | Said while the customer waits, it is contradicted by the waiting. | "You're third in line, about six minutes." |
| "Your satisfaction is our priority" | "We" language about a feeling, with no action attached. | "I'm handling this myself until it's done." |
| "I understand how frustrating that must be" | The most-used empathy line in support. Recognized instantly. | "Three failed exports in one week is a real problem. I'm on it." |
| "Thank you for your feedback" | Signals the message has been filed, not read. | "I've logged this as ENG-4471 with your account attached." |
| "Calm down" | Tells the customer their reaction is the problem. | "Let's start with the export that failed and work back." |
| "That's our policy" | Names a rule instead of a person, so there is nobody to appeal to. | "I can't approve that. Sara can, and I've asked her." |
| "That's not my department" | Makes routing the customer's job. | "That's Sara's area. I've added her here so you don't have to re-explain." |
| "I don't know" | Ends the sentence where it should start. | "I don't know yet. Asking the engineer who built it, answer by 2pm." |
| "Unfortunately…" | Front-loads the negative and delays the useful part. | "Here's what I can do instead." |
| "Can I help with anything else?" | Asked after nothing was helped, it reads as a closing procedure. | "Did that actually solve it, or is it still failing?" |
| "I'm sorry you feel that way" | Apologizes for the reaction rather than the cause. | "You're right. We shipped that without telling anyone." |
Copying a table into a macro file will not fix anything on its own. The rules matter more than the sentences, because the rules let you generate your own.
You can save these phrases as shared snippets, and most teams should. But the way to improve customer communication at the team level is to teach the four rewrites below. They travel to situations no snippet library anticipated.
Four rewrites, applied to anything you are about to send:
Run that fourth check on every reply. It takes four seconds and catches almost everything.
Save the snippet, never the whole reply. Your team reuses the structure and types the specific part every time.
Snippets help customers most when they carry a shape rather than a sentence. An opening that prompts the agent to name what they checked will outperform an opening that fills itself in.
Once your team types the same answer repeatedly, move it to the help center. Helply drafts those articles from recurring ticket patterns.
The four rules transfer. Naming the specific thing, naming a real time, and saying "I" all work identically on a call. The concreteness research was run partly on phone conversations, with customer service representatives at two retailers.
What does not transfer is the pacing. On a call you cannot front-load a recap, because the customer will interrupt. You have to earn the recap by answering the first question fast.
The other difference is the hold. Customer service reps should name the reason and the length before going quiet. Silence on a line reads worse than silence in an inbox.
"Four minutes with billing, staying on the line" works where "please hold" does not. It is the same rule, adapted to a service experience the customer cannot see.
A growing share of B2B support replies now arrive as an AI draft that a human edits before sending. That changes what a phrase list is for.
A phrase list now does two jobs, and memorization is neither of them. It gives your AI its tone guidance, and it gives your agent a standard for editing a draft. Rules 1 through 4 cover both.
This is now the main way phrase choices reach customers at scale. Customer support agents are editing far more sentences than they write, so the standard has to live in the drafting layer.
The concreteness rule is where this succeeds or fails. An AI drafting from ticket text alone produces the abstract, "we"-framed sentences in the table above. Ticket text is all it has to work with.
An AI drafting with the account loaded produces the specific sentence, because it has something specific to say. A writing assistant and a support assistant diverge exactly there.
Helply's AI assistant loads the account into the side panel before the agent reads the ticket. That means plan tier, ARR, renewal date, the last 5 product events, open Stripe issues, and the last AE call transcript. A draft waits in the composer with citations to the knowledge base and past tickets.
Helply does not write better empathy than your team. It has the facts that make concreteness possible, which is the part customers respond to.
Pricing follows the same logic. Helply is $1 per ticket with unlimited seats and unlimited AI, so bringing more of your company into the inbox costs nothing extra.
The customer service phrases that work name a specific thing, a specific time, and one accountable person. The twelve customer service phrases to avoid all fail the same way, because they could have been sent to anybody.
The four rules are quick to state and slow to follow. Naming the failed export means finding it. Naming the renewal date means opening the CRM.
Every specific sentence costs your agent a tab-switch. That is why replies drift back toward "I understand how frustrating this must be." The abstract sentence is the one an agent can write without leaving the ticket.
Helply removes that cost. Your agent sees plan tier, ARR, renewal date, and the last 5 product events before reading the first line. Open Stripe issues and the last AE call transcript load with them.
A draft is already sitting in the composer, citing the knowledge base articles and past tickets behind it. Your agent edits one specific reply instead of researching a generic one.
What it costs. $1 per ticket, with every seat free and every AI capability included. No usage limits, and no charge for bringing the rest of your company into the inbox. The minimum is 250 tickets a month on an annual contract, so 500 tickets costs $500.
What it has done. Kameleo now resolves 78% of its support without a human. Gatekeeper Press runs a 91.4% resolution rate, MyBaggage 75%, AirGigs 65%.
LingQ held support headcount flat while its user base grew. 250 B2B companies run support on Helply today.
Customers reward specificity with 9% higher satisfaction and 13% more spending. Your team already knows how to write that sentence. Give them the facts to write it with.
The best ones name a specific action and a specific time, like "I've reissued your API key, it's live now."
The words that work are concrete verbs like reissued, refunded, filed, escalated, and restored, not intensifiers like absolutely or certainly.
Never tell a customer to calm down, never name policy as the reason for a no, and never apologize for "any inconvenience."
Acknowledge, apologize, accept responsibility, act, and appreciate. It is a common industry mnemonic rather than a researched framework.
Read the sentence back and ask whether it could have been sent about any other ticket. If it could, it will read as a script.
The ones naming the cost already paid, then the next action: "You shouldn't have had to ask twice, here's what changed."
Standardize the structures rather than the sentences, because a team with reusable openings and no fixed replies sounds human at scale.
Say "I," because a 2018 Journal of Marketing Research study found agents using "I" raised satisfaction and purchase behavior more than "we."
Yes. Across 1,126 real service interactions, one standard deviation more concrete wording raised satisfaction 9% and spending at least 13%.
Empathy statements are one category of customer service phrase, used to acknowledge a customer's situation before moving to the action that resolves it.
It can when it drafts with the account loaded rather than the ticket text alone, which is how Helply gets specific replies.