Collect chatbot cost quotations from three vendors and, in most cases, you still cannot compare them. Even when one proposal is an order of magnitude cheaper per month than the next, there is no shared yardstick that tells you which one is actually expensive. Each product counts in a different billing unit, the same “one response” contains different work, and the share of inquiries each product can take off your team’s hands is different to begin with. This article walks through the three reasons the number moves by an order of magnitude, then splits cost into five layers and compares three setups on a single basis, cost per inquiry, using an assumed volume of 2,000 inquiries per month.
Three reasons chatbot cost swings by an order of magnitude
Every product bills in a completely different unit
This is where any chatbot pricing comparison first breaks down. The three vendors you lined up are not even counting the same thing.
LINE Official Account counts messages. What is billable, however, is push, multicast, broadcast and narrowcast. A reply message sent in response to a user’s own message is not billable (LINE Developers). In other words, the very act of a chatbot answering a user’s question does not consume LINE’s message quota. Even if the bot answers ten thousand times a day, the LINE invoice does not change.
Microsoft Copilot Studio counts in “Copilot credits”. Pay-as-you-go is $0.01 per credit, and a capacity pack gives 25,000 credits for $200 per month, which works out to $0.008 per credit. In September 2025 the product moved from per-message billing to the credit model, but the rates themselves were left unchanged. The real question is how many credits one response consumes. In the published consumption examples, a single response from an agent that grounds on tenant graph data costs 12 credits, made up of 10 for grounding and 2 for generation. Add reasoning, and the same single response becomes 112 credits or more. That is roughly nine times as much. You are estimating in a unit where changing one setting moves the per-response price ninefold.
If you call an LLM API directly, the unit is tokens. Claude Sonnet 5 (Anthropic) is $2 for input and $10 for output per million tokens, and Claude Haiku 4.5 is $1 input and $5 output. The official worked example puts 10,000 support inquiries handled with Haiku 4.5 at roughly $37, based on an average of about 3,700 tokens per conversation.
Messages, credits, tokens. There is no conversion table between the three. The only way to make them comparable is to restate every option as “what does it cost in this product to handle one of our inquiries”. That restatement is exactly what the second half of this article does.
Thai and Vietnamese consume more tokens for the same meaning
The second reason is language. The tokenizers of the major LLMs were trained on predominantly English data, so non-Latin scripts tend to need more tokens to express the same meaning. A commonly cited practical benchmark is that you should budget two to three times more for non-English queries, and some reports put the degradation at three to eight times for non-Latin scripts such as CJK, Arabic and Hindi. Thai is written without spaces between words, so text that an English sentence covers in four or five tokens may take fifteen to twenty tokens or more for the same meaning.
A caveat matters here. These are ranges, not settled coefficients. It is not the kind of property you can pin down as “Thai is N times Japanese” with a single figure, because it shifts with the content of the sentence, the generation of the tokenizer and the structure of the prompt. This article therefore does not treat it as a single multiplier either, and carries the range into the estimates as a range.
The practical implication is clear. If your Japanese head office builds a usage forecast on a Japanese-language corpus and drops it unchanged onto a Thailand site, the usage-based portion may overshoot the assumption. Whether that moves the total, however, depends on what percentage of the total the usage-based portion represents, as shown later. For how to design multilingual operation itself, see key considerations for rolling out a multilingual chatbot.
Containment rate sets the denominator of your ROI
The third factor is, in practice, the biggest one. A chatbot’s value is not measured by how many questions it answered, but by how many it kept from reaching a human agent. That metric is containment.
Benchmarks published as of 2026 split into ranges by product type.
- Scripted FAQ bots: containment 25-45%
- AI agents that only return answers: 40-60%
- AI agents that execute actions such as order lookups and returns processing: 55-75%
Many deployments are said to start at 20-40% and to reach 70-90% once they mature. For Tier 1 deflection in enterprise CX, the reported figures are a median of 41.2% and an upper quartile of 58.7%.
The terms need to be kept apart. Containment asks whether that chat ended without being handed to a human, a metric scoped to the chat itself. Deflection asks whether the contact avoided the human queue at all, regardless of channel. Resolution asks whether the issue was actually solved. If the bot answers but the user gives up and calls instead, containment holds while deflection has failed.
One premise is important: these sources are e-commerce-centric benchmarks, not figures for internal inquiries in manufacturing. Questions to a plant IT desk or a production control team tend to be more standardised in form, yet a high share of them cannot be answered without checking the state of an internal system, so there is no guarantee that these ranges transfer directly. The estimates in this article use them only as an indicator of the relative difference between product types, on the assumption that you will replace the absolute values with your own data.

