Article summary
Separate Cameroon +237 activity ordering from French or English preference and build routing from user choice rather than phone or avatar.
+237 can help normalize a Cameroon phone, but it cannot tell an agent whether to use French or English. WhatsApp Activity can assist a time queue only. Chaining country code, language and activity produces routing that looks automatic but is evidentially weak.
A routing system needs separate axes
| Axis | Evidence | Output |
|---|---|---|
| Time priority | Dated activity observation | Queue order |
| Language preference | User choice or conversation confirmation | Agent language |
| Permission | Consent, relationship, opt-out | Queue admission |
Apply permission before ordering
Remove opted-out, refused or out-of-purpose phones first. Recent activity cannot return a prohibited record to service or marketing.
Write +237 only to the phone layer
Preserve phone_raw and country evidence and create a candidate in a new field. The calling code does not populate language, and avatar, name or regional guess cannot fill a preference blank.
Offer a neutral entry when language is unknown
A necessary first service message can provide a clear language choice, after which the user preference and date are stored. A reviewer must not inspect an avatar and assign an agent group.
Minimise the activity queue view
Show only phone, permitted action, time field and confirmed language. Business status, avatar and mapped phone appear only in their dedicated review workflows.
Investigate routing failures by axis
For slow response, inspect queue rules; for wrong language, inspect preference evidence; for delivery problems, inspect formatting. One “low-quality phone” label hides the cause.
Keep routing configuration outside TXT
Upload one phone per line. Language, permission and contact_id remain in the private crosswalk. Excel reconnects in staging and never overwrites a confirmed user preference.
Give activity a short expiry
Store checked_at and valid_until. Expiry means the observation can no longer order the queue; it does not mean the contact is inactive. Language preference follows its own update rule.
Accept through routing outcomes
Compare first-language accuracy, transfer rate, waiting time and opt-out rather than the activity return rate alone. These measures show whether the workflow truly improved.
