Class Grid

  • A Grid is an organized grid used to display a collection of grid items.

  • The Grid is available for Google Workspace add-ons and Google Chat apps.

  • Grids support methods to add items, set authorization, border, compose, click, and open link actions, define the number of columns, and set a title.

  • A UI object can only have one click or action method set at a time.

Grid

An organized grid to display a collection of grid items.

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

constgrid=CardService.newGrid().setTitle('My Grid').setNumColumns(2).addItem(
CardService.newGridItem().setTitle('My item'));

Methods

MethodReturn typeBrief description
addEventAction(eventAction) Widget Adds the event action that can be performed on the widget.
addItem(gridItem) Grid Adds a new grid item to the grid.
setAuthorizationAction(action) Grid Sets an authorization action that opens a URL to the authorization flow when the object is clicked.
setBorderStyle(borderStyle) Grid Sets the border style applied to each grid item.
setComposeAction(action, composedEmailType) Grid Sets an action that composes a draft email when the object is clicked.
setId(id) Widget Sets the unique ID assigned that's used to identify the widget to be mutated.
setNumColumns(numColumns) Grid The number of columns to display in the grid.
setOnClickAction(action) Grid Sets an action that executes when the object is clicked.
setOnClickOpenLinkAction(action) Grid Sets an action that opens a URL in a tab when the object is clicked.
setOpenLink(openLink) Grid Sets a URL to be opened when the object is clicked.
setTitle(title) Grid Sets the title text of the grid.
setVisibility(visibility) Widget Sets the visibility of the widget.

Detailed documentation

addEventAction(eventAction)

Adds the event action that can be performed on the widget.

Parameters

NameTypeDescription
eventActionEventAction The EventAction to be added.

Return

Widget — The Object, for chaining.


addItem(gridItem)

Adds a new grid item to the grid.

Parameters

NameTypeDescription
gridItemGridItem The grid item to add.

Return

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

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

Grid — This object, for chaining.


setBorderStyle(borderStyle)

Sets the border style applied to each grid item. Default is NO_BORDER.

Parameters

NameTypeDescription
borderStyleBorderStyle The border style to apply.

Return

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

Grid — This object, for chaining.


setId(id)

Sets the unique ID assigned that's used to identify the widget to be mutated. Widget mutation is only supported in Add-Ons.

Parameters

NameTypeDescription
idStringThe id of the widget, with a limit of 64 characters and in format of `[a-zA-Z0-9-]+`.

Return

Widget — This object, for chaining.


setNumColumns(numColumns)

The number of columns to display in the grid. If shown in the right side panel, you can display 1-2 columns and the default value is 1. If shown in a dialog, you can display 2-3 columns and the default value is 2.

Parameters

NameTypeDescription
numColumnsIntegerThe number of columns.

Return

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

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

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

Grid — This object, for chaining.


setTitle(title)

Sets the title text of the grid. The text must be a plain string with no formatting.

Parameters

NameTypeDescription
titleStringThe title text.

Return

Grid — This object, for chaining.


setVisibility(visibility)

Sets the visibility of the widget. The default value is `VISIBLE`.

Parameters

NameTypeDescription
visibilityVisibility The Visibility of the widget.

Return

Widget — The 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 2026年04月13日 UTC.