Class TextButton

TextButton

A TextButton with a text label. You can set the background color and deactivate the button when needed.

Available for Google Workspace Add-ons and Google Chat apps.

var textButton = CardService.newTextButton()
    .setText("Open Link")
    .setOpenLink(CardService.newOpenLink()
        .setUrl("https://www.google.com"));

Methods

Method Return type Brief description
TextButton Sets the alternative text of the button for accessibility.
TextButton Sets an authorization action that opens a URL to the authorization flow when the object is clicked.
TextButton Sets the background color for TextButtonStyle.FILLED button.
TextButton Sets an action that composes a draft email when the object is clicked.
TextButton Sets whether the button is disabled.
TextButton Sets an action that executes when the object is clicked.
TextButton Sets an action that opens a URL in a tab when the object is clicked.
TextButton Sets a URL to be opened when the object is clicked.
TextButton Sets the text that displays on the button.
TextButton Sets the button style.

Detailed documentation

setAltText(altText)

Sets the alternative text of the button for accessibility. If unset, defaults to the text that displays on the button.

Parameters

Name Type Description
altText
String The alternative text to assign to this button.

Return

TextButton — This object, for chaining.


setAuthorizationAction(action)

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) , setOnClickAction(action) , setOnClickOpenLinkAction(action) , setAuthorizationAction(action) , or setComposeAction(action, composedEmailType) set.

// ...

var 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

TextButton — This object, for chaining.


setBackgroundColor(backgroundColor)

Sets the background color for TextButtonStyle.FILLED button. If unset for a TextButtonStyle.FILLED button, the button uses the secondary color defined in the add-on manifest . This method is a no-op for TextButtonStyle.OUTLINED buttons.

Parameters

Name Type Description
backgroundColor
String The color in #rgb format.

Return

TextButton — 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) , setOnClickAction(action) , setOnClickOpenLinkAction(action) , setAuthorizationAction(action) , or setComposeAction(action, composedEmailType) set.

The Action parameter must specify a callback function that returns a ComposeActionResponse object configured using ComposeActionResponseBuilder.setGmailDraft(draft) .

// ...

var action = CardService.newAction().setFunctionName('composeEmailCallback');
CardService.newTextButton()
    .setText('Compose Email')
    .setComposeAction(action, CardService.ComposedEmailType.REPLY_AS_DRAFT);

// ...

function composeEmailCallback() {
  var thread = GmailApp.getThreadById(e.threadId);
  var 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

TextButton — 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

TextButton — 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) , setOnClickAction(action) , setOnClickOpenLinkAction(action) , setAuthorizationAction(action) , or setComposeAction(action, composedEmailType) set.

The Action parameter must specify a callback function that returns a ActionResponse object.

// ...

var 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

TextButton — 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 additon to creating the OpenLink object. A UI object can only have one of setOpenLink(openLink) , setOnClickAction(action) , setOnClickOpenLinkAction(action) , setAuthorizationAction(action) , or setComposeAction(action, composedEmailType) set.

The Action parameter must specify a callback function that returns a ActionResponse object configured using ActionResponseBuilder.setOpenLink(openLink) .

// ...

var 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

TextButton — This object, for chaining.


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) , setOnClickAction(action) , setOnClickOpenLinkAction(action) , setAuthorizationAction(action) , or setComposeAction(action, composedEmailType) set.

Parameters

Name Type Description
openLink
OpenLink An OpenLink object describing the URL to open.

Return

TextButton — 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

TextButton — This object, for chaining.


setTextButtonStyle(textButtonStyle)

Sets the button style. If unset, it defaults to TextButtonStyle.OUTLINED button.

Parameters

Name Type Description
textButtonStyle
TextButtonStyle The button style.

Return

TextButton — This object, for chaining.