Breaking chatbot cost into five layers
Another reason quotations do not compare is that some layers appear in the quote and some do not, and the dividing line differs from company to company. Cost becomes tractable once you split it into these five layers.
| Layer | What it covers | Does it appear in the quote |
|---|---|---|
| Layer 1 Platform subscription | Channel base fee such as LINE Official Account, plus the monthly SaaS fee for the bot platform | Yes, and the amount is fixed |
| Layer 2 Usage charges per response | Message counts, credits, API tokens | The unit price appears, the total does not |
| Layer 3 Knowledge preparation and initial build | Document inventory, scenario and topic design, formatting for retrieval | Yes, though the scope definition is often vague |
| Layer 4 Integration with existing systems | Connections to ERP, inventory, attendance and ticketing, plus authentication | Only partly, and it tends to become a change order |
| Layer 5 Internal effort to maintain the knowledge base | Updates each time a policy or procedure changes, plus answer quality checks | No, it lands on your own payroll |
Only Layer 1 gives you a fixed number in the quote
Layer 1 is a fixed amount. Both the LINE Official Account plan fee and the monthly SaaS fee for the bot platform are settled at contract signature. Judging that “vendor A is cheaper” from this layer alone is the single most common failure. Layer 1 is only a fraction of the total.
Layers 3 and 4 do carry a number, but their nature is different. These are the layers where the resolution of the scope definition becomes the reliability of the figure. A quote that reads “knowledge preparation, all inclusive” has not settled how many documents, at what level of granularity, or who does the formatting. Layer 4 is the same: whether “ERP integration” means read-only or also includes writes, and how authentication is handled, can move the effort by several times. Sign with that left vague and it comes back later as a change order.
Nobody can quote a total for Layer 2 usage charges
Layer 2 is the hardest layer to read. A vendor can only give you a unit price. The total requires multiplying three things: how many inquiries you receive per month, how many responses one inquiry generates, and how many credits or tokens one response consumes. All three sit with the buyer, not the vendor.
In other words, the responsibility for producing the Layer 2 total belongs to the buyer. Leave that cell blank in your comparison and you will miss the cases where a proposal with a low monthly fee overtakes the others on usage. In the sensitivity analysis later in this article, changing nothing but the Layer 2 setting, with Layers 1, 3, 4 and 5 untouched, flipped the annual result from a surplus of 175,536 THB to a deficit of 94,800 THB.
Layer 5 sits in nobody’s budget
Layer 5 never appears in a quotation, because no other company invoices you for it. Yet in the cost structure of a chatbot, this is the layer that tells over the long run.
Internal policies change, work instructions get revised, product specifications are updated. Unless the knowledge the bot reads is corrected each time, it will keep returning outdated answers with full confidence. This kind of version drift becomes more likely the more time passes, and left alone it erodes the containment rate. How version drift arises from an operations point of view, and what to do about it, is covered in detail in internal inquiry automation and knowledge version drift.
The estimates in this article price Layer 5 explicitly, as monthly hours worked multiplied by an hourly rate, because treating something that does not appear in the quote as zero makes the ROI judgement structurally optimistic.
Four product types, containment rates and billing units
Before you line up product names, you need to settle on a type. A different type means a different containment range, a different billing unit, and a different amount of Layers 3, 4 and 5.
| Type | Indicative containment | Main billing unit | Suited to |
|---|---|---|---|
| Scripted FAQ bot | 25-45% | Fixed monthly fee plus message counts | Standard FAQ automation, routing at reception, opening hours and location |
| Answer-only AI agent | 40-60% | Usage-based credits or tokens | Lookups against internal policies, work procedures, product specifications |
| Action-executing AI agent | 55-75% | Usage-based charges plus integration build cost | Inventory lookups, ticket creation, request intake, returns processing |
| In-house build calling an LLM API directly | Follows the range of the type you aim for | Token usage plus your own development and operation | Fitting to proprietary data or a proprietary workflow |
The fourth entry, the in-house build, is strictly a construction method rather than a type. Calling an LLM API directly does not raise containment by itself. Build it as an answer-only agent and you are aiming at the 40-60% range; build the action execution as well and you can aim at 55-75%. The reason to choose an in-house build is not a cheaper unit price, but whether you need to fit a workflow that off-the-shelf products cannot reach. As the estimates below show, token usage in an in-house build is not the main character in the cost. Development, integration and maintenance effort are.
There is one more reason to settle the type first. Choosing an action-executing agent makes Layer 4 integration mandatory. Looking up inventory requires a connection to the inventory system, and creating a ticket requires a connection to the ticketing system. The higher the containment of the type, the more Layer 4 jumps. Pick the expensive type on containment alone and you will get stuck in Layer 4.

