CINXE.COM

Authenticate and authorize Chat apps and Google Chat API requests  |  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/v38a693baeb774512feb42f10aac8f755d8791ed41119b5be7a531f8e16f8279f/developers/css/app.css"> <link rel="shortcut icon" href="https://www.gstatic.com/devrel-devsite/prod/v38a693baeb774512feb42f10aac8f755d8791ed41119b5be7a531f8e16f8279f/developers/images/favicon-new.png"> <link rel="apple-touch-icon" href="https://www.gstatic.com/devrel-devsite/prod/v38a693baeb774512feb42f10aac8f755d8791ed41119b5be7a531f8e16f8279f/developers/images/touchicon-180-new.png"><link rel="canonical" href="https://developers.google.com/workspace/chat/authenticate-authorize"><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/chat/authenticate-authorize" /><link rel="alternate" hreflang="x-default" href="https://developers.google.com/workspace/chat/authenticate-authorize" /><link rel="alternate" hreflang="ar" href="https://developers.google.com/workspace/chat/authenticate-authorize?hl=ar" /><link rel="alternate" hreflang="bn" href="https://developers.google.com/workspace/chat/authenticate-authorize?hl=bn" /><link rel="alternate" hreflang="zh-Hans" href="https://developers.google.com/workspace/chat/authenticate-authorize?hl=zh-cn" /><link rel="alternate" hreflang="zh-Hant" href="https://developers.google.com/workspace/chat/authenticate-authorize?hl=zh-tw" /><link rel="alternate" hreflang="fa" href="https://developers.google.com/workspace/chat/authenticate-authorize?hl=fa" /><link rel="alternate" hreflang="fr" href="https://developers.google.com/workspace/chat/authenticate-authorize?hl=fr" /><link rel="alternate" hreflang="de" href="https://developers.google.com/workspace/chat/authenticate-authorize?hl=de" /><link rel="alternate" hreflang="he" href="https://developers.google.com/workspace/chat/authenticate-authorize?hl=he" /><link rel="alternate" hreflang="hi" href="https://developers.google.com/workspace/chat/authenticate-authorize?hl=hi" /><link rel="alternate" hreflang="id" href="https://developers.google.com/workspace/chat/authenticate-authorize?hl=id" /><link rel="alternate" hreflang="it" href="https://developers.google.com/workspace/chat/authenticate-authorize?hl=it" /><link rel="alternate" hreflang="ja" href="https://developers.google.com/workspace/chat/authenticate-authorize?hl=ja" /><link rel="alternate" hreflang="ko" href="https://developers.google.com/workspace/chat/authenticate-authorize?hl=ko" /><link rel="alternate" hreflang="pl" href="https://developers.google.com/workspace/chat/authenticate-authorize?hl=pl" /><link rel="alternate" hreflang="pt-BR" href="https://developers.google.com/workspace/chat/authenticate-authorize?hl=pt-br" /><link rel="alternate" hreflang="ru" href="https://developers.google.com/workspace/chat/authenticate-authorize?hl=ru" /><link rel="alternate" hreflang="es-419" href="https://developers.google.com/workspace/chat/authenticate-authorize?hl=es-419" /><link rel="alternate" hreflang="th" href="https://developers.google.com/workspace/chat/authenticate-authorize?hl=th" /><link rel="alternate" hreflang="tr" href="https://developers.google.com/workspace/chat/authenticate-authorize?hl=tr" /><link rel="alternate" hreflang="vi" href="https://developers.google.com/workspace/chat/authenticate-authorize?hl=vi" /><title>Authenticate and authorize Chat apps and Google Chat API requests &nbsp;|&nbsp; Google for Developers</title> <meta property="og:title" content="Authenticate and authorize Chat apps and Google Chat API requests &nbsp;|&nbsp; Google for Developers"><meta property="og:url" content="https://developers.google.com/workspace/chat/authenticate-authorize"><meta property="og:image" content="https://www.gstatic.com/devrel-devsite/prod/v38a693baeb774512feb42f10aac8f755d8791ed41119b5be7a531f8e16f8279f/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": "Authenticate and authorize Chat apps and Google Chat API requests" } </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": "Google Chat", "item": "https://developers.google.com/workspace/chat" },{ "@type": "ListItem", "position": 3, "name": "Authenticate and authorize Chat apps and Google Chat API requests", "item": "https://developers.google.com/workspace/chat/authenticate-authorize" }] } </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> <a href="#main-content" class="skip-link button"> Skip to main content </a> <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" class="devsite-tabs-content gc-analytics-event " track-metadata-eventdetail="https://developers.google.com/workspace" 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/chat" class="devsite-tabs-content gc-analytics-event " track-metadata-eventdetail="https://developers.google.com/workspace/chat" track-type="nav" track-metadata-position="nav - google chat" track-metadata-module="primary nav" aria-label="Google Chat, selected" data-category="Site-Wide Custom Events" data-label="Tab: Google Chat" track-name="google chat" > Google Chat </a> </tab> <tab class="devsite-dropdown "> <a href="https://developers.google.com/workspace/products-menu" class="devsite-tabs-content gc-analytics-event " track-metadata-eventdetail="https://developers.google.com/workspace/products-menu" 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> <button aria-haspopup="menu" 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"></button> <div class="devsite-tabs-dropdown" role="menu" 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-label="Tab menu: All products - Gmail" data-category="Workspace top menu navigation" > <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-category="Workspace top menu navigation" data-label="Tab menu: All products - Google Docs" > <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/workspace/forms" track-type="nav" track-metadata-eventdetail="https://developers.google.com/workspace/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-category="Workspace top menu navigation" data-label="Tab menu: All products - Google Keep" > <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-label="Tab menu: All products - Google Meet" data-category="Workspace top menu navigation" > <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-category="Workspace top menu navigation" data-label="Tab menu: All products - Google Sites" > <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-category="Workspace top menu navigation" data-label="Tab menu: All products - Google Tasks" > <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-category="Workspace top menu navigation" data-label="Tab menu: All products - Google Vault" > <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 &amp; 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 &amp; 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 &amp; 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 &amp; share" tooltip data-category="Workspace top menu navigation" data-label="Tab menu: All products - Chat apps" > <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 &amp; 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 &amp; 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" class="devsite-tabs-content gc-analytics-event " track-metadata-eventdetail="https://developers.google.com/workspace/resources-menu" 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> <button aria-haspopup="menu" 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"></button> <div class="devsite-tabs-dropdown" role="menu" 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 target="admin-console" data-label="Tab menu: Resources - 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 target="_blank" data-label="Tab menu: Resources - Apps Script dashboard" data-category="Workspace top menu navigation" > <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 target="console" data-label="Tab menu: Resources - Google Cloud console" data-category="Workspace top menu navigation" > <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 &amp; 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 &amp; 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 &amp; support" tooltip data-label="Tab menu: Resources - Codelabs" target="_blank" data-category="Workspace top menu navigation" > <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 &amp; support" tooltip data-label="Tab menu: Resources - Developer support" data-category="Workspace top menu navigation" > <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 target="_blank" data-label="Tab menu: Resources - Blog" 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-category="Workspace top menu navigation" data-label="Tab menu: Resources - Newsletter" > <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 data-category="Workspace top menu navigation" target="_blank" data-label="Tab menu: Resources - X (Twitter)" > <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 Chat" tenant-name="Google for Developers" project-scope="/workspace/chat" url-scoped="https://developers.google.com/s/results/workspace/chat" > <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/chat" 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 Chat" > Google Chat </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/chat" class="devsite-tabs-content gc-analytics-event " track-metadata-eventdetail="https://developers.google.com/workspace/chat" 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/chat/overview" class="devsite-tabs-content gc-analytics-event " track-metadata-eventdetail="https://developers.google.com/workspace/chat/overview" 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/chat/api/reference" class="devsite-tabs-content gc-analytics-event " track-metadata-eventdetail="https://developers.google.com/workspace/chat/api/reference" 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/chat/samples" class="devsite-tabs-content gc-analytics-event " track-metadata-eventdetail="https://developers.google.com/workspace/chat/samples" 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/chat/support" class="devsite-tabs-content gc-analytics-event " track-metadata-eventdetail="https://developers.google.com/workspace/chat/support" 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> <tab > <a href="https://addons.gsuite.google.com/uikit/builder" class="devsite-tabs-content gc-analytics-event " track-metadata-eventdetail="https://addons.gsuite.google.com/uikit/builder" track-type="nav" track-metadata-position="nav - card builder" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Card builder" track-name="card builder" > Card builder </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/chat" class="devsite-nav-title gc-analytics-event devsite-nav-active" data-category="Site-Wide Custom Events" data-label="Tab: Google Chat" track-name="google chat" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Google Chat" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Google Chat </span> </a> <ul class="devsite-nav-responsive-tabs"> <li class="devsite-nav-item"> <a href="/workspace/chat" 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/chat/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/chat/api/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/chat/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/chat/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> <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="Tab: Card builder" track-name="card builder" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Card builder" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Card builder </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 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"><a href="/workspace/chat/overview" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/overview" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/overview" ><span class="devsite-nav-text" tooltip>Develop with Google Chat overview</span></a></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-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 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>Call the Chat API</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/workspace/chat/api/guides/quickstart/apps-script" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/api/guides/quickstart/apps-script" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/api/guides/quickstart/apps-script" ><span class="devsite-nav-text" tooltip>Apps Script</span></a></li><li class="devsite-nav-item"><a href="/workspace/chat/api/guides/quickstart/java" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/api/guides/quickstart/java" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/api/guides/quickstart/java" ><span class="devsite-nav-text" tooltip>Java</span></a></li><li class="devsite-nav-item"><a href="/workspace/chat/api/guides/quickstart/nodejs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/api/guides/quickstart/nodejs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/api/guides/quickstart/nodejs" ><span class="devsite-nav-text" tooltip>Node.js</span></a></li><li class="devsite-nav-item"><a href="/workspace/chat/api/guides/quickstart/python" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/api/guides/quickstart/python" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/api/guides/quickstart/python" ><span class="devsite-nav-text" tooltip>Python</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>Build a basic interactive Chat app</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/workspace/chat/quickstart/gcf-app" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/quickstart/gcf-app" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/quickstart/gcf-app" ><span class="devsite-nav-text" tooltip>HTTP service</span></a></li><li class="devsite-nav-item"><a href="/workspace/chat/quickstart/apps-script-app" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/quickstart/apps-script-app" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/quickstart/apps-script-app" ><span class="devsite-nav-text" tooltip>Apps Script</span></a></li><li class="devsite-nav-item"><a href="/workspace/chat/build-dialogflow-chat-app-natural-language" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/build-dialogflow-chat-app-natural-language" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/build-dialogflow-chat-app-natural-language" ><span class="devsite-nav-text" tooltip>Dialogflow CX</span></a></li><li class="devsite-nav-item devsite-nav-external"><a href="https://cloud.google.com/dialogflow/es/docs/integrations/google-chat" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: https://cloud.google.com/dialogflow/es/docs/integrations/google-chat" track-type="bookNav" track-name="click" track-metadata-eventdetail="https://cloud.google.com/dialogflow/es/docs/integrations/google-chat" target="_blank"><span class="devsite-nav-text" tooltip>Dialogflow ES</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"><a href="/workspace/chat/quickstart/webhooks" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/quickstart/webhooks" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/quickstart/webhooks" ><span class="devsite-nav-text" tooltip>Webhook</span></a></li><li class="devsite-nav-item"><a href="/workspace/chat/quickstart/pub-sub" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/quickstart/pub-sub" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/quickstart/pub-sub" ><span class="devsite-nav-text" tooltip>Pub/Sub</span></a></li><li class="devsite-nav-item devsite-nav-external"><a href="https://support.google.com/appsheet/answer/12923581" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: https://support.google.com/appsheet/answer/12923581" track-type="bookNav" track-name="click" track-metadata-eventdetail="https://support.google.com/appsheet/answer/12923581" target="_blank"><span class="devsite-nav-text" tooltip>AppSheet</span><span class="devsite-nav-icon material-icons" data-icon="external" data-title="External" aria-hidden="true"></span></a></li></ul></div></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>Authenticate and authorize</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/workspace/chat/authenticate-authorize" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/authenticate-authorize" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/authenticate-authorize" ><span class="devsite-nav-text" tooltip>Authenticate with Chat</span></a></li><li class="devsite-nav-item"><a href="/workspace/chat/authenticate-authorize-chat-user" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/authenticate-authorize-chat-user" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/authenticate-authorize-chat-user" ><span class="devsite-nav-text" tooltip>Authenticate as a user</span></a></li><li class="devsite-nav-item"><a href="/workspace/chat/authenticate-authorize-chat-app" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/authenticate-authorize-chat-app" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/authenticate-authorize-chat-app" ><span class="devsite-nav-text" tooltip>Authenticate as an app</span></a></li><li class="devsite-nav-item"><a href="/workspace/chat/verify-requests-from-chat" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/verify-requests-from-chat" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/verify-requests-from-chat" ><span class="devsite-nav-text" tooltip>Verify requests from Chat</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>Call the Chat API</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/workspace/chat/api-overview" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/api-overview" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/api-overview" ><span class="devsite-nav-text" tooltip>Chat API overview</span></a></li><li class="devsite-nav-item"><a href="/workspace/chat/libraries" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/libraries" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/libraries" ><span class="devsite-nav-text" tooltip>Install client libraries</span></a></li><li class="devsite-nav-item"><a href="/workspace/chat/configure-chat-api" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/configure-chat-api" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/configure-chat-api" ><span class="devsite-nav-text" tooltip>Configure the Chat API</span></a></li></ul></div></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>Plan</span> </div></li> <li class="devsite-nav-item"><a href="/workspace/chat/audience" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/audience" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/audience" ><span class="devsite-nav-text" tooltip>Identify your users&#39; needs</span></a></li> <li class="devsite-nav-item"><a href="/workspace/chat/journeys" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/journeys" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/journeys" ><span class="devsite-nav-text" tooltip>Define all user journeys</span></a></li> <li class="devsite-nav-item"><a href="/workspace/chat/structure" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/structure" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/structure" ><span class="devsite-nav-text" tooltip>Choose a Chat app architecture</span></a></li> <li class="devsite-nav-item"><a href="/workspace/chat/interactivity" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/interactivity" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/interactivity" ><span class="devsite-nav-text" tooltip>Design user interactions</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>Build</span> </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>Send and manage messages</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/workspace/chat/messages-overview" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/messages-overview" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/messages-overview" ><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/workspace/chat/create-messages" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/create-messages" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/create-messages" ><span class="devsite-nav-text" tooltip>Send a message</span></a></li><li class="devsite-nav-item"><a href="/workspace/chat/format-messages" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/format-messages" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/format-messages" ><span class="devsite-nav-text" tooltip>Format messages</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 user interfaces</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/workspace/chat/design-components-card-dialog" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/design-components-card-dialog" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/design-components-card-dialog" ><span class="devsite-nav-text" tooltip>Build cards</span></a></li><li class="devsite-nav-item"><a href="/workspace/chat/add-text-image-card-dialog" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/add-text-image-card-dialog" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/add-text-image-card-dialog" ><span class="devsite-nav-text" tooltip>Add text and images</span></a></li><li class="devsite-nav-item"><a href="/workspace/chat/design-interactive-card-dialog" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/design-interactive-card-dialog" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/design-interactive-card-dialog" ><span class="devsite-nav-text" tooltip>Add interactive UI elements</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>Manage messages</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/workspace/chat/get-messages" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/get-messages" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/get-messages" ><span class="devsite-nav-text" tooltip>Get a message</span></a></li><li class="devsite-nav-item"><a href="/workspace/chat/list-messages" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/list-messages" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/list-messages" ><span class="devsite-nav-text" tooltip>List messages</span></a></li><li class="devsite-nav-item"><a href="/workspace/chat/update-messages" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/update-messages" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/update-messages" ><span class="devsite-nav-text" tooltip>Update messages</span></a></li><li class="devsite-nav-item"><a href="/workspace/chat/delete-messages" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/delete-messages" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/delete-messages" ><span class="devsite-nav-text" tooltip>Delete a message</span></a></li><li class="devsite-nav-item"><a href="/workspace/chat/chat-archiving" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/chat-archiving" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/chat-archiving" ><span class="devsite-nav-text" tooltip>Archive messages</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>Check message read state</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/workspace/chat/get-space-read-state" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/get-space-read-state" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/get-space-read-state" ><span class="devsite-nav-text" tooltip>Get read state for a space message</span></a></li><li class="devsite-nav-item"><a href="/workspace/chat/update-space-read-state" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/update-space-read-state" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/update-space-read-state" ><span class="devsite-nav-text" tooltip>Update read state for a space message</span></a></li><li class="devsite-nav-item"><a href="/workspace/chat/get-thread-read-state" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/get-thread-read-state" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/get-thread-read-state" ><span class="devsite-nav-text" tooltip>Get read state for a thread message</span></a></li></ul></div></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>Work with spaces</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/workspace/chat/create-spaces" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/create-spaces" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/create-spaces" ><span class="devsite-nav-text" tooltip>Create a named space</span></a></li><li class="devsite-nav-item"><a href="/workspace/chat/set-up-spaces" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/set-up-spaces" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/set-up-spaces" ><span class="devsite-nav-text" tooltip>Create a space and add members</span></a></li><li class="devsite-nav-item"><a href="/workspace/chat/get-spaces" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/get-spaces" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/get-spaces" ><span class="devsite-nav-text" tooltip>Get details about a space</span></a></li><li class="devsite-nav-item"><a href="/workspace/chat/find-direct-message-in-spaces" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/find-direct-message-in-spaces" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/find-direct-message-in-spaces" ><span class="devsite-nav-text" tooltip>Find a direct message space</span></a></li><li class="devsite-nav-item"><a href="/workspace/chat/list-spaces" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/list-spaces" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/list-spaces" ><span class="devsite-nav-text" tooltip>List spaces</span></a></li><li class="devsite-nav-item"><a href="/workspace/chat/update-spaces" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/update-spaces" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/update-spaces" ><span class="devsite-nav-text" tooltip>Update a space</span></a></li><li class="devsite-nav-item"><a href="/workspace/chat/delete-spaces" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/delete-spaces" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/delete-spaces" ><span class="devsite-nav-text" tooltip>Delete a space</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>Manage members in spaces</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/workspace/chat/create-members" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/create-members" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/create-members" ><span class="devsite-nav-text" tooltip>Invite or add a user, Google Group, or Chat app to a space</span></a></li><li class="devsite-nav-item"><a href="/workspace/chat/get-members" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/get-members" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/get-members" ><span class="devsite-nav-text" tooltip>Get details about a membership</span></a></li><li class="devsite-nav-item"><a href="/workspace/chat/list-members" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/list-members" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/list-members" ><span class="devsite-nav-text" tooltip>List members in a space</span></a></li><li class="devsite-nav-item"><a href="/workspace/chat/update-members" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/update-members" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/update-members" ><span class="devsite-nav-text" tooltip>Make a user a space manager or regular member</span></a></li><li class="devsite-nav-item"><a href="/workspace/chat/delete-members" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/delete-members" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/delete-members" ><span class="devsite-nav-text" tooltip>Remove a member from a space</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>React to messages</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/workspace/chat/create-reactions" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/create-reactions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/create-reactions" ><span class="devsite-nav-text" tooltip>Add a reaction to a message</span></a></li><li class="devsite-nav-item"><a href="/workspace/chat/list-reactions" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/list-reactions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/list-reactions" ><span class="devsite-nav-text" tooltip>List reactions for a message</span></a></li><li class="devsite-nav-item"><a href="/workspace/chat/delete-reactions" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/delete-reactions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/delete-reactions" ><span class="devsite-nav-text" tooltip>Delete a reaction from a message</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>Upload and download attachments</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/workspace/chat/upload-media-attachments" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/upload-media-attachments" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/upload-media-attachments" ><span class="devsite-nav-text" tooltip>Upload media as a file attachment</span></a></li><li class="devsite-nav-item"><a href="/workspace/chat/download-media-attachments" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/download-media-attachments" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/download-media-attachments" ><span class="devsite-nav-text" tooltip>Download media as a file attachment</span></a></li><li class="devsite-nav-item"><a href="/workspace/chat/get-media-attachments" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/get-media-attachments" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/get-media-attachments" ><span class="devsite-nav-text" tooltip>Get metadata about a message attachment</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>Interact with users</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item devsite-nav-beta"><a href="/workspace/add-ons/chat" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/add-ons/chat" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/add-ons/chat" ><span class="devsite-nav-text" tooltip>Build a Google Workspace add-on that extends Chat</span><span class="devsite-nav-icon material-icons" data-icon="beta" data-title="Beta" aria-hidden="true"></span></a></li><li class="devsite-nav-item"><a href="/workspace/chat/receive-respond-interactions" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/receive-respond-interactions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/receive-respond-interactions" ><span class="devsite-nav-text" tooltip>Receive and respond to user interactions</span></a></li><li class="devsite-nav-item devsite-nav-preview"><a href="/workspace/chat/quick-commands" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/quick-commands" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/quick-commands" ><span class="devsite-nav-text" tooltip>Respond to quick commands</span><span class="devsite-nav-icon material-icons" data-icon="preview" data-title="Preview" aria-hidden="true"></span></a></li><li class="devsite-nav-item"><a href="/workspace/chat/slash-commands" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/slash-commands" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/slash-commands" ><span class="devsite-nav-text" tooltip>Respond to slash commands</span></a></li><li class="devsite-nav-item"><a href="/workspace/chat/dialogs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/dialogs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/dialogs" ><span class="devsite-nav-text" tooltip>Open interactive dialogs</span></a></li><li class="devsite-nav-item"><a href="/workspace/chat/preview-links" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/preview-links" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/preview-links" ><span class="devsite-nav-text" tooltip>Preview links</span></a></li><li class="devsite-nav-item"><a href="/workspace/chat/send-app-home-card-message" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/send-app-home-card-message" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/send-app-home-card-message" ><span class="devsite-nav-text" tooltip>Build a homepage for your Chat app</span></a></li><li class="devsite-nav-item"><a href="/workspace/chat/read-form-data" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/read-form-data" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/read-form-data" ><span class="devsite-nav-text" tooltip>Collect and process information from users</span></a></li><li class="devsite-nav-item"><a href="/workspace/chat/connect-web-services-tools" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/connect-web-services-tools" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/connect-web-services-tools" ><span class="devsite-nav-text" tooltip>Connect to external systems and tools</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>Work with events from Google Chat</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/workspace/chat/events-overview" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/events-overview" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/events-overview" ><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/workspace/chat/get-space-event" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/get-space-event" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/get-space-event" ><span class="devsite-nav-text" tooltip>Get details about a space event</span></a></li><li class="devsite-nav-item"><a href="/workspace/chat/list-space-events" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/list-space-events" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/list-space-events" ><span class="devsite-nav-text" tooltip>List events from a space</span></a></li><li class="devsite-nav-item devsite-nav-external"><a href="/workspace/events" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/events" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/events" target="_blank"><span class="devsite-nav-text" tooltip>Subscribe to events using the Google Workspace Events API</span><span class="devsite-nav-icon material-icons" data-icon="external" data-title="External" aria-hidden="true"></span></a></li></ul></div></li> <li class="devsite-nav-item"><a href="/workspace/chat/identify-reference-users" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/identify-reference-users" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/identify-reference-users" ><span class="devsite-nav-text" tooltip>Identify and specify Google Chat users</span></a></li> <li class="devsite-nav-item"><a href="/workspace/chat/write-error-messages" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/write-error-messages" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/write-error-messages" ><span class="devsite-nav-text" tooltip>Write actionable error messages</span></a></li> <li class="devsite-nav-item"><a href="/workspace/chat/samples" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/samples" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/samples" ><span class="devsite-nav-text" tooltip>Explore Chat app samples and tutorials</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>Deploy, test, and troubleshoot</span> </div></li> <li class="devsite-nav-item"><a href="/workspace/chat/create-manage-deployments" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/create-manage-deployments" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/create-manage-deployments" ><span class="devsite-nav-text" tooltip>Create and manage deployments</span></a></li> <li class="devsite-nav-item"><a href="/workspace/chat/test-interactive-features" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/test-interactive-features" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/test-interactive-features" ><span class="devsite-nav-text" tooltip>Test interactive features</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>Log errors</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/workspace/chat/turn-on-error-logging" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/turn-on-error-logging" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/turn-on-error-logging" ><span class="devsite-nav-text" tooltip>Turn on error logging</span></a></li><li class="devsite-nav-item"><a href="/workspace/chat/query-logs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/query-logs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/query-logs" ><span class="devsite-nav-text" tooltip>Query error logs</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>Troubleshoot</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/workspace/chat/troubleshoot-fix-chat-errors" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/troubleshoot-fix-chat-errors" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/troubleshoot-fix-chat-errors" ><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/workspace/chat/troubleshoot-chat-apps" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/troubleshoot-chat-apps" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/troubleshoot-chat-apps" ><span class="devsite-nav-text" tooltip>Troubleshoot Chat app errors</span></a></li><li class="devsite-nav-item"><a href="/workspace/chat/troubleshoot-cards" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/troubleshoot-cards" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/troubleshoot-cards" ><span class="devsite-nav-text" tooltip>Troubleshoot card and dialog errors</span></a></li><li class="devsite-nav-item"><a href="/workspace/chat/debug-apps" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/debug-apps" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/debug-apps" ><span class="devsite-nav-text" tooltip>Debug Chat apps</span></a></li></ul></div></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</span> </div></li> <li class="devsite-nav-item"><a href="/workspace/chat/apps-publish" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/apps-publish" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/apps-publish" ><span class="devsite-nav-text" tooltip>Publish Google Chat apps</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>Publish to Google Workspace Marketplace</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item devsite-nav-external"><a href="/workspace/marketplace/how-to-publish" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/marketplace/how-to-publish" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/marketplace/how-to-publish" target="_blank"><span class="devsite-nav-text" tooltip>Publish apps to the Google Workspace Marketplace</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/marketplace/about-app-review" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/marketplace/about-app-review" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/marketplace/about-app-review" target="_blank"><span class="devsite-nav-text" tooltip>Process and review requirements for public apps</span><span class="devsite-nav-icon material-icons" data-icon="external" data-title="External" aria-hidden="true"></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>Maintain published apps</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item devsite-nav-external"><a href="/workspace/marketplace/manage-app-listing" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/marketplace/manage-app-listing" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/marketplace/manage-app-listing" target="_blank"><span class="devsite-nav-text" tooltip>Update or unpublish an app listing in the Google Workspace Marketplace</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-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>Migrate Chat apps after merging organizations</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/workspace/chat/determine-chat-app-migration" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/determine-chat-app-migration" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/determine-chat-app-migration" ><span class="devsite-nav-text" tooltip>Determine if Chat apps need to migrate</span></a></li><li class="devsite-nav-item"><a href="/workspace/chat/migrate-apps" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/migrate-apps" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/migrate-apps" ><span class="devsite-nav-text" tooltip>Migrate Chat apps to a new organization</span></a></li></ul></div></li></ul></div></li> <li class="devsite-nav-item"><a href="/workspace/chat/turn-off-app" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/turn-off-app" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/turn-off-app" ><span class="devsite-nav-text" tooltip>Turn off or delete an app</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>Manage Chat as a Google Workspace administrator</span> </div></li> <li class="devsite-nav-item"><a href="/workspace/chat/admin-overview" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/admin-overview" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/admin-overview" ><span class="devsite-nav-text" tooltip>Overview</span></a></li> <li class="devsite-nav-item"><a href="/workspace/chat/search-manage-admin" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/search-manage-admin" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/search-manage-admin" ><span class="devsite-nav-text" tooltip>Search for and manage spaces in your organization</span></a></li> <li class="devsite-nav-item"><a href="/workspace/chat/space-target-audience" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/space-target-audience" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/space-target-audience" ><span class="devsite-nav-text" tooltip>Make a space discoverable to specific users</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>Migrate your organization to Chat</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/workspace/chat/import-data-overview" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/import-data-overview" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/import-data-overview" ><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/workspace/chat/authorize-import" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/authorize-import" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/authorize-import" ><span class="devsite-nav-text" tooltip>Authorize Chat apps to import data</span></a></li><li class="devsite-nav-item"><a href="/workspace/chat/import-data" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /workspace/chat/import-data" track-type="bookNav" track-name="click" track-metadata-eventdetail="/workspace/chat/import-data" ><span class="devsite-nav-text" tooltip>Import data to Chat</span></a></li></ul></div></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="/workspace/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 &amp; 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 &amp; 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" id="main-content" 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/chat" 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 Chat" > Google Chat </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/chat/overview" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="4" track-type="globalNav" track-name="breadcrumb" track-metadata-position="4" track-metadata-eventdetail="" > Guides </a> </li> </ul> <devsite-thumb-rating position="header"> </devsite-thumb-rating> </div> <devsite-feedback position="header" project-name="Google Chat" product-id="717201" bucket="google-chat" context="" version="t-devsite-webserver-20250211-r00-rc00.466928320959134316" 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=350158&amp;template=1047215" project-icon="https://www.gstatic.com/images/branding/productlogos/chat_2023q4/v2/web-64dp/logo_chat_2023q4_color_1x_web_64dp.png" project-support-url="https://developers.google.com/workspace/chat/support" > <button> Send feedback </button> </devsite-feedback> <h1 class="devsite-page-title" tabindex="-1"> Authenticate and authorize Chat apps and Google Chat API requests </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> <devsite-key-takeaways></devsite-key-takeaways> <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 "> <div class="video-wrapper"> <devsite-video video-id="dGTHJHdXaOk" rel=0 widget_referrer="https://developers.google.com/chat/api/guides/auth" /> </div> <p>Authentication and authorization are mechanisms used to verify identity and access to resources, respectively. This document outlines how authentication and authorization work for Chat apps and Chat API requests.</p> <h2 id="process-overview" data-text="Process overview" tabindex="-1">Process overview</h2> <p>The following diagram shows the high-level steps of authentication and authorization for Google Chat:</p> <figure id="auth-process-fig" class="attempt-right"> <img src="/static/workspace/chat/images/auth-process.png" alt="High-level steps for Google Chat authentication and authorization" data-modal-dialog-id="auth-process" /> <figcaption><b>Figure 1.</b> High-level steps for Google Chat authentication and authorization.</figcaption> </figure> <p><devsite-lightbox id="auth-process"> <img src="/static/workspace/chat/images/auth-process.png" width="800"> </devsite-lightbox></p> <ol> <li><p><strong>Configure a Google Cloud project, enable Chat API, and configure your Chat app:</strong> During development, you create a Google Cloud project. In the Google Cloud project, you enable Chat API, configure your Chat app, and set up authentication. For more information, see <a href="/workspace/guides/get-started">Develop on Google Workspace</a> and <a href="/workspace/chat/quickstart/gcf-app">Build a Chat app</a>.</p></li> <li><p><strong>Call Chat API:</strong> When your app calls the Chat API, it sends authentication credentials to the Chat API. If your app authenticates with a service account, the credentials are sent as part of your app&#39;s code. If your app requires calling Chat API using a user&#39;s authentication that hasn&#39;t yet been granted, it prompts the user to sign in.</p></li> <li><p><strong>Request resources</strong>: Your app asks for access with <a href="/workspace/chat/api/guides/auth#scopes">scopes</a> that you specify while setting up authentication.</p></li> <li><p><strong>Ask for consent:</strong> If your app is authenticating as a user, Google displays an OAuth consent screen so the user can decide whether to grant your app access to the requested data. Authentication with a service account doesn&#39;t require user consent.</p></li> <li><p><strong>Send approved request for resources:</strong> If the user consents to the authorization scopes, your app bundles the credentials and the user-approved scopes into a request. The request is sent to the Google authorization server to obtain an access token.</p></li> <li><p><strong>Google returns an access token:</strong> The access token contains a list of granted scopes. If the returned list of scopes is more restrictive than the requested scopes, your app turns off any features limited by the token.</p></li> <li><p><strong>Access requested resources:</strong> Your app uses the access token from Google to invoke the Chat API and access Chat API resources.</p></li> <li><p><strong>Get a refresh token (optional):</strong> If your app must access the Google Chat API beyond the lifetime of a single access token, it can get a refresh token. For more information, see <a href="https://developers.google.com/identity/protocols/oauth2">Use OAuth 2.0 to access Google APIs</a>.</p></li> <li><p><strong>Request more resources:</strong> If your app needs more access, it asks the user to grant new scopes, resulting in a new request to get an access token (steps 3-6).</p></li> </ol> <h2 id="when-chat-apps-require-auth" data-text="When Chat apps require authentication" tabindex="-1">When Chat apps require authentication</h2> <p>Chat apps can send messages in response to a user interaction, or asynchronously. They can also complete tasks on a user&#39;s behalf, such as creating a Chat space or getting a list of people in a Chat space.</p> <p>Chat apps don&#39;t require authentication to respond to a user interaction, unless the Chat app calls the <a href="/workspace/chat/api/reference/rest">Chat API</a> or another Google API while processing a response.</p> <p>To send asynchronous messages or perform tasks on a user&#39;s behalf, Chat apps make RESTful requests to the <a href="/workspace/chat/api/reference/rest">Chat API</a>, which require authentication and authorization.</p> <h3 id="synchronous-messages" data-text="Responses to user interactions don't require authentication" tabindex="-1">Responses to user interactions don't require authentication</h3> <p>Google Chat apps don&#39;t need to authenticate as a user or Chat app to receive and respond synchronously to <a href="/workspace/chat/receive-respond-interactions">interaction events</a>.</p> <p>Google Chat apps receive interaction events whenever a user interacts or invokes a Chat app, including the following:</p> <ul> <li>A user sends a message to a Chat app.</li> <li>A user @mentions a Chat app.</li> <li>A user invokes one of the Chat app&#39;s <a href="/workspace/chat/slash-commands">slash commands</a>.</li> </ul> <p>The following diagram shows a request-response sequence between a Chat user and Chat app:</p> <figure id="auth-synchronous-fig" class="attempt-right"> <img src="/static/workspace/chat/images/auth-synchronous.png" alt="No authorization required for Chat app interaction events" data-modal-dialog-id="auth-synchronous" /> <figcaption><b>Figure 2.</b>Chat app interaction events don't require authentication.</figcaption> </figure> <p><devsite-lightbox id="auth-synchronous"> <img src="/static/workspace/chat/images/auth-synchronous.png" width="1100"> </devsite-lightbox></p> <ol> <li>The user sends a message to the Chat app in Google Chat.</li> <li>Google Chat forwards the message to the app.</li> <li>The app receives the message, processes it, and returns a response to Google Chat.</li> <li>Google Chat renders the response for the user, or in a space.</li> </ol> <p>This sequence repeats for each Chat app interaction event.</p> <h3 id="asynchronous-messages" data-text="Asynchronous messages require authentication" tabindex="-1">Asynchronous messages require authentication</h3> <p>Asynchronous messages occur when a Chat app makes a request to the <a href="/workspace/chat/api/reference/rest">Chat API</a>, which requires authentication and authorization.</p> <p>By calling the Chat API, Chat apps can post messages to Google Chat or complete tasks and access data on a user&#39;s behalf. For example, after detecting a server outage, a Chat app can call the Chat API to:</p> <ul> <li>Create a Chat space dedicated to investigating and fixing the outage.</li> <li>Add people to the Chat space.</li> <li>Post a message to the Chat space to give details about the outage.</li> </ul> <p>The following diagram shows an asynchronous message sequence between a Chat app and a Chat space:</p> <figure id="auth-asynchronous-fig" class="attempt-right"> <img src="/static/workspace/chat/images/auth-asynchronous.png" alt="Authentication required for asynchronous messages" data-modal-dialog-id="auth-asynchronous" /> <figcaption><b>Figure 3.</b> Asynchronous messages require authentication.</figcaption> </figure> <p><devsite-lightbox id="auth-asynchronous"> <img src="/static/workspace/chat/images/auth-asynchronous.png" width="1100"> </devsite-lightbox></p> <ol> <li>A Chat app creates a message by calling the Chat API using the <a href="/workspace/chat/api/reference/rest/v1/spaces.messages/create"><code translate="no" dir="ltr">spaces.messages.create</code> method</a>, and includes user credentials in the HTTP request.</li> <li>Google Chat authenticates the Chat app with service account or user credentials.</li> <li>Google Chat renders the app&#39;s message to a specified Chat space.</li> </ol> <h2 id="chat-api-scopes" data-text="Chat API scopes" tabindex="-1">Chat API scopes</h2> <p><a href="/workspace/guides/configure-oauth-consent">Configure the OAuth consent screen and choose scopes</a> to define what information is displayed to users and app reviewers, and register your app so that you can publish it later.</p> <p>To define the level of access granted to your app, you need to identify and declare <em>authorization scopes</em>. An authorization scope is an OAuth 2.0 URI string that contains the Google Workspace app name, what kind of data it accesses, and the level of access.</p> <h3 id="nonsensitive-scopes" data-text="Non-sensitive scopes" tabindex="-1">Non-sensitive scopes</h3> <table class="fixed"> <tbody> <tr> <th>Scope code</th> <th>Description</th> </tr> <tr> <td> <code translate="no" dir="ltr">https://www.googleapis.com/auth/chat.bot</code> </td> <td> <p>Lets Chat apps view chats and send messages.</p> <p>This scope only supports <a href="/workspace/chat/authenticate-authorize-chat-app">app authentication</a> with service accounts. You can't authenticate with user credentials or with <a href="https://support.google.com/a/answer/162106">domain-wide delegation</a> using this scope.</p> </td> </tr> </tbody> </table> <h3 id="sensitive-scopes" data-text="Sensitive scopes" tabindex="-1">Sensitive scopes</h3> <table class="fixed"> <tbody> <tr> <th width=450>Scope code</th> <th>Description</th> </tr> <tr> <td> <code translate="no" dir="ltr">https://www.googleapis.com/auth/chat.spaces</code> </td> <td> Create conversations and spaces and see or edit metadata (including history settings and access settings) in Chat. </td> </tr> <tr> <td> <code translate="no" dir="ltr">https://www.googleapis.com/auth/chat.spaces.create</code> </td> <td> Create new conversations in Chat. </td> </tr> <tr> <td> <code translate="no" dir="ltr">https://www.googleapis.com/auth/chat.spaces.readonly</code> </td> <td> View chat and spaces in Chat. </td> </tr> <tr> <td> <code translate="no" dir="ltr">https://www.googleapis.com/auth/chat.memberships</code> </td> <td> View, add, update, and remove members from conversations in Chat. </td> </tr> <tr> <td> <code translate="no" dir="ltr">https://www.googleapis.com/auth/chat.memberships.app</code> </td> <td> Add and remove itself from conversations in Google Chat. </td> </tr> <tr> <td> <code translate="no" dir="ltr">https://www.googleapis.com/auth/chat.memberships.readonly</code> </td> <td> View members in Chat conversations. </td> </tr> <tr> <td> <code translate="no" dir="ltr">https://www.googleapis.com/auth/chat.messages.create</code> </td> <td> Compose and send messages in Chat. </td> </tr> <tr> <td> <code translate="no" dir="ltr">https://www.googleapis.com/auth/chat.messages.reactions</code> </td> <td> View, add, and delete reactions to messages in Chat. </td> </tr> <tr> <td> <code translate="no" dir="ltr">https://www.googleapis.com/auth/chat.messages.reactions.create</code> </td> <td> Add reactions to a message in Chat. </td> </tr> <tr> <td> <code translate="no" dir="ltr">https://www.googleapis.com/auth/chat.messages.reactions.readonly</code> </td> <td> View reactions to a message in Chat. </td> </tr> <tr> <td> <code translate="no" dir="ltr">https://www.googleapis.com/auth/chat.users.readstate</code> </td> <td> View and modify last read time for Chat conversations. </td> </tr> <tr> <td> <code translate="no" dir="ltr">https://www.googleapis.com/auth/chat.users.readstate.readonly</code> </td> <td> View last read time for Chat conversations. </td> </tr> <tr> <td> <code translate="no" dir="ltr">https://www.googleapis.com/auth/chat.admin.spaces.readonly</code> </td> <td> View chat and spaces owned by the administrator's domain in Chat. </td> </tr> <tr> <td> <code translate="no" dir="ltr">https://www.googleapis.com/auth/chat.admin.spaces</code> </td> <td> View or edit chat and spaces owned by the administrator's domain in Chat. </td> </tr> <tr> <td> <code translate="no" dir="ltr">https://www.googleapis.com/auth/chat.admin.memberships.readonly</code> </td> <td> View members and managers in conversations owned by the administrator's domain in Chat. </td> </tr> <tr> <td> <code translate="no" dir="ltr">https://www.googleapis.com/auth/chat.admin.memberships</code> </td> <td> View, add, update and remove members and managers in conversations owned by the administrator's domain in Chat. </td> </tr> <tr> <td> <code translate="no" dir="ltr">https://www.googleapis.com/auth/chat.app.spaces</code> </td> <td> <p>Create conversations and spaces and see or update metadata (including history settings and access settings) in Chat. Requires <a href="https://support.google.com/a?p=chat-app-auth">administrator approval</a>.</p> <p>This scope only supports <a href="/workspace/chat/authenticate-authorize-chat-app">app authentication</a> with service accounts. You can't authenticate with user credentials or with <a href="https://support.google.com/a/answer/162106">domain-wide delegation</a> using this scope.</p> <aside class="preview"><strong>Developer Preview:</strong> Available as part of the <a href="https://developers.google.com/workspace/preview" target="_blank" class="external">Google Workspace Developer Preview Program</a>, which grants early access to certain features.</aside> </td> </tr> <tr> <td> <code translate="no" dir="ltr">https://www.googleapis.com/auth/chat.app.spaces.create</code> </td> <td> <p>Create new conversations and spaces in Chat. Requires <a href="https://support.google.com/a?p=chat-app-auth">administrator approval</a>.</p> <p>This scope only supports <a href="/workspace/chat/authenticate-authorize-chat-app">app authentication</a> with service accounts. You can't authenticate with user credentials or with <a href="https://support.google.com/a/answer/162106">domain-wide delegation</a> using this scope.</p> <aside class="preview"><strong>Developer Preview:</strong> Available as part of the <a href="https://developers.google.com/workspace/preview" target="_blank" class="external">Google Workspace Developer Preview Program</a>, which grants early access to certain features.</aside> </td> </tr> <tr> <td> <code translate="no" dir="ltr">https://www.googleapis.com/auth/chat.app.memberships</code> </td> <td> <p>See, add, update, and remove members from conversations and spaces in Chat. Requires <a href="https://support.google.com/a?p=chat-app-auth">administrator approval</a>.</p> <p>This scope only supports <a href="/workspace/chat/authenticate-authorize-chat-app">app authentication</a> with service accounts. You can't authenticate with user credentials or with <a href="https://support.google.com/a/answer/162106">domain-wide delegation</a> using this scope.</p> <aside class="preview"><strong>Developer Preview:</strong> Available as part of the <a href="https://developers.google.com/workspace/preview" target="_blank" class="external">Google Workspace Developer Preview Program</a>, which grants early access to certain features.</aside> </td> </tr> <tr> <td> <code translate="no" dir="ltr">https://www.googleapis.com/auth/chat.customemojis</code> </td> <td> View, create, and delete custom emoji in Chat. <aside class="preview"><strong>Developer Preview:</strong> Available as part of the <a href="https://developers.google.com/workspace/preview" target="_blank" class="external">Google Workspace Developer Preview Program</a>, which grants early access to certain features.</aside> </td> </tr> <tr> <td> <code translate="no" dir="ltr">https://www.googleapis.com/auth/chat.customemojis.readonly</code> </td> <td> View custom emoji in Chat. <aside class="preview"><strong>Developer Preview:</strong> Available as part of the <a href="https://developers.google.com/workspace/preview" target="_blank" class="external">Google Workspace Developer Preview Program</a>, which grants early access to certain features.</aside> </td> </tr> <tr> <td> <code translate="no" dir="ltr">https://www.googleapis.com/auth/chat.users.spacesettings</code> </td> <td> View and update Chat user space settings. <p> See space user settings APIs: <a href="/workspace/chat/api/reference/rest/v1/users.spaces.spaceNotificationSetting/get">getSpaceNotificationSetting</a>, <a href="/workspace/chat/api/reference/rest/v1/users.spaces.spaceNotificationSetting/patch">updateSpaceNotificationSetting</a></p> <aside class="preview"><strong>Developer Preview:</strong> Available as part of the <a href="https://developers.google.com/workspace/preview" target="_blank" class="external">Google Workspace Developer Preview Program</a>, which grants early access to certain features.</aside> </td> </tr> </tbody> </table> <h3 id="restricted-scopes" data-text="Restricted scopes" tabindex="-1">Restricted scopes</h3> <table class="fixed"> <tbody> <tr> <th width=450>Scope code</th> <th>Description</th> </tr> <tr> <td> <code translate="no" dir="ltr">https://www.googleapis.com/auth/chat.delete</code> </td> <td> Delete conversations and spaces, and remove access to associated files in Chat. </td> </tr> <tr> <td> <code translate="no" dir="ltr">https://www.googleapis.com/auth/chat.import</code> </td> <td> Import spaces, messages, and memberships into Chat. For more information, see <a href="/chat/api/guides/authorize-import">Authorize Chat apps to import data</a> </td> </tr> <tr> <td> <code translate="no" dir="ltr">https://www.googleapis.com/auth/chat.messages</code> </td> <td> View, compose, send, update, and delete messages, and add, view, and delete reactions to messages. </td> </tr> <tr> <td> <code translate="no" dir="ltr">https://www.googleapis.com/auth/chat.messages.readonly</code> </td> <td> View messages and reactions in Chat. </td> </tr> <tr> <td> <code translate="no" dir="ltr">https://www.googleapis.com/auth/chat.admin.delete</code> </td> <td> Delete conversations and spaces owned by the administrator's domain, and remove access to associated files in Chat. </td> </tr> <tr> <td> <code translate="no" dir="ltr">https://www.googleapis.com/auth/chat.app.delete</code> </td> <td> <p>Delete conversations and spaces and remove access to associated files in Chat. Requires <a href="https://support.google.com/a?p=chat-app-auth">administrator approval</a>.</p> <p>This scope only supports <a href="/workspace/chat/authenticate-authorize-chat-app">app authentication</a> with service accounts. You can't authenticate with user credentials or with <a href="https://support.google.com/a/answer/162106">domain-wide delegation</a> using this scope.</p> <aside class="preview"><strong>Developer Preview:</strong> Available as part of the <a href="https://developers.google.com/workspace/preview" target="_blank" class="external">Google Workspace Developer Preview Program</a>, which grants early access to certain features.</aside> </td> </tr> </tbody> </table> <p>The scopes in the preceding tables indicate their sensitivity, according to the following definitions:</p> <ul> <li><p><strong>Non-sensitive</strong>&mdash;These scopes provide the smallest sphere of authorization access and only require basic app verification. For information about this requirement, see <a href="https://support.google.com/cloud/answer/9110914#all-apps-zippy">Steps to prepare for verification</a>.</p></li> <li><p><strong>Sensitive</strong>&mdash;These scopes provide your app access to a specific user&#39;s Google data after receiving authorization from the user. It requires you to go through additional app verification. For information about this requirement, see <a href="https://support.google.com/cloud/answer/9110914#apps-request-sensitive-zippy">Steps for apps requesting sensitive scopes</a>.</p></li> <li><p><strong>Restricted</strong>&mdash;These scopes provide wide access to Google user data and require you to go through the restricted scope verification process. For information about this requirement, see <a href="/terms/api-services-user-data-policy">Google API Services: User Data Policy</a> and <a href="/terms/api-services-user-data-policy#additional_requirements_for_specific_api_scopes">Additional Requirements for Specific API Scopes</a>. See also <a href="https://support.google.com/cloud/answer/9110914#zippy=%2Csteps-for-apps-requesting-restricted-scopes">Steps for apps requesting restricted scopes</a>.</p></li> </ul> <p>If your app requires access to any other Google APIs, you can add those scopes as well. For more information about Google API scopes, see <a href="/accounts/docs/OAuth2">Using OAuth 2.0 to Access Google APIs</a>.</p> <p>To learn more about scopes for Google Workspace APIs, see <a href="/workspace/guides/configure-oauth-consent">Configure the OAuth consent screen and choose scopes</a>.</p> <h2 id="types-required" data-text="Types of required authentication" tabindex="-1">Types of required authentication</h2> <p>There are two ways Chat apps can authenticate and authorize with the Chat API:</p> <dl> <dt><em>User authentication</em></dt> <dd><a href="/workspace/chat/authenticate-authorize-chat-user">User authentication</a> lets a Chat app access user data and complete actions on a user&#39;s behalf. OAuth scopes specify the authorized data and actions. Unless the Chat app was <a href="https://support.google.com/a/answer/172482">admin installed</a> or given <a href="/workspace/chat/authenticate-authorize-chat-user#domain-wide-delegation">domain-wide delegation</a>, the first time the Chat app performs an action on a user&#39;s behalf, the user must authorize the Chat app using the <a href="/workspace/guides/configure-oauth-consent">OAuth consent screen</a>.</dd> <dt><em>App authentication</em></dt> <dd><p><a href="/workspace/chat/authenticate-authorize-chat-app">App authentication</a> lets a Chat app use service account credentials and access data and complete actions as itself. Because the Chat app uses its own credentials to access and work with resources, end users don&#39;t need to approve the Chat app&#39;s API calls, and you can&#39;t add OAuth authorization scopes that support app authorization to the OAuth consent screen.</p></dd> <dd><p>Two types of OAuth authorization scopes support app authentication:</p> <ul> <li><code translate="no" dir="ltr">https://www.googleapis.com/auth/chat.bot</code>: Your Chat app can call Google Chat API methods that support this authorization scope to create, update, get, list, or delete resources that it has access to, like messages in spaces that end users add your Chat app to. Your Chat app can self-grant this authorization scope, no administrator or end user authorization required.</li> <li><code translate="no" dir="ltr">https://www.googleapis.com/auth/chat.app.*</code> (<a href="/workspace/preview">Developer Preview</a>): Using these scopes requires one-time administrator approval. To receive administrator approval, you <a href="/workspace/chat/authenticate-authorize-chat-app#admin-approval">prepare the Chat app&#39;s service account to receive administrator approval</a> by creating a Google Workspace Marketplace-compatible OAuth client and configuring the app in Google Workspace Marketplace SDK. These scopes allow your Chat app to call specific Google Chat API methods. For example, <code translate="no" dir="ltr">chat.app.spaces.create</code> permits apps to create Chat spaces.</li> </ul></dd> </dl> <p>If a method supports both user or app authentication, the Chat API returns different results based on the authentication type that you use:</p> <ul> <li>With app authentication, the methods only return resources that the <em>Chat app</em> can access.</li> <li>With user authentication, the methods only return resources that the <em>user</em> can access.</li> </ul> <p>For example, calling the <code translate="no" dir="ltr">spaces.list()</code> method with app authorization returns the list of spaces that the Chat app is a member of. Calling <code translate="no" dir="ltr">spaces.list()</code> with user authorization returns the list of spaces that the user is a member of. In practice, you might use both types of authentication when calling the Chat API, depending on the design and features of your Chat app.</p> <h3 id="asynchronous-chat-calls" data-text="For asynchronous Chat API calls" tabindex="-1">For asynchronous Chat API calls</h3> <p>The following table lists the Chat API methods and their supported authorization scopes:</p> <table class="details fixed"> <thead> <tr> <th>Method</th> <th><a href="/chat/api/guides/auth/users">User authentication</a> supported</th> <th><a href="/chat/api/guides/auth/service-accounts">App authentication</a> supported</th> <th colspan="2">Authorization scopes supported</th> </tr> </thead> <tbody> <tr class="alt"> <td><b>Spaces</b></td> <td colspan="4">&nbsp;</td> </tr> <tr> <td> <a href="/chat/api/guides/v1/spaces/create">Create a space</a> </td> <td><span class="material-icons" aria-hidden="true" translate="no">check</span></td> <td><span class="material-icons" aria-hidden="true" translate="no">check</span></td> <td colspan="2"> With <a href="/chat/api/guides/auth/users">User authentication</a>: <ul> <li><code translate="no" dir="ltr">chat.spaces.create</code></li> <li><code translate="no" dir="ltr">chat.spaces</code></li> <li><code translate="no" dir="ltr">chat.import</code></li> </ul> With <a href="/chat/api/guides/auth/service-accounts">App authentication</a> and <a href="https://support.google.com/a?p=chat-app-auth">administrator approval</a> (available in <a href="/workspace/preview">Developer Preview</a>): <ul> <li><code translate="no" dir="ltr">chat.app.spaces.create</code></li> <li><code translate="no" dir="ltr">chat.app.spaces</code></li> </ul> </td> </tr> <tr> <td> <a href="/chat/api/guides/v1/spaces/set-up">Set up a space</a> </td> <td><span class="material-icons" aria-hidden="true" translate="no">check</span></td> <td>—</td> <td colspan="2"> With <a href="/chat/api/guides/auth/users">User authentication</a>: <ul> <li><code translate="no" dir="ltr">chat.spaces.create</code></li> <li><code translate="no" dir="ltr">chat.spaces</code></li> </ul> </td> </tr> <tr> <td> <a href="/chat/api/guides/v1/spaces/get">Get a space</a> </td> <td><span class="material-icons" aria-hidden="true" translate="no">check</span></td> <td><span class="material-icons" aria-hidden="true" translate="no">check</span></td> <td colspan="2"> With <a href="/chat/api/guides/auth/users">User authentication</a>: <ul> <li><code translate="no" dir="ltr">chat.spaces.readonly</code></li> <li><code translate="no" dir="ltr">chat.spaces</code></li> </ul> With <a href="/chat/api/guides/auth/users">User authentication</a> using <a href="/chat/authenticate-authorize-chat-user#admin-privileges">administrator privileges</a>: <ul> <li><code translate="no" dir="ltr">chat.admin.spaces.readonly</code></li> </ul> With <a href="/chat/api/guides/auth/service-accounts">App authentication</a>: <ul> <li><code translate="no" dir="ltr">chat.bot</code></li> </ul> With <a href="/chat/api/guides/auth/service-accounts">App authentication</a> and <a href="https://support.google.com/a?p=chat-app-auth">administrator approval</a> (available in <a href="/workspace/preview">Developer Preview</a>): <ul> <li><code translate="no" dir="ltr">chat.app.spaces</code></li> </ul> </td> </tr> <tr> <td> <a href="/chat/api/guides/v1/spaces/list">List spaces</a> </td> <td><span class="material-icons" aria-hidden="true" translate="no">check</span></td> <td><span class="material-icons" aria-hidden="true" translate="no">check</span></td> <td colspan="2"> With <a href="/chat/api/guides/auth/users">User authentication</a>: <ul> <li><code translate="no" dir="ltr">chat.spaces.readonly</code></li> <li><code translate="no" dir="ltr">chat.spaces</code></li> </ul> With <a href="/chat/api/guides/auth/service-accounts">App authentication</a>: <ul> <li><code translate="no" dir="ltr">chat.bot</code></li> </ul> </td> </tr> <tr> <td> <a href="/workspace/chat/api/reference/rest/v1/spaces/search">Search spaces</a> </td> <td><span class="material-icons" aria-hidden="true" translate="no">check</span></td> <td>—</td> <td colspan="2"> With <a href="/chat/api/guides/auth/users">User authentication</a> using <a href="/chat/authenticate-authorize-chat-user#admin-privileges">administrator privileges</a>: <ul> <li><code translate="no" dir="ltr">chat.admin.spaces.readonly</code></li> </ul> </td> </tr> <tr> <td> <a href="/chat/api/guides/v1/spaces/update">Update a space</a> </td> <td><span class="material-icons" aria-hidden="true" translate="no">check</span></td> <td><span class="material-icons" aria-hidden="true" translate="no">check</span></td> <td colspan="2"> With <a href="/chat/api/guides/auth/users">User authentication</a>: <ul> <li><code translate="no" dir="ltr">chat.spaces</code></li> <li><code translate="no" dir="ltr">chat.import</code></li> </ul> With <a href="/chat/api/guides/auth/users">User authentication</a> using <a href="/chat/authenticate-authorize-chat-user#admin-privileges">administrator privileges</a>: <ul> <li><code translate="no" dir="ltr">chat.admin.spaces</code></li> </ul> With <a href="/chat/api/guides/auth/service-accounts">App authentication</a> and <a href="https://support.google.com/a?p=chat-app-auth">administrator approval</a> (available in <a href="/workspace/preview">Developer Preview</a>): <ul> <li><code translate="no" dir="ltr">chat.app.spaces</code></li> </ul> </td> </tr> <tr> <td> <a href="/chat/api/guides/v1/spaces/delete">Delete a space</a> </td> <td><span class="material-icons" aria-hidden="true" translate="no">check</span></td> <td><span class="material-icons" aria-hidden="true" translate="no">check</span></td> <td colspan="2"> With <a href="/chat/api/guides/auth/users">User authentication</a>: <ul> <li><code translate="no" dir="ltr">chat.delete</code></li> <li><code translate="no" dir="ltr">chat.import</code></li> </ul> With <a href="/chat/api/guides/auth/users">User authentication</a> using <a href="/chat/authenticate-authorize-chat-user#admin-privileges">administrator privileges</a>: <ul> <li><code translate="no" dir="ltr">chat.admin.delete</code></li> </ul> With <a href="/chat/api/guides/auth/service-accounts">App authentication</a> and <a href="https://support.google.com/a?p=chat-app-auth">administrator approval</a> (available in <a href="/workspace/preview">Developer Preview</a>): <ul> <li><code translate="no" dir="ltr">chat.app.delete</code></li> </ul> </td> </tr> <tr> <td> <a href="/chat/api/guides/import-data-overview">Complete the import process for a space</a> </td> <td><span class="material-icons" aria-hidden="true" translate="no">check</span></td> <td>—</td> <td colspan="2"> With <a href="/chat/api/guides/auth/users">User authentication</a>: <ul> <li><code translate="no" dir="ltr">chat.import</code></li> </ul> </td> </tr> <tr> <td> <a href="/chat/api/reference/rest/v1/spaces/findDirectMessage">Find a direct message</a> </td> <td><span class="material-icons" aria-hidden="true" translate="no">check</span></td> <td><span class="material-icons" aria-hidden="true" translate="no">check</span></td> <td colspan="2"> With <a href="/chat/api/guides/auth/users">User authentication</a>: <ul> <li><code translate="no" dir="ltr">chat.spaces.readonly</code></li> <li><code translate="no" dir="ltr">chat.spaces</code></li> </ul> With <a href="/chat/api/guides/auth/service-accounts">App authentication</a>: <ul> <li><code translate="no" dir="ltr">chat.bot</code></li> </ul> </td> </tr> <tr class="alt"> <td><b>Members</b></td> <td colspan="4">&nbsp;</td> </tr> <tr> <td> <a href="/chat/api/guides/v1/members/create">Create a member</a> </td> <td><span class="material-icons" aria-hidden="true" translate="no">check</span></td> <td><span class="material-icons" aria-hidden="true" translate="no">check</span></td> <td colspan="2"> With <a href="/chat/api/guides/auth/users">User authentication</a>: <ul> <li><code translate="no" dir="ltr">chat.memberships</code></li> <li><code translate="no" dir="ltr">chat.memberships.app</code></li> <li><code translate="no" dir="ltr">chat.import</code></li> </ul> With <a href="/chat/api/guides/auth/users">User authentication</a> using <a href="/chat/authenticate-authorize-chat-user#admin-privileges">administrator privileges</a>: <ul> <li><code translate="no" dir="ltr">chat.admin.memberships</code></li> </ul> With <a href="/chat/api/guides/auth/service-accounts">App authentication</a> and <a href="https://support.google.com/a?p=chat-app-auth">administrator approval</a> (available in <a href="/workspace/preview">Developer Preview</a>): <ul> <li><code translate="no" dir="ltr">chat.app.memberships</code></li> </ul> </td> </tr> <tr> <td> <a href="/chat/api/guides/v1/members/get">Get a member</a> </td> <td><span class="material-icons" aria-hidden="true" translate="no">check</span></td> <td><span class="material-icons" aria-hidden="true" translate="no">check</span></td> <td colspan="2"> With <a href="/chat/api/guides/auth/users">User authentication</a>: <ul> <li><code translate="no" dir="ltr">chat.memberships.readonly</code></li> <li><code translate="no" dir="ltr">chat.memberships</code></li> </ul> With <a href="/chat/api/guides/auth/service-accounts">App authentication</a>: <ul> <li><code translate="no" dir="ltr">chat.bot</code></li> </ul> With <a href="/chat/api/guides/auth/users">User authentication</a> using <a href="/chat/authenticate-authorize-chat-user#admin-privileges">administrator privileges</a>: <ul> <li><code translate="no" dir="ltr">chat.admin.memberships.readonly</code></li> </ul> </td> </tr> <tr> <td> <a href="/chat/api/guides/v1/members/list">List members</a> </td> <td><span class="material-icons" aria-hidden="true" translate="no">check</span></td> <td><span class="material-icons" aria-hidden="true" translate="no">check</span></td> <td colspan="2"> With <a href="/chat/api/guides/auth/users">User authentication</a>: <ul> <li><code translate="no" dir="ltr">chat.memberships.readonly</code></li> <li><code translate="no" dir="ltr">chat.memberships</code></li> <li><code translate="no" dir="ltr">chat.import</code></li> </ul> With <a href="/chat/api/guides/auth/service-accounts">App authentication</a>: <ul> <li><code translate="no" dir="ltr">chat.bot</code></li> </ul> With <a href="/chat/api/guides/auth/users">User authentication</a> using <a href="/chat/authenticate-authorize-chat-user#admin-privileges">administrator privileges</a>: <ul> <li><code translate="no" dir="ltr">chat.admin.memberships.readonly</code></li> </ul> </td> </tr> <tr> <td> <a href="/chat/api/guides/v1/members/delete">Delete a member</a> </td> <td><span class="material-icons" aria-hidden="true" translate="no">check</span></td> <td><span class="material-icons" aria-hidden="true" translate="no">check</span></td> <td colspan="2"> With <a href="/chat/api/guides/auth/users">User authentication</a>: <ul> <li><code translate="no" dir="ltr">chat.memberships</code></li> <li><code translate="no" dir="ltr">chat.memberships.app</code></li> <li><code translate="no" dir="ltr">chat.import</code></li> </ul> With <a href="/chat/api/guides/auth/users">User authentication</a> using <a href="/chat/authenticate-authorize-chat-user#admin-privileges">administrator privileges</a>: <ul> <li><code translate="no" dir="ltr">chat.admin.memberships</code></li> </ul> With <a href="/chat/api/guides/auth/service-accounts">App authentication</a> and <a href="https://support.google.com/a?p=chat-app-auth">administrator approval</a> (available in <a href="/workspace/preview">Developer Preview</a>): <ul> <li><code translate="no" dir="ltr">chat.app.memberships</code></li> </ul> </td> </tr> <tr> <td> <a href="/chat/update-members">Update a member</a> </td> <td><span class="material-icons" aria-hidden="true" translate="no">check</span></td> <td><span class="material-icons" aria-hidden="true" translate="no">check</span></td> <td colspan="2"> With <a href="/chat/api/guides/auth/users">User authentication</a>: <ul> <li><code translate="no" dir="ltr">chat.memberships</code></li> <li><code translate="no" dir="ltr">chat.import</code></li> </ul> With <a href="/chat/api/guides/auth/users">User authentication</a> using <a href="/chat/authenticate-authorize-chat-user#admin-privileges">administrator privileges</a>: <ul> <li><code translate="no" dir="ltr">chat.admin.memberships</code></li> </ul> With <a href="/chat/api/guides/auth/service-accounts">App authentication</a> and <a href="https://support.google.com/a?p=chat-app-auth">administrator approval</a> (available in <a href="/workspace/preview">Developer Preview</a>): <ul> <li><code translate="no" dir="ltr">chat.app.memberships</code></li> </ul> </td> </tr> <tr class="alt"> <td><b>Messages</b></td> <td colspan="4">&nbsp;</td> </tr> <tr> <td> <a href="/chat/api/guides/v1/messages/create">Create a message</a> </td> <td><span class="material-icons" aria-hidden="true" translate="no">check</span></td> <td><span class="material-icons" aria-hidden="true" translate="no">check</span></td> <td colspan="2"> With <a href="/chat/api/guides/auth/users">User authentication</a>: <ul> <li><code translate="no" dir="ltr">chat.messages.create</code></li> <li><code translate="no" dir="ltr">chat.messages</code></li> <li><code translate="no" dir="ltr">chat.import</code></li> </ul> With <a href="/chat/api/guides/auth/service-accounts">App authentication</a>: <ul> <li><code translate="no" dir="ltr">chat.bot</code></li> </ul> </td> </tr> <tr> <td> <a href="/chat/api/guides/v1/messages/get">Get a message</a> </td> <td><span class="material-icons" aria-hidden="true" translate="no">check</span></td> <td><span class="material-icons" aria-hidden="true" translate="no">check</span></td> <td colspan="2"> With <a href="/chat/api/guides/auth/users">User authentication</a>: <ul> <li><code translate="no" dir="ltr">chat.messages.readonly</code></li> <li><code translate="no" dir="ltr">chat.messages</code></li> </ul> With <a href="/chat/api/guides/auth/service-accounts">App authentication</a>: <ul> <li><code translate="no" dir="ltr">chat.bot</code></li> </ul> </td> </tr> <tr> <td> <a href="/chat/api/guides/v1/messages/list">List messages</a> </td> <td><span class="material-icons" aria-hidden="true" translate="no">check</span></td> <td>—</td> <td colspan="2"> With <a href="/chat/api/guides/auth/users">User authentication</a>: <ul> <li><code translate="no" dir="ltr">chat.messages.readonly</code></li> <li><code translate="no" dir="ltr">chat.messages</code></li> <li><code translate="no" dir="ltr">chat.import</code></li> </ul> </td> </tr> <tr> <td> <a href="/chat/api/guides/v1/messages/update">Update a message</a> </td> <td><span class="material-icons" aria-hidden="true" translate="no">check</span></td> <td><span class="material-icons" aria-hidden="true" translate="no">check</span></td> <td colspan="2"> With <a href="/chat/api/guides/auth/users">User authentication</a>: <ul> <li><code translate="no" dir="ltr">chat.messages</code></li> <li><code translate="no" dir="ltr">chat.import</code></li> </ul> With <a href="/chat/api/guides/auth/service-accounts">App authentication</a>: <ul> <li><code translate="no" dir="ltr">chat.bot</code></li> </ul> </td> </tr> <tr> <td> <a href="/chat/api/guides/v1/messages/delete">Delete a message</a> </td> <td><span class="material-icons" aria-hidden="true" translate="no">check</span></td> <td><span class="material-icons" aria-hidden="true" translate="no">check</span></td> <td colspan="2"> With <a href="/chat/api/guides/auth/users">User authentication</a>: <ul> <li><code translate="no" dir="ltr">chat.messages</code></li> <li><code translate="no" dir="ltr">chat.import</code></li> </ul> With <a href="/chat/api/guides/auth/service-accounts">App authentication</a>: <ul> <li><code translate="no" dir="ltr">chat.bot</code></li> </ul> </td> </tr> <tr class="alt"> <td><b>Reactions</b></td> <td colspan="4">&nbsp;</td> </tr> <tr> <td> <a href="/chat/api/guides/v1/reactions/create">Create a reaction</a> </td> <td><span class="material-icons" aria-hidden="true" translate="no">check</span></td> <td>—</td> <td colspan="2"> With <a href="/chat/api/guides/auth/users">User authentication</a>: <ul> <li><code translate="no" dir="ltr">chat.messages.reactions.create</code></li> <li><code translate="no" dir="ltr">chat.messages.reactions</code></li> <li><code translate="no" dir="ltr">chat.messages</code></li> <li><code translate="no" dir="ltr">chat.import</code></li> </ul> </td> </tr> <tr> <td> <a href="/chat/api/guides/v1/reactions/list">List reactions</a> </td> <td><span class="material-icons" aria-hidden="true" translate="no">check</span></td> <td>—</td> <td colspan="2"> With <a href="/chat/api/guides/auth/users">User authentication</a>: <ul> <li><code translate="no" dir="ltr">chat.messages.reactions.readonly</code></li> <li><code translate="no" dir="ltr">chat.messages.reactions</code></li> <li><code translate="no" dir="ltr">chat.messages.readonly</code></li> <li><code translate="no" dir="ltr">chat.messages</code></li> </ul> </td> </tr> <tr> <td> <a href="/chat/api/guides/v1/reactions/delete">Delete a reaction</a> </td> <td><span class="material-icons" aria-hidden="true" translate="no">check</span></td> <td>—</td> <td colspan="2"> With <a href="/chat/api/guides/auth/users">User authentication</a>: <ul> <li><code translate="no" dir="ltr">chat.messages.reactions</code></li> <li><code translate="no" dir="ltr">chat.messages</code></li> <li><code translate="no" dir="ltr">chat.import</code></li> </ul> </td> </tr> <tr class="alt"> <td><b>Custom emoji</b></td> <td colspan="4">&nbsp;</td> </tr> <tr> <td> <a href="/chat/api/reference/rest/v1/customEmojis/create">Create a custom emoji</a> </td> <td><span class="material-icons" aria-hidden="true" translate="no">check</span></td> <td>—</td> <td colspan="2"> With <a href="/chat/api/guides/auth/users">User authentication</a>: <ul> <li><code translate="no" dir="ltr">chat.customemojis</code></li> </ul> </td> </tr> <tr> <td> <a href="/chat/api/reference/rest/v1/customEmojis/delete">Delete a custom emoji</a> </td> <td><span class="material-icons" aria-hidden="true" translate="no">check</span></td> <td>—</td> <td colspan="2"> With <a href="/chat/api/guides/auth/users">User authentication</a>: <ul> <li><code translate="no" dir="ltr">chat.customemojis</code></li> </ul> </td> </tr> <tr> <td> <a href="/chat/api/reference/rest/v1/customEmojis/get">Get a custom emoji</a> </td> <td><span class="material-icons" aria-hidden="true" translate="no">check</span></td> <td>—</td> <td colspan="2"> With <a href="/chat/api/guides/auth/users">User authentication</a>: <ul> <li><code translate="no" dir="ltr">chat.customemojis</code></li> <li><code translate="no" dir="ltr">chat.customemojis.readonly</code></li> </ul> </td> </tr> <tr> <td> <a href="/chat/api/reference/rest/v1/customEmojis/list">List custom emoji</a> </td> <td><span class="material-icons" aria-hidden="true" translate="no">check</span></td> <td>—</td> <td colspan="2"> With <a href="/chat/api/guides/auth/users">User authentication</a>: <ul> <li><code translate="no" dir="ltr">chat.customemojis</code></li> <li><code translate="no" dir="ltr">chat.customemojis.readonly</code></li> </ul> </td> </tr> <tr class="alt"> <td><b>Media & attachments</b></td> <td colspan="4">&nbsp;</td> </tr> <tr> <td> <a href="/chat/api/guides/v1/media-and-attachments/upload">Upload media as a file attachment</a> </td> <td><span class="material-icons" aria-hidden="true" translate="no">check</span></td> <td>—</td> <td colspan="2"> With <a href="/chat/api/guides/auth/users">User authentication</a>: <ul> <li><code translate="no" dir="ltr">chat.messages.create</code></li> <li><code translate="no" dir="ltr">chat.messages</code></li> <li><code translate="no" dir="ltr">chat.import</code></li> </ul> </td> </tr> <tr> <td> <a href="/chat/api/reference/rest/v1/media/download">Download media</a> </td> <td><span class="material-icons" aria-hidden="true" translate="no">check</span></td> <td><span class="material-icons" aria-hidden="true" translate="no">check</span></td> <td colspan="2"> With <a href="/chat/api/guides/auth/users">User authentication</a>: <ul> <li><code translate="no" dir="ltr">chat.messages.readonly</code></li> <li><code translate="no" dir="ltr">chat.messages</code></li> </ul> With <a href="/chat/api/guides/auth/service-accounts">App authentication</a>: <ul> <li><code translate="no" dir="ltr">chat.bot</code></li> </ul> </td> </tr> <tr> <td> <a href="/chat/api/reference/rest/v1/spaces.messages.attachments/get">Get a message attachment</a> </td> <td>—</td> <td><span class="material-icons" aria-hidden="true" translate="no">check</span></td> <td colspan="2"> With <a href="/chat/api/guides/auth/service-accounts">App authentication</a>: <ul> <li><code translate="no" dir="ltr">chat.bot</code></li> </ul> </td> </tr> <tr class="alt"> <td colspan="5"><b>User read states</b> </td> </tr> <tr> <td> <a href="/chat/api/reference/rest/v1/users.spaces/getSpaceReadState">Get a user's space read state</a> </td> <td><span class="material-icons" aria-hidden="true" translate="no">check</span></td> <td>—</td> <td colspan="2"> With <a href="/chat/api/guides/auth/users">User authentication</a>: <ul> <li><code translate="no" dir="ltr">chat.users.readstate</code></li> <li><code translate="no" dir="ltr">chat.users.readstate.readonly</code></li> </ul> </td> </tr> <tr> <td> <a href="/chat/api/reference/rest/v1/users.spaces/updateSpaceReadState">Update a user's space read state </a> </td> <td><span class="material-icons" aria-hidden="true" translate="no">check</span></td> <td>—</td> <td colspan="2"> With <a href="/chat/api/guides/auth/users">User authentication</a>: <ul> <li><code translate="no" dir="ltr">chat.users.readstate</code></li> </ul> </td> </tr> <tr> <td> <a href="/chat/api/reference/rest/v1/users.spaces.threads/getThreadReadState">Get a user's thread read state</a> </td> <td><span class="material-icons" aria-hidden="true" translate="no">check</span></td> <td>—</td> <td colspan="2"> With <a href="/chat/api/guides/auth/users">User authentication</a>: <ul> <li><code translate="no" dir="ltr">chat.users.readstate</code></li> <li><code translate="no" dir="ltr">chat.users.readstate.readonly</code></li> </ul> </td> </tr> <tr class="alt" id=user-space-settings> <td colspan="5"><b>User space settings</b> </td> </tr> <tr> <td> <a href="/workspace/chat/api/reference/rest/v1/users.spaces.spaceNotificationSetting/get">Get a user's space notification setting</a> </td> <td><span class="material-icons" aria-hidden="true" translate="no">check</span></td> <td>—</td> <td colspan="2"> With <a href="/chat/api/guides/auth/users">User authentication</a>: <ul> <li><code translate="no" dir="ltr">chat.users.spacesettings</code></li> </ul> </td> </tr> <tr> <td> <a href="/workspace/chat/api/reference/rest/v1/users.spaces.spaceNotificationSetting/update">Update a user's space notification setting</a> </td> <td><span class="material-icons" aria-hidden="true" translate="no">check</span></td> <td>—</td> <td colspan="2"> With <a href="/chat/api/guides/auth/users">User authentication</a>: <ul> <li><code translate="no" dir="ltr">chat.users.spacesettings</code></li> </ul> </td> </tr> <tr class="alt" id="space-events"> <td colspan="5"><b>Space events</b> </td> </tr> <tr> <td> <a href="/chat/api/reference/rest/v1/spaces.spaceEvents/get"> Get space events </a> </td> <td><span class="material-icons" aria-hidden="true" translate="no">check</span></td> <td>—</td> <td colspan="2"> With <a href="/chat/api/guides/auth/users">User authentication</a>, you must use a scope based on the <a href="/workspace/chat/api/reference/rest/v1/spaces.spaceEvents#SpaceEvent.FIELDS.event_type"> event type</a>: <ul> <li>For events about messages:</li> <ul> <li><code translate="no" dir="ltr">chat.messages</code></li> <li><code translate="no" dir="ltr">chat.messages.readonly</code></li> </ul> <li>For events about reactions:</li> <ul> <li><code translate="no" dir="ltr">chat.messages.reactions</code></li> <li><code translate="no" dir="ltr">chat.messages.reactions.readonly</code></li> <li><code translate="no" dir="ltr">chat.messages</code></li> <li><code translate="no" dir="ltr">chat.messages.readonly</code></li> </ul> <li>For events about memberships:</li> <ul> <li><code translate="no" dir="ltr">chat.memberships</code></li> <li><code translate="no" dir="ltr">chat.memberships.readonly</code></li> </ul> <li>For events about the space:</li> <ul> <li><code translate="no" dir="ltr">chat.spaces</code></li> <li><code translate="no" dir="ltr">chat.spaces.readonly</code></li> </ul> </ul> </td> </tr> <tr> <td> <a href="/chat/api/reference/rest/v1/spaces.spaceEvents/list"> List space events </a> </td> <td><span class="material-icons" aria-hidden="true" translate="no">check</span></td> <td>—</td> <td colspan="2"> With <a href="/chat/api/guides/auth/users">User authentication</a>, you must use a scope for each <a href="/workspace/chat/api/reference/rest/v1/spaces.spaceEvents#SpaceEvent.FIELDS.event_type"> event type</a> included in the request: <ul> <li>For events about messages:</li> <ul> <li><code translate="no" dir="ltr">chat.messages</code></li> <li><code translate="no" dir="ltr">chat.messages.readonly</code></li> </ul> <li>For events about reactions:</li> <ul> <li><code translate="no" dir="ltr">chat.messages.reactions</code></li> <li><code translate="no" dir="ltr">chat.messages.reactions.readonly</code></li> <li><code translate="no" dir="ltr">chat.messages</code></li> <li><code translate="no" dir="ltr">chat.messages.readonly</code></li> </ul> <li>For events about memberships:</li> <ul> <li><code translate="no" dir="ltr">chat.memberships</code></li> <li><code translate="no" dir="ltr">chat.memberships.readonly</code></li> </ul> <li>For events about the space:</li> <ul> <li><code translate="no" dir="ltr">chat.spaces</code></li> <li><code translate="no" dir="ltr">chat.spaces.readonly</code></li> </ul> </ul> </td> </tr> </tbody> </table> <h3 id="synchronously-receive" data-text="For Chat app interaction events" tabindex="-1">For Chat app interaction events</h3> <p>The following table lists common ways that users interact with Chat apps and whether authentication is required or supported:</p> <table class="details fixed"> <thead> <tr> <th colspan="2">Scenario</th> <th>No authentication required</th> <th><a href="/chat/api/guides/auth/users">User authentication</a> supported</th> <th><a href="/chat/api/guides/auth/service-accounts">App authentication</a> supported</th> </tr> </thead> <tbody> <tr> <td> Receive messages from: </td> <td colspan="4"> <table class="nested fixed"> <tbody> <tr> <td> <a href="/chat/api/guides/message-formats/events">Chat app interaction events</a> </td> <td><span class="material-icons" aria-hidden="true" translate="no">check</span></td> <td>—</td> <td>—</td> </tr> <tr> <td> Apps Script callbacks </td> <td><span class="material-icons" aria-hidden="true" translate="no">check</span></td> <td>—</td> <td>—</td> </tr> <tr> <td> <a href="/chat/how-tos/pub-sub">Google Cloud Pub/Sub</a> </td> <td>—</td> <td>—</td> <td><span class="material-icons" aria-hidden="true" translate="no">check</span></td> </tr> </tbody> </table> </td> </tr> <tr> <td> Respond to messages: </td> <td colspan="4"> <table class="nested fixed"> <tbody> <tr> <td> Synchronously, using a <a href="/chat/api/guides/message-formats/events">Chat app interaction event</a> </td> <td><span class="material-icons" aria-hidden="true" translate="no">check</span></td> <td>—</td> <td>—</td> </tr> <tr> <td> Synchronously, using an Apps Script callback return value </td> <td><span class="material-icons" aria-hidden="true" translate="no">check</span></td> <td>—</td> <td>—</td> </tr> </tbody> </table> </td> </tr> <tr> <td> Send new messages: </td> <td colspan="4"> <table class="nested fixed"> <tbody> <tr> <td> With <a href="/chat/how-tos/webhooks">incoming webhooks</a> </td> <td><span class="material-icons" aria-hidden="true" translate="no">check</span></td> <td>—</td> <td>—</td> </tr> </tbody> </table> </td> </tr> </tbody> </table> <h2 id="related-topics" data-text="Related topics" tabindex="-1">Related topics</h2> <ul> <li>For an overview of authentication and authorization in Google Workspace, see <a href="/workspace/guides/auth-overview">Learn about authentication &amp; authorization</a>.</li> <li>For an overview of authentication and authorization in Google Cloud, see <a href="https://cloud.google.com/docs/authentication">Authentication overview</a>.</li> <li>To learn more about service accounts, see <a href="https://cloud.google.com/iam/docs/service-accounts">Service accounts</a>.</li> <li>To learn more about how Google APIs use OAuth 2.0, see <a href="https://developers.google.com/identity/protocols/oauth2">Using OAuth 2.0 to Access Google APIs</a>.</li> <li>Set up authentication and authorization with <a href="/workspace/chat/authenticate-authorize-chat-user">user credentials</a> or a <a href="/workspace/chat/authenticate-authorize-chat-app">service account</a>.</li> </ul> <devsite-hats-survey class="nocontent" hats-id="SrQ6jyjMz0eGRuQsCn30Qs2P7pj5" listnr-id="717201"></devsite-hats-survey> </div> <devsite-recommendations display="in-page" hidden yield> </devsite-recommendations> <devsite-thumb-rating position="footer"> </devsite-thumb-rating> <devsite-feedback position="footer" project-name="Google Chat" product-id="717201" bucket="google-chat" context="" version="t-devsite-webserver-20250211-r00-rc00.466928320959134316" 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=350158&amp;template=1047215" project-icon="https://www.gstatic.com/images/branding/productlogos/chat_2023q4/v2/web-64dp/logo_chat_2023q4_color_1x_web_64dp.png" project-support-url="https://developers.google.com/workspace/chat/support" > <button> Send feedback </button> </devsite-feedback> <devsite-recommendations id="recommendations-link" yield></devsite-recommendations> <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 2025-02-13 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 Chat" product-id="717201" bucket="google-chat" context="" version="t-devsite-webserver-20250211-r00-rc00.466928320959134316" 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=350158&amp;template=1047215" project-icon="https://www.gstatic.com/images/branding/productlogos/chat_2023q4/v2/web-64dp/logo_chat_2023q4_color_1x_web_64dp.png" project-support-url="https://developers.google.com/workspace/chat/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 2025-02-13 UTC."],[[["Google Chat apps can use either user or app authentication to interact with the Chat API."],["User authentication requires user consent for specific data access, while app authentication utilizes service accounts."],["Different Chat API methods require specific authentication types and authorization scopes."],["The document provides detailed tables outlining supported authentication and authorization for various API functionalities."],["Developers should carefully consider the authentication and authorization requirements for their specific app's functionality."]]],[]] </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" target="_blank" data-category="Workspace Footer" 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-category="Workspace Footer" data-label="Promo - Google Workspace Github" 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" target="_blank" data-category="Workspace Footer" data-label="Promo - Google Workspace on YouTube" > <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-category="Workspace Footer"data-label="Linkbox - Developer products"> 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-label="Linkbox - Developer support"data-category="Workspace Footer"> 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-label="Linkbox - Terms of Service"data-category="Workspace Footer"> 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-label="Linkbox - Admin console"data-category="Workspace Footer"> 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" target="_blank"data-category="Workspace Footer"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-category="Workspace Footer"data-label="Linkbox - Google Cloud console"> 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-label="Linkbox - APIs Explorer"data-category="Workspace Footer"> 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-label="Linkbox - Blog"target="_blank"data-category="Workspace Footer"> 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" target="_blank"data-label="Linkbox - X (Twitter)"data-category="Workspace Footer"> 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/v38a693baeb774512feb42f10aac8f755d8791ed41119b5be7a531f8e16f8279f/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>[{&#34;dimensions&#34;: {&#34;dimension5&#34;: &#34;en&#34;, &#34;dimension6&#34;: &#34;en&#34;, &#34;dimension11&#34;: false, &#34;dimension4&#34;: &#34;Google Chat&#34;, &#34;dimension3&#34;: false, &#34;dimension1&#34;: &#34;Signed out&#34;}, &#34;gaid&#34;: &#34;UA-24532603-1&#34;, &#34;metrics&#34;: {&#34;ratings_count&#34;: &#34;metric2&#34;, &#34;ratings_value&#34;: &#34;metric1&#34;}, &#34;purpose&#34;: 1}]</script> <script type="application/json" tag-management>{&#34;at&#34;: &#34;True&#34;, &#34;ga4&#34;: [{&#34;id&#34;: &#34;G-272J68FCRF&#34;, &#34;purpose&#34;: 1}, {&#34;id&#34;: &#34;G-YYP88VSJWR&#34;, &#34;purpose&#34;: 0}], &#34;ga4p&#34;: [{&#34;id&#34;: &#34;G-272J68FCRF&#34;, &#34;purpose&#34;: 1}], &#34;gtm&#34;: [], &#34;parameters&#34;: {&#34;internalUser&#34;: &#34;False&#34;, &#34;language&#34;: {&#34;machineTranslated&#34;: &#34;False&#34;, &#34;requested&#34;: &#34;en&#34;, &#34;served&#34;: &#34;en&#34;}, &#34;pageType&#34;: &#34;article&#34;, &#34;projectName&#34;: &#34;Google Chat&#34;, &#34;signedIn&#34;: &#34;False&#34;, &#34;tenant&#34;: &#34;developers&#34;, &#34;recommendations&#34;: {&#34;sourcePage&#34;: &#34;&#34;, &#34;sourceType&#34;: 0, &#34;sourceRank&#34;: 0, &#34;sourceIdenticalDescriptions&#34;: 0, &#34;sourceTitleWords&#34;: 0, &#34;sourceDescriptionWords&#34;: 0, &#34;experiment&#34;: &#34;&#34;}, &#34;experiment&#34;: {&#34;ids&#34;: &#34;&#34;}}}</script> </devsite-analytics> <devsite-badger></devsite-badger> <script nonce="xWzbJanqZXv4WVAkcXDWUXRIW5uWiO"> (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/v38a693baeb774512feb42f10aac8f755d8791ed41119b5be7a531f8e16f8279f/developers/js/app_loader.js', '[1,"en",null,"/js/devsite_app_module.js","https://www.gstatic.com/devrel-devsite/prod/v38a693baeb774512feb42f10aac8f755d8791ed41119b5be7a531f8e16f8279f","https://www.gstatic.com/devrel-devsite/prod/v38a693baeb774512feb42f10aac8f755d8791ed41119b5be7a531f8e16f8279f/developers","https://developers-dot-devsite-v2-prod.appspot.com",null,null,["/_pwa/developers/manifest.json","https://www.gstatic.com/devrel-devsite/prod/v38a693baeb774512feb42f10aac8f755d8791ed41119b5be7a531f8e16f8279f/images/video-placeholder.svg","https://www.gstatic.com/devrel-devsite/prod/v38a693baeb774512feb42f10aac8f755d8791ed41119b5be7a531f8e16f8279f/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,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,["Search__enable_ai_search_summaries_restricted","Profiles__enable_recognition_badges","Concierge__enable_pushui","Profiles__enable_dashboard_curated_recommendations","Search__enable_page_map","Concierge__enable_concierge_restricted","TpcFeatures__enable_mirror_tenant_redirects","EngEduTelemetry__enable_engedu_telemetry","Profiles__enable_developer_profiles_callout","Profiles__enable_release_notes_notifications","Experiments__reqs_query_experiments","Analytics__enable_clearcut_logging","Profiles__enable_completequiz_endpoint","Profiles__require_profile_eligibility_for_signin","TpcFeatures__enable_unmirrored_page_left_nav","Significatio__enable_by_tenant","Profiles__enable_complete_playlist_endpoint","BookNav__enable_tenant_cache_key","MiscFeatureFlags__enable_project_variables","MiscFeatureFlags__enable_variable_operator","Search__enable_ai_eligibility_checks","MiscFeatureFlags__emergency_css","CloudShell__cloud_code_overflow_menu","MiscFeatureFlags__developers_footer_image","MiscFeatureFlags__enable_explain_this_code","DevPro__enable_developer_subscriptions","Cloud__enable_cloudx_experiment_ids","Cloud__enable_cloud_facet_chat","Profiles__enable_awarding_url","Search__enable_dynamic_content_confidential_banner","MiscFeatureFlags__enable_view_transitions","Profiles__enable_page_saving","Cloud__enable_llm_concierge_chat","Concierge__enable_concierge","CloudShell__cloud_shell_button","Cloud__enable_cloud_shell","Cloud__enable_cloudx_ping","Search__enable_ai_search_summaries","Cloud__enable_legacy_calculator_redirect","Profiles__enable_profile_collections","Search__enable_suggestions_from_borg","Profiles__enable_join_program_group_endpoint","Profiles__enable_stripe_subscription_management","Concierge__enable_key_takeaways","DevPro__enable_cloud_innovators_plus","Cloud__enable_cloud_shell_fte_user_flow","Profiles__enable_public_developer_profiles","Cloud__enable_cloud_dlp_service","MiscFeatureFlags__enable_firebase_utm","MiscFeatureFlags__developers_footer_dark_image","Profiles__enable_completecodelab_endpoint","Cloud__enable_free_trial_server_call"],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],[[14,11],[11,8],[6,5],[13,10],[15,12],[1,1],[5,4],[3,2],[12,9],[4,3],[16,13]],[[2,2],[1,1]]],null,4,null,null,null,null,null,null,null,null,null,null,null,null,null,"developers.devsite.google"],null,"pk_live_5170syrHvgGVmSx9sBrnWtA5luvk9BwnVcvIi7HizpwauFG96WedXsuXh790rtij9AmGllqPtMLfhe2RSwD6Pn38V00uBCydV4m",1]') </script> <devsite-a11y-announce></devsite-a11y-announce> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10