Class OverflowMenuItem

  • OverflowMenuItem is a UI element for Google Chat apps and Google Workspace add-ons that displays an icon and text.

  • You can set the text, starting icon, and disable the OverflowMenuItem.

  • An OverflowMenuItem can trigger various actions when clicked, such as opening a link, executing a custom action, initiating an authorization flow, or composing an email draft.

  • An OverflowMenuItem can only have one click action set at a time.

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

Method Return type Brief description
Overflow Menu Item Sets an authorization action that opens a URL to the authorization flow when the object is clicked.
Overflow Menu Item Sets an action that composes a draft email when the object is clicked.
Overflow Menu Item Sets whether the menu item is disabled.
Overflow Menu Item Sets an action that executes when the object is clicked.
Overflow Menu Item Sets an action that opens a URL in a tab when the object is clicked.
Overflow Menu Item Sets a URL to be opened when the object is clicked.
Overflow Menu Item Sets the menu item's leading icon.
Overflow Menu Item Sets 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

Name Type Description
action
Authorization Action The 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

Name Type Description
action
Action The object that specifies the compose action to take when this element is clicked.
composed Email Type
Composed Email Type An 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

Name Type Description
disabled
Boolean The 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

Name Type Description
action
Action The 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

Name Type Description
action
Action The 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

Name Type Description
open Link
Open Link An Open Link object describing the URL to open.

Return

OverflowMenuItem — This object, for chaining.


setStartIcon(icon)

Sets the menu item's leading icon.

Parameters

Name Type Description
icon
Icon Image The icon to display.

Return

OverflowMenuItem — This object, for chaining.


setText(text)

Sets the title of the menu item. Required.

Parameters

Name Type Description
text
String The text to display.

Return

OverflowMenuItem — This object, for chaining.

Create a Mobile Website
View Site in Mobile | Classic
Share by: