Class OpenLink
Stay organized with collections
Save and categorize content based on your preferences.
OpenLink
Represents an action to open a link with some options.
Available for Google Workspace add-ons and Google Chat apps.
// A button that opens as a link in an overlay and
// requires a reload when closed.
const button = CardService.newTextButton()
.setText('This button opens a link in an overlay window')
.setOpenLink(
CardService.newOpenLink()
.setUrl('https://www.google.com')
.setOpenAs(CardService.OpenAs.OVERLAY)
.setOnClose(CardService.OnClose.RELOAD_ADD_ON),
);
// An action response that opens a link in full screen and
// requires no action when closed.
const actionResponse = CardService.newActionResponseBuilder()
.setOpenLink(
CardService.newOpenLink()
.setUrl('https://www.google.com')
.setOpenAs(CardService.OpenAs.FULL_SIZE)
.setOnClose(CardService.OnClose.NOTHING),
)
.build();
Note: To reload add-ons after closing a link, don't use a link with
Cross-Origin-Opener-Policy (COOP) header enabled. If COOP is enabled in a link, add-ons can't
detect the window state, and the add-on card doesn't update.
Detailed documentation
setOnClose(onClose)
Sets the behavior of the URL action when the URL window or tab is closed.
Parameters
Name | Type | Description |
onClose | OnClose | The closing setting. |
Return
OpenLink
— This object, for chaining.
setOpenAs(openAs)
Sets the behavior of URL when it is opened.
Parameters
Name | Type | Description |
openAs | OpenAs | The opening setting. |
Return
OpenLink
— This object, for chaining.
setUrl(url)
Sets the URL to be opened. The URL must match a prefix whitelisted in
the manifest.
Parameters
Name | Type | Description |
url | String | The URL to open. |
Return
OpenLink
— 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 2025-01-30 UTC.
[null,null,["Last updated 2025-01-30 UTC."],[[["\u003cp\u003e\u003ccode\u003eOpenLink\u003c/code\u003e allows Google Workspace Add-ons and Google Chat apps to open specified URLs with customizable behaviors.\u003c/p\u003e\n"],["\u003cp\u003eDevelopers can set how the link opens (overlay or full-screen) and the action taken when it's closed (reload add-on or do nothing).\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eOpenLink\u003c/code\u003e object provides methods like \u003ccode\u003esetOnClose\u003c/code\u003e, \u003ccode\u003esetOpenAs\u003c/code\u003e, and \u003ccode\u003esetUrl\u003c/code\u003e for configuration.\u003c/p\u003e\n"],["\u003cp\u003eWhen using \u003ccode\u003esetOnClose\u003c/code\u003e to reload add-ons, avoid links with Cross-Origin-Opener-Policy (COOP) enabled for proper functionality.\u003c/p\u003e\n"]]],[],null,["# Class OpenLink\n\nOpenLink\n\nRepresents an action to open a link with some options.\n\nAvailable for Google Workspace add-ons and Google Chat apps.\n\n```javascript\n// A button that opens as a link in an overlay and\n// requires a reload when closed.\nconst button = CardService.newTextButton()\n .setText('This button opens a link in an overlay window')\n .setOpenLink(\n CardService.newOpenLink()\n .setUrl('https://www.google.com')\n .setOpenAs(CardService.OpenAs.OVERLAY)\n .setOnClose(CardService.OnClose.RELOAD_ADD_ON),\n );\n\n// An action response that opens a link in full screen and\n// requires no action when closed.\nconst actionResponse = CardService.newActionResponseBuilder()\n .setOpenLink(\n CardService.newOpenLink()\n .setUrl('https://www.google.com')\n .setOpenAs(CardService.OpenAs.FULL_SIZE)\n .setOnClose(CardService.OnClose.NOTHING),\n )\n .build();\n```\n\n\n**Note:** To reload add-ons after closing a link, don't use a link with\nCross-Origin-Opener-Policy (COOP) header enabled. If COOP is enabled in a link, add-ons can't\ndetect the window state, and the add-on card doesn't update. \n\n### Methods\n\n| Method | Return type | Brief description |\n|---------------------------------------------|---------------|---------------------------------------------------------------------------|\n| [setOnClose(onClose)](#setOnClose(OnClose)) | [OpenLink](#) | Sets the behavior of the URL action when the URL window or tab is closed. |\n| [setOpenAs(openAs)](#setOpenAs(OpenAs)) | [OpenLink](#) | Sets the behavior of URL when it is opened. |\n| [setUrl(url)](#setUrl(String)) | [OpenLink](#) | Sets the URL to be opened. |\n\nDetailed documentation\n----------------------\n\n### `set``On``Close(onClose)`\n\nSets the behavior of the URL action when the URL window or tab is closed.\n\n#### Parameters\n\n| Name | Type | Description |\n|-------------|---------------------------------------------------------|----------------------|\n| `on``Close` | [OnClose](/apps-script/reference/card-service/on-close) | The closing setting. |\n\n#### Return\n\n\n[OpenLink](#) --- This object, for chaining.\n\n*** ** * ** ***\n\n### `set``Open``As(openAs)`\n\nSets the behavior of URL when it is opened.\n\n#### Parameters\n\n| Name | Type | Description |\n|------------|-------------------------------------------------------|----------------------|\n| `open``As` | [OpenAs](/apps-script/reference/card-service/open-as) | The opening setting. |\n\n#### Return\n\n\n[OpenLink](#) --- This object, for chaining.\n\n*** ** * ** ***\n\n### `set``Url(url)`\n\nSets the URL to be opened. The URL must match a prefix [whitelisted in\nthe manifest](/gmail/add-ons/concepts/manifests#manifest_structure_for_gmail_add-ons).\n\n#### Parameters\n\n| Name | Type | Description |\n|-------|----------|------------------|\n| `url` | `String` | The URL to open. |\n\n#### Return\n\n\n[OpenLink](#) --- This object, for chaining."]]