Skip to content

Your Chatbot's Answers Are Your Promises: Lessons from the Air Canada Ruling

A tribunal made Air Canada honor a refund policy its chatbot invented. Here's how to keep your own support bot from making promises you can't keep.

Published Updated 6 min read

If your website chatbot tells a customer something, a court may treat it as your company saying it. That's the lesson of Moffatt v. Air Canada, where a tribunal ordered the airline to pay up after its chatbot described a refund policy that didn't exist. The fix isn't to avoid chatbots. It's to control what yours is allowed to say.

I build ChatBento, an AI support chatbot for websites, and this case shaped a lot of how ours behaves. Here's what happened, why Air Canada's defence failed, and a practical checklist for keeping your own bot from inventing policies.

What happened in the Air Canada chatbot case?

In 2022, Jake Moffatt's grandmother died and he needed to fly at short notice. He asked Air Canada's website chatbot about bereavement fares. The chatbot told him he could book at the regular price and apply for the reduced bereavement fare afterwards, within 90 days of buying the ticket.

He booked, then applied. Air Canada said no: its actual policy didn't allow bereavement discounts for travel that had already happened. The chatbot's answer had even linked to the airline's "Bereavement travel" page, and that page said the opposite of what the chatbot said.

Moffatt took it to British Columbia's Civil Resolution Tribunal. In February 2024, in Moffatt v. Air Canada, 2024 BCCRT 149, the tribunal found Air Canada liable for negligent misrepresentation. It awarded $650.88 for the fare difference, plus interest and tribunal fees, about CA$812 in total.

The money was small. The reasoning is what every business with a chatbot should read.

Why did Air Canada's defence fail?

Air Canada's two main arguments both failed.

"The chatbot is responsible for its own actions." Air Canada argued, in effect, that the chatbot was a separate entity. Tribunal member Christopher Rivers wasn't persuaded. As law firm summaries of the decision quote it: "It should be obvious to Air Canada that it is responsible for all the information on its website. It makes no difference whether the information comes from a static page or a chatbot."

"The correct policy was on another page." The tribunal asked why a customer should have to double-check information from one part of the website against another part. Nothing told Moffatt that the policy page was more trustworthy than the chatbot. He had relied, reasonably, on what the company told him, and the tribunal found Air Canada "did not take reasonable care to ensure its chatbot was accurate."

This was a small claims decision in one Canadian province, so it isn't binding law in the US, the UK or the EU. But the logic is ordinary consumer protection logic, and I'd expect courts and regulators elsewhere to reach for it. Your website speaks for your business. A chatbot is part of your website.

Why do chatbots make up policies?

Language models are built to produce a fluent, helpful-sounding answer. When the true answer is in the content they've been given, they're usually good at finding and repeating it. When it isn't, a poorly set-up bot fills the gap with something that sounds plausible, which for a refund question often means something generous.

In my experience the cause is almost always one of these:

  • The policy isn't in the bot's content at all, so it guesses.
  • Two versions of the policy are, such as an old blog post and the current terms, so it picks one or blends them.
  • The bot is allowed to answer from general knowledge, so it describes how refunds "usually" work in your industry.
  • The policy is written vaguely, so the bot interprets it, generously.
  • Nobody tested the awkward questions before launch.

How do I stop my chatbot inventing policies?

Here's what I'd do for any support bot, whichever tool you use.

1. Answer only from your content

The single most important setting. Your bot should answer from your pages, docs and Q&As, and say so when the answer isn't there. "I don't have that information, but I can pass your question to the team" is the correct answer to anything not covered.

ChatBento works this way: answers come from your website, Q&As and text, and when the answer isn't in your content, it says so and offers the contact form instead of guessing.

2. Write your money policies as explicit Q&As

Refunds, cancellations, discounts, warranties, delivery guarantees, price matching. For each one, write a short Q&A that states the rule and the exceptions in plain words:

Q: Can I get a bereavement discount after I've already travelled?

A: No. The discount has to be requested before travel. If you've already flown, the standard fare applies.

Write the "no" answers too. A bot that has never seen "we don't do X" is the one most likely to say "yes, we do X."

3. Remove outdated and conflicting pages

If your 2023 blog post describes the old returns window, the bot may quote it. Remove old pricing and policy pages from what the bot reads, or update them. One source of truth per policy.

4. Hand off anything that commits money

Anything that would create an obligation should go to a person: exceptions to a policy, compensation, custom quotes, account-specific promises. The bot can explain the general rule, then collect the visitor's details so someone with authority can reply.

5. Test with the questions that cost money

Before launch, and again whenever a policy changes, ask your bot the questions a determined customer would:

  1. "Can I get a refund after the 30 days?"
  2. "My friend got a discount, can I have one too?"
  3. "If I'm not happy, will you cover return shipping?"
  4. "Can I apply for the discount after I buy?"
  5. "What's your price match policy?" (when you don't have one)

Any answer that's more generous than your actual policy is a bug. Fix the content, not the wording of the question.

6. Read the transcripts

For the first month, read conversations weekly, and look specifically at anything mentioning refunds, discounts, cancellations or guarantees. You'll find the gaps before a customer turns them into a claim.

A checklist before your chatbot talks about money

  • The bot answers only from your content, not general knowledge
  • Every money policy has an explicit Q&A, including the "no" cases
  • Old pricing and policy pages are removed or updated
  • Exceptions and compensation go to a human
  • You've tested the ten most expensive questions
  • Someone reads transcripts weekly
  • When a policy changes, the Q&A changes the same day

What if the bot gets it wrong anyway?

It eventually will, so decide in advance. If your chatbot told a customer something your policy doesn't support, the Air Canada ruling suggests the cheapest path is usually to honour it, fix the content, and move on. Arguing that the bot isn't really you is the argument that lost.

The same reasoning works in your favour, too. A chatbot that answers accurately from your real policies, and hands off the rest, is a promise you can keep at 2 a.m. without anyone on shift.

If your policies live in scattered pages, our free FAQ generator turns a page into ten clear Q&As you can check and give to your bot. And ChatBento's free plan lets you test exactly how a grounded bot answers your hardest questions before you put it in front of customers.

Put an AI agent on your site. For $8 a month.

14-day free trial. No card required.