Stay organized with collections
Save and categorize content based on your preferences.
Google Workspace add-ons can access the locale and timezone of its user and use
that information to customize its interface and behavior. You must configure
your add-on's manifest
to permit your add-on to access
this information.
Configure the add-on manifest
You can configure your add-on to access user locale and
timezone information
with the following steps:
In your add-on's manifest
file, set the
addOns.common.useLocaleFromApp
field to true.
If it isn't present already, add the following explicit scope in the
manifest's oauthScopes
list:
https://www.googleapis.com/auth/script.locale
If you added a scope to the add-on's oauthScope list,
users must re-authorize the
add-on
the next time it is opened.
Get locale and timezone information
Event objects
carry user locale information when properly configured. The following fields
appear in the commonEventObject
substructure of the event object:
commonEventObject.userLocale—The user's language and country/region
identifier. For example, en-US.
commonEventObject.timeZone.offset—The user's timezone offset, in
milliseconds, from Coordinated Universal Time (UTC).
commonEventObject.timeZone.id—The user's timezone identifier.
For example, America/New_York.
commonEventObject.timeZone—The user's timezone ID and offset.
Event objects are passed to
action callback functions
as the user interacts with your add-on, and to homepage
and contextual
trigger functions. Each callback or trigger function can read the
locale and timezone information from the event object and use it as necessary.
For example, a callback function that is
navigating to a new card
could refer to the locale string when deciding what text to add to the card.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-18 UTC."],[[["\u003cp\u003eGoogle Workspace add-ons can be configured to access and utilize a user's locale and timezone for customization.\u003c/p\u003e\n"],["\u003cp\u003eAdd-on developers must set \u003ccode\u003eaddOns.common.useLocaleFromApp\u003c/code\u003e to \u003ccode\u003etrue\u003c/code\u003e and include the \u003ccode\u003ehttps://www.googleapis.com/auth/script.locale\u003c/code\u003e scope in the manifest file for locale and timezone access.\u003c/p\u003e\n"],["\u003cp\u003eEvent objects provide the user's locale and timezone information through fields like \u003ccode\u003euserLocale\u003c/code\u003e, \u003ccode\u003etimeZone.offset\u003c/code\u003e, and \u003ccode\u003etimeZone.id\u003c/code\u003e, which add-ons can utilize in their functions.\u003c/p\u003e\n"],["\u003cp\u003eAfter adding the necessary scope, users need to re-authorize the add-on for the changes to take effect.\u003c/p\u003e\n"],["\u003cp\u003eAdd-ons should only request necessary scopes and consider removing unused ones, especially those previously used for locale and timezone access through other APIs or services.\u003c/p\u003e\n"]]],["Google Workspace add-ons can access user locale and timezone by configuring the add-on manifest. Set `addOns.common.useLocaleFromApp` to `true` and add `https://www.googleapis.com/auth/script.locale` to `oauthScopes`. This requires users to re-authorize the add-on. Event objects contain `userLocale`, `timeZone.offset`, and `timeZone.id`. Callback functions and trigger functions read this information from the event object to customize the add-on's interface and behavior, such as text on cards.\n"],null,["Google Workspace add-ons can access the locale and timezone of its user and use\nthat information to customize its interface and behavior. You must configure\nyour add-on's [manifest](/workspace/add-ons/concepts/workspace-manifests)\nto permit your add-on to access\nthis information.\n\nConfigure the add-on manifest\n\nYou can configure your add-on to access user locale and\ntimezone information\nwith the following steps:\n\n1. In your add-on's [manifest](/workspace/add-ons/concepts/workspace-manifests) file, set the `addOns.common.useLocaleFromApp` field to `true`.\n2. If it isn't present already, add the following explicit scope in the manifest's `oauthScopes` list: `https://www.googleapis.com/auth/script.locale`\n\nIf you added a scope to the add-on's `oauthScope` list,\nusers must [re-authorize](/workspace/add-ons/how-tos/authorizing-addons) the\nadd-on\nthe next time it is opened.\n| **Note:** If your add-on previously used the [Calendar API](/workspace/calendar/api/v3/reference/settings), the Apps Script [Calendar service](/apps-script/reference/calendar), or other service to access the user's locale and timezone, consider whether that service is still needed by your add-on. If not, remove any scopes that service requires from your manifest. Always limit your scope list to only those services that your add-on needs.\n\nGet locale and timezone information\n\n[Event objects](/workspace/add-ons/concepts/event-objects)\ncarry user locale information when properly configured. The following fields\nappear in the [`commonEventObject`](/workspace/add-ons/concepts/event-objects#common_event_object)\nsubstructure of the event object:\n\n- `commonEventObject.userLocale`---The user's language and country/region identifier. For example, `en-US`.\n- `commonEventObject.timeZone.offset`---The user's timezone offset, in milliseconds, from Coordinated Universal Time (UTC).\n- `commonEventObject.timeZone.id`---The user's timezone identifier. For example, `America/New_York`.\n- `commonEventObject.timeZone`---The user's timezone ID and offset.\n\nSee [Event objects](/workspace/add-ons/concepts/event-objects)\nfor more details.\n\n[Event objects](/workspace/add-ons/concepts/event-objects) are passed to\n[action callback functions](/workspace/add-ons/concepts/actions#callback_functions)\nas the user interacts with your add-on, and to homepage\nand contextual\ntrigger functions. Each callback or trigger function can read the\nlocale and timezone information from the event object and use it as necessary.\nFor example, a callback function that is\n[navigating to a new card](/workspace/add-ons/how-tos/navigation#navigation_methods)\ncould refer to the locale string when deciding what text to add to the card."]]