Skip to content
Giallo

Multilingual Automatic Messages: How to Choose the Right Language

Choose the right language for automated messages using phone country codes, booking channels or stated preferences. Advantages and drawbacks.

Reading time: 9 min

Language choice in automatic messages: prefix, template, language and fallback

The Multi-language automatic messages they pose a problem that seems trivial and is not: in what language do I write to this person? The system must decide for itself, before sending, using the data it has.

There is no perfect source. There are three candidates —the area code, the language declared by the channel, the preference expressed —and each one makes a different mistake. The right choice depends on which data is available reliably on all contacts, not by which would be more precise in theory.

This article compares options starting from the choice made in WhatsApp agent case study for short rentals, where six languages coexist in the same stream for Rial Estate.

In summary

  • Three possible sources for the language: telephone prefix, booking channel, declared preference. None is correct.
  • The prefix is a reasonable heuristics: always available, wrong at times. A German number does not imply a German guest.
  • You always need a Explicit fallback, typically English: without, sending to an unscheduled language fails.
  • Each language costs recurring work: template to approve and maintain. Better few well-covered languages that many neglect.
  • Do not translate operational messages on the fly with AI: the text must be predictable and, on WhatsApp, already approved.

The three sources, with their flaws

Source Availability Precision Typical defect
Telephone prefix Almost always present Medium Those living abroad keep their home number
Language of the booking channel Depends on the channel Good Not all channels display it; it can reflect the site setting, not the person
Declared preference Rare High It must be asked, and asking for it adds friction
Device language Not accessible — Not available in a messaging stream

In the project of short rents the choice fell on the telephone prefix, for a practical reason: it was the only data present on all reservations, regardless of the channel from which they came. A more precise source but only available on 60% of contacts would still require a fallback for the rest — and two logics instead of one.

The criterion Between a precise and incomplete source and a rough one but always present, for an automation the second is almost always convenient, provided the error is tolerable. Writing in English to a German is a small friction; not writing at all is a problem.