Annual chatbot cost for three setups at an assumed 2,000 inquiries per month
What follows is a thought experiment. With the underlying numbers stated openly, it compares the annual cost of three setups converted to a single basis, cost per inquiry.
The assumptions used here
Every figure below is a value the author set for illustration, not real data from a real company. They are offered as a base for readers to substitute their own numbers and recalculate. These assumptions are clearly separate from the published figures listed in the References at the end, namely LINE, Copilot Studio, Claude API, containment benchmarks and PDPA.
| Assumption | Value used | Type |
|---|---|---|
| Model company | Japanese-owned manufacturer in Thailand, around 200 employees | Assumed |
| Monthly inquiry volume | 2,000 per month, 24,000 per year | Assumed |
| Split | 1,200 internal, 800 external | Assumed |
| Language mix | Thai 60%, Japanese 25%, English 15% | Assumed |
| Average handling time by a human | 8 minutes per inquiry | Assumed |
| Loaded hourly rate of the agent | 300 THB per hour, overheads included | Assumed |
| Amortisation period for build cost | 3 years | Assumed |
| Exchange rate | 1 USD = 32 THB assumed | Assumed |
From these premises, the cost of one human-handled inquiry is 8 minutes divided by 60, times 300 THB, which is 40 THB. Handling every inquiry with a human costs 24,000 inquiries times 40 THB, or 960,000 THB per year. That is the baseline for these estimates.
Note that in practice internal and external inquiries arrive on separate channels. To keep the unit prices comparable, the question here has been standardised to what it costs to take the same 2,000 inquiries per month through a single setup. That standardisation is a convenience for comparison; a real design would split the front doors.
Annual cost and cost per inquiry for the three setups
Three setups are put side by side.
- Setup A: LINE Official Account (Basic) plus a scripted FAQ bot
- Setup B: An answer-only AI agent built on Copilot Studio (Microsoft)
- Setup C: An action-executing agent built in-house on an LLM API called directly
| Cost layer | Setup A | Setup B | Setup C |
|---|---|---|---|
| Layer 1 Platform subscription | 111,360 | 0 | 72,000 |
| Layer 2 Usage charges per response | 0 | 36,864 | 17,050 |
| Layer 3 Initial build, amortised over 3 years | 80,000 | 150,000 | 400,000 |
| Layer 4 Integration, amortised over 3 years | 0 | 60,000 | 200,000 |
| Layer 5 Internal effort on knowledge updates | 28,800 | 57,600 | 86,400 |
| Total annual cost | 220,160 | 304,464 | 775,450 |
(Unit: THB per year)
Here is the basis for each layer. Note that the build costs, integration costs, SaaS monthly fees, infrastructure costs and working hours that appear below are all values the author assumed, not market prices. Only the unit prices listed in the References, namely LINE, Copilot Studio and Claude API, are real published figures.
Setup A Layer 1 is the LINE Official Account Basic fee of 1,280 THB per month times 12, or 15,360 THB, plus an assumed monthly SaaS fee of 8,000 THB for the scripted FAQ bot, which is 96,000 THB per year. Layer 2 is zero because the bot answers with reply messages, which are not billable. Push volume was assumed at roughly 3,000 messages per month, which sits inside the 15,000 included in Basic, so no overage applies. Layer 3 amortises a 240,000 THB build over three years. Layer 4 is zero with no integration. Layer 5 is 8 hours per month times 300 THB times 12. Note that LINE list prices exclude VAT of 7%, so the annual 15,360 THB carries 1,075 THB of VAT. These estimates keep all setups on a VAT-exclusive basis.
Setup B Layer 2 covers the 800 external and unlicensed inquiries per month times 12 credits, which is 9,600 credits per month, priced at the pay-as-you-go rate of $0.01, giving $96 per month times 12 months times 32 THB, or 36,864 THB. The 1,200 internal inquiries are not charged here because an internal agent used inside Copilot, Teams or SharePoint by a holder of a Microsoft 365 Copilot licence does not consume paid credits within fair use limits. Layer 1 is zero because at this scale there is no need to buy a capacity pack, for the reason given in the next section.
There is an important caveat attached. The cost of the Microsoft 365 Copilot licence itself is outside the scope of the published sources this article draws on, so it is not included in the estimate. If your internal users do not already hold the licence, that amount is added on top in full, and Setup B’s ranking may change. Read Setup B as the figure for a company that has already deployed Microsoft 365 Copilot and is placing an agent on top of it.
Setup C Layer 2 starts from the official Claude worked example of roughly $37 for 10,000 inquiries, doubles it to allow for the extra round trips of tool calls needed for action execution, and then applies a conservative factor of three for the increase from a mainly Thai language mix. That gives 24,000 divided by 10,000, times $37, times 2, times 3, which is $532.80, or approximately 17,050 THB. Layer 1 assumes 6,000 THB per month for operating infrastructure covering hosting, monitoring and log retention. Layers 3 and 4 amortise 1,200,000 THB of in-house development and 600,000 THB of integration development over three years respectively. Layer 5 is 24 hours per month times 300 THB times 12. How to build the knowledge base that retrieval runs against is covered in building RAG on factory knowledge.
Now cross these against containment. A single point near the middle of each range above was adopted, giving A = 35%, B = 50% and C = 65%. The fact that the conclusion moves depending on where in the range you sit is handled further below.
| Metric | Setup A | Setup B | Setup C |
|---|---|---|---|
| Containment rate adopted | 35% | 50% | 65% |
| Contained inquiries per year | 8,400 | 12,000 | 15,600 |
| Cost per total inquiry | 9.17 THB | 12.69 THB | 32.31 THB |
| Effective cost per contained inquiry | 26.21 THB | 25.37 THB | 49.71 THB |
This table is the heart of the article. Divided by total inquiries, Setup A looks cheapest at 9.17 THB. But divide again by the inquiries actually kept away from a human and Setup A and Setup B land at almost the same level, 26.21 THB against 25.37 THB even though Setup B costs 84,304 THB more per year. The gap disappears because Setup B contains 3,600 more inquiries.
Setup C, meanwhile, has an effective cost of 49.71 THB, above the 40 THB cost of one human-handled inquiry. Under these conditions, each contained inquiry costs more than letting a person handle it. At a volume of 2,000 inquiries per month, an action-executing in-house build does not pay off.
Fix a single baseline for the benefit side
This is the most fragile point in any savings calculation.
In these estimates, the only benefit counted is the portion of the labour cost previously spent on human handling that containment makes unnecessary. Savings from reducing external BPO fees are not counted, because that would count the same human handling twice, once as payroll and once as an outsourcing fee. Which one you count has to be declared once, up front, in the article.
| Metric | Setup A | Setup B | Setup C |
|---|---|---|---|
| Baseline, all inquiries handled by humans | 960,000 | 960,000 | 960,000 |
| Human handling cost after containment | 624,000 | 480,000 | 336,000 |
| Labour cost saved per year | 336,000 | 480,000 | 624,000 |
| Total annual cost | 220,160 | 304,464 | 775,450 |
| Net annual effect | +115,840 | +175,536 | -151,450 |
(Unit: THB per year)
One more caveat deserves to be stated honestly. This saving is an effort-equivalent benefit, and it does not automatically free up cash. If headcount stays the same and overtime does not fall, not one baht of cash outflow disappears. It becomes value only once the freed-up time is redirected to other work. If you write “480,000 THB saved per year” into an approval request, you also need to write what that time will be spent on.
Break-even inquiry volume
Solve the same formula again with volume as the variable and you get the inquiry level at which each setup turns positive. It is the fixed cost, meaning Layers 1, 3, 4 and 5, divided by the per-inquiry saving minus the per-inquiry usage charge.
| Setup | Fixed cost per year | Saving per inquiry | Usage charge per inquiry | Break-even |
|---|---|---|---|---|
| Setup A | 220,160 | 14.00 THB (40 times 35%) | 0 | About 15,730 per year = about 1,310 per month |
| Setup B | 267,600 | 20.00 THB (40 times 50%) | 1.54 THB | About 14,500 per year = about 1,210 per month |
| Setup C | 758,400 | 26.00 THB (40 times 65%) | 0.71 THB | About 30,000 per year = about 2,500 per month |
Fixed cost is the sum of Layers 1, 3, 4 and 5 for each setup, and the usage charge per inquiry is Layer 2 divided by 24,000 inquiries per year. For Setup B the calculation is 267,600 divided by (20.00 minus 1.54), which is approximately 14,500 inquiries.
Setup B breaks even at a lower volume than Setup A because the difference in containment outweighs the difference in fixed cost. The cheaper setup is not always the better one, an obvious structural point that is nonetheless easy to miss.
Setup C only turns positive above 2,500 inquiries per month. At the assumed 2,000 per month it falls short by 20%. What this says is that for an action-executing in-house build, the inquiry volume itself is a precondition of the investment decision. Choose an in-house build before you can forecast volume and you will not recover the investment, however high the containment.
Taking containment at the edges of the range flips the ranking
Above, a single point near the middle of each type’s range was adopted. Take the lower and upper bounds instead and the picture looks like this, holding annual cost fixed and moving only containment.
| Setup | Lower bound | Mid-range adopted | Upper bound |
|---|---|---|---|
| Setup A (25 / 35 / 45%) | +19,840 | +115,840 | +211,840 |
| Setup B (40 / 50 / 60%) | +79,536 | +175,536 | +271,536 |
| Setup C (55 / 65 / 75%) | -247,450 | -151,450 | -55,450 |
(Unit: THB per year)
Every 10 points of containment moves the net effect by 96,000 THB in any setup, from 24,000 inquiries times 10% times 40 THB. Two things follow.
First, if Setup A can reach its upper bound of 45%, it beats a Setup B that stays at its lower bound of 40%, at +211,840 against +79,536. The ranking of types is not fixed; it can reverse depending on how far operations push containment. Between choosing a cheap type and investing in operations, and buying an expensive type without the operations to match, the former can win.
Second, Setup C is in the red across the entire range of its type, 55-75%. Even at the upper bound of 75% it is -55,450 THB per year. Turning positive would take a containment rate of about 81%, from 775,450 divided by 40 THB divided by 24,000 inquiries, which sits toward the top of the 70-90% cited for mature deployments. The conclusion does not move inside the type’s range, so the deciding factor becomes whether mature operations can pull containment that far up. At this volume, 2,000 inquiries per month is simply too small against Setup C’s fixed cost.
Turning on reasoning flips Setup B into the red
Here is the danger of Layer 2, in numbers. Leaving Setup B’s Layers 1, 3, 4 and 5 completely untouched, change only the credit consumption per response from 12 credits to 112 credits, the published consumption example with reasoning enabled.
That is 800 inquiries per month times 112 credits, or 89,600 credits per month. At this point the billing choice flips. Pay-as-you-go at $0.01 would be $896 per month, but four capacity packs at 25,000 credits for $200 give 100,000 credits for $800 per month. The packs come out cheaper.
- Before the change, 12 credits, pay-as-you-go: 36,864 THB per year
- After the change, 112 credits, four capacity packs: 307,200 THB per year
The difference is 270,336 THB. Total annual cost moves from 304,464 to 574,800 THB, and the net annual effect flips from +175,536 THB to -94,800 THB. The effective cost per contained inquiry also rises from 25.37 THB to 47.90 THB, above the 40 THB of human handling.
Credit consumption rises 9.33 times, from 112 divided by 12, while cost rises only 8.33 times, because the capacity pack rate of $0.008 per credit is cheaper than the pay-as-you-go rate of $0.01. Incidentally, the crossover between pay-as-you-go and capacity packs sits at 20,000 credits per month, since $0.01 times 20,000 equals $200. At 12 credits per response that is about 1,670 responses per month; at 112 credits per response it is about 180 responses per month. The moment reasoning is enabled, a pack contract becomes the premise at a very small number of responses.
Even when Layers 1, 3, 4 and 5 in the quotation are identical, one setting can change the sign of the result. The point is that you should not sign before making the vendor pin down how much one response consumes.
The share of usage charges determines your language risk
The Thai token inflation raised at the top of this article does not hit every setup equally. How hard it hits is determined by what percentage of the total Layer 2 represents.
| Setup | Layer 2 per year | Total annual cost | Usage share of total |
|---|---|---|---|
| Setup A | 0 | 220,160 | 0% |
| Setup B (12 credits) | 36,864 | 304,464 | 12.1% |
| Setup B (112 credits) | 307,200 | 574,800 | 53.4% |
| Setup C | 17,050 | 775,450 | 2.2% |
For Setup C, even estimating Layer 2 with a conservative factor of three, it is only 2.2% of the total. Had it been held to a factor of two, the figure would be 11,366 THB per year, a difference of 5,684 THB. In an in-house build, the language difference in token pricing barely moves the total. What moves it is development cost, integration cost and maintenance effort.
The setups that language-driven token growth hits directly are those where Layer 2 is denominated in tokens and usage charges are the main part of the total. Specifically, a lightweight usage-based SaaS plan with minimal initial build, at high monthly volume. Conversely, for credit-denominated setups such as Setup B, the published consumption examples are given in terms of grounding and reasoning, with no per-language coefficient stated. How credits move by language needs to be confirmed product by product, and this article does not assert it.
So where does cost genuinely rise at a Thailand site? In practice, not in Layer 2 but in Layers 3, 4 and 5. The effort to prepare the knowledge base in Thai, Japanese and English, the mechanism for managing terminology equivalents across those languages, and the operating routine for updating all three languages simultaneously when a policy is revised. That is where the increment really lives. Deciding who owns Layer 5 is likely to affect cost more than worrying about the usage unit price.

