Class Button | Apps Script | Google for Developers (original) (raw)
Class Button
Stay organized with collections Save and categorize content based on your preferences.
Button
A base class for all buttons.
Available for Google Workspace add-ons and Google Chat apps.
Methods
Method | Return type | Brief description |
---|---|---|
setAuthorizationAction(action) | Button | Sets an authorization action that opens a URL to the authorization flow when the object is clicked. |
setComposeAction(action, composedEmailType) | Button | Sets an action that composes a draft email when the object is clicked. |
setOnClickAction(action) | Button | Sets an action that executes when the object is clicked. |
setOnClickOpenLinkAction(action) | Button | Sets an action that opens a URL in a tab when the object is clicked. |
setOpenLink(openLink) | Button | Sets a URL to be opened when the object is clicked. |
setOverflowMenu(menu) | Button | Sets a pop-up menu to be opened when the object is clicked. |
Detailed documentation
Sets an authorization action that opens a URL to the authorization flow when the object is clicked. This opens the URL in a new window. When the user finishes the authorization flow and returns to the application, the add-on reloads.
A UI object can only have one of [setOpenLink(openLink)](#setOpenLink%28OpenLink%29)
, [setOnClickAction(action)](#setOnClickAction%28Action%29)
, [setOnClickOpenLinkAction(action)](#setOnClickOpenLinkAction%28Action%29)
, [setAuthorizationAction(action)](#setAuthorizationAction%28AuthorizationAction%29)
, or [setComposeAction(action, composedEmailType)](#setComposeAction%28Action,ComposedEmailType%29)
set.
// ...
const action = CardService.newAuthorizationAction().setAuthorizationUrl('url'); CardService.newTextButton().setText('Authorize').setAuthorizationAction(action);
Parameters
Name | Type | Description |
---|---|---|
action | AuthorizationAction | The object that specifies the authorization action to take when this element is clicked. |
Return
[Button](#)
— This object, for chaining.
setComposeAction(action, composedEmailType)
Sets an action that composes a draft email when the object is clicked. A UI object can only have one of [setOpenLink(openLink)](#setOpenLink%28OpenLink%29)
, [setOnClickAction(action)](#setOnClickAction%28Action%29)
, [setOnClickOpenLinkAction(action)](#setOnClickOpenLinkAction%28Action%29)
,[setAuthorizationAction(action)](#setAuthorizationAction%28AuthorizationAction%29)
, or [setComposeAction(action, composedEmailType)](#setComposeAction%28Action,ComposedEmailType%29)
set.
The [Action](/apps-script/reference/card-service/action)
parameter must specify a callback function that returns a [ComposeActionResponse](/apps-script/reference/card-service/compose-action-response)
object configured using [ComposeActionResponseBuilder.setGmailDraft(draft)](/apps-script/reference/card-service/compose-action-response-builder#setGmailDraft%28GmailDraft%29)
.
// ...
const action = CardService.newAction().setFunctionName('composeEmailCallback'); CardService.newTextButton() .setText('Compose Email') .setComposeAction(action, CardService.ComposedEmailType.REPLY_AS_DRAFT);
// ...
function composeEmailCallback(e) { const thread = GmailApp.getThreadById(e.threadId); const draft = thread.createDraftReply('This is a reply'); return CardService.newComposeActionResponseBuilder() .setGmailDraft(draft) .build(); }
Parameters
Name | Type | Description |
---|---|---|
action | Action | The object that specifies the compose action to take when this element is clicked. |
composedEmailType | ComposedEmailType | An enum value that specifies whether the composed draft is a standalone or reply draft. |
Return
[Button](#)
— This object, for chaining.
setOnClickAction(action)
Sets an action that executes when the object is clicked. A UI object can only have one of[setOpenLink(openLink)](#setOpenLink%28OpenLink%29)
, [setOnClickAction(action)](#setOnClickAction%28Action%29)
, [setOnClickOpenLinkAction(action)](#setOnClickOpenLinkAction%28Action%29)
, [setAuthorizationAction(action)](#setAuthorizationAction%28AuthorizationAction%29)
, or [setComposeAction(action, composedEmailType)](#setComposeAction%28Action,ComposedEmailType%29)
set.
The [Action](/apps-script/reference/card-service/action)
parameter must specify a callback function that returns a [ActionResponse](/apps-script/reference/card-service/action-response)
object.
// ...
const action = CardService.newAction().setFunctionName('notificationCallback'); CardService.newTextButton() .setText('Create notification') .setOnClickAction(action);
// ...
function notificationCallback() { return CardService.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
[Button](#)
— 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 the URL needs to be built or when you need to take other actions in addition to creating the [OpenLink](/apps-script/reference/card-service/open-link)
object. A UI object can only have one of [setOpenLink(openLink)](#setOpenLink%28OpenLink%29)
, [setOnClickAction(action)](#setOnClickAction%28Action%29)
, [setOnClickOpenLinkAction(action)](#setOnClickOpenLinkAction%28Action%29)
, [setAuthorizationAction(action)](#setAuthorizationAction%28AuthorizationAction%29)
, or[setComposeAction(action, composedEmailType)](#setComposeAction%28Action,ComposedEmailType%29)
set.
The [Action](/apps-script/reference/card-service/action)
parameter must specify a callback function that returns a [ActionResponse](/apps-script/reference/card-service/action-response)
object configured using [ActionResponseBuilder.setOpenLink(openLink)](/apps-script/reference/card-service/action-response-builder#setOpenLink%28OpenLink%29)
.
// ...
const action = CardService.newAction().setFunctionName('openLinkCallback'); CardService.newTextButton() .setText('Open Link') .setOnClickOpenLinkAction(action);
// ...
function openLinkCallback() { return CardService.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
[Button](#)
— This object, for chaining.
setOpenLink(openLink)
Sets a URL to be opened when the object is clicked. Use this function when the URL is already known and only needs to be opened. A UI object can only have one of [setOpenLink(openLink)](#setOpenLink%28OpenLink%29)
,[setOnClickAction(action)](#setOnClickAction%28Action%29)
, [setOnClickOpenLinkAction(action)](#setOnClickOpenLinkAction%28Action%29)
, [setAuthorizationAction(action)](#setAuthorizationAction%28AuthorizationAction%29)
, or [setComposeAction(action, composedEmailType)](#setComposeAction%28Action,ComposedEmailType%29)
set.
Parameters
Name | Type | Description |
---|---|---|
openLink | OpenLink | An OpenLink object describing the URL to open. |
Return
[Button](#)
— This object, for chaining.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-01-30 UTC.