Class OverflowMenuItem

OverflowMenuItem

An OverflowMenuItem with an icon and text label. You can deactivate the menu item when needed.

Available for Google Chat apps. In developer preview for Google Workspace Add-ons.

const overflowMenuItem =
    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'));

Methods

MethodReturn typeBrief description
setAuthorizationAction(action)OverflowMenuItemSets an authorization action that opens a URL to the authorization flow when the object is clicked.
setComposeAction(action, composedEmailType)OverflowMenuItemSets an action that composes a draft email when the object is clicked.
setDisabled(disabled)OverflowMenuItemSets whether the menu item is disabled.
setOnClickAction(action)OverflowMenuItemSets an action that executes when the object is clicked.
setOnClickOpenLinkAction(action)OverflowMenuItemSets an action that opens a URL in a tab when the object is clicked.
setOpenLink(openLink)OverflowMenuItemSets a URL to be opened when the object is clicked.
setStartIcon(icon)OverflowMenuItemSets the menu item's leading icon.
setText(text)OverflowMenuItemSets the title of the menu item.

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.

// ...

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

Parameters

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

Return

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

// ...

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

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

Return

OverflowMenuItem — This object, for chaining.


setDisabled(disabled)

Sets whether the menu item is disabled. A disabled item is greyed out and cannot be clicked.

Parameters

NameTypeDescription
disabledBooleanThe disabled state.

Return

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

// ...

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

NameTypeDescription
actionActionThe action to take when this element is clicked.

Return

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

// ...

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

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

Return

OverflowMenuItem — 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
openLinkOpenLinkAn OpenLink object describing the URL to open.

Return

OverflowMenuItem — This object, for chaining.


setStartIcon(icon)

Sets the menu item's leading icon.

Parameters

NameTypeDescription
iconIconImageThe icon to display.

Return

OverflowMenuItem — This object, for chaining.


setText(text)

Sets the title of the menu item. Required.

Parameters

NameTypeDescription
textStringThe text to display.

Return

OverflowMenuItem — This object, for chaining.