CINXE.COM
Event objects | Google Workspace Add-ons | Google for Developers
<!doctype html> <html lang="en" dir="ltr"> <head> <meta name="google-signin-client-id" content="721724668570-nbkv1cfusk7kk4eni4pjvepaus73b13t.apps.googleusercontent.com"> <meta name="google-signin-scope" content="profile email https://www.googleapis.com/auth/developerprofiles https://www.googleapis.com/auth/developerprofiles.award"> <meta property="og:site_name" content="Google for Developers"> <meta property="og:type" content="website"><meta name="theme-color" content="#fff"><meta charset="utf-8"> <meta content="IE=Edge" http-equiv="X-UA-Compatible"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="manifest" href="/_pwa/developers/manifest.json" crossorigin="use-credentials"> <link rel="preconnect" href="//www.gstatic.com" crossorigin> <link rel="preconnect" href="//fonts.gstatic.com" crossorigin> <link rel="preconnect" href="//fonts.googleapis.com" crossorigin> <link rel="preconnect" href="//apis.google.com" crossorigin> <link rel="preconnect" href="//www.google-analytics.com" crossorigin><link rel="stylesheet" href="//fonts.googleapis.com/css?family=Google+Sans:400,500|Roboto:400,400italic,500,500italic,700,700italic|Roboto+Mono:400,500,700&display=swap"> <link rel="stylesheet" href="//fonts.googleapis.com/css2?family=Material+Icons&family=Material+Symbols+Outlined&display=block"><link rel="stylesheet" href="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/developers/css/app.css"> <link rel="shortcut icon" href="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/developers/images/favicon-new.png"> <link rel="apple-touch-icon" href="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/developers/images/touchicon-180-new.png"><link rel="canonical" href="https://developers.google.com/workspace/add-ons/concepts/event-objects"><link rel="search" type="application/opensearchdescription+xml" title="Google for Developers" href="https://developers.google.com/s/opensearch.xml"> <link rel="alternate" hreflang="en" href="https://developers.google.com/workspace/add-ons/concepts/event-objects" /><link rel="alternate" hreflang="x-default" href="https://developers.google.com/workspace/add-ons/concepts/event-objects" /><link rel="alternate" hreflang="ar" href="https://developers.google.com/workspace/add-ons/concepts/event-objects?hl=ar" /><link rel="alternate" hreflang="bn" href="https://developers.google.com/workspace/add-ons/concepts/event-objects?hl=bn" /><link rel="alternate" hreflang="zh-Hans" href="https://developers.google.com/workspace/add-ons/concepts/event-objects?hl=zh-cn" /><link rel="alternate" hreflang="zh-Hant" href="https://developers.google.com/workspace/add-ons/concepts/event-objects?hl=zh-tw" /><link rel="alternate" hreflang="fa" href="https://developers.google.com/workspace/add-ons/concepts/event-objects?hl=fa" /><link rel="alternate" hreflang="fr" href="https://developers.google.com/workspace/add-ons/concepts/event-objects?hl=fr" /><link rel="alternate" hreflang="de" href="https://developers.google.com/workspace/add-ons/concepts/event-objects?hl=de" /><link rel="alternate" hreflang="he" href="https://developers.google.com/workspace/add-ons/concepts/event-objects?hl=he" /><link rel="alternate" hreflang="hi" href="https://developers.google.com/workspace/add-ons/concepts/event-objects?hl=hi" /><link rel="alternate" hreflang="id" href="https://developers.google.com/workspace/add-ons/concepts/event-objects?hl=id" /><link rel="alternate" hreflang="it" href="https://developers.google.com/workspace/add-ons/concepts/event-objects?hl=it" /><link rel="alternate" hreflang="ja" href="https://developers.google.com/workspace/add-ons/concepts/event-objects?hl=ja" /><link rel="alternate" hreflang="ko" href="https://developers.google.com/workspace/add-ons/concepts/event-objects?hl=ko" /><link rel="alternate" hreflang="pl" href="https://developers.google.com/workspace/add-ons/concepts/event-objects?hl=pl" /><link rel="alternate" hreflang="pt-BR" href="https://developers.google.com/workspace/add-ons/concepts/event-objects?hl=pt-br" /><link rel="alternate" hreflang="ru" href="https://developers.google.com/workspace/add-ons/concepts/event-objects?hl=ru" /><link rel="alternate" hreflang="es-419" href="https://developers.google.com/workspace/add-ons/concepts/event-objects?hl=es-419" /><link rel="alternate" hreflang="th" href="https://developers.google.com/workspace/add-ons/concepts/event-objects?hl=th" /><link rel="alternate" hreflang="tr" href="https://developers.google.com/workspace/add-ons/concepts/event-objects?hl=tr" /><link rel="alternate" hreflang="vi" href="https://developers.google.com/workspace/add-ons/concepts/event-objects?hl=vi" /><title>Event objects | Google Workspace Add-ons | Google for Developers</title> <meta property="og:title" content="Event objects | Google Workspace Add-ons | Google for Developers"><meta property="og:url" content="https://developers.google.com/workspace/add-ons/concepts/event-objects"><meta property="og:image" content="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/developers/images/opengraph/white.png"> <meta property="og:image:width" content="1200"> <meta property="og:image:height" content="675"><meta property="og:locale" content="en"><meta name="twitter:card" content="summary_large_image"><script type="application/ld+json"> { "@context": "https://schema.org", "@type": "Article", "headline": "Event objects" } </script><script type="application/ld+json"> { "@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [{ "@type": "ListItem", "position": 1, "name": "Google Workspace", "item": "https://developers.google.com/workspace" },{ "@type": "ListItem", "position": 2, "name": "Add-ons", "item": "https://developers.google.com/workspace/add-ons/overview" },{ "@type": "ListItem", "position": 3, "name": "Event objects", "item": "https://developers.google.com/workspace/add-ons/concepts/event-objects" }] } </script> <link rel="stylesheet" href="/extras.css"></head> <body class="" template="page" theme="white" type="article" layout="docs" concierge='closed' display-toc pending> <devsite-progress type="indeterminate" id="app-progress"></devsite-progress> <section class="devsite-wrapper"> <devsite-cookie-notification-bar></devsite-cookie-notification-bar><devsite-header role="banner"> <div class="devsite-header--inner nocontent"> <div class="devsite-top-logo-row-wrapper-wrapper"> <div class="devsite-top-logo-row-wrapper"> <div class="devsite-top-logo-row"> <button type="button" id="devsite-hamburger-menu" class="devsite-header-icon-button button-flat material-icons gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Navigation menu button" visually-hidden aria-label="Open menu"> </button> <div class="devsite-product-name-wrapper"> <a href="https://developers.google.com/workspace"> <div class="devsite-product-logo-container" size="medium" > <picture> <img class="devsite-product-logo" alt="Google Workspace" src="https://fonts.gstatic.com/s/i/productlogos/googleg/v6/16px.svg" srcset=" https://fonts.gstatic.com/s/i/productlogos/googleg/v6/16px.svg" sizes="64px" loading="lazy" > </picture> </div> </a> <span class="devsite-product-name"> <ul class="devsite-breadcrumb-list" > <li class="devsite-breadcrumb-item devsite-has-google-wordmark"> <a href="https://developers.google.com/workspace" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Upper Header" data-value="1" track-type="globalNav" track-name="breadcrumb" track-metadata-position="1" track-metadata-eventdetail="Google Workspace" > <svg class="devsite-google-wordmark" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 148 48"> <title>Google</title> <path class="devsite-google-wordmark-svg-path" d="M19.58,37.65c-9.87,0-18.17-8.04-18.17-17.91c0-9.87,8.3-17.91,18.17-17.91c5.46,0,9.35,2.14,12.27,4.94l-3.45,3.45c-2.1-1.97-4.93-3.49-8.82-3.49c-7.21,0-12.84,5.81-12.84,13.02c0,7.21,5.64,13.02,12.84,13.02c4.67,0,7.34-1.88,9.04-3.58c1.4-1.4,2.32-3.41,2.66-6.16H19.58v-4.89h16.47c0.18,0.87,0.26,1.92,0.26,3.06c0,3.67-1.01,8.21-4.24,11.44C28.93,35.9,24.91,37.65,19.58,37.65z M61.78,26.12c0,6.64-5.1,11.53-11.36,11.53s-11.36-4.89-11.36-11.53c0-6.68,5.1-11.53,11.36-11.53S61.78,19.43,61.78,26.12z M56.8,26.12c0-4.15-2.96-6.99-6.39-6.99c-3.43,0-6.39,2.84-6.39,6.99c0,4.11,2.96,6.99,6.39,6.99C53.84,33.11,56.8,30.22,56.8,26.12z M87.25,26.12c0,6.64-5.1,11.53-11.36,11.53c-6.26,0-11.36-4.89-11.36-11.53c0-6.68,5.1-11.53,11.36-11.53C82.15,14.59,87.25,19.43,87.25,26.12zM82.28,26.12c0-4.15-2.96-6.99-6.39-6.99c-3.43,0-6.39,2.84-6.39,6.99c0,4.11,2.96,6.99,6.39,6.99C79.32,33.11,82.28,30.22,82.28,26.12z M112.09,15.29v20.7c0,8.52-5.02,12.01-10.96,12.01c-5.59,0-8.95-3.76-10.22-6.81l4.41-1.83c0.79,1.88,2.71,4.1,5.81,4.1c3.8,0,6.16-2.36,6.16-6.77v-1.66h-0.18c-1.14,1.4-3.32,2.62-6.07,2.62c-5.76,0-11.05-5.02-11.05-11.49c0-6.51,5.28-11.57,11.05-11.57c2.75,0,4.93,1.22,6.07,2.58h0.18v-1.88H112.09z M107.64,26.16c0-4.06-2.71-7.03-6.16-7.03c-3.49,0-6.42,2.97-6.42,7.03c0,4.02,2.93,6.94,6.42,6.94C104.93,33.11,107.64,30.18,107.64,26.16z M120.97,3.06v33.89h-5.07V3.06H120.97z M140.89,29.92l3.93,2.62c-1.27,1.88-4.32,5.11-9.61,5.11c-6.55,0-11.28-5.07-11.28-11.53c0-6.86,4.77-11.53,10.71-11.53c5.98,0,8.91,4.76,9.87,7.34l0.52,1.31l-15.42,6.38c1.18,2.31,3.01,3.49,5.59,3.49C137.79,33.11,139.58,31.84,140.89,29.92zM128.79,25.77l10.31-4.28c-0.57-1.44-2.27-2.45-4.28-2.45C132.24,19.04,128.66,21.31,128.79,25.77z"/> </svg>Workspace </a> </li> </ul> </span> </div> <div class="devsite-top-logo-row-middle"> <div class="devsite-header-upper-tabs"> <devsite-tabs class="upper-tabs"> <nav class="devsite-tabs-wrapper" aria-label="Upper tabs"> <tab > <a href="https://developers.google.com/workspace" track-metadata-eventdetail="https://developers.google.com/workspace" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - home" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Home" track-name="home" > Home </a> </tab> <tab class="devsite-active"> <a href="https://developers.google.com/workspace/add-ons" track-metadata-eventdetail="https://developers.google.com/workspace/add-ons" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - add-ons" track-metadata-module="primary nav" aria-label="Add-ons, selected" data-category="Site-Wide Custom Events" data-label="Tab: Add-ons" track-name="add-ons" > Add-ons </a> </tab> <tab class="devsite-dropdown "> <a href="https://developers.google.com/workspace/products-menu" track-metadata-eventdetail="https://developers.google.com/workspace/products-menu" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - all products" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: All products" track-name="all products" > All products </a> <a href="#" role="button" aria-haspopup="true" aria-expanded="false" aria-label="Dropdown menu for All products" track-type="nav" track-metadata-eventdetail="https://developers.google.com/workspace/products-menu" track-metadata-position="nav - all products" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: All products" track-name="all products" class="devsite-tabs-dropdown-toggle devsite-icon devsite-icon-arrow-drop-down"></a> <div class="devsite-tabs-dropdown" aria-label="submenu" hidden> <div class="devsite-tabs-dropdown-content"> <div class="devsite-tabs-dropdown-column "> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-title" role="heading" tooltip>Google Workspace apps</li> <li class="devsite-nav-item"> <a href="https://developers.google.com/admin-sdk" track-type="nav" track-metadata-eventdetail="https://developers.google.com/admin-sdk" track-metadata-position="nav - all products" track-metadata-module="tertiary nav" track-metadata-module_headline="google workspace apps" tooltip data-label="Tab menu: All products - Admin console" data-category="Workspace top menu navigation" > <div class="devsite-nav-item-title"> Admin console </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/cloud-search" track-type="nav" track-metadata-eventdetail="https://developers.google.com/cloud-search" track-metadata-position="nav - all products" track-metadata-module="tertiary nav" track-metadata-module_headline="google workspace apps" tooltip data-category="Workspace top menu navigation" data-label="Tab menu: All products - Cloud Search" > <div class="devsite-nav-item-title"> Cloud Search </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/gmail" track-type="nav" track-metadata-eventdetail="https://developers.google.com/gmail" track-metadata-position="nav - all products" track-metadata-module="tertiary nav" track-metadata-module_headline="google workspace apps" tooltip data-category="Workspace top menu navigation" data-label="Tab menu: All products - Gmail" > <div class="devsite-nav-item-title"> Gmail </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/calendar" track-type="nav" track-metadata-eventdetail="https://developers.google.com/calendar" track-metadata-position="nav - all products" track-metadata-module="tertiary nav" track-metadata-module_headline="google workspace apps" tooltip data-label="Tab menu: All products - Google Calendar" data-category="Workspace top menu navigation" > <div class="devsite-nav-item-title"> Google Calendar </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/workspace/chat" track-type="nav" track-metadata-eventdetail="https://developers.google.com/workspace/chat" track-metadata-position="nav - all products" track-metadata-module="tertiary nav" track-metadata-module_headline="google workspace apps" tooltip data-category="Workspace top menu navigation" data-label="Tab menu: All products - Google Chat" > <div class="devsite-nav-item-title"> Google Chat </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/classroom" track-type="nav" track-metadata-eventdetail="https://developers.google.com/classroom" track-metadata-position="nav - all products" track-metadata-module="tertiary nav" track-metadata-module_headline="google workspace apps" tooltip data-label="Tab menu: All products - Google Classroom" data-category="Workspace top menu navigation" > <div class="devsite-nav-item-title"> Google Classroom </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/docs" track-type="nav" track-metadata-eventdetail="https://developers.google.com/docs" track-metadata-position="nav - all products" track-metadata-module="tertiary nav" track-metadata-module_headline="google workspace apps" tooltip data-label="Tab menu: All products - Google Docs" data-category="Workspace top menu navigation" > <div class="devsite-nav-item-title"> Google Docs </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/drive" track-type="nav" track-metadata-eventdetail="https://developers.google.com/drive" track-metadata-position="nav - all products" track-metadata-module="tertiary nav" track-metadata-module_headline="google workspace apps" tooltip data-label="Tab menu: All products - Google Drive" data-category="Workspace top menu navigation" > <div class="devsite-nav-item-title"> Google Drive </div> </a> </li> </ul> </div> <div class="devsite-tabs-dropdown-column "> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-title" role="heading" tooltip> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/forms" track-type="nav" track-metadata-eventdetail="https://developers.google.com/forms" track-metadata-position="nav - all products" track-metadata-module="tertiary nav" track-metadata-module_headline=" " tooltip data-label="Tab menu: All products - Google Forms" data-category="Workspace top menu navigation" > <div class="devsite-nav-item-title"> Google Forms </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/keep" track-type="nav" track-metadata-eventdetail="https://developers.google.com/keep" track-metadata-position="nav - all products" track-metadata-module="tertiary nav" track-metadata-module_headline=" " tooltip data-label="Tab menu: All products - Google Keep" data-category="Workspace top menu navigation" > <div class="devsite-nav-item-title"> Google Keep </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/meet" track-type="nav" track-metadata-eventdetail="https://developers.google.com/meet" track-metadata-position="nav - all products" track-metadata-module="tertiary nav" track-metadata-module_headline=" " tooltip data-category="Workspace top menu navigation" data-label="Tab menu: All products - Google Meet" > <div class="devsite-nav-item-title"> Google Meet </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/sheets" track-type="nav" track-metadata-eventdetail="https://developers.google.com/sheets" track-metadata-position="nav - all products" track-metadata-module="tertiary nav" track-metadata-module_headline=" " tooltip data-label="Tab menu: All products - Google Sheets" data-category="Workspace top menu navigation" > <div class="devsite-nav-item-title"> Google Sheets </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/workspace/sites" track-type="nav" track-metadata-eventdetail="https://developers.google.com/workspace/sites" track-metadata-position="nav - all products" track-metadata-module="tertiary nav" track-metadata-module_headline=" " tooltip data-label="Tab menu: All products - Google Sites" data-category="Workspace top menu navigation" > <div class="devsite-nav-item-title"> Google Sites </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/slides" track-type="nav" track-metadata-eventdetail="https://developers.google.com/slides" track-metadata-position="nav - all products" track-metadata-module="tertiary nav" track-metadata-module_headline=" " tooltip data-label="Tab menu: All products - Google Slides" data-category="Workspace top menu navigation" > <div class="devsite-nav-item-title"> Google Slides </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/tasks" track-type="nav" track-metadata-eventdetail="https://developers.google.com/tasks" track-metadata-position="nav - all products" track-metadata-module="tertiary nav" track-metadata-module_headline=" " tooltip data-label="Tab menu: All products - Google Tasks" data-category="Workspace top menu navigation" > <div class="devsite-nav-item-title"> Google Tasks </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/vault" track-type="nav" track-metadata-eventdetail="https://developers.google.com/vault" track-metadata-position="nav - all products" track-metadata-module="tertiary nav" track-metadata-module_headline=" " tooltip data-label="Tab menu: All products - Google Vault" data-category="Workspace top menu navigation" > <div class="devsite-nav-item-title"> Google Vault </div> </a> </li> </ul> </div> <div class="devsite-tabs-dropdown-column "> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-title" role="heading" tooltip>Extend, automate & share</li> <li class="devsite-nav-item"> <a href="https://developers.google.com/workspace/add-ons" track-type="nav" track-metadata-eventdetail="https://developers.google.com/workspace/add-ons" track-metadata-position="nav - all products" track-metadata-module="tertiary nav" track-metadata-module_headline="extend, automate & share" tooltip data-label="Tab menu: All products - Add-ons" data-category="Workspace top menu navigation" > <div class="devsite-nav-item-title"> Add-ons </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/apps-script" track-type="nav" track-metadata-eventdetail="https://developers.google.com/apps-script" track-metadata-position="nav - all products" track-metadata-module="tertiary nav" track-metadata-module_headline="extend, automate & share" tooltip data-label="Tab menu: All products - Apps Script" data-category="Workspace top menu navigation" > <div class="devsite-nav-item-title"> Apps Script </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/workspace/chat/overview" track-type="nav" track-metadata-eventdetail="https://developers.google.com/workspace/chat/overview" track-metadata-position="nav - all products" track-metadata-module="tertiary nav" track-metadata-module_headline="extend, automate & share" tooltip data-label="Tab menu: All products - Chat apps" data-category="Workspace top menu navigation" > <div class="devsite-nav-item-title"> Chat apps </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/drive/api/guides/about-apps" track-type="nav" track-metadata-eventdetail="https://developers.google.com/drive/api/guides/about-apps" track-metadata-position="nav - all products" track-metadata-module="tertiary nav" track-metadata-module_headline="extend, automate & share" tooltip data-label="Tab menu: All products - Drive apps" data-category="Workspace top menu navigation" > <div class="devsite-nav-item-title"> Drive apps </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/workspace/marketplace" track-type="nav" track-metadata-eventdetail="https://developers.google.com/workspace/marketplace" track-metadata-position="nav - all products" track-metadata-module="tertiary nav" track-metadata-module_headline="extend, automate & share" tooltip data-label="Tab menu: All products - Marketplace" data-category="Workspace top menu navigation" > <div class="devsite-nav-item-title"> Marketplace </div> </a> </li> </ul> </div> </div> </div> </tab> <tab class="devsite-dropdown "> <a href="https://developers.google.com/workspace/resources-menu" track-metadata-eventdetail="https://developers.google.com/workspace/resources-menu" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - resources" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Resources" track-name="resources" > Resources </a> <a href="#" role="button" aria-haspopup="true" aria-expanded="false" aria-label="Dropdown menu for Resources" track-type="nav" track-metadata-eventdetail="https://developers.google.com/workspace/resources-menu" track-metadata-position="nav - resources" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Resources" track-name="resources" class="devsite-tabs-dropdown-toggle devsite-icon devsite-icon-arrow-drop-down"></a> <div class="devsite-tabs-dropdown" aria-label="submenu" hidden> <div class="devsite-tabs-dropdown-content"> <div class="devsite-tabs-dropdown-column "> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-title" role="heading" tooltip>Tools</li> <li class="devsite-nav-item"> <a href="https://admin.google.com/" track-type="nav" track-metadata-eventdetail="https://admin.google.com/" track-metadata-position="nav - resources" track-metadata-module="tertiary nav" track-metadata-module_headline="tools" tooltip data-label="Tab menu: Resources - Admin console" target="admin-console" data-category="Workspace top menu navigation" > <div class="devsite-nav-item-title"> Admin console </div> </a> </li> <li class="devsite-nav-item"> <a href="https://script.google.com/" track-type="nav" track-metadata-eventdetail="https://script.google.com/" track-metadata-position="nav - resources" track-metadata-module="tertiary nav" track-metadata-module_headline="tools" tooltip data-label="Tab menu: Resources - Apps Script dashboard" data-category="Workspace top menu navigation" target="_blank" > <div class="devsite-nav-item-title"> Apps Script dashboard </div> </a> </li> <li class="devsite-nav-item"> <a href="https://console.cloud.google.com/workspace-api" track-type="nav" track-metadata-eventdetail="https://console.cloud.google.com/workspace-api" track-metadata-position="nav - resources" track-metadata-module="tertiary nav" track-metadata-module_headline="tools" tooltip data-category="Workspace top menu navigation" target="console" data-label="Tab menu: Resources - Google Cloud console" > <div class="devsite-nav-item-title"> Google Cloud console </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/workspace/explore" track-type="nav" track-metadata-eventdetail="https://developers.google.com/workspace/explore" track-metadata-position="nav - resources" track-metadata-module="tertiary nav" track-metadata-module_headline="tools" tooltip data-label="Tab menu: Resources - APIs Explorer" data-category="Workspace top menu navigation" > <div class="devsite-nav-item-title"> APIs Explorer </div> </a> </li> <li class="devsite-nav-item"> <a href="https://addons.gsuite.google.com/uikit/builder" track-type="nav" track-metadata-eventdetail="https://addons.gsuite.google.com/uikit/builder" track-metadata-position="nav - resources" track-metadata-module="tertiary nav" track-metadata-module_headline="tools" tooltip target="_blank" data-label="Tab menu: Resources - Card Builder" data-category="Workspace top menu navigation" > <div class="devsite-nav-item-title"> Card Builder </div> </a> </li> </ul> </div> <div class="devsite-tabs-dropdown-column "> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-title" role="heading" tooltip>Training & support</li> <li class="devsite-nav-item"> <a href="https://developers.google.com/workspace/guides/get-started" track-type="nav" track-metadata-eventdetail="https://developers.google.com/workspace/guides/get-started" track-metadata-position="nav - resources" track-metadata-module="tertiary nav" track-metadata-module_headline="training & support" tooltip data-label="Tab menu: Resources - How to get started" data-category="Workspace top menu navigation" > <div class="devsite-nav-item-title"> How to get started </div> </a> </li> <li class="devsite-nav-item"> <a href="https://codelabs.developers.google.com/?product=googleworkspace" track-type="nav" track-metadata-eventdetail="https://codelabs.developers.google.com/?product=googleworkspace" track-metadata-position="nav - resources" track-metadata-module="tertiary nav" track-metadata-module_headline="training & support" tooltip data-category="Workspace top menu navigation" data-label="Tab menu: Resources - Codelabs" target="_blank" > <div class="devsite-nav-item-title"> Codelabs </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/workspace/support" track-type="nav" track-metadata-eventdetail="https://developers.google.com/workspace/support" track-metadata-position="nav - resources" track-metadata-module="tertiary nav" track-metadata-module_headline="training & support" tooltip data-category="Workspace top menu navigation" data-label="Tab menu: Resources - Developer support" > <div class="devsite-nav-item-title"> Developer support </div> </a> </li> </ul> </div> <div class="devsite-tabs-dropdown-column "> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-title" role="heading" tooltip>Updates</li> <li class="devsite-nav-item"> <a href="https://developers.googleblog.com/search/?query=Google+Workspace" track-type="nav" track-metadata-eventdetail="https://developers.googleblog.com/search/?query=Google+Workspace" track-metadata-position="nav - resources" track-metadata-module="tertiary nav" track-metadata-module_headline="updates" tooltip data-label="Tab menu: Resources - Blog" target="_blank" data-category="Workspace top menu navigation" > <div class="devsite-nav-item-title"> Blog </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/workspace/preview" track-type="nav" track-metadata-eventdetail="https://developers.google.com/workspace/preview" track-metadata-position="nav - resources" track-metadata-module="tertiary nav" track-metadata-module_headline="updates" tooltip data-label="Tab menu: Resources - Developer previews" data-category="Workspace top menu navigation" > <div class="devsite-nav-item-title"> Developer Previews </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/workspace/newsletters" track-type="nav" track-metadata-eventdetail="https://developers.google.com/workspace/newsletters" track-metadata-position="nav - resources" track-metadata-module="tertiary nav" track-metadata-module_headline="updates" tooltip data-label="Tab menu: Resources - Newsletter" data-category="Workspace top menu navigation" > <div class="devsite-nav-item-title"> Newsletter </div> </a> </li> <li class="devsite-nav-item"> <a href="https://twitter.com/workspacedevs" track-type="nav" track-metadata-eventdetail="https://twitter.com/workspacedevs" track-metadata-position="nav - resources" track-metadata-module="tertiary nav" track-metadata-module_headline="updates" tooltip target="_blank" data-label="Tab menu: Resources - X (Twitter)" data-category="Workspace top menu navigation" > <div class="devsite-nav-item-title"> X (Twitter) </div> </a> </li> <li class="devsite-nav-item"> <a href="https://www.youtube.com/channel/UCUcg6az6etU_gRtZVAhBXaw" track-type="nav" track-metadata-eventdetail="https://www.youtube.com/channel/UCUcg6az6etU_gRtZVAhBXaw" track-metadata-position="nav - resources" track-metadata-module="tertiary nav" track-metadata-module_headline="updates" tooltip data-category="Workspace top menu navigation" target="_blank" data-label="Tab menu: Resources - YouTube" > <div class="devsite-nav-item-title"> YouTube </div> </a> </li> </ul> </div> </div> </div> </tab> </nav> </devsite-tabs> </div> <devsite-search enable-signin enable-search enable-suggestions enable-query-completion project-name="Google Workspace Add-ons" tenant-name="Google for Developers" project-scope="/workspace/add-ons/overview" url-scoped="https://developers.google.com/s/results/workspace/add-ons/overview" > <form class="devsite-search-form" action="https://developers.google.com/s/results" method="GET"> <div class="devsite-search-container"> <button type="button" search-open class="devsite-search-button devsite-header-icon-button button-flat material-icons" aria-label="Open search"></button> <div class="devsite-searchbox"> <input aria-activedescendant="" aria-autocomplete="list" aria-label="Search" aria-expanded="false" aria-haspopup="listbox" autocomplete="off" class="devsite-search-field devsite-search-query" name="q" placeholder="Search" role="combobox" type="text" value="" > <div class="devsite-search-image material-icons" aria-hidden="true"> </div> <div class="devsite-search-shortcut-icon-container" aria-hidden="true"> <kbd class="devsite-search-shortcut-icon">/</kbd> </div> </div> </div> </form> <button type="button" search-close class="devsite-search-button devsite-header-icon-button button-flat material-icons" aria-label="Close search"></button> </devsite-search> </div> <devsite-language-selector> <ul role="presentation"> <li role="presentation"> <a role="menuitem" lang="en" >English</a> </li> <li role="presentation"> <a role="menuitem" lang="de" >Deutsch</a> </li> <li role="presentation"> <a role="menuitem" lang="es" >Español</a> </li> <li role="presentation"> <a role="menuitem" lang="es_419" >Español – América Latina</a> </li> <li role="presentation"> <a role="menuitem" lang="fr" >Français</a> </li> <li role="presentation"> <a role="menuitem" lang="id" >Indonesia</a> </li> <li role="presentation"> <a role="menuitem" lang="it" >Italiano</a> </li> <li role="presentation"> <a role="menuitem" lang="pl" >Polski</a> </li> <li role="presentation"> <a role="menuitem" lang="pt_br" >Português – Brasil</a> </li> <li role="presentation"> <a role="menuitem" lang="vi" >Tiếng Việt</a> </li> <li role="presentation"> <a role="menuitem" lang="tr" >Türkçe</a> </li> <li role="presentation"> <a role="menuitem" lang="ru" >Русский</a> </li> <li role="presentation"> <a role="menuitem" lang="he" >עברית</a> </li> <li role="presentation"> <a role="menuitem" lang="ar" >العربيّة</a> </li> <li role="presentation"> <a role="menuitem" lang="fa" >فارسی</a> </li> <li role="presentation"> <a role="menuitem" lang="hi" >हिंदी</a> </li> <li role="presentation"> <a role="menuitem" lang="bn" >বাংলা</a> </li> <li role="presentation"> <a role="menuitem" lang="th" >ภาษาไทย</a> </li> <li role="presentation"> <a role="menuitem" lang="zh_cn" >中文 – 简体</a> </li> <li role="presentation"> <a role="menuitem" lang="zh_tw" >中文 – 繁體</a> </li> <li role="presentation"> <a role="menuitem" lang="ja" >日本語</a> </li> <li role="presentation"> <a role="menuitem" lang="ko" >한국어</a> </li> </ul> </devsite-language-selector> <devsite-user enable-profiles fp-auth id="devsite-user"> <span class="button devsite-top-button" aria-hidden="true" visually-hidden>Sign in</span> </devsite-user> </div> </div> </div> <div class="devsite-collapsible-section "> <div class="devsite-header-background"> <div class="devsite-product-id-row" > <div class="devsite-product-description-row"> <ul class="devsite-breadcrumb-list" > <li class="devsite-breadcrumb-item "> <a href="https://developers.google.com/workspace/add-ons/overview" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Lower Header" data-value="1" track-type="globalNav" track-name="breadcrumb" track-metadata-position="1" track-metadata-eventdetail="Google Workspace Add-ons" > Add-ons </a> </li> </ul> </div> </div> <div class="devsite-doc-set-nav-row"> <devsite-tabs class="lower-tabs"> <nav class="devsite-tabs-wrapper" aria-label="Lower tabs"> <tab > <a href="https://developers.google.com/workspace/add-ons" track-metadata-eventdetail="https://developers.google.com/workspace/add-ons" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - overview" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Overview" track-name="overview" > Overview </a> </tab> <tab class="devsite-active"> <a href="https://developers.google.com/workspace/add-ons/overview" track-metadata-eventdetail="https://developers.google.com/workspace/add-ons/overview" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - guides" track-metadata-module="primary nav" aria-label="Guides, selected" data-category="Site-Wide Custom Events" data-label="Tab: Guides" track-name="guides" > Guides </a> </tab> <tab > <a href="https://developers.google.com/workspace/add-ons/reference" track-metadata-eventdetail="https://developers.google.com/workspace/add-ons/reference" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - reference" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Reference" track-name="reference" > Reference </a> </tab> <tab > <a href="https://developers.google.com/workspace/add-ons/samples" track-metadata-eventdetail="https://developers.google.com/workspace/add-ons/samples" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - samples" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Samples" track-name="samples" > Samples </a> </tab> <tab > <a href="https://developers.google.com/workspace/add-ons/workspace-support" track-metadata-eventdetail="https://developers.google.com/workspace/add-ons/workspace-support" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - support" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Support" track-name="support" > Support </a> </tab> </nav> </devsite-tabs> </div> </div> </div> </div> </devsite-header> <devsite-book-nav scrollbars > <div class="devsite-book-nav-filter" > <span class="filter-list-icon material-icons" aria-hidden="true"></span> <input type="text" placeholder="Filter" aria-label="Type to filter" role="searchbox"> <span class="filter-clear-button hidden" data-title="Clear filter" aria-label="Clear filter" role="button" tabindex="0"></span> </div> <nav class="devsite-book-nav devsite-nav nocontent" aria-label="Side menu"> <div class="devsite-mobile-header"> <button type="button" id="devsite-close-nav" class="devsite-header-icon-button button-flat material-icons gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Close navigation" aria-label="Close navigation"> </button> <div class="devsite-product-name-wrapper"> <a href="https://developers.google.com/workspace"> <div class="devsite-product-logo-container" size="medium" > <picture> <img class="devsite-product-logo" alt="Google Workspace" src="https://fonts.gstatic.com/s/i/productlogos/googleg/v6/16px.svg" srcset=" https://fonts.gstatic.com/s/i/productlogos/googleg/v6/16px.svg" sizes="64px" loading="lazy" > </picture> </div> </a> <span class="devsite-product-name"> <ul class="devsite-breadcrumb-list" > <li class="devsite-breadcrumb-item devsite-has-google-wordmark"> <a href="https://developers.google.com/workspace" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Upper Header" data-value="1" track-type="globalNav" track-name="breadcrumb" track-metadata-position="1" track-metadata-eventdetail="Google Workspace" > <svg class="devsite-google-wordmark" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 148 48"> <title>Google</title> <path class="devsite-google-wordmark-svg-path" d="M19.58,37.65c-9.87,0-18.17-8.04-18.17-17.91c0-9.87,8.3-17.91,18.17-17.91c5.46,0,9.35,2.14,12.27,4.94l-3.45,3.45c-2.1-1.97-4.93-3.49-8.82-3.49c-7.21,0-12.84,5.81-12.84,13.02c0,7.21,5.64,13.02,12.84,13.02c4.67,0,7.34-1.88,9.04-3.58c1.4-1.4,2.32-3.41,2.66-6.16H19.58v-4.89h16.47c0.18,0.87,0.26,1.92,0.26,3.06c0,3.67-1.01,8.21-4.24,11.44C28.93,35.9,24.91,37.65,19.58,37.65z M61.78,26.12c0,6.64-5.1,11.53-11.36,11.53s-11.36-4.89-11.36-11.53c0-6.68,5.1-11.53,11.36-11.53S61.78,19.43,61.78,26.12z M56.8,26.12c0-4.15-2.96-6.99-6.39-6.99c-3.43,0-6.39,2.84-6.39,6.99c0,4.11,2.96,6.99,6.39,6.99C53.84,33.11,56.8,30.22,56.8,26.12z M87.25,26.12c0,6.64-5.1,11.53-11.36,11.53c-6.26,0-11.36-4.89-11.36-11.53c0-6.68,5.1-11.53,11.36-11.53C82.15,14.59,87.25,19.43,87.25,26.12zM82.28,26.12c0-4.15-2.96-6.99-6.39-6.99c-3.43,0-6.39,2.84-6.39,6.99c0,4.11,2.96,6.99,6.39,6.99C79.32,33.11,82.28,30.22,82.28,26.12z M112.09,15.29v20.7c0,8.52-5.02,12.01-10.96,12.01c-5.59,0-8.95-3.76-10.22-6.81l4.41-1.83c0.79,1.88,2.71,4.1,5.81,4.1c3.8,0,6.16-2.36,6.16-6.77v-1.66h-0.18c-1.14,1.4-3.32,2.62-6.07,2.62c-5.76,0-11.05-5.02-11.05-11.49c0-6.51,5.28-11.57,11.05-11.57c2.75,0,4.93,1.22,6.07,2.58h0.18v-1.88H112.09z M107.64,26.16c0-4.06-2.71-7.03-6.16-7.03c-3.49,0-6.42,2.97-6.42,7.03c0,4.02,2.93,6.94,6.42,6.94C104.93,33.11,107.64,30.18,107.64,26.16z M120.97,3.06v33.89h-5.07V3.06H120.97z M140.89,29.92l3.93,2.62c-1.27,1.88-4.32,5.11-9.61,5.11c-6.55,0-11.28-5.07-11.28-11.53c0-6.86,4.77-11.53,10.71-11.53c5.98,0,8.91,4.76,9.87,7.34l0.52,1.31l-15.42,6.38c1.18,2.31,3.01,3.49,5.59,3.49C137.79,33.11,139.58,31.84,140.89,29.92zM128.79,25.77l10.31-4.28c-0.57-1.44-2.27-2.45-4.28-2.45C132.24,19.04,128.66,21.31,128.79,25.77z"/> </svg>Workspace </a> </li> </ul> </span> </div> </div> <div class="devsite-book-nav-wrapper"> <div class="devsite-mobile-nav-top"> <ul class="devsite-nav-list"> <li class="devsite-nav-item"> <a href="/workspace" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Home" track-name="home" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Home" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Home </span> </a> </li> <li class="devsite-nav-item"> <a href="/workspace/add-ons" class="devsite-nav-title gc-analytics-event devsite-nav-active" data-category="Site-Wide Custom Events" data-label="Tab: Add-ons" track-name="add-ons" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Add-ons" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Add-ons </span> </a> <ul class="devsite-nav-responsive-tabs"> <li class="devsite-nav-item"> <a href="/workspace/add-ons" class="devsite-nav-title gc-analytics-event devsite-nav-has-children " data-category="Site-Wide Custom Events" data-label="Tab: Overview" track-name="overview" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Overview" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Overview </span> <span class="devsite-nav-icon material-icons" data-icon="forward" > </span> </a> </li> <li class="devsite-nav-item"> <a href="/workspace/add-ons/overview" class="devsite-nav-title gc-analytics-event devsite-nav-has-children devsite-nav-active" data-category="Site-Wide Custom Events" data-label="Tab: Guides" track-name="guides" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Guides" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip menu="_book"> Guides </span> <span class="devsite-nav-icon material-icons" data-icon="forward" menu="_book"> </span> </a> </li> <li class="devsite-nav-item"> <a href="/workspace/add-ons/reference" class="devsite-nav-title gc-analytics-event devsite-nav-has-children " data-category="Site-Wide Custom Events" data-label="Tab: Reference" track-name="reference" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Reference" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Reference </span> <span class="devsite-nav-icon material-icons" data-icon="forward" > </span> </a> </li> <li class="devsite-nav-item"> <a href="/workspace/add-ons/samples" class="devsite-nav-title gc-analytics-event devsite-nav-has-children " data-category="Site-Wide Custom Events" data-label="Tab: Samples" track-name="samples" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Samples" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Samples </span> <span class="devsite-nav-icon material-icons" data-icon="forward" > </span> </a> </li> <li class="devsite-nav-item"> <a href="/workspace/add-ons/workspace-support" class="devsite-nav-title gc-analytics-event devsite-nav-has-children " data-category="Site-Wide Custom Events" data-label="Tab: Support" track-name="support" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Support" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Support </span> <span class="devsite-nav-icon material-icons" data-icon="forward" > </span> </a> </li> </ul> </li> <li class="devsite-nav-item"> <a href="/workspace/products-menu" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: All products" track-name="all products" data-category="Site-Wide Custom Events" data-label="Responsive Tab: All products" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > All products </span> </a> <ul class="devsite-nav-responsive-tabs devsite-nav-has-menu "> <li class="devsite-nav-item"> <span class="devsite-nav-title" tooltip data-category="Site-Wide Custom Events" data-label="Tab: All products" track-name="all products" > <span class="devsite-nav-text" tooltip menu="All products"> More </span> <span class="devsite-nav-icon material-icons" data-icon="forward" menu="All products"> </span> </span> </li> </ul> </li> <li class="devsite-nav-item"> <a href="/workspace/resources-menu" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Resources" track-name="resources" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Resources" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Resources </span> </a> <ul class="devsite-nav-responsive-tabs devsite-nav-has-menu "> <li class="devsite-nav-item"> <span class="devsite-nav-title" tooltip data-category="Site-Wide Custom Events" data-label="Tab: Resources" track-name="resources" > <span class="devsite-nav-text" tooltip menu="Resources"> More </span> <span class="devsite-nav-icon material-icons" data-icon="forward" menu="Resources"> </span> </span> </li> </ul> </li> </ul> </div> <div class="devsite-mobile-nav-bottom"> <ul class="devsite-nav-list" menu="_book"> <li class="devsite-nav-item"><a href="/workspace/add-ons/overview" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/overview" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/overview" ><span class="devsite-nav-text" tooltip>Add-ons overview</span></a></li> <li class="devsite-nav-item"><a href="/workspace/add-ons/concepts/types" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/concepts/types" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/concepts/types" ><span class="devsite-nav-text" tooltip>Add-on types</span></a></li> <li class="devsite-nav-item"><a href="/workspace/add-ons/how-tos/starting-addons" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/how-tos/starting-addons" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/how-tos/starting-addons" ><span class="devsite-nav-text" tooltip>Install and authorize add-ons</span></a></li> <li class="devsite-nav-item"><a href="/workspace/add-ons/guides/using-addons" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/guides/using-addons" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/guides/using-addons" ><span class="devsite-nav-text" tooltip>Open and use add-ons</span></a></li> <li class="devsite-nav-item devsite-nav-heading"><div class="devsite-nav-title devsite-nav-title-no-path"> <span class="devsite-nav-text" tooltip>Get started</span> </div></li> <li class="devsite-nav-item devsite-nav-external"><a href="/workspace/guides/get-started" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/guides/get-started" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/guides/get-started" target="_blank"><span class="devsite-nav-text" tooltip>Develop on Google Workspace</span><span class="devsite-nav-icon material-icons" data-icon="external" data-title="External" aria-hidden="true"></span></a></li> <li class="devsite-nav-item devsite-nav-external"><a href="/workspace/guides/configure-oauth-consent" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/guides/configure-oauth-consent" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/guides/configure-oauth-consent" target="_blank"><span class="devsite-nav-text" tooltip>Configure OAuth consent</span><span class="devsite-nav-icon material-icons" data-icon="external" data-title="External" aria-hidden="true"></span></a></li> <li class="devsite-nav-item devsite-nav-heading"><div class="devsite-nav-title devsite-nav-title-no-path"> <span class="devsite-nav-text" tooltip>Develop Google Workspace Add-ons</span> </div></li> <li class="devsite-nav-item"><a href="/workspace/add-ons/how-tos/building-workspace-addons" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/how-tos/building-workspace-addons" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/how-tos/building-workspace-addons" ><span class="devsite-nav-text" tooltip>Overview</span></a></li> <li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Quickstarts</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/workspace/add-ons/quickstart/cats-quickstart" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/quickstart/cats-quickstart" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/quickstart/cats-quickstart" ><span class="devsite-nav-text" tooltip>Apps Script</span></a></li><li class="devsite-nav-item"><a href="/workspace/add-ons/quickstart/alternate-runtimes" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/quickstart/alternate-runtimes" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/quickstart/alternate-runtimes" ><span class="devsite-nav-text" tooltip>Node.js</span></a></li></ul></div></li> <li class="devsite-nav-item"><a href="/workspace/add-ons/concepts/workspace-manifests" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/concepts/workspace-manifests" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/concepts/workspace-manifests" ><span class="devsite-nav-text" tooltip>Manifests</span></a></li> <li class="devsite-nav-item"><a href="/workspace/add-ons/concepts/workspace-scopes" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/concepts/workspace-scopes" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/concepts/workspace-scopes" ><span class="devsite-nav-text" tooltip>Scopes</span></a></li> <li class="devsite-nav-item"><a href="/workspace/add-ons/guides/alternate-runtimes" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/guides/alternate-runtimes" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/guides/alternate-runtimes" ><span class="devsite-nav-text" tooltip>Build using HTTP end points</span></a></li> <li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Build cards</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/workspace/add-ons/concepts/card-interfaces" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/concepts/card-interfaces" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/concepts/card-interfaces" ><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/workspace/add-ons/concepts/cards" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/concepts/cards" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/concepts/cards" ><span class="devsite-nav-text" tooltip>Cards</span></a></li><li class="devsite-nav-item"><a href="/workspace/add-ons/concepts/homepages" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/concepts/homepages" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/concepts/homepages" ><span class="devsite-nav-text" tooltip>Homepages</span></a></li><li class="devsite-nav-item"><a href="/workspace/add-ons/concepts/widgets" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/concepts/widgets" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/concepts/widgets" ><span class="devsite-nav-text" tooltip>Widgets</span></a></li><li class="devsite-nav-item"><a href="/workspace/add-ons/concepts/actions" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/concepts/actions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/concepts/actions" ><span class="devsite-nav-text" tooltip>Actions</span></a></li><li class="devsite-nav-item"><a href="/workspace/add-ons/concepts/event-objects" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/concepts/event-objects" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/concepts/event-objects" ><span class="devsite-nav-text" tooltip>Event objects</span></a></li><li class="devsite-nav-item"><a href="/workspace/add-ons/concepts/workspace-triggers" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/concepts/workspace-triggers" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/concepts/workspace-triggers" ><span class="devsite-nav-text" tooltip>Triggers</span></a></li><li class="devsite-nav-item"><a href="/workspace/add-ons/guides/workspace-style" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/guides/workspace-style" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/guides/workspace-style" ><span class="devsite-nav-text" tooltip>Style guide</span></a></li><li class="devsite-nav-item devsite-nav-break"></li><li class="devsite-nav-item"><a href="/workspace/add-ons/how-tos/interactions" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/how-tos/interactions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/how-tos/interactions" ><span class="devsite-nav-text" tooltip>Build interactive cards</span></a></li><li class="devsite-nav-item"><a href="/workspace/add-ons/how-tos/navigation" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/how-tos/navigation" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/how-tos/navigation" ><span class="devsite-nav-text" tooltip>Navigate between cards</span></a></li><li class="devsite-nav-item"><a href="/workspace/add-ons/how-tos/universal-actions" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/how-tos/universal-actions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/how-tos/universal-actions" ><span class="devsite-nav-text" tooltip>Use universal actions</span></a></li><li class="devsite-nav-item"><a href="/workspace/add-ons/how-tos/suggestions" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/how-tos/suggestions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/how-tos/suggestions" ><span class="devsite-nav-text" tooltip>Add autocomplete to text inputs</span></a></li><li class="devsite-nav-item"><a href="/workspace/add-ons/guides/access-user-locale-timezone" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/guides/access-user-locale-timezone" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/guides/access-user-locale-timezone" ><span class="devsite-nav-text" tooltip>Read user locale and timezone</span></a></li></ul></div></li> <li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Extend Gmail</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/workspace/add-ons/gmail" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/gmail" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/gmail" ><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/workspace/add-ons/gmail/extending-message-ui" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/gmail/extending-message-ui" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/gmail/extending-message-ui" ><span class="devsite-nav-text" tooltip>Build contextual message interfaces</span></a></li><li class="devsite-nav-item"><a href="/workspace/add-ons/gmail/extending-compose-ui" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/gmail/extending-compose-ui" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/gmail/extending-compose-ui" ><span class="devsite-nav-text" tooltip>Build contextual compose interfaces</span></a></li><li class="devsite-nav-item"><a href="/workspace/add-ons/gmail/compose" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/gmail/compose" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/gmail/compose" ><span class="devsite-nav-text" tooltip>Compose draft messages</span></a></li><li class="devsite-nav-item"><a href="/workspace/add-ons/gmail/gmail-actions" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/gmail/gmail-actions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/gmail/gmail-actions" ><span class="devsite-nav-text" tooltip>Gmail actions</span></a></li></ul></div></li> <li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Extend Google Calendar</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/workspace/add-ons/calendar" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/calendar" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/calendar" ><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/workspace/add-ons/calendar/building-calendar-interfaces" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/calendar/building-calendar-interfaces" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/calendar/building-calendar-interfaces" ><span class="devsite-nav-text" tooltip>Build Calendar interfaces</span></a></li><li class="devsite-nav-item"><a href="/workspace/add-ons/calendar/calendar-actions" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/calendar/calendar-actions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/calendar/calendar-actions" ><span class="devsite-nav-text" tooltip>Calendar actions</span></a></li><li class="devsite-nav-item devsite-nav-break"></li><li class="devsite-nav-item"><a href="/workspace/add-ons/calendar/conferencing/overview" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/calendar/conferencing/overview" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/calendar/conferencing/overview" ><span class="devsite-nav-text" tooltip>Third-party conferencing overview</span></a></li><li class="devsite-nav-item"><a href="/workspace/add-ons/samples/conferencing-sample" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/samples/conferencing-sample" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/samples/conferencing-sample" ><span class="devsite-nav-text" tooltip>Calendar conferencing quickstart</span></a></li><li class="devsite-nav-item"><a href="/workspace/add-ons/calendar/conferencing/build-conference-addons" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/calendar/conferencing/build-conference-addons" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/calendar/conferencing/build-conference-addons" ><span class="devsite-nav-text" tooltip>Build conferencing add-ons</span></a></li><li class="devsite-nav-item"><a href="/workspace/add-ons/calendar/conferencing/create-conference" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/calendar/conferencing/create-conference" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/calendar/conferencing/create-conference" ><span class="devsite-nav-text" tooltip>Create third-party conferences</span></a></li><li class="devsite-nav-item"><a href="/workspace/add-ons/calendar/conferencing/sync-calendar-changes" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/calendar/conferencing/sync-calendar-changes" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/calendar/conferencing/sync-calendar-changes" ><span class="devsite-nav-text" tooltip>Sync calendar conference changes</span></a></li><li class="devsite-nav-item"><a href="/workspace/add-ons/calendar/conferencing/add-settings" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/calendar/conferencing/add-settings" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/calendar/conferencing/add-settings" ><span class="devsite-nav-text" tooltip>Add conferencing add-on settings</span></a></li><li class="devsite-nav-item"><a href="/workspace/add-ons/calendar/conferencing/providing-logos" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/calendar/conferencing/providing-logos" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/calendar/conferencing/providing-logos" ><span class="devsite-nav-text" tooltip>Provide conference solution logos</span></a></li><li class="devsite-nav-item devsite-nav-break"></li><li class="devsite-nav-item"><a href="/workspace/add-ons/calendar/attachment/providing-icons" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/calendar/attachment/providing-icons" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/calendar/attachment/providing-icons" ><span class="devsite-nav-text" tooltip>Provide attachment icons</span></a></li></ul></div></li> <li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Extend Google Drive</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/workspace/add-ons/drive" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/drive" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/drive" ><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/workspace/add-ons/drive/building-drive-interfaces" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/drive/building-drive-interfaces" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/drive/building-drive-interfaces" ><span class="devsite-nav-text" tooltip>Build Drive interfaces</span></a></li><li class="devsite-nav-item"><a href="/workspace/add-ons/drive/drive-actions" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/drive/drive-actions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/drive/drive-actions" ><span class="devsite-nav-text" tooltip>Drive actions</span></a></li></ul></div></li> <li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Extend Google Editors</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/workspace/add-ons/editors/gsao" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/editors/gsao" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/editors/gsao" ><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/workspace/add-ons/editors/gsao/building-editor-interfaces" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/editors/gsao/building-editor-interfaces" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/editors/gsao/building-editor-interfaces" ><span class="devsite-nav-text" tooltip>Build Editor interfaces</span></a></li><li class="devsite-nav-item"><a href="/workspace/add-ons/editors/gsao/editor-actions" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/editors/gsao/editor-actions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/editors/gsao/editor-actions" ><span class="devsite-nav-text" tooltip>Editor actions</span></a></li><li class="devsite-nav-item devsite-nav-break"></li><li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Create smart chips</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/workspace/add-ons/guides/preview-links-smart-chips" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/guides/preview-links-smart-chips" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/guides/preview-links-smart-chips" ><span class="devsite-nav-text" tooltip>Preview links</span></a></li><li class="devsite-nav-item"><a href="/workspace/add-ons/guides/create-insert-resource-smart-chip" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/guides/create-insert-resource-smart-chip" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/guides/create-insert-resource-smart-chip" ><span class="devsite-nav-text" tooltip>Create third-party resources</span></a></li></ul></div></li></ul></div></li> <li class="devsite-nav-item devsite-nav-break"></li> <li class="devsite-nav-item"><a href="/workspace/add-ons/guides/connect-third-party-service" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/guides/connect-third-party-service" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/guides/connect-third-party-service" ><span class="devsite-nav-text" tooltip>Connect your add-on to third-party services</span></a></li> <li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Test and debug</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/workspace/add-ons/how-tos/testing-workspace-addons" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/how-tos/testing-workspace-addons" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/how-tos/testing-workspace-addons" ><span class="devsite-nav-text" tooltip>Apps Script</span></a></li><li class="devsite-nav-item"><a href="/workspace/add-ons/guides/debug" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/guides/debug" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/guides/debug" ><span class="devsite-nav-text" tooltip>HTTP</span></a></li></ul></div></li> <li class="devsite-nav-item"><a href="/workspace/add-ons/guides/query-logs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/guides/query-logs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/guides/query-logs" ><span class="devsite-nav-text" tooltip>Query error logs</span></a></li> <li class="devsite-nav-item"><a href="/workspace/add-ons/guides/workspace-best-practices" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/guides/workspace-best-practices" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/guides/workspace-best-practices" ><span class="devsite-nav-text" tooltip>Best practices</span></a></li> <li class="devsite-nav-item"><a href="/workspace/add-ons/guides/workspace-restrictions" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/guides/workspace-restrictions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/guides/workspace-restrictions" ><span class="devsite-nav-text" tooltip>Restrictions</span></a></li> <li class="devsite-nav-item"><a href="/workspace/add-ons/guides/glossary" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/guides/glossary" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/guides/glossary" ><span class="devsite-nav-text" tooltip>Glossary</span></a></li> <li class="devsite-nav-item devsite-nav-break"></li> <li class="devsite-nav-item"><a href="/workspace/add-ons/how-tos/upgrade-addons" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/how-tos/upgrade-addons" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/how-tos/upgrade-addons" ><span class="devsite-nav-text" tooltip>Upgrade legacy add-ons</span></a></li> <li class="devsite-nav-item devsite-nav-break"></li> <li class="devsite-nav-item devsite-nav-heading"><div class="devsite-nav-title devsite-nav-title-no-path"> <span class="devsite-nav-text" tooltip>Develop Editor Add-ons</span> </div></li> <li class="devsite-nav-item"><a href="/workspace/add-ons/how-tos/building-editor-addons" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/how-tos/building-editor-addons" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/how-tos/building-editor-addons" ><span class="devsite-nav-text" tooltip>Overview</span></a></li> <li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Quickstarts</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/workspace/add-ons/editors/docs/quickstart/translate" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/editors/docs/quickstart/translate" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/editors/docs/quickstart/translate" ><span class="devsite-nav-text" tooltip>Docs</span></a></li><li class="devsite-nav-item"><a href="/workspace/add-ons/editors/slides/quickstart/translate" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/editors/slides/quickstart/translate" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/editors/slides/quickstart/translate" ><span class="devsite-nav-text" tooltip>Slides</span></a></li><li class="devsite-nav-item"><a href="/workspace/add-ons/editors/forms/quickstart/forms-notifications" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/editors/forms/quickstart/forms-notifications" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/editors/forms/quickstart/forms-notifications" ><span class="devsite-nav-text" tooltip>Forms</span></a></li></ul></div></li> <li class="devsite-nav-item"><a href="/workspace/add-ons/concepts/editor-auth-lifecycle" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/concepts/editor-auth-lifecycle" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/concepts/editor-auth-lifecycle" ><span class="devsite-nav-text" tooltip>Authorization lifecycle</span></a></li> <li class="devsite-nav-item"><a href="/workspace/add-ons/concepts/editor-manifests" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/concepts/editor-manifests" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/concepts/editor-manifests" ><span class="devsite-nav-text" tooltip>Manifest</span></a></li> <li class="devsite-nav-item"><a href="/workspace/add-ons/concepts/editor-scopes" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/concepts/editor-scopes" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/concepts/editor-scopes" ><span class="devsite-nav-text" tooltip>Scopes</span></a></li> <li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Build HTML interfaces</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/workspace/add-ons/concepts/html-interfaces" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/concepts/html-interfaces" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/concepts/html-interfaces" ><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/workspace/add-ons/concepts/editor-triggers" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/concepts/editor-triggers" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/concepts/editor-triggers" ><span class="devsite-nav-text" tooltip>Triggers</span></a></li><li class="devsite-nav-item"><a href="/workspace/add-ons/concepts/menus" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/concepts/menus" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/concepts/menus" ><span class="devsite-nav-text" tooltip>Add-on menus</span></a></li><li class="devsite-nav-item"><a href="/workspace/add-ons/concepts/dialogs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/concepts/dialogs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/concepts/dialogs" ><span class="devsite-nav-text" tooltip>Add-on dialogs and sidebars</span></a></li><li class="devsite-nav-item"><a href="/workspace/add-ons/guides/editor-style" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/guides/editor-style" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/guides/editor-style" ><span class="devsite-nav-text" tooltip>Style guide</span></a></li><li class="devsite-nav-item"><a href="/workspace/add-ons/guides/css" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/guides/css" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/guides/css" ><span class="devsite-nav-text" tooltip>CSS package</span></a></li></ul></div></li> <li class="devsite-nav-item"><a href="/workspace/add-ons/editors/sheets" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/editors/sheets" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/editors/sheets" ><span class="devsite-nav-text" tooltip>Extend Google Sheets</span></a></li> <li class="devsite-nav-item"><a href="/workspace/add-ons/editors/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/editors/docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/editors/docs" ><span class="devsite-nav-text" tooltip>Extend Google Docs</span></a></li> <li class="devsite-nav-item"><a href="/workspace/add-ons/editors/slides" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/editors/slides" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/editors/slides" ><span class="devsite-nav-text" tooltip>Extend Google Slides</span></a></li> <li class="devsite-nav-item"><a href="/workspace/add-ons/editors/forms" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/editors/forms" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/editors/forms" ><span class="devsite-nav-text" tooltip>Extend Google Forms</span></a></li> <li class="devsite-nav-item"><a href="/workspace/add-ons/how-tos/testing-editor-addons" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/how-tos/testing-editor-addons" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/how-tos/testing-editor-addons" ><span class="devsite-nav-text" tooltip>Test your add-on</span></a></li> <li class="devsite-nav-item devsite-nav-break"></li> <li class="devsite-nav-item"><a href="/workspace/add-ons/guides/editor-best-practices" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/guides/editor-best-practices" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/guides/editor-best-practices" ><span class="devsite-nav-text" tooltip>Best Practices</span></a></li> <li class="devsite-nav-item"><a href="/workspace/add-ons/guides/editor-restrictions" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/guides/editor-restrictions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/guides/editor-restrictions" ><span class="devsite-nav-text" tooltip>Restrictions</span></a></li> <li class="devsite-nav-item devsite-nav-heading"><div class="devsite-nav-title devsite-nav-title-no-path"> <span class="devsite-nav-text" tooltip>Publish an add-on</span> </div></li> <li class="devsite-nav-item"><a href="/workspace/add-ons/how-tos/publish-add-on-overview" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/how-tos/publish-add-on-overview" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/how-tos/publish-add-on-overview" ><span class="devsite-nav-text" tooltip>Overview</span></a></li> <li class="devsite-nav-item"><a href="/workspace/add-ons/how-tos/update-published-add-on" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/how-tos/update-published-add-on" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/how-tos/update-published-add-on" ><span class="devsite-nav-text" tooltip>Update a published add-on</span></a></li> </ul> <ul class="devsite-nav-list" menu="All products" aria-label="Side menu" hidden> <li class="devsite-nav-item devsite-nav-heading"> <span class="devsite-nav-title" tooltip > <span class="devsite-nav-text" tooltip > Google Workspace apps </span> </span> </li> <li class="devsite-nav-item"> <a href="/admin-sdk" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Admin console" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Admin console </span> </a> </li> <li class="devsite-nav-item"> <a href="/cloud-search" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Cloud Search" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Cloud Search </span> </a> </li> <li class="devsite-nav-item"> <a href="/gmail" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Gmail" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Gmail </span> </a> </li> <li class="devsite-nav-item"> <a href="/calendar" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Google Calendar" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Google Calendar </span> </a> </li> <li class="devsite-nav-item"> <a href="/workspace/chat" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Google Chat" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Google Chat </span> </a> </li> <li class="devsite-nav-item"> <a href="/classroom" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Google Classroom" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Google Classroom </span> </a> </li> <li class="devsite-nav-item"> <a href="/docs" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Google Docs" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Google Docs </span> </a> </li> <li class="devsite-nav-item"> <a href="/drive" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Google Drive" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Google Drive </span> </a> </li> <li class="devsite-nav-item devsite-nav-heading"> <span class="devsite-nav-title" tooltip > <span class="devsite-nav-text" tooltip > </span> </span> </li> <li class="devsite-nav-item"> <a href="/forms" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Google Forms" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Google Forms </span> </a> </li> <li class="devsite-nav-item"> <a href="/keep" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Google Keep" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Google Keep </span> </a> </li> <li class="devsite-nav-item"> <a href="/meet" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Google Meet" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Google Meet </span> </a> </li> <li class="devsite-nav-item"> <a href="/sheets" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Google Sheets" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Google Sheets </span> </a> </li> <li class="devsite-nav-item"> <a href="/workspace/sites" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Google Sites" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Google Sites </span> </a> </li> <li class="devsite-nav-item"> <a href="/slides" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Google Slides" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Google Slides </span> </a> </li> <li class="devsite-nav-item"> <a href="/tasks" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Google Tasks" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Google Tasks </span> </a> </li> <li class="devsite-nav-item"> <a href="/vault" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Google Vault" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Google Vault </span> </a> </li> <li class="devsite-nav-item devsite-nav-heading"> <span class="devsite-nav-title" tooltip > <span class="devsite-nav-text" tooltip > Extend, automate & share </span> </span> </li> <li class="devsite-nav-item"> <a href="/workspace/add-ons" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Add-ons" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Add-ons </span> </a> </li> <li class="devsite-nav-item"> <a href="/apps-script" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Apps Script" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Apps Script </span> </a> </li> <li class="devsite-nav-item"> <a href="/workspace/chat/overview" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Chat apps" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Chat apps </span> </a> </li> <li class="devsite-nav-item"> <a href="/drive/api/guides/about-apps" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Drive apps" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Drive apps </span> </a> </li> <li class="devsite-nav-item"> <a href="/workspace/marketplace" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Marketplace" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Marketplace </span> </a> </li> </ul> <ul class="devsite-nav-list" menu="Resources" aria-label="Side menu" hidden> <li class="devsite-nav-item devsite-nav-heading"> <span class="devsite-nav-title" tooltip > <span class="devsite-nav-text" tooltip > Tools </span> </span> </li> <li class="devsite-nav-item"> <a href="https://admin.google.com/" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Admin console" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Admin console </span> </a> </li> <li class="devsite-nav-item"> <a href="https://script.google.com/" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Apps Script dashboard" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Apps Script dashboard </span> </a> </li> <li class="devsite-nav-item"> <a href="https://console.cloud.google.com/workspace-api" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Google Cloud console" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Google Cloud console </span> </a> </li> <li class="devsite-nav-item"> <a href="/workspace/explore" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: APIs Explorer" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > APIs Explorer </span> </a> </li> <li class="devsite-nav-item"> <a href="https://addons.gsuite.google.com/uikit/builder" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Card Builder" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Card Builder </span> </a> </li> <li class="devsite-nav-item devsite-nav-heading"> <span class="devsite-nav-title" tooltip > <span class="devsite-nav-text" tooltip > Training & support </span> </span> </li> <li class="devsite-nav-item"> <a href="/workspace/guides/get-started" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: How to get started" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > How to get started </span> </a> </li> <li class="devsite-nav-item"> <a href="https://codelabs.developers.google.com/?product=googleworkspace" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Codelabs" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Codelabs </span> </a> </li> <li class="devsite-nav-item"> <a href="/workspace/support" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Developer support" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Developer support </span> </a> </li> <li class="devsite-nav-item devsite-nav-heading"> <span class="devsite-nav-title" tooltip > <span class="devsite-nav-text" tooltip > Updates </span> </span> </li> <li class="devsite-nav-item"> <a href="https://developers.googleblog.com/search/?query=Google+Workspace" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Blog" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Blog </span> </a> </li> <li class="devsite-nav-item"> <a href="/workspace/preview" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Developer Previews" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Developer Previews </span> </a> </li> <li class="devsite-nav-item"> <a href="/workspace/newsletters" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Newsletter" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Newsletter </span> </a> </li> <li class="devsite-nav-item"> <a href="https://twitter.com/workspacedevs" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: X (Twitter)" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > X (Twitter) </span> </a> </li> <li class="devsite-nav-item"> <a href="https://www.youtube.com/channel/UCUcg6az6etU_gRtZVAhBXaw" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: YouTube" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > YouTube </span> </a> </li> </ul> </div> </div> </nav> </devsite-book-nav> <section id="gc-wrapper"> <main role="main" class="devsite-main-content" has-book-nav > <devsite-content> <article class="devsite-article"> <div class="devsite-article-meta nocontent" role="navigation"> <ul class="devsite-breadcrumb-list" aria-label="Breadcrumb"> <li class="devsite-breadcrumb-item "> <a href="https://developers.google.com/" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="1" track-type="globalNav" track-name="breadcrumb" track-metadata-position="1" track-metadata-eventdetail="" > Home </a> </li> <li class="devsite-breadcrumb-item "> <div class="devsite-breadcrumb-guillemet material-icons" aria-hidden="true"></div> <a href="https://developers.google.com/workspace" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="2" track-type="globalNav" track-name="breadcrumb" track-metadata-position="2" track-metadata-eventdetail="Google Workspace" > Google Workspace </a> </li> <li class="devsite-breadcrumb-item "> <div class="devsite-breadcrumb-guillemet material-icons" aria-hidden="true"></div> <a href="https://developers.google.com/workspace/add-ons/overview" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="3" track-type="globalNav" track-name="breadcrumb" track-metadata-position="3" track-metadata-eventdetail="Google Workspace Add-ons" > Add-ons </a> </li> </ul> <devsite-thumb-rating position="header"> </devsite-thumb-rating> </div> <devsite-feedback position="header" project-name="Google Workspace Add-ons" product-id="717201" bucket="add-ons" context="" version="t-devsite-webserver-20241114-r00-rc02.464922260396498922" data-label="Send Feedback Button" track-type="feedback" track-name="sendFeedbackLink" track-metadata-position="header" class="nocontent" project-feedback-url="https://issuetracker.google.com/issues/new?component=642720&template=1392206" project-icon="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/developers/images/touchicon-180-new.png" project-support-url="https://developers.google.com/workspace/add-ons/workspace-support" > <button> Send feedback </button> </devsite-feedback> <h1 class="devsite-page-title" tabindex="-1"> Event objects </h1> <devsite-feature-tooltip ack-key="AckCollectionsBookmarkTooltipDismiss" analytics-category="Site-Wide Custom Events" analytics-action-show="Callout Profile displayed" analytics-action-close="Callout Profile dismissed" analytics-label="Create Collection Callout" class="devsite-page-bookmark-tooltip nocontent" dismiss-button="true" id="devsite-collections-dropdown" dismiss-button-text="Dismiss" close-button-text="Got it"> <devsite-bookmark></devsite-bookmark> <span slot="popout-heading"> Stay organized with collections </span> <span slot="popout-contents"> Save and categorize content based on your preferences. </span> </devsite-feature-tooltip> <div class="devsite-page-title-meta"><devsite-view-release-notes></devsite-view-release-notes></div> <devsite-toc class="devsite-nav" depth="2" devsite-toc-embedded > </devsite-toc> <div class="devsite-article-body clearfix "> <p>This page outlines the structure of Google Workspace Add-ons event objects.</p> <p>Event objects are JSON structures that are automatically constructed and passed as parameters to trigger or callback functions when a user interacts with an add-on. Event objects carry client-side information about the host app and the current context to the add-on's server-side callback function.</p> <p>Google Workspace Add-ons use event objects in the following places:</p> <ul> <li><p><a href="/workspace/add-ons/concepts/homepages#homepage_configuration"><strong>Homepage triggers</strong></a>. Every <code translate="no" dir="ltr">homepageTrigger</code> function you define is automatically passed an event object when the homepage trigger function fires. You can use this object in your homepage trigger function to identify the active host app, the client's platform, the user locale, and other information.</p> <p>The event objects created when homepage triggers fire don't contain all the fields included in the other two cases; fields pertaining to widgets and contextual information are omitted.</p></li> <li><p><a href="/workspace/add-ons/guides/glossary#contextual_triggering"><strong>Contextual triggers</strong></a>. Each host application provides a different set of contextual triggers that fire when the user enters a specific context. For example:</p> <ul> <li>Gmail provides a contextual trigger for when a user <a href="/workspace/add-ons/gmail/extending-message-ui#contextual_triggers">opens a message</a> and another when a user <a href="/workspace/add-ons/gmail/extending-compose-ui#compose_trigger_function">composes a message</a>.</li> <li>Google Calendar provides a contextual trigger for when a user <a href="/workspace/add-ons/calendar/building-calendar-interfaces#extending_the_event_interface">opens an event</a>.</li> <li>Google Drive provides a contextual trigger for when a user <a href="/workspace/add-ons/drive/building-drive-interfaces#drive_contextual_interface_for_items_selected">selects Drive files</a>.</li> </ul> <p>When a contextual trigger fires, the host application calls the corresponding <code translate="no" dir="ltr">runFunction</code> listed in the add-on manifest, passing it an event object as a parameter. The event objects created when contextual triggers fire contain all the fields included in homepage trigger event objects, plus fields containing contextual information.</p></li> <li><p><strong><a href="/workspace/add-ons/concepts/actions">Widget actions</a></strong>. Event objects are also used to provide <a href="/workspace/add-ons/concepts/widgets">widget</a> interactivity, using the same <a href="/workspace/add-ons/concepts/actions">action model</a> that Gmail add-ons use. Google Workspace Add-ons use all the same widget handler functions, <a href="/apps-script/reference/card-service/action"><code translate="no" dir="ltr">Action</code></a> objects, and action responses. However, in Google Workspace Add-ons the <a href="/workspace/add-ons/concepts/actions#action_event_objects">action event objects</a> include even more information a callback function can act on.</p> <p>The event objects created as the result of widget actions contain all the fields included in contextual trigger event objects, plus fields containing widget information.</p></li> <li><p><strong><a href="/workspace/add-ons/editors/gsao/preview-links">Preview link triggers</a></strong>. In Google Docs, Sheets, and Slides, you can configure link previews for third-party services based on specific URL patterns. When users interact with a link that meets the pattern, the <a href="/apps-script/manifest/editor-addons#linkpreviewtriggers"><code translate="no" dir="ltr">linkPreviewTriggers</code></a> fires and an event object that contains the link is passed to the trigger's callback function. Your add-on can use this event object to construct a smart chip and card that surfaces information about the link within the host application. You can also build widget actions to let users interact with the preview card and its contents.</p></li> </ul> <h2 id="event_object_structure" data-text="Event object structure" tabindex="-1">Event object structure</h2> <p>The following table describes the top-level structure of Google Workspace Add-ons event objects. The event object structure includes a <code translate="no" dir="ltr">commonEventObject</code> top-level field for host-independent information. Each event object can also have one of the following host-specific top-level fields, determined by the active host app: <code translate="no" dir="ltr">gmailEventObject</code>, <code translate="no" dir="ltr">calendarEventObject</code>, or <code translate="no" dir="ltr">driveEventObject</code>.</p> <p>For backward compatibility, Google Workspace Add-ons event objects also include all the original fields used in <a href="/workspace/add-ons/concepts/actions#action_event_objects">Gmail add-on action event objects</a>. These fields are listed in the table below under "Original Gmail add-on fields"; the information in these fields is reproduced in new object structure.</p> <aside class="note"><strong>Note:</strong><span> The "Original Gmail add-on fields" described below are deprecated. When developing or migrating a Google Workspace Add-on, prefer using the newer event object structure to the Gmail add-on fields. Eventually we will remove the older Gmail add-on event object fields.</span></aside> <table class="responsive"> <tbody> <tr> <th colspan=2>Event object</th> </tr> <tr> <td><code translate="no" dir="ltr">eventObject.commonEventObject</code></td> <td><code translate="no" dir="ltr"><a href="#common_event_object">Common fields object</a></code> <br>An object containing information common to all event objects, regardless of the host application. </td> </tr> <tr> <td><code translate="no" dir="ltr">eventObject.calendar</code></td> <td><code translate="no" dir="ltr"><a href="#calendar-event-object">Calendar event object</a> </code><br> <b>Only present if the calling host is Google Calendar</b>. An object containing calendar and event information. </td> </tr> <tr> <td><code translate="no" dir="ltr">eventObject.drive</code></td> <td><code translate="no" dir="ltr"><a href="#drive-event-object">Drive event object</a> </code><br> <b>Only present if the calling host is Google Drive</b>. An object containing Drive information. </td> </tr> <tr> <td><code translate="no" dir="ltr">eventObject.gmail</code></td> <td><code translate="no" dir="ltr"><a href="#gmail-event-object">Gmail event object</a> </code><br> <b>Only present if the calling host is Gmail</b>. An object containing Gmail information. </td> </tr> <tr> <td><code translate="no" dir="ltr">eventObject.docs</code></td> <td><code translate="no" dir="ltr"><a href="#docs-event-object">Docs event object</a> </code><br> <b>Only present if the calling host is Google Docs</b>. An object containing Docs information. </td> </tr> <tr> <td><code translate="no" dir="ltr">eventObject.sheets</code></td> <td><code translate="no" dir="ltr"><a href="#sheets-event-object">Sheets event object</a> </code><br> <b>Only present if the calling host is Google Sheets</b>. An object containing Sheets information. </td> </tr> <tr> <td><code translate="no" dir="ltr">eventObject.slides</code></td> <td><code translate="no" dir="ltr"><a href="#slides-event-object">Slides event object</a> </code><br> <b>Only present if the calling host is Google Slides</b>. An object containing Slides information. </td> </tr> <tr> <th colspan=2>Original Gmail add-on fields</th> </tr> <tr> <td><code translate="no" dir="ltr">eventObject.messageMetadata.accessToken</code></td> <td><code translate="no" dir="ltr">string</code><br><b>Deprecated.</b> An access token. You can use this to turn on access to user data using temporary Gmail add-on scopes. <p> For Google Workspace Add-ons, find this information in the <a href="#gmail-event-object"><code translate="no" dir="ltr">eventObject.gmail.accessToken</code></a> field. </p> </td> </tr> <tr> <td><code translate="no" dir="ltr">eventObject.messageMetadata.messageId</code></td> <td><code translate="no" dir="ltr">string</code><br><b>Deprecated.</b> The message ID of the thread open in the Gmail UI. <p> For Google Workspace Add-ons, find this information in the <a href="#gmail-event-object"><code translate="no" dir="ltr">eventObject.gmail.messageId</code></a> field. </p> </td> </tr> <tr> <td><code translate="no" dir="ltr">eventObject.clientPlatform</code></td> <td><code translate="no" dir="ltr">string</code><br><b>Deprecated.</b> Indicates where the event originates (web, iOS, or Android). <p> For Google Workspace Add-ons, find this information in the <a href="#common_event_object"><code translate="no" dir="ltr">eventObject.commonEventObject.platform</code></a> field. </p> </td> </tr> <tr> <td><code translate="no" dir="ltr">eventObject.formInput</code></td> <td><code translate="no" dir="ltr">object</code><br><b>Deprecated.</b> A map of the current values of all form widgets in the card, restricted to one value per widget. The keys are the string IDs associated with the widgets, and the values are strings. The event object provides <code translate="no" dir="ltr">formInput</code> as a convenience for when you need to read data from multiple widgets with expected singular values, such as text inputs and switches. For multi-valued widgets such as checkboxes, you can read each value from <code translate="no" dir="ltr">formInputs</code> instead.<br> <aside class="note"><b>Note:</b> Date and time picker widget values can't be read from this field. Get those picker values from <code translate="no" dir="ltr">commonEventObject.formInputs</code> instead. </aside> <p> For Google Workspace Add-ons, find this information in the <a href="#common_event_object"><code translate="no" dir="ltr">eventObject.commonEventObject.formInputs</code></a> field instead; widgets with single values are represented as arrays with a single element. </p> </td> </tr> <tr> <td><code translate="no" dir="ltr">eventObject.formInputs</code></td> <td><code translate="no" dir="ltr">object</code><br><b>Deprecated.</b> A map of current values of widgets in the card, presented as lists of strings. The keys are the string IDs associated with the widget. For single-valued widgets, the value is presented in a single-element array. For multi-valued widgets such as checkbox groups, all the values are presented in a list.<br> <aside class="note"><b>Note:</b> Date and time picker widget values can't be read from this field. Get those picker values from <code translate="no" dir="ltr">commonEventObject.formInputs</code> instead. </aside> <p> For Google Workspace Add-ons, find this information in the <a href="#common_event_object"><code translate="no" dir="ltr">eventObject.commonEventObject.formInputs</code></a> field. </p> </td> </tr> <tr> <td><code translate="no" dir="ltr">eventObject.parameters</code></td> <td><code translate="no" dir="ltr">object</code><br><b>Deprecated.</b> A map of any additional parameters you supply to the <a href="/apps-script/reference/card-service/action"> <code translate="no" dir="ltr">Action</code></a> using <a href="/apps-script/reference/card-service/action#setParameters(Object)"> <code translate="no" dir="ltr">Action.setParameters()</code></a>. The map keys and values are strings. <p> For Google Workspace Add-ons, find this information in the <a href="#common_event_object"><code translate="no" dir="ltr">eventObject.commonEventObject.parameters</code></a> field. </p> </td> </tr> <tr> <td><code translate="no" dir="ltr">eventObject.userCountry</code></td> <td><code translate="no" dir="ltr">string</code><br><b>Deprecated and disabled by default</b>. The two-letter code indicating the user's country or region. It can also be a numeric <a href="https://en.wikipedia.org/wiki/UN_M49">UN M49</a> country code. <p> For Google Workspace Add-ons, find this information in the <a href="#common_event_object"><code translate="no" dir="ltr">eventObject.commonEventObject.userLocale</code></a> field. </p> </td> </tr> <tr> <td><code translate="no" dir="ltr">eventObject.userLocale</code></td> <td><code translate="no" dir="ltr">string</code><br><b>Deprecated and disabled by default</b>. The two-letter <a href="https://en.wikipedia.org/wiki/ISO_639_macrolanguage">ISO 639</a> code indicating the user's language. See <a href="/workspace/add-ons/how-tos/access-user-locale">Accessing user locale and timezone</a> for more details. <p> For Google Workspace Add-ons, find this information in the <a href="#common_event_object"><code translate="no" dir="ltr">eventObject.commonEventObject.userLocale</code></a> field. </p> </td> </tr> <tr> <td><code translate="no" dir="ltr">eventObject.userTimezone.id</code></td> <td><code translate="no" dir="ltr">string</code><br><b>Deprecated and disabled by default</b>. The <a href="https://en.wikipedia.org/wiki/List_of_tz_database_time_zones"> timezone identifier</a> of the user's timezone. Examples include: <code translate="no" dir="ltr">America/New_York</code>, <code translate="no" dir="ltr">Europe/Vienna</code>, and <code translate="no" dir="ltr">Asia/Seoul</code>. See <a href="/workspace/add-ons/how-tos/access-user-locale"> Accessing user locale and timezone</a> for more details. <p> For Google Workspace Add-ons, find this information in the <a href="#common_event_object"><code translate="no" dir="ltr">eventObject.commonEventObject.timeZone.id</code></a> field. </p> </td> </tr> <tr> <td><code translate="no" dir="ltr">eventObject.userTimezone.offset</code></td> <td><code translate="no" dir="ltr">string</code><br><b>Deprecated and disabled by default</b>. The <a href="https://en.wikipedia.org/wiki/ISO_8601#Time_offsets_from_UTC"> time offset from Coordinated Universal Time (UTC)</a> of the user's timezone, measured in milliseconds. See <a href="/workspace/add-ons/how-tos/access-user-locale"> Accessing user locale and timezone</a> for more details. <p> For Google Workspace Add-ons, find this information in the <a href="#common_event_object"><code translate="no" dir="ltr">eventObject.commonEventObject.timeZone.offset</code></a> field. </p> </td> </tr> </tbody> </table> <h2 id="common_event_object" data-text="Common event object" tabindex="-1">Common event object</h2> <p>The common event object is the portion of the overall event object that carries general, host-independent information to the add-on from the user's client. This information includes details such as the user's locale, host app, and platform.</p> <p>In addition to homepage and contextual triggers, add-ons construct and pass event objects to <a href="/workspace/add-ons/concepts/actions#callback_functions">action callback functions</a> when the user interacts with widgets. Your add-on's callback function can query the common event object to determine the contents of open widgets in the user's client. For example, your add-on can locate the text a user has entered into a <a href="/apps-script/reference/card-service/text-input"><code translate="no" dir="ltr">TextInput</code></a> widget in the <code translate="no" dir="ltr">eventObject.commentEventObject.formInputs</code> object.</p> <table class="responsive"> <tbody> <tr> <th colspan=2>Common event object fields</th> </tr> <tr> <td><code translate="no" dir="ltr">commonEventObject.platform</code></td> <td><code translate="no" dir="ltr">string</code><br>Indicates where the event originates (`WEB`, `IOS`, or `ANDROID`). </td> </tr> <tr> <td><code translate="no" dir="ltr">commonEventObject.formInputs</code></td> <td><code translate="no" dir="ltr">object</code><br>A map containing the current values of the widgets in the displayed card. The map keys are the string IDs assigned with each widget. <p>The structure of the map value object is dependent on the widget type: <aside class="special">The following examples are formatted for Apps Script's V8 runtime. If you're using Rhino runtime, you must add <code translate="no" dir="ltr">[""]</code> after the value.</p> <p>For example, instead of <code translate="no" dir="ltr">e.commonEventObject.formInputs.employeeName.stringInputs.value[0]</code>, format the event object as <code translate="no" dir="ltr">e.commonEventObject.formInputs.employeeName[""].stringInputs.value[0]</code>.</p> <p>To learn more about runtimes in Apps Script, see the <a href="https://developers.google.com/apps-script/guides/v8-runtime">V8 Runtime Overview</a>.</p></aside> <ul> <li>Single-valued widgets (for example, a text box): a list of strings (only one element).<br> <p><b>Example</b>: for a text input widget with <code translate="no" dir="ltr">employeeName</code> as its ID, access the text input value with: <code translate="no" dir="ltr">e.commonEventObject.formInputs.employeeName.stringInputs.value[0]</code></p> </li> <li>Multi-valued widgets (for example, checkbox groups): a list of strings.<br> <p><b>Example</b>: for a multi-value widget with <code translate="no" dir="ltr">participants</code> as its ID, access the value array with: <code translate="no" dir="ltr">e.commonEventObject.formInputs.participants.stringInputs.value</code>.</p> </li> <li><code translate="no" dir="ltr">A date-time picker</code>: a <a href="#date-time-input"><code translate="no" dir="ltr">DateTimeInput object</code></a>. <p><b>Example</b>: For a picker with an ID of <code translate="no" dir="ltr">myDTPicker</code>, access the <a href="#date-time-input"><code translate="no" dir="ltr">DateTimeInput</code></a> object using <code translate="no" dir="ltr">e.commonEventObject.formInputs.myDTPicker.dateTimeInput</code>.</p> </li> <li><code translate="no" dir="ltr">A date-only picker</code>: a <a href="#date-input"><code translate="no" dir="ltr">DateInput object</code></a>. <p><b>Example</b>: For a picker with an ID of <code translate="no" dir="ltr">myDatePicker</code>, access the <a href="#date-input"><code translate="no" dir="ltr">DateInput </code></a> object using <code translate="no" dir="ltr">e.commonEventObject.formInputs.myDatePicker.dateInput</code>.</p> </li> <li><code translate="no" dir="ltr">A time-only picker</code>: a <a href="#time-input"><code translate="no" dir="ltr">TimeInput object</code></a>. <p><b>Example</b>: For a picker with an ID of <code translate="no" dir="ltr">myTimePicker</code>, access the <a href="#time-input"><code translate="no" dir="ltr">TimeInput</code></a> object using <code translate="no" dir="ltr">e.commonEventObject.formInputs.myTimePicker.timeInput</code>.</p> </li> </ul> </td> </tr> <tr> <td><code translate="no" dir="ltr">commonEventObject.hostApp</code></td> <td><code translate="no" dir="ltr">string</code><br>Indicates the host app the add-on is active in when the event object is generated. Possible values include the following: <ul> <li><code translate="no" dir="ltr">GMAIL</code></li> <li><code translate="no" dir="ltr">CALENDAR</code></li> <li><code translate="no" dir="ltr">DRIVE</code></li> <li><code translate="no" dir="ltr">DOCS</code></li> <li><code translate="no" dir="ltr">SHEETS</code></li> <li><code translate="no" dir="ltr">SLIDES</code></li> </ul> </td> </tr> <tr> <td><code translate="no" dir="ltr">commonEventObject.parameters</code></td> <td><code translate="no" dir="ltr">object</code><br>Any additional parameters you supply to the <code translate="no" dir="ltr"><a href="/apps-script/reference/card-service/action"> Action</a></code> using <code translate="no" dir="ltr"><a href="/apps-script/reference/card-service/action#setParameters(Object)"> Action.setParameters()</a></code>. </td> </tr> <tr> <td><code translate="no" dir="ltr">commonEventObject.userLocale</code></td> <td><code translate="no" dir="ltr">string</code><br><b>Disabled by default</b>. The user's language and country/region identifier in the format of <a href="https://wikipedia.org/wiki/ISO_639_macrolanguage" target="_blank">ISO 639</a> language code-<a href="https://wikipedia.org/wiki/ISO_3166" target="_blank">ISO 3166</a> country/region code. For example, <code translate="no" dir="ltr">en-US</code>. <p> To turn on this field, you must set <code translate="no" dir="ltr">addOns.common.useLocaleFromApp</code> to <code translate="no" dir="ltr">true</code> in your add-on's manifest. Your add-on's scope list must also include <code translate="no" dir="ltr">https://www.googleapis.com/auth/script.locale</code>. See <a href="/workspace/add-ons/how-tos/access-user-locale"> Accessing user locale and timezone</a> for more details. </p> </td> </tr> <tr> <td><code translate="no" dir="ltr">commonEventObject.timeZone</code></td> <td><code translate="no" dir="ltr">string</code><br><b>Disabled by default</b>. The timezone ID and offset. To turn on this field, you must set <code translate="no" dir="ltr">addOns.common.useLocaleFromApp</code> to <code translate="no" dir="ltr">true</code> in your add-on's manifest. Your add-on's scope list must also include <code translate="no" dir="ltr">https://www.googleapis.com/auth/script.locale</code>. See <a href="/workspace/add-ons/how-tos/access-user-locale"> Accessing user locale and timezone</a> for more details. </td> </tr> <tr> <td><code translate="no" dir="ltr">commonEventObject.timeZone.id</code></td> <td><code translate="no" dir="ltr">string</code><br> The <a href="https://en.wikipedia.org/wiki/List_of_tz_database_time_zones"> timezone identifier</a> of the user's timezone. Examples include: <code translate="no" dir="ltr">America/New_York</code>, <code translate="no" dir="ltr">Europe/Vienna</code>, and <code translate="no" dir="ltr">Asia/Seoul</code>. To turn on this field, you must set <code translate="no" dir="ltr">addOns.common.useLocaleFromApp</code> to <code translate="no" dir="ltr">true</code> in your add-on's manifest. Your add-on's scope list must also include <code translate="no" dir="ltr">https://www.googleapis.com/auth/script.locale</code>. See <a href="/workspace/add-ons/how-tos/access-user-locale"> Accessing user locale and timezone</a> for more details. </td> </tr> <tr> <td><code translate="no" dir="ltr">commonEventObject.timeZone.offset</code></td> <td><code translate="no" dir="ltr">string</code><br>The <a href="https://en.wikipedia.org/wiki/ISO_8601#Time_offsets_from_UTC"> time offset from Coordinated Universal Time (UTC)</a> of the user's timezone, measured in milliseconds. See <a href="/workspace/add-ons/how-tos/access-user-locale"> Accessing user locale and timezone</a> for more details. </td> </tr> </tbody> </table> <h3 id="date-time_picker_form_inputs" data-text="Date-time picker form inputs" tabindex="-1">Date-time picker form inputs</h3> <p><a href="/workspace/add-ons/concepts/actions#callback_functions">Action callback functions</a> can receive current widget values in the <code translate="no" dir="ltr">commonEventObject.formInputs</code> field. This includes the user's selected date or time values in date or time picker widgets. However, the structure of the information differs depending on whether the widget was configured as a date-time picker, a date-only picker, or a time-only picker. The structural differences are described in the following table:</p> <table class="responsive"> <tbody> <tr> <th colspan=2><a name="date-time-input"></a>DateTimeInput object</th> </tr> <tr> <td><code translate="no" dir="ltr">dateTimeInput.hasDate</code></td> <td><code translate="no" dir="ltr">boolean</code><br><code translate="no" dir="ltr">true</code> if the input date time includes a date; if <code translate="no" dir="ltr">false</code> only a time is included. </td> </tr> <tr> <td><code translate="no" dir="ltr">dateTimeInput.hasTime</code></td> <td><code translate="no" dir="ltr">boolean</code><br><code translate="no" dir="ltr">true</code> if the input date time includes a time; if <code translate="no" dir="ltr">false</code> only a date is included. </td> </tr> <tr> <td><code translate="no" dir="ltr">dateTimeInput.msSinceEpoch</code></td> <td><code translate="no" dir="ltr">string</code><br>The time selected by the user, in milliseconds since epoch (00:00:00 UTC on 1 January 1970). </td> </tr> <tr> <th colspan=2><a name="date-input"></a>DateInput object</th> </tr> <tr> <td><code translate="no" dir="ltr">dateInput.msSinceEpoch</code></td> <td><code translate="no" dir="ltr">string</code><br>The time selected by the user, in milliseconds since epoch (00:00:00 UTC on 1 January 1970). </td> </tr> <tr> <th colspan=2><a name="time-input"></a>TimeInput object</th> </tr> <tr> <td><code translate="no" dir="ltr">timeInput.hours</code></td> <td><code translate="no" dir="ltr">number</code><br>The hour number selected by the user. </td> </tr> <tr> <td><code translate="no" dir="ltr">timeInput.minutes</code></td> <td><code translate="no" dir="ltr">number</code><br>The minute number selected by the user. </td> </tr> </tbody> </table> <h2 id="calendar-event-object" data-text="Calendar event object" tabindex="-1">Calendar event object</h2> <p>The Calendar event object is the portion of the overall event object that carries information about a user's calendar and calendar events. It's only present in an event object if the host application is Google Calendar.</p> <p>The following table lists the fields present in the <code translate="no" dir="ltr">calendarEventObject</code> field of an event object. Fields marked as <strong>User-generated data</strong> are present in the event object if and only if the data is present in the Calendar event and the add-on sets its <code translate="no" dir="ltr">addOns.calendar.currentEventAccess</code> <a href="/apps-script/manifest/calendar-addons" target="_blank" class="external">manifest</a> field to <code translate="no" dir="ltr">READ</code> or <code translate="no" dir="ltr">READ_WRITE</code>.</p> <aside class="note"><strong>Note:</strong><span> For many of the fields in this object and its substructures there is a direct mapping to the <a href="/calendar/v3/reference/events#resource-representations">Calendar API Event resource</a> fields of the same name. If the field descriptions differ, the information in the table below is correct.</span></aside> <table class="responsive"> <tbody> <tr> <th colspan=2>Calendar event object</th> </tr> <tr> <td><code translate="no" dir="ltr">calendar.attendees[]</code></td> <td><code translate="no" dir="ltr">list of <a href="#attendee">attendee</a> objects</code><br> <b>User-generated data.</b> A list of the attendees of the calendar event. </td> </tr> <tr> <td><code translate="no" dir="ltr">calendar.calendarId</code></td> <td><code translate="no" dir="ltr">string</code><br>The calendar ID.</td> </tr> <tr> <td><code translate="no" dir="ltr">calendar.capabilities</code></td> <td><code translate="no" dir="ltr">object</code><br><b>User-generated data.</b> An object describing the capabilities of the add-on to view or update event information.</td> </tr> <tr> <td><code translate="no" dir="ltr">calendar.capabilities.canAddAttendees</code></td> <td><code translate="no" dir="ltr">boolean</code><br><b>User-generated data.</b> <code translate="no" dir="ltr">true</code> if the add-on can add new attendees to the event attendee list; <code translate="no" dir="ltr">false</code> otherwise.</td> </tr> <tr> <td><code translate="no" dir="ltr">calendar.capabilities.canSeeAttendees</code></td> <td><code translate="no" dir="ltr">boolean</code><br><b>User-generated data.</b> <code translate="no" dir="ltr">true</code> if the add-on can read the event attendee list; <code translate="no" dir="ltr">false</code> otherwise.</td> </tr> <tr> <td><code translate="no" dir="ltr">calendar.capabilities.canSeeConferenceData</code></td> <td><code translate="no" dir="ltr">boolean</code><br><b>User-generated data.</b> <code translate="no" dir="ltr">true</code> if the add-on can read the event conference data; <code translate="no" dir="ltr">false</code> otherwise.</td> </tr> <tr> <td><code translate="no" dir="ltr">calendar.capabilities.canSetConferenceData</code></td> <td><code translate="no" dir="ltr">boolean</code><br><b>User-generated data.</b> <code translate="no" dir="ltr">true</code> if the add-on can update the event conference data; <code translate="no" dir="ltr">false</code> otherwise.</td> </tr> <tr> <td><code translate="no" dir="ltr">calendar.capabilities.canAddAttachments</code></td> <td><code translate="no" dir="ltr">boolean</code><br><b>User-generated data.</b> <code translate="no" dir="ltr">true</code> if the add-on can add new attachments to the event; <code translate="no" dir="ltr">false</code> otherwise. </tr> <tr> <td><code translate="no" dir="ltr">calendar.conferenceData</code></td> <td><code translate="no" dir="ltr"><a href="#conference_data">Conference data</a> object</code><br> <b>User-generated data.</b> An object representing any conference data associated with this event, such as Google Meet conference details. </td> </tr> <tr> <td><code translate="no" dir="ltr">calendar.id</code></td> <td><code translate="no" dir="ltr">string</code><br>The event ID.</td> </tr> <tr> <td><code translate="no" dir="ltr">calendar.organizer</code></td> <td><code translate="no" dir="ltr">object</code><br>An object representing the organizer of the event.</td> </tr> <tr> <td><code translate="no" dir="ltr">calendar.organizer.email</code></td> <td><code translate="no" dir="ltr">string</code><br>The event organizer's email address.</td> </tr> <tr> <td><code translate="no" dir="ltr">calendar.recurringEventId</code></td> <td><code translate="no" dir="ltr">string</code><br>The ID of a recurring event.</td> </tr> </tbody> </table> <h3 id="attendee" data-text="Attendee" tabindex="-1">Attendee</h3> <p>Attendee objects carry information about individual attendees to Google Calendar events. This information is present in the event object if and only if the data is present in the Calendar event and the add-on sets its <code translate="no" dir="ltr">addOns.calendar.currentEventAccess</code> <a href="/apps-script/manifest/calendar-addons" target="_blank" class="external">manifest</a> field to <code translate="no" dir="ltr">READ</code> or <code translate="no" dir="ltr">READ_WRITE</code>.</p> <table class="responsive"> <tbody> <tr> <th colspan=2>Attendee object</th> </tr> <tr> <td><code translate="no" dir="ltr">attendee.additionalGuests</code></td> <td><code translate="no" dir="ltr">number</code><br>The number of additional guests the attendee had indicated they are bringing. Defaults to zero. </td> </tr> <tr> <td><code translate="no" dir="ltr">attendee.comment</code></td> <td><code translate="no" dir="ltr">string</code><br>The attendee's response comment, if any. </td> </tr> <tr> <td><code translate="no" dir="ltr">attendee.displayName</code></td> <td><code translate="no" dir="ltr">string</code><br>The attendee displayed name. </td> </tr> <tr> <td><code translate="no" dir="ltr">attendee.email</code></td> <td><code translate="no" dir="ltr">string</code><br>The attendee email address. </td> </tr> <tr> <td><code translate="no" dir="ltr">attendee.optional</code></td> <td><code translate="no" dir="ltr">boolean</code><br><code translate="no" dir="ltr">true</code> if the attendance for this attendee is marked as optional; <code translate="no" dir="ltr">false</code> otherwise. </td> </tr> <tr> <td><code translate="no" dir="ltr">attendee.organizer</code></td> <td><code translate="no" dir="ltr">boolean</code><br><code translate="no" dir="ltr">true</code> if the attendee is an organizer for this event. </td> </tr> <tr> <td><code translate="no" dir="ltr">attendee.resource</code></td> <td><code translate="no" dir="ltr">boolean</code><br><code translate="no" dir="ltr">true</code> if the attendee represents a resource, such as room or piece of equipment; <code translate="no" dir="ltr">false</code> otherwise. </td> </tr> <tr> <td><code translate="no" dir="ltr">attendee.responseStatus</code></td> <td><code translate="no" dir="ltr">string</code><br>The attendee's response status. Possible values include the following: <ul> <li><code translate="no" dir="ltr">accepted</code>: The attendee has accepted the event invitation.</li> <li><code translate="no" dir="ltr">declined</code>: The attendee has declined the event invitation. </li> <li><code translate="no" dir="ltr">needsAction</code>: The attendee has not responded to the event invitation. </li> <li><code translate="no" dir="ltr">tentative</code>: The attendee has tentatively accepted the event invitation. </li> </ul> </td> </tr> <tr> <td><code translate="no" dir="ltr">attendee.self</code></td> <td><code translate="no" dir="ltr">boolean</code><br><code translate="no" dir="ltr">true</code> if this attendee represents the calendar in which this event appears; <code translate="no" dir="ltr">false</code> otherwise. </td> </tr> </tbody> </table> <h3 id="conference_data" data-text="Conference data" tabindex="-1">Conference data</h3> <p>Conference data objects carry information about conferences that are attached to Google Calendar events. These can be Google conference solutions, such as Google Meet, or third-party conferences. This information is present in the event object if and only if the data is present in the Calendar event and the add-on sets its <code translate="no" dir="ltr">addOns.calendar.currentEventAccess</code> <a href="/apps-script/manifest/calendar-addons" target="_blank" class="external">manifest</a> field to <code translate="no" dir="ltr">READ</code> or <code translate="no" dir="ltr">READ_WRITE</code>.</p> <table class="responsive"> <tbody> <tr> <th colspan=2>Conference data object</th> </tr> <tr> <td><code translate="no" dir="ltr">conferenceData.conferenceId</code></td> <td><code translate="no" dir="ltr">string</code><br>The ID of the conference. This ID is meant to allow applications to keep track of conferences; you shouldn't display this ID to users. </td> </tr> <tr> <td><code translate="no" dir="ltr">conferenceData.conferenceSolution</code></td> <td><code translate="no" dir="ltr">object</code><br>An object representing the conference solution, such as Hangouts or Google Meet. </td> </tr> <tr> <td><code translate="no" dir="ltr">conferenceData.conferenceSolution.iconUri</code></td> <td><code translate="no" dir="ltr">string</code><br>The URI for the user-visible icon representing this conference solution. </td> </tr> <tr> <td><code translate="no" dir="ltr">conferenceData.conferenceSolution.key</code></td> <td><code translate="no" dir="ltr">object</code><br>The key which uniquely identifies the conference solution for this event. </td> </tr> <tr> <td><code translate="no" dir="ltr">conferenceData.conferenceSolution.key.type</code></td> <td><code translate="no" dir="ltr">string</code><br>The conference solution type. Possible values include the following: <ul> <li><code translate="no" dir="ltr">eventHangout</code> for Hangouts for consumers (http://hangouts.google.com).</li> <li><code translate="no" dir="ltr">eventNamedHangout</code> for classic Hangouts for Google Workspace users (http://hangouts.google.com).</li> <li><code translate="no" dir="ltr">hangoutsMeet</code> for Google Meet (http://meet.google.com).</li> </ul> </td> </tr> <tr> <td><code translate="no" dir="ltr">conferenceData.conferenceSolution.name</code></td> <td><code translate="no" dir="ltr">string</code><br>The user-visible name of this conference solution (not localized). </td> </tr> <tr> <td><code translate="no" dir="ltr">conferenceData.entryPoints[]</code></td> <td><code translate="no" dir="ltr">list of <a href="#entry_point">entry point</a> objects</code> <br>The list of conference entry points, such as URLs or phone numbers. </td> </tr> <tr> <td><code translate="no" dir="ltr">conferenceData.notes</code></td> <td><code translate="no" dir="ltr">string</code><br>Additional notes (such as instructions from the domain administrator or legal notices) about the conference to display to the user. Can contain HTML. The maximum length is 2048 characters. </td> </tr> <tr> <td><code translate="no" dir="ltr">conferenceData.parameters</code></td> <td><code translate="no" dir="ltr">object</code><br>An object containing a map of defined parameter data for use by the add-on. </td> </tr> <tr> <td><code translate="no" dir="ltr">conferenceData.parameters.addOnParameters</code></td> <td><code translate="no" dir="ltr">object</code><br>A map of parameter string keys and values. These keys and values are defined by the add-on developer to attach information to a specific conference for the add-on's use. </td> </tr> </tbody> </table> <h3 id="entry_point" data-text="Entry point" tabindex="-1">Entry point</h3> <p>Entry point objects carry information about the established means of accessing a given conference, such as by phone or video. This information is present in the event object if and only if the data is present in the Calendar event and the add-on sets its <code translate="no" dir="ltr">addOns.calendar.currentEventAccess</code> <a href="/apps-script/manifest/calendar-addons" target="_blank" class="external">manifest</a> field to <code translate="no" dir="ltr">READ</code> or <code translate="no" dir="ltr">READ_WRITE</code>.</p> <table class="responsive"> <tbody> <tr> <th colspan=2>Entry point object</th> </tr> <tr> <td><code translate="no" dir="ltr">entryPoint.accessCode</code></td> <td><code translate="no" dir="ltr">string</code><br>The access code used to access the conference. The maximum length is 128 characters. Conference providers typically only use a subset of {<code translate="no" dir="ltr">accessCode</code>, <code translate="no" dir="ltr">meetingCode</code>, <code translate="no" dir="ltr">passcode</code>, <code translate="no" dir="ltr">password</code>, <code translate="no" dir="ltr">pin</code>} to provide access to conferences. Match and only ever display the fields the conference provider uses. </td> </tr> <tr> <td><code translate="no" dir="ltr">entryPoint.entryPointFeatures</code></td> <td><code translate="no" dir="ltr">list</code><br>Features of the entry point. Currently these features only apply to <code translate="no" dir="ltr">phone</code> entry points: <ul> <li><code translate="no" dir="ltr">toll</code>: The entry point is a toll phone call. </li> <li><code translate="no" dir="ltr">toll_free</code>: The entry point is a toll-free phone call. </li> </ul> </td> </tr> <tr> <td><code translate="no" dir="ltr">entryPoint.entryPointType</code></td> <td><code translate="no" dir="ltr">string</code><br>The type of entry point. Possible values are the following: <ul> <li><code translate="no" dir="ltr">more</code>: Additional conference joining instructions, such as alternate phone numbers. A conference can only have one <code translate="no" dir="ltr">more</code> entry point; if present at least one other type of entry point is also required. </li> <li><code translate="no" dir="ltr">phone</code>: Join the conference via a phone number. A conference can have zero or more <code translate="no" dir="ltr">phone</code> entry points. Google Calendar only displays the first two phone entry points, after formatting and sorting alphabetically. </li> <li><code translate="no" dir="ltr">sip</code>: Join the conference over SIP. A conference can have at most one <code translate="no" dir="ltr">sip</code> entry point. </li> <li><code translate="no" dir="ltr">video</code>: Join the conference over HTTP. A conference can have at most one <code translate="no" dir="ltr">video</code> entry point. </li> </ul> </td> </tr> <tr> <td><code translate="no" dir="ltr">entryPoint.label</code></td> <td><code translate="no" dir="ltr">string</code><br>The user-visible label for the entry point URI (not localized). </td> </tr> <tr> <td><code translate="no" dir="ltr">entryPoint.meetingCode</code></td> <td><code translate="no" dir="ltr">string</code><br>The meeting code used to access the conference. The maximum length is 128 characters. Conference providers typically only use a subset of {<code translate="no" dir="ltr">accessCode</code>, <code translate="no" dir="ltr">meetingCode</code>, <code translate="no" dir="ltr">passcode</code>, <code translate="no" dir="ltr">password</code>, <code translate="no" dir="ltr">pin</code>} to provide access to conferences. Match and only ever display the fields the conference provider uses. </td> </tr> <tr> <td><code translate="no" dir="ltr">entryPoint.passcode</code></td> <td><code translate="no" dir="ltr">string</code><br>The passcode used to access the conference. The maximum length is 128 characters. Conference providers typically only use a subset of {<code translate="no" dir="ltr">accessCode</code>, <code translate="no" dir="ltr">meetingCode</code>, <code translate="no" dir="ltr">passcode</code>, <code translate="no" dir="ltr">password</code>, <code translate="no" dir="ltr">pin</code>} to provide access to conferences. Match and only ever display the fields the conference provider uses. </td> </tr> <tr> <td><code translate="no" dir="ltr">entryPoint.password</code></td> <td><code translate="no" dir="ltr">string</code><br>The password used to access the conference. The maximum length is 128 characters. Conference providers typically only use a subset of {<code translate="no" dir="ltr">accessCode</code>, <code translate="no" dir="ltr">meetingCode</code>, <code translate="no" dir="ltr">passcode</code>, <code translate="no" dir="ltr">password</code>, <code translate="no" dir="ltr">pin</code>} to provide access to conferences. Match and only ever display the fields the conference provider uses. </td> </tr> <tr> <td><code translate="no" dir="ltr">entryPoint.pin</code></td> <td><code translate="no" dir="ltr">string</code><br>The PIN used to access the conference. The maximum length is 128 characters. Conference providers typically only use a subset of {<code translate="no" dir="ltr">accessCode</code>, <code translate="no" dir="ltr">meetingCode</code>, <code translate="no" dir="ltr">passcode</code>, <code translate="no" dir="ltr">password</code>, <code translate="no" dir="ltr">pin</code>} to provide access to conferences. Match and only ever display the fields the conference provider uses. </td> </tr> <tr> <td><code translate="no" dir="ltr">entryPoint.regionCode</code></td> <td><code translate="no" dir="ltr">string</code><br>Region code of the phone number. Needed by users if the URI doesn't include a country code. Values are based on the public <a href="http://cldr.unicode.org/translation/country-names"> CLDR list of region codes</a>. </td> </tr> <tr> <td><code translate="no" dir="ltr">entryPoint.uri</code></td> <td><code translate="no" dir="ltr">string</code><br>The URI of the entry point. The maximum length is 1300 characters. The formatting depends on the entry point type: <ul> <li><code translate="no" dir="ltr">more</code>: A <code translate="no" dir="ltr">http:</code> or <code translate="no" dir="ltr">https:</code> schema is required. </li> <li><code translate="no" dir="ltr">phone</code>: A <code translate="no" dir="ltr">tel:</code> schema is required. The URI should include the entire dial sequence (for example, "tel:+12345678900,,,12345678;1234"). </li> <li><code translate="no" dir="ltr">sip</code>: A <code translate="no" dir="ltr">sip:</code> or <code translate="no" dir="ltr">sips:</code> schema is required. For example "sip:12345678@myprovider.com". </li> <li><code translate="no" dir="ltr">video</code>: A <code translate="no" dir="ltr">http:</code> or <code translate="no" dir="ltr">https:</code> schema is required. </li> </ul> </td> </tr> </tbody> </table> <h2 id="drive-event-object" data-text="Drive event object" tabindex="-1">Drive event object</h2> <p>The Drive event object is the portion of the overall event object that carries information about a user's Google Drive and its contents. It's only present in an event object if the host application is Google Drive.</p> <table class="responsive"> <tbody> <tr> <th colspan=2>Drive event object</th> </tr> <tr> <td><code translate="no" dir="ltr">drive.activeCursorItem</code></td> <td><code translate="no" dir="ltr"><a href="#drive_item">Drive item</a> object</code><br> The Drive item currently active. </td> </tr> <tr> <td><code translate="no" dir="ltr">drive.selectedItems[]</code></td> <td><code translate="no" dir="ltr">list of <a href="#drive_item">Drive item</a> objects</code><br> A list of items (files or folders) selected in Drive. </td> </tr> </tbody> </table> <h3 id="drive-item" data-text="Drive item" tabindex="-1">Drive item</h3> <p>Drive item objects carry information about specific Drive items, such as files or folders.</p> <table class="responsive"> <tbody> <tr> <th colspan=2>Drive item object</th> </tr> <tr> <td><code translate="no" dir="ltr">item.addonHasFileScopePermission</code></td> <td><code translate="no" dir="ltr">boolean</code><br>If <code translate="no" dir="ltr">true</code>, the add-on has requested and received <code translate="no" dir="ltr">https://www.googleapis.com/auth/drive.file</code> scope authorization for this item; otherwise this field is <code translate="no" dir="ltr">false</code>. <aside class="note">If the add-on uses a more permissive scope such as <code translate="no" dir="ltr">https://www.googleapis.com/auth/drive</code> or <code translate="no" dir="ltr">https://www.googleapis.com/auth/drive.readonly</code>, this field isn't relevant.<br> Always use the least permissive scopes possible when designing add-ons to protect user information. </aside> </td> </tr> <tr> <td><code translate="no" dir="ltr">item.id</code></td> <td><code translate="no" dir="ltr">string</code><br>The ID of the selected item.</td> </tr> <tr> <td><code translate="no" dir="ltr">item.iconUrl</code></td> <td><code translate="no" dir="ltr">string</code><br>The URL of the icon that represents the selected item. </td> </tr> <tr> <td><code translate="no" dir="ltr">item.mimeType</code></td> <td><code translate="no" dir="ltr">string</code><br>The MIME type of the selected item.</td> </tr> <tr> <td><code translate="no" dir="ltr">item.title</code></td> <td><code translate="no" dir="ltr">string</code><br>The title of the selected item.</td> </tr> </tbody> </table> <h2 id="gmail-event-object" data-text="Gmail event object" tabindex="-1">Gmail event object</h2> <p>The Gmail event object is the portion of the overall event object that carries information about a user's Gmail messages. It's only present in an event object if the host application is Gmail.</p> <table class="responsive"> <tbody> <tr> <th colspan=2>Gmail event object</th> </tr> <tr> <td><code translate="no" dir="ltr">gmail.accessToken</code></td> <td><code translate="no" dir="ltr">string</code><br>The Gmail-specific access token. You can use this token with the <a href="/apps-script/reference/gmail/gmail-app#setcurrentmessageaccesstokenaccesstoken"> <code translate="no" dir="ltr">GmailApp.setCurrentMessageAccessToken(accessToken)</code></a> method to grant your add-on temporary access to a user's currently open Gmail message or let your add-on compose new drafts. </td> </tr> <tr> <td><code translate="no" dir="ltr">gmail.bccRecipients[]</code></td> <td><code translate="no" dir="ltr">list of strings</code><br><b>Disabled by default</b>. The list of "BCC:" recipient email addresses currently included in a draft the add-on is composing. To turn on this field, you must set the <code translate="no" dir="ltr">addOns.gmail.composeTrigger.draftAccess</code> field in your manifest to <code translate="no" dir="ltr">METADATA</code>. </td> </tr> <tr> <td><code translate="no" dir="ltr">gmail.ccRecipients[]</code></td> <td><code translate="no" dir="ltr">list of strings</code><br><b>Disabled by default</b>. The list of "CC:" recipient email addresses currently included in a draft the add-on is composing. To turn on this field, you must set the <code translate="no" dir="ltr">addOns.gmail.composeTrigger.draftAccess</code> field in your manifest to <code translate="no" dir="ltr">METADATA</code>. </td> </tr> <tr> <td><code translate="no" dir="ltr">gmail.messageId</code></td> <td><code translate="no" dir="ltr">string</code><br>The ID of the currently open Gmail message. </td> </tr> <tr> <td><code translate="no" dir="ltr">gmail.threadId</code></td> <td><code translate="no" dir="ltr">string</code><br>The currently open Gmail thread ID.</td> </tr> <tr> <td><code translate="no" dir="ltr">gmail.toRecipients[]</code></td> <td><code translate="no" dir="ltr">list of strings</code><br><b>Disabled by default</b>. The list of "To:" recipient email addresses currently included in a draft the add-on is composing. To turn on this field, you must set the <code translate="no" dir="ltr">addOns.gmail.composeTrigger.draftAccess</code> field in your manifest to <code translate="no" dir="ltr">METADATA</code>. </td> </tr> </tbody> </table> <h2 id="docs-event-object" data-text="Docs event object" tabindex="-1">Docs event object</h2> <p>The Docs event object is the portion of the overall event object that carries information about a user's document and its contents. It's only present in an event object if the host application is Google Docs.</p> <table class="responsive"> <tbody> <tr> <th colspan=2>Docs event object</th> </tr> <tr> <td><code translate="no" dir="ltr">docs.id</code></td> <td><code translate="no" dir="ltr">string</code><br><b>Only present if the <code translate="no" dir="ltr"> https://www.googleapis.com/auth/drive.file</code> scope has been authorized by the user</b>.<br>The ID of the document open in the Docs UI. </td> </tr> <tr> <td><code translate="no" dir="ltr">docs.title</code></td> <td><code translate="no" dir="ltr">string</code><br><b>Only present if the <code translate="no" dir="ltr"> https://www.googleapis.com/auth/drive.file</code> scope has been authorized by the user</b>.<br>The title of the document open in the Docs UI. </td> </tr> <tr> <td><code translate="no" dir="ltr">docs.addonHasFileScopePermission</code></td> <td><code translate="no" dir="ltr">boolean</code><br>If <code translate="no" dir="ltr">true</code>, the add-on has requested and received <code translate="no" dir="ltr">https://www.googleapis.com/auth/drive.file</code> scope authorization for the document open in the Docs UI; otherwise this field is <code translate="no" dir="ltr">false</code>. </td> </tr> <tr id="docs.matchedUrl.url"> <td><code translate="no" dir="ltr">docs.matchedUrl.url</code></td> <td> <code translate="no" dir="ltr">string</code> <br><strong>Only present if the following conditions are met:</strong> <ul> <li><code translate="no" dir="ltr">https://www.googleapis.com/auth/workspace.linkpreview</code> has been authorized by the user.</li> <li>The URL matches the host pattern specified in the <code translate="no" dir="ltr">LinkPreviewTriggers</code> trigger.</li> </ul> <br>The URL of the link that generates a preview in Google Docs. To use this field, you must configure the <code translate="no" dir="ltr">LinkPreviewTriggers</code> in your add-on’s manifest. See <a href="/workspace/add-ons/editors/gsao/preview-links" target="_blank" class="external">Preview links with smart chips</a> for more details. <p>Example payload for when a user previews the link <code translate="no" dir="ltr">https://www.example.com/12345</code>: <pre class="prettyprint devsite-disable-click-to-copy" translate="no" dir="ltr"> "docs" : { "matchedUrl" : { "url" : "https://www.example.com/12345" } } </pre> </p> </td> </tr> </tbody> </table> <h2 id="sheets-event-object" data-text="Sheets event object" tabindex="-1">Sheets event object</h2> <p>The Sheets event object is the portion of the overall event object that carries information about a user's document and its contents. It's only present in an event object if the host application is Google Sheets.</p> <table class="responsive"> <tbody> <tr> <th colspan=2>Sheets event object</th> </tr> <tr> <td><code translate="no" dir="ltr">sheets.id</code></td> <td><code translate="no" dir="ltr">string</code><br><b>Only present if the <code translate="no" dir="ltr"> https://www.googleapis.com/auth/drive.file</code> scope has been authorized by the user</b>. The ID of the spreadsheet open in the Sheets UI. </td> </tr> <tr> <td><code translate="no" dir="ltr">sheets.title</code></td> <td> <code translate="no" dir="ltr">string</code><br><b>Only present if the <code translate="no" dir="ltr"> https://www.googleapis.com/auth/drive.file</code> scope has been authorized by the user</b>. The title of the spreadsheet open in the Sheets UI. </td> </tr> <tr> <td><code translate="no" dir="ltr">sheets.addonHasFileScopePermission</code></td> <td><code translate="no" dir="ltr">boolean</code><br>If <code translate="no" dir="ltr">true</code>, the add-on has requested and received <code translate="no" dir="ltr">https://www.googleapis.com/auth/drive.file</code> scope authorization for the spreadsheet open in the Sheets UI; otherwise this field is <code translate="no" dir="ltr">false</code>. </td> </tr> <tr id="sheets.matchedUrl.url"> <td><code translate="no" dir="ltr">sheets.matchedUrl.url</code></td> <td> <code translate="no" dir="ltr">string</code> <br><strong>Only present if the following conditions are met:</strong> <ul> <li><code translate="no" dir="ltr">https://www.googleapis.com/auth/workspace.linkpreview</code> has been authorized by the user.</li> <li>The URL matches the host pattern specified in the <code translate="no" dir="ltr">LinkPreviewTriggers</code> trigger.</li> </ul> <br>The URL of the link that generates a preview in Google Sheets. To use this field, you must configure the <code translate="no" dir="ltr">LinkPreviewTriggers</code> in your add-on’s manifest. See <a href="/workspace/add-ons/editors/gsao/preview-links" target="_blank" class="external">Preview links with smart chips</a> for more details. <p>Example payload for when a user previews the link <code translate="no" dir="ltr">https://www.example.com/12345</code>:</p> <pre class="prettyprint devsite-disable-click-to-copy" translate="no" dir="ltr"> "sheets" : { "matchedUrl" : { "url" : "https://www.example.com/12345" } } </pre> </td> </tr> </tbody> </table> <h2 id="slides-event-object" data-text="Slides event object" tabindex="-1">Slides event object</h2> <p>The Slides event object is the portion of the overall event object that carries information about a user's document and its contents. It's only present in an event object if the host application is Google Slides.</p> <table class="responsive"> <tbody> <tr> <th colspan=2>Slides event object</th> </tr> <tr> <td><code translate="no" dir="ltr">slides.id</code></td> <td><code translate="no" dir="ltr">string</code><br><b>Only present if the <code translate="no" dir="ltr"> https://www.googleapis.com/auth/drive.file</code> scope has been authorized by the user</b>. The ID of the presentation open in the Slides UI. </td> </tr> <tr> <td><code translate="no" dir="ltr">slides.title</code></td> <td><code translate="no" dir="ltr">string</code><br><b>Only present if the <code translate="no" dir="ltr"> https://www.googleapis.com/auth/drive.file</code> scope has been authorized by the user</b>. The title of the presentation open in the Slides UI. </td> </tr> <tr> <td><code translate="no" dir="ltr">slides.addonHasFileScopePermission</code></td> <td><code translate="no" dir="ltr">boolean</code><br>If <code translate="no" dir="ltr">true</code>, the add-on has requested and received <code translate="no" dir="ltr">https://www.googleapis.com/auth/drive.file</code> scope authorization for the presentation open in the Slides UI; otherwise this field is <code translate="no" dir="ltr">false</code>. </td> </tr> <tr id="slides.matchedUrl.url"> <td><code translate="no" dir="ltr">slides.matchedUrl.url</code></td> <td> <code translate="no" dir="ltr">string</code> <br><strong>Only present if the following conditions are met:</strong> <ul> <li><code translate="no" dir="ltr">https://www.googleapis.com/auth/workspace.linkpreview</code> has been authorized by the user.</li> <li>The URL matches the host pattern specified in the <code translate="no" dir="ltr">LinkPreviewTriggers</code> trigger.</li> </ul> <br>The URL of the link that generates a preview in Google Slides. To use this field, you must configure the <code translate="no" dir="ltr">LinkPreviewTriggers</code> in your add-on’s manifest. See <a href="/workspace/add-ons/editors/gsao/preview-links" target="_blank" class="external">Preview links with smart chips</a> for more details. <p>Example payload for when a user previews the link <code translate="no" dir="ltr">https://www.example.com/12345</code>:</p> <pre class="prettyprint devsite-disable-click-to-copy" translate="no" dir="ltr"> "slides" : { "matchedUrl" : { "url" : "https://www.example.com/12345" } } </pre> </td> </tr> </tbody> </table> <devsite-hats-survey class="nocontent" hats-id="3KyAora5x0eGRuQsCn30V8okzuYm" listnr-id="717201"></devsite-hats-survey> </div> <devsite-thumb-rating position="footer"> </devsite-thumb-rating> <devsite-feedback position="footer" project-name="Google Workspace Add-ons" product-id="717201" bucket="add-ons" context="" version="t-devsite-webserver-20241114-r00-rc02.464922260396498922" data-label="Send Feedback Button" track-type="feedback" track-name="sendFeedbackLink" track-metadata-position="footer" class="nocontent" project-feedback-url="https://issuetracker.google.com/issues/new?component=642720&template=1392206" project-icon="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/developers/images/touchicon-180-new.png" project-support-url="https://developers.google.com/workspace/add-ons/workspace-support" > <button> Send feedback </button> </devsite-feedback> <div class="devsite-floating-action-buttons"> </div> </article> <devsite-content-footer class="nocontent"> <p>Except as otherwise noted, the content of this page is licensed under the <a href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 License</a>, and code samples are licensed under the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache 2.0 License</a>. For details, see the <a href="https://developers.google.com/site-policies">Google Developers Site Policies</a>. Java is a registered trademark of Oracle and/or its affiliates.</p> <p>Last updated 2024-10-17 UTC.</p> </devsite-content-footer> <devsite-notification > </devsite-notification> <div class="devsite-content-data"> <template class="devsite-thumb-rating-feedback"> <devsite-feedback position="thumb-rating" project-name="Google Workspace Add-ons" product-id="717201" bucket="add-ons" context="" version="t-devsite-webserver-20241114-r00-rc02.464922260396498922" data-label="Send Feedback Button" track-type="feedback" track-name="sendFeedbackLink" track-metadata-position="thumb-rating" class="nocontent" project-feedback-url="https://issuetracker.google.com/issues/new?component=642720&template=1392206" project-icon="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/developers/images/touchicon-180-new.png" project-support-url="https://developers.google.com/workspace/add-ons/workspace-support" > <button> Need to tell us more? </button> </devsite-feedback> </template> <template class="devsite-content-data-template"> [[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-10-17 UTC."],[],[]] </template> </div> </devsite-content> </main> <devsite-footer-promos class="devsite-footer"> <nav class="devsite-footer-promos nocontent" aria-label="Promotions"> <ul class="devsite-footer-promos-list"> <li class="devsite-footer-promo"> <a href="https://developers.googleblog.com/search/?query=Google+Workspace" class="devsite-footer-promo-title gc-analytics-event" data-category="Site-Wide Custom Events" data-category="Workspace Footer" data-label="Promo - Google Workspace Developers Blog" target="_blank" > <picture> <img class="devsite-footer-promo-icon" src="https://www.gstatic.com/images/branding/product/2x/google_cloud_64dp.png" loading="lazy" alt="Blog"> </picture> <span class="devsite-footer-promo-label"> Blog </span> </a> <div class="devsite-footer-promo-description">Read the Google Workspace Developers blog</div> </li> <li class="devsite-footer-promo"> <a href="https://twitter.com/workspacedevs" class="devsite-footer-promo-title gc-analytics-event" data-category="Site-Wide Custom Events" data-category="Workspace Footer" target="_blank" data-label="Promo - Google Workspace on X (Twitter)" > <picture> <img class="devsite-footer-promo-icon" src="/static/site-assets/logo-x.svg" loading="lazy" alt="X (Twitter)"> </picture> <span class="devsite-footer-promo-label"> X (Twitter) </span> </a> <div class="devsite-footer-promo-description">Follow @workspacedevs on X (Twitter)</div> </li> <li class="devsite-footer-promo"> <a href="https://github.com/googleworkspace" class="devsite-footer-promo-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Promo - Google Workspace Github" data-category="Workspace Footer" target="_blank" > <picture> <img class="devsite-footer-promo-icon" src="/static/site-assets/logo-github.svg" loading="lazy" alt="Code Samples"> </picture> <span class="devsite-footer-promo-label"> Code Samples </span> </a> <div class="devsite-footer-promo-description">Explore our sample apps or copy them to build your own</div> </li> <li class="devsite-footer-promo"> <a href="https://codelabs.developers.google.com/?product=googleworkspace" class="devsite-footer-promo-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Promo - Google Workspace Codelabs" data-category="Workspace Footer" target="_blank" > <picture> <img class="devsite-footer-promo-icon" src="/static/site-assets/developers-logo-color.svg" loading="lazy" alt="Codelabs"> </picture> <span class="devsite-footer-promo-label"> Codelabs </span> </a> <div class="devsite-footer-promo-description">Try a guided, hands-on coding experience</div> </li> <li class="devsite-footer-promo"> <a href="https://www.youtube.com/channel/UCUcg6az6etU_gRtZVAhBXaw" class="devsite-footer-promo-title gc-analytics-event" data-category="Site-Wide Custom Events" data-category="Workspace Footer" data-label="Promo - Google Workspace on YouTube" target="_blank" > <picture> <img class="devsite-footer-promo-icon" src="/static/site-assets/logo-youtube.svg" loading="lazy" alt="Videos"> </picture> <span class="devsite-footer-promo-label"> Videos </span> </a> <div class="devsite-footer-promo-description">Subscribe to our YouTube channel</div> </li> </ul> </nav> </devsite-footer-promos> <devsite-footer-linkboxes class="devsite-footer"> <nav class="devsite-footer-linkboxes nocontent" aria-label="Footer links"> <ul class="devsite-footer-linkboxes-list"> <li class="devsite-footer-linkbox "> <h3 class="devsite-footer-linkbox-heading no-link">Google Workspace for Developers</h3> <ul class="devsite-footer-linkbox-list"> <li class="devsite-footer-linkbox-item"> <a href="/workspace" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Linkbox - Platform overview"data-category="Workspace Footer"> Platform overview </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/workspace/products" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Linkbox - Developer products"data-category="Workspace Footer"> Developer products </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/workspace/support" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-category="Workspace Footer"data-label="Linkbox - Developer support"> Developer support </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/workspace/terms" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-category="Workspace Footer"data-label="Linkbox - Terms of Service"> Terms of Service </a> </li> </ul> </li> <li class="devsite-footer-linkbox "> <h3 class="devsite-footer-linkbox-heading no-link">Tools</h3> <ul class="devsite-footer-linkbox-list"> <li class="devsite-footer-linkbox-item"> <a href="https://admin.google.com/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" target="admin-console"data-category="Workspace Footer"data-label="Linkbox - Admin console"> Admin console </a> </li> <li class="devsite-footer-linkbox-item"> <a href="https://script.google.com/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-category="Workspace Footer"target="_blank"data-label="Linkbox - Apps Script Dashboard"> Apps Script Dashboard </a> </li> <li class="devsite-footer-linkbox-item"> <a href="https://console.cloud.google.com/workspace-api" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" target="console"data-label="Linkbox - Google Cloud console"data-category="Workspace Footer"> Google Cloud console </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/workspace/explore" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-category="Workspace Footer"data-label="Linkbox - APIs Explorer"> APIs Explorer </a> </li> </ul> </li> <li class="devsite-footer-linkbox "> <h3 class="devsite-footer-linkbox-heading no-link">Connect</h3> <ul class="devsite-footer-linkbox-list"> <li class="devsite-footer-linkbox-item"> <a href="https://developers.googleblog.com/search/?query=Google+Workspace" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-category="Workspace Footer"data-label="Linkbox - Blog"target="_blank"> Blog </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/workspace/newsletters" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Linkbox - Newsletter"data-category="Workspace Footer"> Newsletter </a> </li> <li class="devsite-footer-linkbox-item"> <a href="https://twitter.com/workspacedevs" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-category="Workspace Footer"target="_blank"data-label="Linkbox - X (Twitter)"> X (Twitter) </a> </li> <li class="devsite-footer-linkbox-item"> <a href="https://www.youtube.com/channel/UCUcg6az6etU_gRtZVAhBXaw" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Linkbox - YouTube"target="_blank"data-category="Workspace Footer"> YouTube </a> </li> </ul> </li> </ul> </nav> </devsite-footer-linkboxes> <devsite-footer-utility class="devsite-footer"> <div class="devsite-footer-utility nocontent"> <nav class="devsite-footer-sites" aria-label="Other Google Developers websites"> <a href="https://developers.google.com/" class="devsite-footer-sites-logo-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Google Developers Link"> <picture> <img class="devsite-footer-sites-logo" src="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/developers/images/lockup-google-for-developers.svg" loading="lazy" alt="Google Developers"> </picture> </a> <ul class="devsite-footer-sites-list"> <li class="devsite-footer-sites-item"> <a href="//developer.android.com" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Android Link" > Android </a> </li> <li class="devsite-footer-sites-item"> <a href="//developer.chrome.com/home" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Chrome Link" > Chrome </a> </li> <li class="devsite-footer-sites-item"> <a href="//firebase.google.com" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Firebase Link" > Firebase </a> </li> <li class="devsite-footer-sites-item"> <a href="//cloud.google.com" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Google Cloud Platform Link" > Google Cloud Platform </a> </li> <li class="devsite-footer-sites-item"> <a href="//ai.google.dev/" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Google AI Link" > Google AI </a> </li> <li class="devsite-footer-sites-item"> <a href="/products" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer All products Link" > All products </a> </li> </ul> </nav> <nav class="devsite-footer-utility-links" aria-label="Utility links"> <ul class="devsite-footer-utility-list"> <li class="devsite-footer-utility-item "> <a class="devsite-footer-utility-link gc-analytics-event" href="/terms/site-terms" data-category="Site-Wide Custom Events" data-label="Footer Terms link" > Terms </a> </li> <li class="devsite-footer-utility-item "> <a class="devsite-footer-utility-link gc-analytics-event" href="//policies.google.com/privacy" data-category="Site-Wide Custom Events" data-label="Footer Privacy link" > Privacy </a> </li> <li class="devsite-footer-utility-item glue-cookie-notification-bar-control"> <a class="devsite-footer-utility-link gc-analytics-event" href="#" data-category="Site-Wide Custom Events" data-label="Footer Manage cookies link" aria-hidden="true" > Manage cookies </a> </li> <li class="devsite-footer-utility-item devsite-footer-utility-button"> <span class="devsite-footer-utility-description">Sign up for the Google for Developers newsletter</span> <a class="devsite-footer-utility-link gc-analytics-event" href="/newsletter/subscribe" data-category="Site-Wide Custom Events" data-label="Footer Subscribe link" > Subscribe </a> </li> </ul> <devsite-language-selector> <ul role="presentation"> <li role="presentation"> <a role="menuitem" lang="en" >English</a> </li> <li role="presentation"> <a role="menuitem" lang="de" >Deutsch</a> </li> <li role="presentation"> <a role="menuitem" lang="es" >Español</a> </li> <li role="presentation"> <a role="menuitem" lang="es_419" >Español – América Latina</a> </li> <li role="presentation"> <a role="menuitem" lang="fr" >Français</a> </li> <li role="presentation"> <a role="menuitem" lang="id" >Indonesia</a> </li> <li role="presentation"> <a role="menuitem" lang="it" >Italiano</a> </li> <li role="presentation"> <a role="menuitem" lang="pl" >Polski</a> </li> <li role="presentation"> <a role="menuitem" lang="pt_br" >Português – Brasil</a> </li> <li role="presentation"> <a role="menuitem" lang="vi" >Tiếng Việt</a> </li> <li role="presentation"> <a role="menuitem" lang="tr" >Türkçe</a> </li> <li role="presentation"> <a role="menuitem" lang="ru" >Русский</a> </li> <li role="presentation"> <a role="menuitem" lang="he" >עברית</a> </li> <li role="presentation"> <a role="menuitem" lang="ar" >العربيّة</a> </li> <li role="presentation"> <a role="menuitem" lang="fa" >فارسی</a> </li> <li role="presentation"> <a role="menuitem" lang="hi" >हिंदी</a> </li> <li role="presentation"> <a role="menuitem" lang="bn" >বাংলা</a> </li> <li role="presentation"> <a role="menuitem" lang="th" >ภาษาไทย</a> </li> <li role="presentation"> <a role="menuitem" lang="zh_cn" >中文 – 简体</a> </li> <li role="presentation"> <a role="menuitem" lang="zh_tw" >中文 – 繁體</a> </li> <li role="presentation"> <a role="menuitem" lang="ja" >日本語</a> </li> <li role="presentation"> <a role="menuitem" lang="ko" >한국어</a> </li> </ul> </devsite-language-selector> </nav> </div> </devsite-footer-utility> <devsite-panel></devsite-panel> <devsite-concierge data-info-panel data-ai-panel data-api-explorer-panel > </devsite-concierge> </section></section> <devsite-sitemask></devsite-sitemask> <devsite-snackbar></devsite-snackbar> <devsite-tooltip ></devsite-tooltip> <devsite-heading-link></devsite-heading-link> <devsite-analytics> <script type="application/json" analytics>[{"dimensions": {"dimension4": "Google Workspace Add-ons", "dimension5": "en", "dimension11": false, "dimension6": "en", "dimension3": false, "dimension1": "Signed out"}, "gaid": "UA-24532603-1", "metrics": {"ratings_value": "metric1", "ratings_count": "metric2"}, "purpose": 1}]</script> <script type="application/json" tag-management>{"at": "True", "ga4": [{"id": "G-272J68FCRF", "purpose": 1}, {"id": "G-YYP88VSJWR", "purpose": 0}], "ga4p": [{"id": "G-272J68FCRF", "purpose": 1}], "gtm": [], "parameters": {"internalUser": "False", "language": {"machineTranslated": "False", "requested": "en", "served": "en"}, "pageType": "article", "projectName": "Google Workspace Add-ons", "signedIn": "False", "tenant": "developers", "recommendations": {"sourcePage": "", "sourceType": 0, "sourceRank": 0, "sourceIdenticalDescriptions": 0, "sourceTitleWords": 0, "sourceDescriptionWords": 0, "experiment": ""}, "experiment": {"ids": ""}}}</script> </devsite-analytics> <devsite-badger></devsite-badger> <script nonce="kdx8mGLQLI26ddIyPEhEukfL1I6sYC"> (function(d,e,v,s,i,t,E){d['GoogleDevelopersObject']=i; t=e.createElement(v);t.async=1;t.src=s;E=e.getElementsByTagName(v)[0]; E.parentNode.insertBefore(t,E);})(window, document, 'script', 'https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/developers/js/app_loader.js', '[1,"en",null,"/js/devsite_app_module.js","https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625","https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/developers","https://developers-dot-devsite-v2-prod.appspot.com",null,null,["/_pwa/developers/manifest.json","https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/images/video-placeholder.svg","https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/developers/images/favicon-new.png","https://fonts.googleapis.com/css?family=Google+Sans:400,500|Roboto:400,400italic,500,500italic,700,700italic|Roboto+Mono:400,500,700&display=swap"],1,null,[1,6,8,12,14,17,21,25,50,52,63,70,75,76,80,87,91,92,93,97,98,100,101,102,103,104,105,107,108,109,110,112,113,116,117,118,120,122,124,125,126,127,129,130,131,132,133,134,135,136,138,140,141,147,148,149,151,152,156,157,158,159,161,163,164,168,169,170,179,180,182,183,186,191,193,196],"AIzaSyAP-jjEJBzmIyKR4F-3XITp8yM9T1gEEI8","AIzaSyB6xiKGDR5O3Ak2okS4rLkauxGUG7XP0hg","developers.google.com","AIzaSyAQk0fBONSGUqCNznf6Krs82Ap1-NV6J4o","AIzaSyCCxcqdrZ_7QMeLCRY20bh_SXdAYqy70KY",null,null,null,["Cloud__enable_legacy_calculator_redirect","Search__enable_page_map","DevPro__enable_developer_subscriptions","TpcFeatures__enable_required_headers","MiscFeatureFlags__enable_view_transitions","MiscFeatureFlags__developers_footer_image","BookNav__enable_tenant_cache_key","Profiles__require_profile_eligibility_for_signin","Search__enable_ai_eligibility_checks","Search__enable_suggestions_from_borg","Profiles__enable_page_saving","Profiles__enable_complete_playlist_endpoint","CloudShell__cloud_code_overflow_menu","CloudShell__cloud_shell_button","Concierge__enable_pushui","Profiles__enable_developer_profiles_callout","MiscFeatureFlags__enable_project_variables","MiscFeatureFlags__enable_variable_operator","MiscFeatureFlags__enable_firebase_utm","TpcFeatures__enable_mirror_tenant_redirects","Profiles__enable_completecodelab_endpoint","Profiles__enable_release_notes_notifications","Analytics__enable_clearcut_logging","Cloud__enable_llm_concierge_chat","Search__enable_ai_search_summaries_restricted","MiscFeatureFlags__developers_footer_dark_image","Search__enable_dynamic_content_confidential_banner","Profiles__enable_dashboard_curated_recommendations","Cloud__enable_cloudx_ping","Profiles__enable_public_developer_profiles","DevPro__enable_cloud_innovators_plus","Cloud__enable_free_trial_server_call","Experiments__reqs_query_experiments","Search__enable_ai_search_summaries","Cloud__enable_cloud_shell_fte_user_flow","Profiles__enable_recognition_badges","Profiles__enable_awarding_url","Concierge__enable_concierge_restricted","Significatio__enable_by_tenant","Cloud__enable_cloudx_experiment_ids","MiscFeatureFlags__emergency_css","Cloud__enable_cloud_facet_chat","Cloud__enable_cloud_dlp_service","Profiles__enable_profile_collections","MiscFeatureFlags__enable_explain_this_code","Concierge__enable_concierge","Cloud__enable_cloud_shell","EngEduTelemetry__enable_engedu_telemetry"],null,null,"AIzaSyBLEMok-5suZ67qRPzx0qUtbnLmyT_kCVE","https://developerscontentserving-pa.clients6.google.com","AIzaSyCM4QpTRSqP5qI4Dvjt4OAScIN8sOUlO-k","https://developerscontentsearch-pa.clients6.google.com",1,4,null,"https://developerprofiles-pa.clients6.google.com",[1,"developers","Google for Developers","developers.google.com",null,"developers-dot-devsite-v2-prod.appspot.com",null,null,[1,1,[1],null,null,null,null,null,null,null,null,[1],null,null,null,null,null,null,[1],[1,null,null,[1,20],"/recommendations/information"],null,null,null,[1,1,1],[1,1,null,1,1]],null,[null,null,null,null,null,null,"/images/lockup-new.svg","/images/touchicon-180-new.png",null,null,null,null,1,null,null,null,null,null,null,null,null,1,null,null,null,"/images/lockup-dark-theme-new.svg",[]],[],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[6,1,14,15,20,22,23,29,32,36],null,[[null,null,null,[3,7,10,2,39,17,4,32,24,11,12,13,34,15,25],null,null,[1,[["docType","Choose a content type",[["Tutorial",null,null,null,null,null,null,null,null,"Tutorial"],["Guide",null,null,null,null,null,null,null,null,"Guide"],["Sample",null,null,null,null,null,null,null,null,"Sample"]]],["product","Choose a product",[["Android",null,null,null,null,null,null,null,null,"Android"],["ARCore",null,null,null,null,null,null,null,null,"ARCore"],["ChromeOS",null,null,null,null,null,null,null,null,"ChromeOS"],["Firebase",null,null,null,null,null,null,null,null,"Firebase"],["Flutter",null,null,null,null,null,null,null,null,"Flutter"],["Assistant",null,null,null,null,null,null,null,null,"Google Assistant"],["GoogleCloud",null,null,null,null,null,null,null,null,"Google Cloud"],["GoogleMapsPlatform",null,null,null,null,null,null,null,null,"Google Maps Platform"],["GooglePay",null,null,null,null,null,null,null,null,"Google Pay & Google Wallet"],["GooglePlay",null,null,null,null,null,null,null,null,"Google Play"],["Tensorflow",null,null,null,null,null,null,null,null,"TensorFlow"]]],["category","Choose a topic",[["AiAndMachineLearning",null,null,null,null,null,null,null,null,"AI and Machine Learning"],["Data",null,null,null,null,null,null,null,null,"Data"],["Enterprise",null,null,null,null,null,null,null,null,"Enterprise"],["Gaming",null,null,null,null,null,null,null,null,"Gaming"],["Mobile",null,null,null,null,null,null,null,null,"Mobile"],["Web",null,null,null,null,null,null,null,null,"Web"]]]]]],[1,1],null,1],[[["UA-24532603-1"],["UA-22084204-5"],null,null,["UA-24532603-5"],null,null,[["G-272J68FCRF"],null,null,[["G-272J68FCRF",2]]],[["UA-24532603-1",2]],null,[["UA-24532603-5",2]],null,1],[[13,10],[1,1],[6,5],[15,12],[14,11],[5,4],[16,13],[4,3],[11,8],[3,2],[12,9]],[[1,1],[2,2]]],null,4,null,null,null,null,null,null,null,null,null,null,null,null,null,"developers.devsite.google"],null,"pk_live_5170syrHvgGVmSx9sBrnWtA5luvk9BwnVcvIi7HizpwauFG96WedXsuXh790rtij9AmGllqPtMLfhe2RSwD6Pn38V00uBCydV4m"]') </script> <devsite-a11y-announce></devsite-a11y-announce> </body> </html>