Stay organized with collections
Save and categorize content based on your preferences.
Google Workspace add-ons should be consistent with the
style and layout of the
host application
they extend. They should extend the UI
naturally by using familiar controls and behaviors. The guidelines presented
here describe ways of handling text, images, controls, and branding that promote
a high-quality user experience.
If your add-on opens separate web pages that are an integral part of the add-on's
operation (such as a settings page for the add-on), make sure those web pages
also follow these style guidelines.
Text and images
This section tells you how to properly use text and images in your add-on.
Avoid punctuation, especially parentheses, unless part of your brand.
Keep it short—15 or fewer characters is best. Long names may be
automatically truncated in the Google Workspace Marketplace listing and elsewhere.
Don’t include the words "Google", "Gmail", or other Google product names
in your add-on name.
Don't include the word "add-on" in your add-on name.
Leave out version information.
Writing style
You shouldn’t need to write much. Most actions should be made clear through
iconography, layout, and short labels. If you find a portion of your add-on
needs more extensive explanation than short labels can provide, it's a best
practice to create a separate web page describing your add-on and link to it.
When writing UI text:
Use sentence case (especially for buttons, labels, and card actions).
Prefer short, simple text without jargon or acronyms.
Universal and card actions
If you use universal actions
or card actions in your
add-on, they appear as menu items in the cards
you define. You can choose the text that is used in these menus for these
actions. When choosing the text to use:
Avoid menu text that simply repeats your add-on’s name.
Start each menu item with an action word such as "Run", "Configure", or
"Create".
Describe the task, not the UI component that the action displays.
If your action begins a workflow and there's no single verb that describes
what it does, call it "Start".
Keep the number of menu items small to avoid forcing the user to scroll
through a large list. If you have more actions to implement, consider using
multiple cards with different actions on each.
Error messages
When something goes wrong, it’s important to use plain language. Explain the
problem from the user’s standpoint, and suggest how to fix it.
Don't allow the user to see any exceptions your code throws. Instead,
use try...catch statements to intercept exceptions, then display
a user-friendly error message.
Before you publish, check that your add-on doesn't display debug information
in the UI.
Help content
You may wish to design cards that display help information or explain the
operation of the add-on to the user. If you do build help content for your
add-on, remember to:
When possible, show instructions in a bulleted or numbered list. Walk users
through to the end result, with clear references to named UI elements.
Make sure your instructions clearly explain any requirements, like setting up
a spreadsheet in a certain way.
Feel free to link to external help content, such as supporting web pages.
Images
Images used in your add-on are either one of the
built-in icon types
or a publicly hosted image specified by a URL. When using hosted images,
be sure that they are accessible by everyone who may use your add-on.
The text of a DecoratedText widget is truncated if it cannot fit into the
available space. For this reason, always try to keep the text content as
short as you can.
Selection inputs
You can use a variety of
selection input widgets
in your add-on: drop-down selection boxes, checkboxes, and radio buttons.
Use checkboxes when people can select multiple options, or no option at all.
Use radio buttons (or a select menu) when exactly one option must be selected.
Use dropdowns when providing a short list of alternatives while trying to
save space in the UI.
Use sentence case for the text that is assigned to each option.
Avoid using selection changes to trigger major, hard-to-reverse actions,
because people often make mistakes when making selections. Instead, consider
adding a button that reads the current selection values and then triggers
the action.
For dropdowns, sort the options alphabetically or by a logical scheme
that all users can understand (such as presenting the days of the week
in order, starting from Sunday or Monday).
Restrict the number of options in a given selection input
widget to a reasonable number. If there are too many options, users may find
it hard to use the widget. In those cases, consider breaking the option
into different categories and multiple widgets.
Text inputs
Text inputs provide a place for users to enter string data.
Don't use a text input to make the user type one of a specific set of
possible entries. Use a dropdown select instead.
Use hints and suggestions to help the user enter text with the correct
format and content.
Use multiline text inputs if the text to be entered is more than a few
words.
Branding
This section provide user experience guidelines for adding branding elements
to your add-on interface.
In your add-on
If you’d like to include branding in your add-on UI, keep it brief and light.
This helps people focus on your add-on functionality.
[[["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 should seamlessly integrate with the host application's style and layout using familiar controls and behaviors.\u003c/p\u003e\n"],["\u003cp\u003eAdd-on names should be concise, using title case, avoiding punctuation and Google product names, and kept to 15 characters or less.\u003c/p\u003e\n"],["\u003cp\u003eUI text should be minimal, using sentence case, simple language, and clear action verbs in menus and buttons.\u003c/p\u003e\n"],["\u003cp\u003eBranding should be subtle within the add-on, adhering to Google's branding guidelines, and avoiding Google product names or icons.\u003c/p\u003e\n"],["\u003cp\u003eError messages should be user-friendly, providing clear explanations and solutions instead of technical jargon or exceptions.\u003c/p\u003e\n"]]],["Add-ons must match the host application's style and extend the UI naturally. Key actions include: using title case for the add-on's name (15 characters or less), and avoiding punctuation, Google product names, \"add-on\", and version info. UI text should be in sentence case, short, and jargon-free, with menu items starting with action words. Error messages should use plain language. Images should be accessible, buttons should primarily use verbs, and text inputs should employ hints. Branding must be brief, adhering to specific guidelines.\n"],null,["Google Workspace add-ons should be consistent with the\nstyle and layout of the\n[host application](/workspace/add-ons/guides/glossary#host_or_host_application)\nthey extend. They should extend the UI\nnaturally by using familiar controls and behaviors. The guidelines presented\nhere describe ways of handling text, images, controls, and branding that promote\na high-quality user experience.\n\nIf your add-on opens separate web pages that are an integral part of the add-on's\noperation (such as a settings page for the add-on), make sure those web pages\nalso follow these style guidelines.\n\nText and images\n\nThis section tells you how to properly use text and images in your add-on.\n\nAdd-on name\n\nYou must set your add-on's name in its project\n[manifest](/workspace/add-ons/concepts/workspace-manifests) and when you\n[configure your add-on for publication](/workspace/marketplace/sdk#text_assets).\nThe name appears in many places, such as the [Google Workspace Marketplace](https://workspace.google.com/marketplace/)\nlisting and within menus. When choosing a name:\n\n- Use title case.\n- Avoid punctuation, especially parentheses, unless part of your brand.\n- Keep it short---15 or fewer characters is best. Long names may be automatically truncated in the Google Workspace Marketplace listing and elsewhere.\n- Don't include the words \"Google\", \"Gmail\", or other Google product names in your add-on name.\n- Don't include the word \"add-on\" in your add-on name.\n- Leave out version information.\n\nWriting style\n\nYou shouldn't need to write much. Most actions should be made clear through\niconography, layout, and short labels. If you find a portion of your add-on\nneeds more extensive explanation than short labels can provide, it's a best\npractice to create a separate web page describing your add-on and link to it.\n\nWhen writing UI text:\n\n- Use sentence case (especially for buttons, labels, and card actions).\n- Prefer short, simple text without jargon or acronyms.\n\nUniversal and card actions\n\nIf you use [universal actions](/workspace/add-ons/how-tos/universal-actions)\nor [card actions](/apps-script/reference/card-service/card-action) in your\nadd-on, they appear as menu items in the [cards](/workspace/add-ons/concepts/cards)\nyou define. You can choose the text that is used in these menus for these\nactions. When choosing the text to use:\n\n- Avoid menu text that simply repeats your add-on's name.\n- Start each menu item with an action word such as \"Run\", \"Configure\", or \"Create\".\n- Describe the task, not the UI component that the action displays.\n- If your action begins a workflow and there's no single verb that describes what it does, call it \"Start\".\n- Keep the number of menu items small to avoid forcing the user to scroll through a large list. If you have more actions to implement, consider using multiple cards with different actions on each.\n\nError messages\n\nWhen something goes wrong, it's important to use plain language. Explain the\nproblem from the user's standpoint, and suggest how to fix it.\n\n- Don't allow the user to see any exceptions your code throws. Instead, use `try...catch` statements to intercept exceptions, then display a user-friendly error message.\n- Before you publish, check that your add-on doesn't display debug information in the UI.\n\nHelp content\n\nYou may wish to design cards that display help information or explain the\noperation of the add-on to the user. If you do build help content for your\nadd-on, remember to:\n\n- When possible, show instructions in a bulleted or numbered list. Walk users through to the end result, with clear references to named UI elements.\n- Make sure your instructions clearly explain any requirements, like setting up a spreadsheet in a certain way.\n- Feel free to link to external help content, such as supporting web pages.\n\nImages\n\nImages used in your add-on are either one of the\n[built-in icon types](/apps-script/reference/card-service/icon)\nor a publicly hosted image specified by a URL. When using hosted images,\nbe sure that they are accessible by everyone who may use your add-on.\n\nControls\n\nThis section provide user experience guidelines for\n[interactive widgets](/workspace/add-ons/concepts/widgets#user_interaction_widgets).\n\nButtons\n\nUse buttons to control your user interface's main actions rather than\nother widgets.\n\n- Most text button labels should start with a verb.\n- Button rows should be limited to three or fewer buttons in most cases.\n\nDecoratedText\n\n[DecoratedText widgets](/workspace/add-ons/concepts/widgets#informational_widgets)\nlet you present text content with icons, buttons or switches.\n\n- Use sentence case for the text content.\n- The text of a DecoratedText widget is truncated if it cannot fit into the available space. For this reason, always try to keep the text content as short as you can.\n\nSelection inputs\n\nYou can use a variety of\n[selection input widgets](/workspace/add-ons/concepts/widgets#user_interaction_widgets)\nin your add-on: drop-down selection boxes, checkboxes, and radio buttons.\n\n- Use checkboxes when people can select multiple options, or no option at all. Use radio buttons (or a select menu) when exactly one option must be selected. Use dropdowns when providing a short list of alternatives while trying to save space in the UI.\n- Use sentence case for the text that is assigned to each option.\n- Avoid using selection changes to trigger major, hard-to-reverse actions, because people often make mistakes when making selections. Instead, consider adding a button that reads the current selection values and then triggers the action.\n- For dropdowns, sort the options alphabetically or by a logical scheme that all users can understand (such as presenting the days of the week in order, starting from Sunday or Monday).\n- Restrict the number of options in a given selection input widget to a reasonable number. If there are too many options, users may find it hard to use the widget. In those cases, consider breaking the option into different categories and multiple widgets.\n\nText inputs\n\nText inputs provide a place for users to enter string data.\n\n- Don't use a text input to make the user type one of a specific set of possible entries. Use a dropdown select instead.\n- Use hints and suggestions to help the user enter text with the correct format and content.\n- Use multiline text inputs if the text to be entered is more than a few words.\n\nBranding\n\nThis section provide user experience guidelines for adding branding elements\nto your add-on interface.\n\nIn your add-on\n\nIf you'd like to include branding in your add-on UI, keep it brief and light.\nThis helps people focus on your add-on functionality.\n\n- All aspects of your add-on must follow the [branding guidelines](https://developer.chrome.com/webstore/branding).\n- Don't include the word \"Google\", \"Gmail\", or other Google product names.\n- Don't include Google product icons, even if they are altered.\n- Don't include the word \"add-on\" in your branding text.\n- Branding text should be no more than a few words.\n\nIn the Google Workspace Marketplace\n\nWhen you configure your add-on for publication,\nyou provide a number of graphical and text assets to build the\nGoogle Workspace Marketplace listing.\n\nAll aspects of your store listing and these assets must follow the\n[branding guidelines](https://developer.chrome.com/webstore/branding)."]]