Why the prefix is wrong (and why it's okay anyway)

The prefix says where the number comes from, not who uses it. The cases where it's wrong are predictable:

  • An Italian who has lived in Berlin for ten years and still has the Italian number receives in Italian — and that's fine.
  • A German living in Milan with an Italian number receives it in Italian — and may not understand it.
  • A company booking for a foreign employee uses the location number.
  • Numbers of countries not covered by supported languages all end up on the rebound.

Error exists, and is acceptable for a simple reason: the cost of error is low. Those who receive a message in a language that is not their own can still understand it (operational messages are short and structured) or ask. The cost of not Sending nothing, however, is high.

However, it is worth making the error correctable: if a guest answers in another language, the box keeper can write it down and subsequent communications follow the right language.

The fallback: the part that no one designs and that breaks everything

This is the most technically important point of the article.

On WhatsApp each language is a separate template, with its approval — as explained in WhatsApp Business templates. If the system deduces a language for which the template is not approved, the sending fails.

In the short rent project exactly this happened: a template not yet approved in a language failed to send, and execution stopped there. The next guests in the queue received nothing. One recipient with one discovered language blocked everyone else.

The two corrections, both necessary:

  1. Explicit fallback. If the inferred language is not among the active ones, use English. Verification should be done before calling the API, not discovering the error later.
  2. Isolation by recipient. Each send must be independent of the others: a failure on a contact must not stop the queue. It is behavior that needs to be configured explicitly, because the default of many engines is the opposite.

The complete incident and the other five are told in Six errors paid in the field.

How many languages should be supported

Each added language is not a one-time translation: it is a set of templates to be approved, maintained, and reviewed with each text change. Five messages for six languages make thirty items.

The reasonable choice is to start with the languages that cover most contacts and add the others only if the data justifies it. Watching the real distribution of prefixes from the last few months is a half-hour exercise that avoids translating into a language used by three people a year.

A practical criterion: if a language covers less than 5% of contacts and English is understandable to that audience, the fallback is enough.

AI and Translations: Where Yes and Where No

There is a temptation to have messages translated on the fly from a language model. For operational messages it is the wrong choice, for three reasons.

Where AI Helps

  • Produce the first translations of the templates being drafted, then revised by a person.
  • Suggest a draft reply to a free message from a foreign customer, which the staff re-read before sending.
  • Summarize a conversation in a language that the principal does not know.

Where AI should not be used

  • Translate at the time of sending an operational message: the text must be predictable.
  • Generate text that on WhatsApp must be an already approved template.
  • Rewording access instructions or amounts: a changed detail is a problem, not a nuance.

The principle is the same as the whole project: where the correct answer is calculable, a rule is used; AI enters where the input is ambiguous, with a person verifying. The comparison between the different types of system is in assistant, chatbot and agent.

Practical examples

A guest with a French number. The prefix says France, the French template exists: part in French. Simple and majority case.

A guest with a Dutch number. Dutch is not among the supported languages: it takes the fallback in English. It works because English in that context is reasonably widespread — a reasoning that needs to be remade for each market.

A guest responding in another language. Those who guard the box notice and correct it, so the subsequent communications of that stay follow the right language. Automation gives the default value, the person corrects it.

An e-commerce with international customers. The same scheme applies to order confirmations and shipping notices. The data available there is often better — the language chosen on the site — and should be preferred to the prefix when there is. A similar context is described in customer care automation.

Mistakes to Avoid

No definite fallback. It produces failures precisely on the least frequent cases, that is, those that never appear in the tests.

Queue not isolated. A wrong recipient who stops everyone else is the most effective way of turning a small problem into a general disservice.

Translate templates with an automatic tool without revision. An error in an operating message is not a typo: it can be a wrong instruction.

Not testing sending in every language. Translations move the order of words, and a placeholder that stood in the middle of a sentence in Italian may end up in the opening, where the rules of approval do not admit it.

Adding languages without looking at data. Each language is recurrent maintenance: it must be justified by the real distribution of contacts.

How to apply it in the company

  1. Look at the data you have. Which field is present on all contacts? That is the candidate, even if it is not the most precise.
  2. Count the real distribution of the last few months and choose the languages to cover based on that.
  3. Define the fallback and verify it before calling the sending API.
  4. Isolate each recipient in mass mailings.
  5. Try real sending in each language towards a number of tests, including unapproved languages, to verify that the fallback snaps.

The link between the inferred language and the template to be used passes from the automation engine: the operation is described in automation with n8n.

Conclusion

Choose the language of a multi-language automatic message is a problem of available data, not algorithms. The phone prefix is an honest approximation: it fails in predictable cases, and the error costs little.

What costs a lot is not having foreseen the fallback, and not having isolated the recipients from each other. They are two lines of configuration that separate a system that degrades with elegance from one that stops at the first unplanned case.

If you want to go from testing with ChatGPT to an AI system integrated into business processes, Giallo Studio custom designed agents and automations.

Giallo Studio guides: methodology and sources

How we apply it in the company

Related resources

AI consulting services and process automation

FAQ

How do you decide which language to send an automatic message in?

There are three possible sources: the telephone prefix, the language declared by the booking channel or profile, and a preference expressed by the person. None is perfect: the choice depends on which data is reliably available on all contacts.

Is the telephone country code a reliable criterion?

It is a reasonable but imperfect heuristic. A German number does not imply a German guest: people living abroad often keep their original number, and companies use numbers from their headquarters. It works well as an approximation, not a certainty.

What to do when the language is not among the supported ones?

You need an explicit fallback, usually English. Without a defined fallback, the system tries to send a template that does not exist and sending fails, with the risk of also blocking subsequent recipients during bulk sending.

How many languages is it worth supporting?

Few and well covered. Each language is a set of templates to be approved and maintained: adding one that covers a few contacts means recurring work for a marginal benefit. Better to start from the two or three most frequent and expand with the data in hand.

Can you use AI to translate automatic messages?

Translating operational messages on the fly is not recommended: the text must be predictable and, for WhatsApp, already approved. AI can help produce translations during drafting, with human review, but should not generate the text at the moment of sending.

How do you verify that the translations work?

By actually sending a message in each language to a test number. Translations change word order, and a placeholder may end up at the beginning, where approval rules do not allow it: this problem becomes apparent only through testing.

Put it into practice

Let's turn this guide into your first live workflow.

Tell us what process you want to lighten: we evaluate feasibility, return and first operational step.