What changes the cost structure at a Thailand site
LINE chatbot for business in Thailand and the Basic to Pro crossover
If you run a customer-facing channel in Thailand, LINE Official Account is hard to avoid. The Thailand pricing as of 2026 is as follows, and all list prices exclude VAT of 7%.
| Plan | Monthly fee | Messages included | Overage rate |
|---|---|---|---|
| Free | 0 | 300 per month | n/a |
| Basic | 1,280 THB | 15,000 | 0.10 THB per message |
| Pro | 1,780 THB | 35,000 | 0.06 THB per message |
Pro includes MyCustomer, the CRM feature, at no extra cost.
From these three, the crossover between Basic and Pro can be calculated. With V as the monthly outbound message volume, Basic costs 1,280 plus 0.10 times (V minus 15,000), while Pro is 1,780 THB as long as V is at or below 35,000. The two are equal at V = 20,000 messages, since 1,280 plus 0.10 times 5,000 equals 1,780.
- Up to 20,000 messages per month: Basic is cheaper or the same
- Above 20,000 messages per month: Pro is cheaper
At 25,000 messages per month, Basic is 2,280 THB against Pro at 1,780 THB, making Pro 500 THB cheaper. In other words, the reasoning “our volume is still low, so Basic will do” reverses at 20,000 messages.
Note also that LINE pricing in Thailand has been through revisions. The revision of 1 August 2019 cut overage rates substantially. The figures from that time, such as Basic overage going from 0.3 to 0.08, are not current prices. If an old estimate spreadsheet is still circulating internally, it needs to be rebuilt at the current 0.10 and 0.06.
What it means for design that reply messages are not billable
More than the price table, this single point drives the design. Under the LINE Messaging API, the billable message types are push, multicast, broadcast and narrowcast, and reply messages are not billable. Pricing plans differ by country and region.
That works out as follows.
- A user asks a question and the bot answers with a reply: no increase in LINE cost
- You improve the bot’s accuracy and the number of responses grows: no increase in LINE cost
- A human agent follows up the next morning with a push: billed as one message
- Unread follow-ups and after-hours re-notifications sent as push: billed accordingly
What determines the cost of a LINE chatbot for business is not how clever the bot is, but how push is designed. If you want to hold cost down, the first step is to recount why you are sending push at all. Conversely, a design that handles post-escalation replies asynchronously through push ties directly to message volume. Your message volume estimate has to include how replies are delivered after handover to a human.
This structure also affects the choice of internal channel. Whether to take internal inquiries on LINE or on Teams is a comparison of billing structures before it is a comparison of features. On LINE, reply is free and push is paid. On Copilot Studio, each response consumes credits, although internal use by Microsoft 365 Copilot licence holders does not consume them within fair use limits. The same single conversation triggers billing under completely different conditions.
PDPA enforcement and chatbot log design
If you run a chatbot at a Thailand site, PDPA enters the cost conversation. From August 2025 onward, Thailand’s Personal Data Protection Committee moved from a warning-centred approach to an enforcement phase in which administrative fines are actually imposed. As of May 2026, cumulative administrative fines of about 21.5 million THB, roughly USD 660,000, had been imposed.
Fine tiers are capped by section: 1 million THB for a Section 82 breach, 3 million THB for Section 83 and 5 million THB for Section 84. The priority investigation sectors for 2026 are said to be e-commerce, healthcare, telecommunications and public services. Manufacturing is not in that priority list, but if you operate a chat channel for customers or suppliers, you are handling the same personal data. The PDPC investigates on its own initiative without waiting for complaints, and has issued penalties at close to the cap along with data deletion orders.
Translated to a chatbot, the issues come down to four.
- Conversation logs can contain personal data. Names, phone numbers, order numbers and sometimes even health information get typed into free-text fields
- Have you set a retention period? A design that accumulates logs indefinitely is the same as a design that cannot honour a deletion request
- How will you explain cross-border transfers? If the LLM API processes data in an overseas region, that becomes something you have to explain
- Can you act on deletion requests individually? Is the structure such that you can extract and delete only one user’s logs
As a cost question, these belong in Layer 3 initial build and Layer 4 integration, and they are the items most likely to be missing from the scope definition in a quotation. Both log retention management and per-user deletion are more expensive to add later. This article does not estimate the rebuild cost if a data deletion order is issued, since too many assumptions would be needed for the figure to mean anything, but it is certain that the cost of designing it in and the cost of retrofitting it are not the same. The wider governance design for using generative AI internally is set out in how to build a secure generative AI environment.
Four things to settle before you request quotes
Here is how the above translates into practical steps before you go to market.
1. Count a full year of the inquiries in scope. Volume, language mix and handling time per inquiry. Without those three you cannot produce a Layer 2 total and you cannot produce a break-even point. If you have no ticketing system, record them by hand for even two weeks.
2. Decide which type you are aiming at, first. Scripted, answer-only or action-executing. Choose a product without settling the type and you end up with a cost but no containment target. If you go for the action-executing type, settle the Layer 4 integration targets at the same time.
3. Make every vendor answer in the same Layer 2 unit. Have them all state, in the same format, how much of their billing unit is consumed to handle one of your inquiries. For credits, that means credits per response together with the settings assumed, including whether grounding and reasoning are on. For message counts, that means which send types are billable. Only once this is aligned does a comparison table hold.
4. Name the Layer 5 owner and the hours. Who fixes the knowledge base, and for how many hours per month. Projects that go live with this field blank see containment fall within six months. Since it is a layer that never appears in a quotation, you have to decide it yourself.
Frequently asked questions
What is the going rate for chatbot cost?
There is no answer in the form of a going rate. Billing units differ by product and containment differs by type, so lining up monthly fees does not produce a comparison. What you can use instead is the effective cost per contained inquiry. Under this article’s assumed conditions, 2,000 inquiries per month and 40 THB per human-handled inquiry, the estimate came out at 26.21 THB for a scripted FAQ bot, 25.37 THB for an answer-only AI agent and 49.71 THB for an action-executing in-house build. Substitute your own volume and hourly rate and the numbers become comparable. The decision rule is simple: check whether the effective cost per contained inquiry is below the cost of one human-handled inquiry.
How does internal chatbot cost differ from customer-facing cost?
The conditions that trigger billing change. With Copilot Studio (Microsoft), an internal agent used inside Copilot, Teams or SharePoint by a holder of a Microsoft 365 Copilot licence does not consume paid credits within fair use limits. External customer-facing use, unlicensed users, standalone channels and autonomous execution do consume them. Even for the same agent, who uses it and from where changes the invoice. On top of that, customer-facing use widens the range of personal data handled, which raises the PDPA design load and pushes Layers 3 and 4 upward.
How much does a LINE chatbot cost per month?
On Thailand pricing, Free covers up to 300 messages per month at no charge, Basic is 1,280 THB per month with 15,000 messages included and 0.10 THB per message beyond that, and Pro is 1,780 THB per month with 35,000 messages included and 0.06 THB per message beyond that. VAT of 7% applies on top in every case. However, only push, multicast, broadcast and narrowcast are billable; a reply to a user’s own message is not. The act of the bot answering consumes no message quota by itself. Above 20,000 messages per month Pro becomes cheaper, so that is the rough switching point. Note that the SaaS fee for the bot platform and the initial build cost are separate and additional.
Does a Teams chatbot cost extra?
The same point as above applies. Within the scope of employees holding a Microsoft 365 Copilot licence using an internal agent inside Teams, no paid credits are consumed within fair use limits. However, the cost of the Microsoft 365 Copilot licence itself is separate, and this article does not cover that amount. Publishing externally, letting unlicensed users in, or running the agent autonomously all fall into paid credit consumption. The accurate reading is not “Teams means zero extra cost” but “usage within the licence scope means no extra credit consumption”.
Is a Thai language chatbot more expensive than Japanese?
In terms of token count, yes it increases. The tokenizers of the major LLMs are English-centric, so non-Latin scripts consume more tokens, a practical benchmark is to budget two to three times more for non-English queries, and some reports put non-Latin scripts at three to eight times. Because Thai is written without spaces between words, text that an English sentence covers in four or five tokens may take fifteen to twenty tokens or more. These are ranges, though, and cannot be pinned down as a single multiplier. And the impact on the total depends on the share of the total that usage charges represent. In Setup C in this article, Layer 2 is only 2.2% of the total, so the difference between a factor of three and a factor of two came to just 5,684 THB per year. What genuinely increases at a Thailand site is Layer 3 knowledge preparation and Layer 5 update effort, that is, the human work of building and maintaining the knowledge base in multiple languages.
Is chatbot development cost lower if we build in-house on an LLM API?
The token unit price certainly gets cheaper. In Setup C in this article, Layer 2 for handling 24,000 inquiries a year is about 17,050 THB, which is 2.2% of the 775,450 THB annual total. But the remaining 97.8% is development, integration, infrastructure and maintenance effort, so a cheap unit price barely moves the total. The break-even sits at about 2,500 inquiries per month, and at the assumed 2,000 per month the result was a loss of 151,450 THB per year. The reason to choose an in-house build is not the unit price, but whether you need to fit a workflow that off-the-shelf products cannot deliver.
Summary
Chatbot cost cannot be compared by lining up monthly licence fees. Three things move the figure by an order of magnitude.
First, every product bills in a completely different unit. LINE Official Account bills push and does not bill reply, Copilot Studio (Microsoft) runs on credits where the same single response ranges from 12 credits to 112 credits or more, a swing of roughly nine times, and LLM APIs bill by token usage. Unless you restate everything as cost per inquiry, no comparison holds.
Second, Thai and Vietnamese consume more tokens for the same meaning. That is a range rather than a fixed coefficient, though, and its impact on the total depends on what percentage of the total Layer 2 represents. In Setup C in this article, Layer 2 was only 2.2% of the total, and the difference between a factor of two and a factor of three came to just 5,684 THB per year. What actually increases at a Thailand site is Layer 3 knowledge preparation and Layer 5 update effort. The fragility of Layer 2 itself is a separate matter: in Setup B, changing credit consumption per response from 12 to 112 alone raised the usage share from 12.1% to 53.4% and flipped the annual result from surplus to deficit.
Third, the containment rate sets the denominator of your ROI. Between a scripted type at 25-45% and an action-executing type at 55-75%, the same spend produces completely different effective costs. Under this article’s assumed conditions, Setup B, which costs 84,304 THB more per year, was cheaper per contained inquiry than Setup A at 25.37 THB against 26.21 THB, and its net effect was 59,696 THB larger at 175,536 THB against 115,840 THB. Setup C, the most capable of the three, had an effective cost of 49.71 THB, above the 40 THB of one human-handled inquiry, and ran at a loss at this volume. Choosing the most capable type and getting the best return are two different things.
The one to watch most closely is Layer 5, the internal effort to maintain the knowledge base, which never appears in a quotation. The moment you treat it as zero, the judgement becomes structurally optimistic.
The first thing to do is not to compare products. It is a single table counting the last year of inquiries in three columns, volume, language and handling time. Without working backward from that, neither the Layer 2 total nor the break-even point can be produced.
TOMAS TECH is based in Bangkok and supports Japanese-owned manufacturers across factory IT, OT/IoT and FA. On chatbots, we are happy to start at the stage before product selection, that is, counting your own inquiries and forming a view on which type to aim for. How to make use of an existing LINE Official Account or Microsoft 365 environment, and how to maintain multilingual knowledge, are also questions we can work through against the situation at your site. You are welcome to reach us through our contact page.
References
- LINE for Business Thailand, Broadcast Message pricing – https://lineforbusiness.com/th/service/line-oa-features/broadcast-message
- LINE Developers, Messaging API pricing – https://developers.line.biz/en/docs/messaging-api/pricing/index.html.md
- Marketing Oops!, LINE Official Account price revision (2019, referenced as history) – https://www.marketingoops.com/news/line-official-account-new-price/
- Microsoft Azure, Copilot Studio pricing – https://azure.microsoft.com/en-us/pricing/details/copilot-studio/
- CloudZero, Copilot Studio Pricing – https://www.cloudzero.com/blog/copilot-studio-pricing/
- Claude Platform Docs, Pricing – https://platform.claude.com/docs/en/about-claude/pricing
- promptcost.org, LLM Tokenization Explained – https://promptcost.org/en/blog/llm-tokenization-explained/
- tianpan.co, The Multilingual Token Tax in LLM Production – https://tianpan.co/blog/2026-04-20-multilingual-token-tax-llm-production
- Alhena AI, AI Chatbot Containment vs Deflection Rate – https://alhena.ai/blog/ai-chatbot-containment-vs-deflection-rate/
- Bookbag AI, Chatbot Containment Rate Benchmarks – https://bookbag.ai/blog/chatbot-containment-rate-benchmarks
- Tilleke & Gibbins, More Than a Warning – Eight Serious Fines Imposed in Thai Data Protection Cases – https://www.tilleke.com/insights/more-than-a-warning-eight-serious-fines-imposed-in-thai-data-protection-cases/
- Lexology, Thailand PDPA enforcement update – https://www.lexology.com/library/detail.aspx?g=e43db84e-3b30-44f8-b1ea-efeccc904dff