Update Customer language (locale) with Shopify Flow & Send HTTP Request

Topic summary

Main issue: Update the customer “locale” (notification language) via Shopify Flow after customer imports default to English.

What was tried:

  • Flow “Send HTTP Request” to Admin GraphQL customerUpdate. Early attempts had syntax errors (duplicate fields, missing customer id, missing bracket). A working Postman example was shared, and a Flow-safe mutation noted (avoid Liquid {{ }} conflicts).
  • Despite Flow showing “succeeded,” locale didn’t change—likely due to using an app API token where errors aren’t surfaced (GraphQL returns 200 with userErrors). Scopes/privacy permissions for customer data were suspected.

Resolution (latest update):

  • Use Flow’s “Send Admin API request” action instead of “Send HTTP Request.”
    • Select the customerUpdate mutation and provide only the variables (e.g., {“input”:{“id”:“{{ customer.id }}”,“locale”:“sv”}}).
    • No URL or API key needed; avoids token/scope issues.
  • Confirmed working: tagged customers’ locales updated (e.g., to Swedish), and notifications send in the correct language.

Notes:

  • “locale” controls the language of customer notifications.
  • Screenshots showed Flow runs succeeding; images not required to apply the fix.

Status: Resolved. Remaining uncertainty only around the prior token/scope/privacy cause.

Summarized with AI on December 16. AI used: gpt-5.