Customer service automation for an online store: what to automate and what to keep human
Yevhen Kurapov, co-founder · Updated Oct 19, 2026
Customer service automation for a small store: automate what is written down (product questions, shipping and returns policy, order status after sign-in). For returns, cancellations and missing parcels, automate intake and routing and let a person decide. Keep refunds, damaged items, payment problems and complaints human. In our 300-conversation example, about 62% settle without a person, saving about 11 hours.
Automate the customer service work where the answer is already written down and a wrong answer is cheap: product questions, shipping and returns policy, and order status for a customer who has proved who they are. For returns, cancellations and missing parcels, automate the intake: find the order, collect the facts, send it to the right person, and leave the decision with them. Keep refunds, damaged items, payment problems and complaints human. This page is about the whole service process; the chat assistant itself has its own guide, and channels, response times and policies are in the ecommerce customer service playbook. The product notes are from ChatPal, which we make; the decisions apply to any tool.
What to automate: the matrix
Two questions decide every row: is the answer already written down somewhere, and what does a wrong answer cost? Where the answer exists and a mistake costs a follow-up message, automate. Where the answer needs judgment, money or an apology, automate only the steps around the person.
| Question or task | What the customer writes | What to automate | What stays human |
|---|---|---|---|
| Product details, stock, sizes | "Is the black one back in medium?" | The whole answer, from your live catalog and size chart | Nothing, unless the chart doesn’t cover it |
| Shipping and returns policy | "Do you ship to Canada?" "How long do I have to return?" | The whole answer, from your policy pages | Exceptions to the policy |
| Shipping updates | Nothing yet: the order just shipped | Your store’s shipping emails with a tracking link | Nothing |
| Where is my order | "It’s been a week, where is it?" | The status, carrier and tracking link, after sign-in | Late or lost parcels |
| Cancel or change an order | "Can I change the address?" | Finding the order, explaining what’s still possible, passing the request on | Making the change |
| Return or exchange | "Can I send it back if it doesn’t fit?" | Eligibility from your policy and the link to request it | Approving, refunding, any exception |
| Damaged, wrong or missing item | "It arrived broken." | Collecting the order and photos, routing to a person | The fix and the apology |
| Payment problem | "I was charged twice." "My code won’t apply." | Routing and the alert | All of it |
| Complaint | "This is the third time I’m asking." | Routing and the alert | All of it |
| Wholesale, press, partnerships | "Do you sell to shops?" | Taking a name and contact, and the alert | The reply |
| Privacy or legal request | "Delete my data." | Routing | All of it |
The top rows are where the volume is and where the hours go. The bottom rows are rare, and each one can cost you a customer, a chargeback or a public review if a template answers it.
Automation that isn’t a chat window
Some of the cheapest wins happen before a customer writes at all, or after a person has taken over.
- Shipping emails. Shopify emails a shipping confirmation when you fulfill an order, an update when tracking changes, and out-for-delivery and delivered emails when the carrier reports them. Each order that ships with a tracking number is a "where is my order?" that may never be asked. Check that yours go out and the link works.
- Self-serve returns. Shopify can let customers request a return for delivered items, or cancel unshipped ones, from their order status page. You still approve or decline each request, but the customer doesn’t wait for your reply to start it.
- Saved replies for the human part. The conversations you keep still repeat themselves. These reply templates cover damaged items, late parcels and refunds.
- Drafts a person approves. In ChatPal’s inbox, the sparkle button next to Send writes the reply the assistant would give, from your knowledge and instructions. Nothing goes out until you press Send, and each draft counts as one message.
- Alerts. When a chat is handed to your team, every member of your workspace gets an alert by email, Telegram or both, with the channel and the reason. Keeping the hard cases human only works if someone hears about them.
The order to do it in
Each step lowers the volume or the risk of the next. Skipping straight to "add a chatbot" is how stores end up with a bot that guesses.
- Count before you change anything. Take last month’s messages, or the last 200, mark each with its row from the matrix, and note how long the first reply took. Without this baseline you can’t tell later whether anything improved.
- Write the answers down. Shipping zones, costs, cutoff times, delivery estimates, the returns window, who pays return shipping, how long refunds take. "Orders placed by 2 pm ship the same day" can be quoted; "fast shipping" can’t. The return policy template is a starting point.
- Make the store speak first. Shipping emails on, tracking on every fulfillment, self-serve returns if your platform has them.
- Automate the information questions on your busiest channel. Connect Shopify to ChatPal and the assistant reads a copy of your catalog that follows the store within minutes; a Horoshop store is refreshed once a day. On any other site it answers from pages it reads and files you upload, which can’t show live stock.
- Turn on the hand-off and the alerts before customers see it. In ChatPal, open Configuration, then the Handoff & leads tab, and switch on Hand off to a human when needed. Each person picks how alerts reach them under the bell next to their name: See all, then Preferences. Handed-off chats wait under Handed off to a human in Chats, and the assistant stays quiet in them until you click Return to AI.
- Add order status with a real sign-in. On Shopify, ChatPal’s Order support is on from the moment you connect the store. If you’d rather wait until the simple answers work, switch it off on the Shopify integration page and turn it back on at this step. It has the customer sign in with their store account and shows only their own orders: status, carrier, tracking, estimated delivery. When they want to cancel, change the delivery or report a parcel that hasn’t arrived, it names the order and asks whether to send you the request. You get it, with the order number and their own words, only after they say yes. The order status guide shows the flow.
- Route the rest by category. In Configuration, on the Automation tab, add Categories such as "Damaged or wrong item", "Payment problem" and "Complaint" with the Human escalation type, and those chats go straight to your team. Customers can send up to four photos per message, and your team sees them in Chats.
- Then add the other channels, or Zendesk. One assistant can answer on the website, WhatsApp, Instagram, Messenger and Telegram with the same answers. If your team works in Zendesk, ChatPal can answer tickets there and hand the rest to your support group, or only draft replies for agents; see the Zendesk AI agent page.
Worked numbers: a store with 300 conversations a month
Every figure here is an assumption, so replace each one with your own count from step 1. Assume 300 conversations a month in this mix, with the minutes each one takes by hand, lookups included:
| Type | A month | By hand | Still reach a person | Person’s time after |
|---|---|---|---|---|
| Product questions | 100 | 300 min (3 each) | 15 | 45 min |
| Shipping and returns policy | 60 | 120 min (2 each) | 6 | 12 min |
| Where is my order | 60 | 300 min (5 each) | 12 | 60 min |
| Return or exchange request | 30 | 240 min (8 each) | 30 | 90 min (3 each) |
| Something went wrong | 30 | 450 min (15 each) | 30 | 300 min (10 each) |
| Everything else | 20 | 80 min (4 each) | 20 | 80 min |
| Total | 300 | 1,490 min, about 25 hours | 113 | 587 min, about 10 hours |
The other assumptions: the assistant settles 85% of product questions and 90% of policy questions alone. It settles 80% of order-status questions; the rest are late or lost parcels and customers who won’t sign in. Returns and problems all still reach a person, by design, but each takes less time because the order, the reason and the photos are already in the chat.
What that gives you:
- About 15 hours a month back, or about 11 after an hour a week of reading chats and fixing gaps.
- 187 of 300 conversations settled without a person, a deflection rate of about 62%. Pushing it higher would mean automating rows that shouldn’t be.
- Half the remaining human time goes to "something went wrong": 300 of 587 minutes. That is the work a person should be doing.
- The plan. At an assumed three assistant replies per conversation, hand-offs included, that’s 900 replies a month: ChatPal’s Standard plan, 1,500 replies for $50 a month. If the person answering costs an assumed $20 an hour, 11 hours is $220. Your own Playground tests count toward the replies too, and on WhatsApp, Meta charges separately for service replies past 1,000 a month per number. Current plans are on the pricing page.
How to measure it
Ticket deflection is the share of conversations that end without a person. It’s the number vendors quote, and the easiest to inflate: hide your contact details and it goes up while customers get angrier. Track it alongside four others.
- Deflection, counted honestly. A conversation counts only if it ended without a hand-off and the same customer didn’t come back about the same thing within a week.
- Repeat contacts. Once a month, take 20 chats the assistant handled alone and search for each customer in the All view of Chats. Someone who wrote again two days later wasn’t helped the first time.
- Hand-offs by topic. Add Categories for your matrix rows; the Analytics only type counts a topic without changing what the assistant does. Analytics then shows how many conversations matched each. You can also ask Copilot in the dashboard what your customers have been asking about this month.
- Time to a person. A customer told "the team will reply here" feels every hour until someone does. Check the gap between hand-off and your first reply on a sample of handed-off chats.
- Wrong answers. A confident wrong answer never shows up as a hand-off, so read ten handled chats a week. When one is wrong, ask the same question in Playground, click Why this answer? to see what the assistant read, and fix the source. Save your 20 most important questions in Assistant Tests and rerun them after every policy change.
Mistakes that make customers angry
- No way to reach a person. Three rounds of "Sorry, I didn’t get that" turn a simple question into a complaint. Let anyone ask for a person and get one. If you can’t staff a hand-off, say so: with it off, ChatPal tells customers on most channels that it can’t bring a person into the chat and gives your other contact details.
- Asking for the same facts twice. Whoever takes over should see the whole chat, order number and photos included, and never ask again.
- Promises only you can keep. A bot that says "your refund is on its way" or names a delivery date for a pre-order has promised for you. Put a short "never promise" list in the assistant’s instructions. ChatPal’s order support only says a request was passed to your team, never that an order is canceled or refunded.
- Weak identity checks. A bot that shows an order to anyone who types the order number and an email shows it to anyone holding a forwarded confirmation. Use the store’s own sign-in.
- A template for an apology. "We’re sorry for the inconvenience" sent automatically to someone holding a broken item reads as nobody listening. Route those chats to a person.
- Stale policies. You cut the returns window from 30 days to 14 and the assistant quotes 30 for another month. After editing a policy page, open the ⋮ menu next to its link in ChatPal and choose Reindex.
- Silence after the hand-off. The customer was told someone will reply, and nobody does until Monday. If evenings and weekends aren’t covered, write your own escalation message that names your hours. On the website, ChatPal also asks the visitor for a phone number or email at hand-off, so you can reach them after they close the tab.