Skip to main content
Level 4
September 10, 2026
Question

Configuring Bilingual SMS Mandatory Keywords (STOP / ARRET) with AJO + Sinch on a Shared Short Code

  • September 10, 2026
  • 4 replies
  • 15 views

I'm looking for guidance and best practices from anyone who has implemented bilingual SMS compliance keywords in Adobe Journey Optimizer (AJO), particularly in a Canadian context.

Scenario

We're using:

  • Adobe Journey Optimizer (AJO)
  • Sinch as our SMS provider
  • A single shared short code for both English and French audiences

As part of Canadian SMS compliance requirements, we need to support mandatory opt-in/opt-out keywords in both languages, including:

English

  • STOP
  • HELP

French

  • ARRET
  • AIDE

Challenge

The integration documentation between AJO and Sinch appears to rely on a single inbound webhook endpoint for processing SMS replies. Based on the documentation I've reviewed, I haven't found a clear approach for configuring language-specific automatic responses.

For example:

  • If a user texts STOP, they should receive an English confirmation message.
  • If a user texts ARRET, they should receive a French confirmation message.

However, with a single shortcode and what appears to be a single inbound processing path, it's unclear how language detection and response localization should be handled.

Questions

  1. Has anyone successfully implemented bilingual compliance keywords (English/French) using AJO and Sinch?
  2. Where is the recommended location to manage the language-specific responses:
    • Within Sinch?
    • Within AJO?
    • Through custom webhook logic?
  3. Are there any Adobe-recommended patterns or implementation examples for multilingual SMS compliance workflows?

I'd appreciate hearing how others have solved this problem, especially from teams operating in Canada or multi-lingual environments where supporting multiple languages is required.

Thanks in advance for any insights or lessons learned.

4 replies

SatheeskannaK
Community Advisor
Community Advisor
September 10, 2026

@Caveman77 I would expect to work like this unless you see anything different happening.

  • Yes, ARRET is captured and forwarded: When someone texts ARRET, the carrier sends it to Sinch. Sinch grabs the keyword and sends it straight to AJO using your single inbound webhook. What happens in the backend when a subscriber texts ARRET, the carrier sends the message to Sinch’s gateway, which knows how to handle the keyword. Since ARRET is a well-known compliance keyword in French Canadian, Sinch’s system quickly flags the phone number for opt-out processing before passing the event along.
  • Single Webhook, Dynamic Content: You do not need separate webhooks for each language. Sinch sends the exact same JSON payload structure to AJO every time, but the message text dynamically changes (e.g., "body": "STOP" vs. "body": "ARRET").
  • Sinch Handles the Auto-Reply: Because ARRET is a standard Canadian compliance keyword, Sinch can instantly send the mandatory French confirmation message back to the handset at the carrier level before passing the data to AJO.
  • AJO Handles the Consent Profile: Once AJO receives the ARRET payload via the webhook, it updates the profile to ensure the customer is opted out of future marketing journeys.

https://community.sinch.com/t5/Toll-Free-Numbers-TFN/Sinch-NA-Toll-Free-Numbers-Onboarding-Overview/ta-p/19543?attachment-id=1872

https://developers.sinch.com/docs/conversation/consent-management

Thanks, Sathees
Caveman77Author
Level 4
September 10, 2026

Thank you for this detailed response.  So if I understand, then the French message need to be configured within the Sinch Platform, not within AJO. Then Sinch will reply based on the correct response related to the language of the Keyword. Is that understanding correct?

SatheeskannaK
Community Advisor
Community Advisor
September 10, 2026

@Caveman77 

  • For the compliance keywords, you don’t need to take any action. When you work with Sinch to get the shortcode provisioning, they should have done this when they submitted for carrier (Verizon, AT&T, etc.) approval. I suggest reaching out to the Sinch team and getting a quick confirmation.
  • For the custom keywords, you’ll need to create a streaming/batch audience to orchestrate the AJO experience.
Thanks, Sathees