Class TextButton Stay organized with collections Save and categorize content based on your preferences.
Page Summary
A TextButton is a button with a text label used in Google Workspace add-ons and Google Chat apps, which can have its background color set and be disabled.
You can set various actions for a TextButton upon clicking, including opening a link, executing a specific action, composing an email, or initiating an authorization flow.
Accessibility features like alternative text and visual elements such as icons or overflow menus can be added to a TextButton.
TextButton appearance can be customized by setting the text displayed, background color (for FILLED style), and the overall button style.
AText with a text label. You can set the background color and deactivate the buttonwhen needed.
Available for Google Workspace add-ons and Google Chat apps.
consttextButton=CardService.newTextButton().setText('Open Link').setOpenLink(CardService.newOpenLink().setUrl('https://www.google.com'));
Methods
| Method | Return type | Brief description |
|---|---|---|
set | Text | Sets the alternative text of the button for accessibility. |
set | Text | Sets an authorization action that opens a URL to the authorization flow when the object isclicked. |
set | Text | Sets the background color forText button. |
set | Text | Sets an action that composes a draft email when the object is clicked. |
set | Text | Sets whether the button is disabled. |
set | Text | Sets a predefinedIcon to display on the button. |
set | Text | Sets the URL of an image to use as this button's icon. |
set | Text | Sets the material design icon. |
set | Text | Sets an action that executes when the object is clicked. |
set | Text | Sets an action that opens a URL in a tab when the object is clicked. |
set | Text | Sets a URL to be opened when the object is clicked. |
set | Text | Sets a pop-up menu to be opened when the object is clicked. |
set | Text | Sets the text that displays on the button. |
set | Text | Sets the button style. |
Detailed documentation
setAltText(altText)
Sets the alternative text of the button for accessibility. If unset, defaults to the text thatdisplays on the button.
Parameters
| Name | Type | Description |
|---|---|---|
alt | String | The alternative text to assign to this button. |
Return
Text — This object, for chaining.
setAuthorizationAction(action)
Sets an authorization action that opens a URL to the authorization flow when the object isclicked. This opens the URL in a new window. When the user finishes the authorization flow andreturns to the application, the add-on reloads.
A UI object can only have one ofset,set,set,set, orset set.
// ...constaction=CardService.newAuthorizationAction().setAuthorizationUrl('url');CardService.newTextButton().setText('Authorize').setAuthorizationAction(action);
Parameters
| Name | Type | Description |
|---|---|---|
action | Authorization | The object that specifies the authorization action to take when this element is clicked. |
Return
Text — This object, for chaining.
setBackgroundColor(backgroundColor)
Sets the background color forText button. If unset for aText button, the button uses the secondary color defined in the add-onmanifest.This method is a no-op forText buttons.
Parameters
| Name | Type | Description |
|---|---|---|
background | String | The color in #rgb format. |
Return
Text — This object, for chaining.
setComposeAction(action, composedEmailType)
Sets an action that composes a draft email when the object is clicked. A UI object can onlyhave one ofset,set,set,set, orset set.
TheAction parameter must specify a callback function that returns aCompose object configured usingCompose.
Note: This method doesn't set acompose action that isused toextend the compose UI.Rather, this method connects this UI element to anAction thatcomposes draft messages in Apps Script that areopened in Gmail when the action completes.
// ...constaction=CardService.newAction().setFunctionName('composeEmailCallback');CardService.newTextButton().setText('Compose Email').setComposeAction(action,CardService.ComposedEmailType.REPLY_AS_DRAFT);// ...functioncomposeEmailCallback(e){constthread=GmailApp.getThreadById(e.threadId);constdraft=thread.createDraftReply('This is a reply');returnCardService.newComposeActionResponseBuilder().setGmailDraft(draft).build();}
Parameters
| Name | Type | Description |
|---|---|---|
action | Action | The object that specifies the compose action to take when this element is clicked. |
composed | Composed | An enum value that specifies whether the composed draft is a standalone or reply draft. |
Return
Text — This object, for chaining.
setDisabled(disabled)
Sets whether the button is disabled. A disabled button is greyed out and cannot be clicked.
Parameters
| Name | Type | Description |
|---|---|---|
disabled | Boolean | The disabled state. |
Return
Text — This object, for chaining.
setIcon(icon)
Sets a predefinedIcon to display on the button. Either this orsetmust be used to define the button image.
Parameters
| Name | Type | Description |
|---|---|---|
icon | Icon | One of the predefinedIcon values. |
Return
Text — This object, for chaining.
setIconUrl(url)
Sets the URL of an image to use as this button's icon. Either this orset must beused to define the button image.
Parameters
| Name | Type | Description |
|---|---|---|
url | String | The URL address of a hosted image to use as this button's icon. |
Return
Text — This object, for chaining.
setMaterialIcon(icon)
Sets the material design icon.
consttextButton=CardService.newTextButton().setMaterialIcon(CardService.newMaterialIcon().setName('search'),);
Parameters
| Name | Type | Description |
|---|---|---|
icon | Material | The material design icon. |
Return
Text — This object, for chaining.
setOnClickAction(action)
Sets an action that executes when the object is clicked. A UI object can only have one ofset,set,set,set, orset set.
TheAction parameter must specify a callback function that returns aAction object.
// ...constaction=CardService.newAction().setFunctionName('notificationCallback');CardService.newTextButton().setText('Create notification').setOnClickAction(action);// ...functionnotificationCallback(){returnCardService.newActionResponseBuilder().setNotification(CardService.newNotification().setText('Some info to display to user'),).build();}
Parameters
| Name | Type | Description |
|---|---|---|
action | Action | The action to take when this element is clicked. |
Return
Text — This object, for chaining.
setOnClickOpenLinkAction(action)
Sets an action that opens a URL in a tab when the object is clicked. Use this function when theURL needs to be built or when you need to take other actions in addition to creating theOpen object. A UI object can only have one ofset,set,set,set, orset set.
TheAction parameter must specify a callback function that returns aAction object configured usingAction.
// ...constaction=CardService.newAction().setFunctionName('openLinkCallback');CardService.newTextButton().setText('Open Link').setOnClickOpenLinkAction(action);// ...functionopenLinkCallback(){returnCardService.newActionResponseBuilder().setOpenLink(CardService.newOpenLink().setUrl('https://www.google.com')).build();}
Parameters
| Name | Type | Description |
|---|---|---|
action | Action | The object that specifies the open link action to take when this element is clicked. |
Return
Text — This object, for chaining.
setOpenLink(openLink)
Sets a URL to be opened when the object is clicked. Use this function when the URL is alreadyknown and only needs to be opened. A UI object can only have one ofset,set,set,set,orset set.
Parameters
| Name | Type | Description |
|---|---|---|
open | Open | AnOpen object describing the URL to open. |
Return
Text — This object, for chaining.
setOverflowMenu(menu)
Sets a pop-up menu to be opened when the object is clicked. Each item in the menu can specifyan action to be triggered when clicked. Nested menus are not supported, actions for menu itemsshould not specify an overflow menu.
Available for Google Chat apps. In developer preview for Google Workspace add-ons.
Developer Preview: Available as part of theGoogle Workspace Developer Preview Program, which grants early access to certain features.
constoverflowMenuItem=CardService.newOverflowMenuItem().setStartIcon(CardService.newIconImage().setIconUrl('https://www.google.com/images/branding/googleg/1x/googleg_standard_color_64dp.png',),).setText('Open Link').setOpenLink(CardService.newOpenLink().setUrl('https://www.google.com'));constoverflowMenu=CardService.newOverflowMenu().addMenuItem(overflowMenuItem).build();
Parameters
| Name | Type | Description |
|---|---|---|
menu | Overflow | The object that specifies the overflow menu to display when this element is clicked. |
Return
Text — This object, for chaining.
setText(text)
Sets the text that displays on the button.
Parameters
| Name | Type | Description |
|---|---|---|
text | String | The text that appears on the button. |
Return
Text — This object, for chaining.
setTextButtonStyle(textButtonStyle)
Sets the button style. If unset, it defaults toText button.
constbutton=CardService.newTextButton().setText('Filled').setTextButtonStyle(CardService.TextButtonStyle.FILLED).setOpenLink(CardService.newOpenLink().setUrl('www.google.com'));
Parameters
| Name | Type | Description |
|---|---|---|
text | Text | The button style. |
Return
Text — This object, for chaining.
Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-12-03 UTC.