Class CardAction

  • CardAction represents a clickable menu item added to a card's header.

  • It provides methods to set actions like opening URLs, composing emails, or triggering custom functions when clicked.

  • You can define the action's behavior using setOnClickAction, setOpenLink, setAuthorizationAction, setComposeAction, or setOnClickOpenLinkAction.

  • Each CardAction object can have only one action type set at a time.

  • setText customizes the displayed text for the action in the card header menu.

CardAction

A clickable menu item that is added to the card header menu.

constaction=CardService.newAction();
// Finish building the action...
constcardAction=
CardService.newCardAction().setText('Card action').setOnClickAction(action);

Methods

MethodReturn typeBrief description
setAuthorizationAction(action) CardAction Sets an authorization action that opens a URL to the authorization flow when the object is clicked.
setComposeAction(action, composedEmailType) CardAction Sets an action that composes a draft email when the object is clicked.
setOnClickAction(action) CardAction Sets an action that executes when the object is clicked.
setOnClickOpenLinkAction(action) CardAction Sets an action that opens a URL in a tab when the object is clicked.
setOpenLink(openLink) CardAction Sets a URL to be opened when the object is clicked.
setText(text) CardAction Sets the menu text for this action.

Detailed documentation

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.

// ...
constaction=CardService.newAuthorizationAction().setAuthorizationUrl('url');
CardService.newTextButton().setText('Authorize').setAuthorizationAction(action);

Parameters

NameTypeDescription
actionAuthorizationAction The object that specifies the authorization action to take when this element is clicked.

Return

CardAction — 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) .

// ...
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

NameTypeDescription
actionAction The object that specifies the compose action to take when this element is clicked.
composedEmailTypeComposedEmailType An enum value that specifies whether the composed draft is a standalone or reply draft.

Return

CardAction — 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.

// ...
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

NameTypeDescription
actionAction The action to take when this element is clicked.

Return

CardAction — 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 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) .

// ...
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

NameTypeDescription
actionAction The object that specifies the open link action to take when this element is clicked.

Return

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

NameTypeDescription
openLinkOpenLink An OpenLink object describing the URL to open.

Return

CardAction — This object, for chaining.


setText(text)

Sets the menu text for this action.

Parameters

NameTypeDescription
textStringThe menu item text.

Return

CardAction — 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 2024年12月03日 UTC.