Use case: returns and exchanges
Take return and exchange requests in the chat, checked against the order
Your intoCHAT agent answers return-policy questions from your own pages, verifies the order in your Shopify or WooCommerce store, collects which items, how many and why, and passes a complete request to your team. Nothing changes in your store until your team acts.
Visitor: Hi, the trainers I ordered are too small. Can I swap them for a 43?
Agent: Yes, unworn items can be exchanged within 30 days of delivery. I can send an exchange request to the shop. What is your order number, and the email address you ordered with?
Visitor: It’s 1187, jonas@example.com
Agent: Thanks. Order 1187 has one pair of Trail Runner trainers in size 42. Is that the pair you want to exchange for a size 43?
Visitor: Yes, just that pair.
Agent: Your exchange request for order 1187 (1 × Trail Runner, size 42, for a size 43) has been sent to the shop. They will follow up with you about the next steps.
Return requests arrive incomplete, and each one costs a round of emails
A customer writes "I want to send this back". Before anyone can act, someone has to ask for the order number, find the order, ask which item and which size, whether the customer wants their money back or a different size, and why. Often the answer to "can I still return it?" was on your returns page all along. Each request takes several messages before anyone can decide on it, and a customer who writes in the evening waits until the next morning to hear what happens next. Automating returns does not have to mean giving an AI the power to refund. The part that eats your team’s time is the intake: answering the policy question, confirming that the order belongs to the person asking, and turning a vague message into a request your team can approve or decline at a glance. That is what intoCHAT does out of the box, with read-only access to your orders. If you want more, such as creating the return in your own returns system, you add it with a procedure and your own API, with the customer’s confirmation and, if you like, a person approving each call first.
What changes for your team
The agent does the asking and the checking. Your team keeps the decision.
Complete requests, not loose messages
Every request names the order, the items and quantities, return or exchange, and the customer’s reason in their own words. Nobody has to write back to ask for the missing details.
Only real orders, only their owners
Before it records anything, the agent checks the order number against the email address the order was placed with, and checks that each item is on that order in that quantity.
Policy answered before the request
Questions such as "how long do I have?" or "who pays for return shipping?" are answered from your returns page and Q&A pairs, so customers know where they stand before they ask.
No promises you did not make
The agent tells the customer the request was received and that you will follow up. It never promises approval, a refund, a replacement or a return label.
One list to work through
Requests collect in Returns on the Leads tab, reach the people who get lead alerts by email, and can also go to your webhooks or a Slack channel.
The workflow in intoCHAT, step by step
The customer asks about a return
In the chat on your website, on the Help Page or by email to the agent’s address. If they only ask about the policy, the agent answers from your knowledge: the return window, the condition items must be in, how exchanges and refunds work at your shop.
The agent collects the details
It asks which items, how many of each, whether the customer wants a return or an exchange, and why. For an exchange, the reason includes what they want instead. When a product was ordered in several variants, the customer has to say which one.
The order is verified
The agent needs the order number and the email address the order was placed with, and checks both against your store exactly like an order lookup. A wrong email gets the same answer as an order that does not exist. A customer your site signs in with identity verification is not asked for an email.
The items are checked
Each item must be on the order, and the quantity cannot be more than was ordered. If something does not match, the agent asks the customer to say which item they mean before anything is recorded.
The request is recorded and sent
The customer is told it was received and that you will follow up. You get it in the Returns list, by email, through the return.requested webhook and as a Slack alert. Each conversation sends one request per order; asking again does not send a second one.
Your team decides and acts in the store
Approve or decline as you always do and create the return or label in Shopify, WooCommerce or your returns tool. Reply to the alert email to reach the customer at the order’s email address, then click Mark handled.
Setup checklist and limits
Connect your store
On the Actions tab, open the Orders card and connect Shopify (a custom app with the read_orders scope) or WooCommerce (a REST API key with Read permission). intoCHAT only reads orders.
Switch on Returns and exchanges
It is off at first. Turn it on in the Orders card, then test with one of your own orders in the Playground: lookups there are real, and so is a request you send.
Train it on your returns policy
Add your returns and shipping pages to Knowledge, and Q&A pairs for rules that must be exact, such as the return window or items that cannot be returned. Policy answers come from these, not from the order.
Go further with procedures (Starter)
To create the return in your own system, write a procedure that calls your server-side API action, marked Only inside procedures, with Ask the visitor to confirm first. Starter allows 3 procedures per agent, Pro 10.
Team approval for refunds (Pro)
Mark an action Requires team approval and each call waits on the Approvals page until someone approves or rejects it. Requests expire after 1 hour, 4 hours, 24 hours or 3 days, as you choose.
Built in, the agent changes nothing
On its own it cannot refund, cancel or change an order, create a return label or open a return in your store. Without your own API action, your team handles every request.
Order limits apply
After 5 failed checks in one conversation, or 20 from one IP address, within an hour, the agent stops and tells the customer to contact you. Shopify orders older than 60 days need the read_all_orders scope.
Saved chats only, one store per agent
Return requests are not offered in temporary chats, where nothing is saved. Each agent connects one store, and each conversation sends one request per order.
Frequently asked questions
Can an AI chatbot process returns automatically?
It can take the request automatically: answer the policy question, verify the order, check the items and record a complete return or exchange request for your team. Out of the box it does not approve or refund anything, and nothing changes in your store. If your store or returns platform has an API, a procedure can call it after the customer confirms, and on Pro a person can approve each call before it runs.
Does it work with Shopify and WooCommerce?
Yes. Connect either store in the Orders card on the Actions tab, with read-only access to orders. For Shopify, use a custom app with the read_orders scope; for WooCommerce, a REST API key with Read permission. Each agent connects one store.
How does the agent make sure the order belongs to the customer?
It needs the order number and the email address the order was placed with, and both must match. A wrong email gets exactly the same answer as an order that does not exist, so nobody can find out which order numbers exist. For customers your site signs in with identity verification, the email your page passes is used instead.
Will the agent promise a refund or send a return label?
No. After a request is recorded, the agent says it was received and that you will follow up. It never promises approval, a refund, a replacement or a return label, and it does not make up return instructions. The next steps come from your team.
Can customers ask for a return by email instead of in the chat?
Yes, if your agent answers email, which is available from Starter. The email agent uses the same order connection: it asks for the order number and the order’s email address and records the request the same way. Requests from the website chat, the Help Page and email all land in the same Returns list.
How do exchanges for another size or colour work?
The customer asks for an exchange and says what they want instead, which goes into the request with their reason. If you also connect your website for live product search, the agent can show matching products with price and stock status from your public catalog, so the customer sees what is available. It does not reserve stock or create the replacement order; your team does that in the store.
Where do return requests show up?
In Returns on the Leads tab, newest first, with the date, order, email, return or exchange, items, reason and status. Team members with the Editor role or higher click Mark handled when a request is done, and Export CSV downloads all requests. The people who get lead alerts get an email for each request while lead alerts are on, and you can add the return.requested webhook and a Slack alert.
Which plan do I need?
The order connection and return requests work on every plan, including Free with 25 messages a month. Procedures need Starter ($19 a month for 2,500 messages) or Pro ($49 a month for 10,000 messages), and team approval needs Pro. Each AI reply counts as one message with the default model.
Turn return emails into requests ready to handle
Create your agent free, connect Shopify or WooCommerce with read-only access, switch on Returns and exchanges and send a test request in the Playground.
Create your agent freeFree plan, no credit card needed.