CINXE.COM

Google Workspace Updates: Developer

<!DOCTYPE html> <html class='v2 list-page' dir='ltr' itemscope='' itemtype='http://schema.org/Blog' lang='en' xmlns='http://www.w3.org/1999/xhtml' xmlns:b='http://www.google.com/2005/gml/b' xmlns:data='http://www.google.com/2005/gml/data' xmlns:expr='http://www.google.com/2005/gml/expr'> <head> <link href='https://www.blogger.com/static/v1/widgets/3566091532-css_bundle_v2.css' rel='stylesheet' type='text/css'/> <title> Google Workspace Updates: Developer </title> <meta content='width=device-width, height=device-height, minimum-scale=1.0, initial-scale=1.0, user-scalable=0' name='viewport'/> <meta content='IE=Edge' http-equiv='X-UA-Compatible'/> <meta content='Google Workspace Updates' property='og:title'/> <meta content='DY8pOcMl2GP40PcmaIDr2SXr1GOa83opE4NL21hEY0Y' name='google-site-verification'/> <meta content='en_US' property='og:locale'/> <meta content='http://workspaceupdates.googleblog.com/search/label/Developer' property='og:url'/> <meta content='Google Workspace Updates' property='og:site_name'/> <!-- Twitter Card properties --> <meta content='Google Workspace Updates' property='og:title'/> <meta content='summary' name='twitter:card'/> <meta content='@google' name='twitter:creator'/> <link href='https://fonts.googleapis.com/css?family=Roboto:400italic,400,500,500italic,700,700italic' rel='stylesheet' type='text/css'/> <link href='https://fonts.googleapis.com/icon?family=Material+Icons' rel='stylesheet'/> <script src='https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js' type='text/javascript'></script> <!-- End --> <style id='page-skin-1' type='text/css'><!-- /* <Group description="Header Color" selector="header"> <Variable name="header.background.color" description="Header Background" type="color" default="#ffffff"/> </Group> */ .header-outer { border-bottom: 1px solid #e0e0e0; background: #ffffff; } html, .Label h2, #sidebar .rss a, .BlogArchive h2, .FollowByEmail h2.title, .widget .post h2 { font-family: Roboto, sans-serif; } .plusfollowers h2.title, .post h2.title, .widget h2.title { font-family: Roboto, sans-serif; } .widget-item-control { height: 100%; } .widget.Header, #header { position: relative; height: 100%; width: 100%; } } .widget.Header .header-logo1 { float: left; margin-right: 15px; padding-right: 15px; border-right: 1px solid #ddd; } .header-title h2 { color: rgba(0,0,0,.54); display: inline-block; font-size: 52px; font-family: Roboto, sans-serif; font-weight: normal; line-height: 60px; vertical-align: top; } .header-inner { background-repeat: no-repeat; background-position: right 0px; } .post-author, .byline-author { font-size: 14px; font-weight: normal; color: #757575; color: rgba(0,0,0,.54); } .post-content .img-border { border: 1px solid rgb(235, 235, 235); padding: 4px; } .header-title a { text-decoration: none !important; } pre { border: 1px solid #bbbbbb; margin-top: 1em 0 0 0; padding: 0.99em; overflow-x: auto; overflow-y: auto; } pre, code { font-size: 9pt; background-color: #fafafa; line-height: 125%; font-family: monospace; } pre, code { color: #060; font: 13px/1.54 "courier new",courier,monospace; } .header-left .header-logo1 { width: 128px !important; } .header-desc { line-height: 20px; margin-top: 8px; } .fb-custom img, .twitter-custom img, .gplus-share img { cursor: pointer; opacity: 0.54; } .fb-custom img:hover, .twitter-custom img:hover, .gplus-share img:hover { opacity: 0.87; } .fb-like { width: 80px; } .post .share { float: right; } #twitter-share{ border: #CCC solid 1px; border-radius: 3px; background-image: -webkit-linear-gradient(top,#ffffff,#dedede); } .twitter-follow { background: url(//4.bp.blogspot.com/-8O7VcmcY32o/VSYkC2vUj7I/AAAAAAAAHeU/7mzo-JFgTgk/s1600/twitter-bird.png) no-repeat left center; padding-left: 18px; font: normal normal normal 11px/18px 'Helvetica Neue',Arial,sans-serif; font-weight: bold; text-shadow: 0 1px 0 rgba(255,255,255,.5); cursor: pointer; margin-bottom: 10px; } .twitter-fb { padding-top: 2px; } .fb-follow-button { background: -webkit-linear-gradient(#4c69ba, #3b55a0); background: -moz-linear-gradient(#4c69ba, #3b55a0); background: linear-gradient(#4c69ba, #3b55a0); border-radius: 2px; height: 18px; padding: 4px 0 0 3px; width: 57px; border: #4c69ba solid 1px; } .fb-follow-button a { text-decoration: none !important; text-shadow: 0 -1px 0 #354c8c; text-align: center; white-space: nowrap; font-size: 11px; color: white; vertical-align: top; } .fb-follow-button a:visited { color: white; } .fb-follow { padding: 0px 5px 3px 0px; width: 14px; vertical-align: bottom; } .gplus-wrapper { margin-top: 3px; display: inline-block; vertical-align: top; } .twitter-custom, .gplus-share { margin-right: 12px; } .fb-follow-button{ margin: 10px auto; } .post-content .separator > a, .post-content .separator > span { margin-right: 0 !important; } /** CUSTOM CODE **/ --></style> <style id='template-skin-1' type='text/css'><!-- .header-outer { clear: both; } .header-inner { margin: auto; padding: 0px; } .footer-outer { background: #f5f5f5; clear: both; margin: 0; } .footer-inner { margin: auto; padding: 0px; } .footer-inner-2 { /* Account for right hand column elasticity. */ max-width: calc(100% - 248px); } .google-footer-outer { clear: both; } .cols-wrapper, .google-footer-outer, .footer-inner, .header-inner { max-width: 978px; margin-left: auto; margin-right: auto; } .cols-wrapper { margin: auto; clear: both; margin-top: 60px; margin-bottom: 60px; overflow: hidden; } .col-main-wrapper { float: left; width: 100%; } .col-main { margin-right: 278px; max-width: 660px; } .col-right { float: right; width: 248px; margin-left: -278px; } /* Tweaks for layout mode. */ body#layout .google-footer-outer { display: none; } body#layout .header-outer, body#layout .footer-outer { background: none; } body#layout .header-inner { height: initial; } body#layout .cols-wrapper { margin-top: initial; margin-bottom: initial; } --></style> <!-- start all head --> <meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/> <meta content='blogger' name='generator'/> <link href="//workspaceupdates.googleblog.com/favicon.ico" rel="icon" type="image/x-icon"> <link href='http://workspaceupdates.googleblog.com/search/label/Developer' rel='canonical'/> <link rel="alternate" type="application/atom+xml" title="Google Workspace Updates - Atom" href="http://workspaceupdates.googleblog.com/feeds/posts/default" /> <link rel="alternate" type="application/rss+xml" title="Google Workspace Updates - RSS" href="http://workspaceupdates.googleblog.com/feeds/posts/default?alt=rss" /> <link rel="service.post" type="application/atom+xml" title="Google Workspace Updates - Atom" href="https://www.blogger.com/feeds/5245696872621940063/posts/default" /> <!--Can't find substitution for tag [blog.ieCssRetrofitLinks]--> <meta content='http://workspaceupdates.googleblog.com/search/label/Developer' property='og:url'/> <meta content='Google Workspace Updates' property='og:title'/> <meta content='This official feed from the Google Workspace team provides essential information about new features and improvements for Google Workspace customers.' property='og:description'/> <!-- end all head --> <base target='_self'/> <style> html { font-family: Roboto, sans-serif; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; } body { padding: 0; /* This ensures that the scroll bar is always present, which is needed */ /* because content render happens after page load; otherwise the header */ /* would "bounce" in-between states. */ min-height: 150%; } h2 { font-size: 16px; } h1, h2, h3, h4, h5 { line-height: 2em; } html, h4, h5, h6 { font-size: 14px; } a, a:visited { color: #4184F3; text-decoration: none; } a:focus, a:hover, a:active { text-decoration: none; } .Header { margin-top: 15px; } .Header h1 { font-size: 32px; font-weight: 300; line-height: 32px; height: 42px; } .header-inner .Header .titlewrapper { padding: 0; margin-top: 30px; } .header-inner .Header .descriptionwrapper { padding: 0; margin: 0; } .cols-wrapper { margin-top: 56px; } .header-outer, .cols-wrapper, .footer-outer, .google-footer-outer { padding: 0 60px; } .header-inner { height: 256px; position: relative; } html, .header-inner a { color: #212121; color: rgba(0,0,0,.87); } .header-inner .google-logo { display: inline-block; background-size: contain; z-index: 1; height: 60px; overflow: hidden; margin-top: 4px; margin-right: 8px; } .header-left { position: absolute; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); margin-top: 12px; width: 100%; } .google-logo { margin-left: -4px; } #google-footer { position: relative; font-size: 13px; list-style: none; text-align: right; } #google-footer a { color: #444; } #google-footer ul { margin: 0; padding: 0; height: 144px; line-height: 144px; } #google-footer ul li { display: inline; } #google-footer ul li:before { color: #999; content: "\00b7"; font-weight: bold; margin: 5px; } #google-footer ul li:first-child:before { content: ''; } #google-footer .google-logo-dark { left: 0; margin-top: -16px; position: absolute; top: 50%; } /** Sitemap links. **/ .footer-inner-2 { font-size: 14px; padding-top: 42px; padding-bottom: 74px; } .footer-inner-2 .HTML h2 { color: #212121; color: rgba(0,0,0,.87); font-size: 14px; font-weight: 500; padding-left: 0; margin: 10px 0; } .footer-inner-2 .HTML ul { font-weight: normal; list-style: none; padding-left: 0; } .footer-inner-2 .HTML li { line-height: 24px; padding: 0; } .footer-inner-2 li a { color: rgba(65,132,243,.87); } /** Archive widget. **/ .BlogArchive { font-size: 13px; font-weight: normal; } .BlogArchive .widget-content { display: none; } .BlogArchive h2, .Label h2 { color: #4184F3; text-decoration: none; } .BlogArchive .hierarchy li { display: inline-block; } /* Specificity needed here to override widget CSS defaults. */ .BlogArchive #ArchiveList ul li, .BlogArchive #ArchiveList ul ul li { margin: 0; padding-left: 0; text-indent: 0; } .BlogArchive .intervalToggle { cursor: pointer; } .BlogArchive .expanded .intervalToggle .new-toggle { -ms-transform: rotate(180deg); transform: rotate(180deg); } .BlogArchive .new-toggle { float: right; padding-top: 3px; opacity: 0.87; } #ArchiveList { text-transform: uppercase; } #ArchiveList .expanded > ul:last-child { margin-bottom: 16px; } #ArchiveList .archivedate { width: 100%; } /* Months */ .BlogArchive .items { max-width: 150px; margin-left: -4px; } .BlogArchive .expanded .items { margin-bottom: 10px; overflow: hidden; } .BlogArchive .items > ul { float: left; height: 32px; } .BlogArchive .items a { padding: 0 4px; } .Label { font-size: 13px; font-weight: normal; } .sidebar-icon { display: inline-block; width: 24px; height: 24px; vertical-align: middle; margin-right: 12px; margin-top: -1px } .Label a { margin-right: 4px; } .Label .widget-content { display: none; } .FollowByEmail { font-size: 13px; font-weight: normal; } .FollowByEmail h2 { background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAALCAYAAACZIGYHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAUBJREFUeNrMkSGLAlEUhb+ZB4JFi8mx2cz+ApvhRUGTcUCrNqNJDYIi+DO0GUwmQXDK2DSIoGgZcSaIjDrzwrK4ssvChj1w0733O+fdp+m6PozH4yQSCfb7Pa7r8pOi0SjJZBLP8zgej4gAIMvlMuPxmADIYrHger1+C6lUKmo+NJ/NZojb7SZDWiwWo1qtks1msW2bw+HwZdkwDHq9HvV6nel0SqvVYrvdIh6Ph3Qch+VyqRYLhQJSSjRNw7IsfN9XgGKxSLfbJZfL0e/3aTabrFYr7vc7IujLcOh8PqunrNdr0uk0pVKJVCpFJBJRgEajweVyod1uMxgM2O12BAGUgRbU8DV2JpOhVquRz+cRQii3+XxOp9NRN3jVR5LPOp1OjEYjlSL8hclkgmmabDabt4d+m+S30vkD/R/IU4ABAPTZgnZdmG/PAAAAAElFTkSuQmCC"); background-repeat: no-repeat; background-position: 3% 50%; text-indent: 39px; } .FollowByEmail .widget-content { display: none; } .searchBox input { border: 1px solid #eee; color: #212121; color: rgba(0,0,0,.87); font-size: 14px; padding: 8px 8px 8px 40px; width: 164px; font-family: Roboto, sans-serif; background: url("https://www.gstatic.com/images/icons/material/system/1x/search_grey600_24dp.png") 8px center no-repeat; } .searchBox ::-webkit-input-placeholder { /* WebKit, Blink, Edge */ color: rgba(0,0,0,.54); } .searchBox :-moz-placeholder { /* Mozilla Firefox 4 to 18 */ color: #000; opacity: 0.54; } .searchBox ::-moz-placeholder { /* Mozilla Firefox 19+ */ color: #000; opacity: 0.54; } .searchBox :-ms-input-placeholder { /* Internet Explorer 10-11 */ color: #757575; } .widget-item-control { margin-top: 0px; } .section { margin: 0; padding: 0; } #sidebar-top { border: 1px solid #eee; } #sidebar-top > div { margin: 16px 0; } .widget ul { line-height: 1.6; } /*main post*/ .post { margin-bottom:30px; } #main .post .title { margin: 0; } #main .post .title a { color: #212121; color: rgba(0,0,0,.87); font-weight: normal; font-size: 24px; } #main .post .title a:hover { text-decoration:none; color:#4184F3; } .message, #main .post .post-header { margin: 0; padding: 0; } #main .post .post-header .caption, #main .post .post-header .labels-caption, #main .post .post-footer .caption, #main .post .post-footer .labels-caption { color: #444; font-weight: 500; } #main .tr-caption-container td { text-align: left; } #main .post .tr-caption { color: #757575; color: rgba(0,0,0,.54); display: block; max-width: 560px; padding-bottom: 20px; } #main .post .tr-caption-container { line-height: 24px; margin: -1px 0 0 0 !important; padding: 4px 0; text-align: left; } #main .post .post-header .published{ font-size:11px; font-weight:bold; } .post-header .publishdate { font-size: 17px; font-weight:normal; color: #757575; color: rgba(0,0,0,.54); } #main .post .post-footer{ font-size:12px; padding-bottom: 21px; } .label-footer { margin-bottom: 12px; margin-top: 12px; } .comment-img { margin-right: 16px; opacity: 0.54; vertical-align: middle; } #main .post .post-header .published { margin-bottom: 40px; margin-top: -2px; } .post .post-content { color: #212121; color: rgba(0,0,0,.87); font-size: 17px; margin: 25px 0 36px 0; line-height: 32px; } .post-body .post-content ul, .post-body .post-content ol { margin: 16px 0; padding: 0 48px; } .post-summary { display: none; } /* Another old-style caption. */ .post-content div i, .post-content div + i { font-size: 17px; /*font-style: normal;*/ /*color: #757575; color: rgba(0,0,0,.54);*/ line-height: 28px; margin-bottom: 7px; text-align: left; } /* Another old-style caption (with link) */ .post-content a > i { color: #4184F3 !important; } /* Old-style captions for images. */ .post-content .separator + div:not(.separator) { margin-top: -16px; } /* Capture section headers. */ .post-content br + br + b, .post-content .space + .space + b, .post-content .separator + b { display: inline-block; margin-bottom: 8px; margin-top: 24px; } .post-content li { line-height: 32px; } /* Override all post images/videos to left align. */ .post-content .separator, .post-content video { text-align: left; } .post-content .separator > a, .post-content .separator > span { margin-left: 0 !important; } .post-content img { max-width: 100%; height: auto; width: auto; text-align: center !important; } .post-content .tr-caption-container img { margin-bottom: 12px; } .post-content iframe, .post-content embed { max-width: 100%; } .post-content .carousel-container { margin-bottom: 48px; } /* #main .post-content b { font-weight: 500; }*/ /* These are the main paragraph spacing tweaks. */ #main .post-content br { content: ' '; display: block; padding: 4px; } .post-content .space { display: block; height: 8px; } .post-content iframe + .space, .post-content iframe + br { padding: 0 !important; } #main .post .jump-link { margin-bottom:10px; } .post-content img, .post-content iframe { margin: 30px 0 20px 0; } .post-content > img:first-child, .post-content > iframe:first-child { margin-top: 0; } .col-right .section { padding: 0 16px; } #aside { background:#fff; border:1px solid #eee; border-top: 0; } #aside .widget { margin:0; } #aside .widget h2, #ArchiveList .toggle + a.post-count-link { color: #212121; color: rgba(0,0,0,.87); font-weight: 400 !important; margin: 0; } #ArchiveList .toggle { float: right; } #ArchiveList .toggle .material-icons { padding-top: 4px; } #sidebar .tab { cursor: pointer; } #sidebar .tab .arrow { display: inline-block; float: right; } #sidebar .tab .icon { display: inline-block; vertical-align: top; height: 24px; width: 24px; margin-right: 13px; margin-left: -1px; margin-top: 1px; color: #757575; color: rgba(0,0,0,.54); } #sidebar .widget-content > :first-child { padding-top: 8px; } #sidebar .active .tab .arrow { -ms-transform: rotate(180deg); transform: rotate(180deg); } #sidebar .arrow { color: #757575; color: rgba(0,0,0,.54); } #sidebar .widget h2 { font-size: 14px; line-height: 24px; display: inline-block; } #sidebar .widget .BlogArchive { padding-bottom: 8px; } #sidebar .widget { border-bottom: 1px solid #eee; box-shadow: 0px 1px 0 white; margin-bottom: 0; padding: 14px 0; min-height: 20px; } #sidebar .widget:last-child { border-bottom: none; box-shadow: none; margin-bottom: 0; } #sidebar ul { margin: 0; padding: 0; } #sidebar ul li { list-style:none; padding:0; } #sidebar ul li a { line-height: 32px; } #sidebar .archive { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAYCAYAAADzoH0MAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAE1JREFUeNpiNDY23s9AAWBioBCwYBM8c+YMVsUmJibEGYBNMS5DaeMFfDYSZQA2v9I3FrB5AZeriI4FmnrBccCT8mhmGs1MwyAzAQQYAKEWG9zm9QFEAAAAAElFTkSuQmCC"); height: 24px; line-height: 24px; padding-left: 30px; } #sidebar .labels { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAARCAYAAAA7bUf6AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAUxJREFUeNpiNDY23s9AAMycOfM7UF05kHkZmzwTMkdSUhKrIcXFxZy3bt3qBjIN8RrS09PDsHnzZjCNDr58+cKQlpbGDjSoHcg1w2oIyAUODg5gARCNzUVIBrUCuVYYhjx//pzhwIEDYAEQDeJjA1CDWIAGNQK59jBxRuSABbkAlwHIgIeHh2HWrFn/1NTU2oDcvSgBS4wBSC5iArqoCsj1YGIgEyAZVMoEchqlBjEB/cZAiUHg2AEGznpKDAImxOeM////B4VLKtBvEUCngZ1ILKivr3/u6+ubBzJAGZQ9gC5aQoqLgAY8BhkAZL4BuQQkxgXE34A4BuiiZEIuAhrwEGhAEZD5DpzYoIaA2UAM4kQADUrHZRDUgAIg8wO2XAwzbQXQa5OweQ1owB10AyA6gS7BgX1u3ry5397eHow3bdo0EyjGi00tQIABANPgyAH1q1eaAAAAAElFTkSuQmCC"); height: 20px; line-height: 20px; padding-left: 30px; } #sidebar .rss a { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAX5JREFUeNqsVDGSgkAQHL2rIiIikohIc/EBRkbwAIwuwgfwAXiAD9AHSI7kEkECRCb6AIyINDLx7K0aa6kT7uq0q7YYtnZ7umdnt7darXbr9Zpegeu61DNNc0dvwCcH4/GYJpMJnc9nOhwOVJbl/4hAAokMECZJQtvt9k+kH7qufyEYDAakqqqYxFdRFBqNRmTbNg2HQ0rTlK7XayvR0xqBdDqdkuM4dE/0ULhYLOh4PHYrknG5XGi/31MYhuL/nkwonM1mlGUZ1XXdrsiyLGEDhY7juJEZ1u5tIixDGdYhmYw+B7CAzPP5nDabjdgIAgCksMX1832/3drtdqPT6SQWapomiGEFNkDEdpDMMAzK81ys/7XYy+XyoQgq2WoURSIJ2iIIgp/WZCCTvFm2wgeAU31aI3Q2GhIDMeB53qPYPIcm5VrxXIOIOxsDMStjVawAc1VViRgN22lNBiuQN3GR+SY07hpOoStmFQAKXRRFY93bnpG+fONfedi+BRgAbkS8Fxp7QQIAAAAASUVORK5CYII="); } #sidebar .subscription a { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAALCAYAAACZIGYHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAUBJREFUeNrMkSGLAlEUhb+ZB4JFi8mx2cz+ApvhRUGTcUCrNqNJDYIi+DO0GUwmQXDK2DSIoGgZcSaIjDrzwrK4ssvChj1w0733O+fdp+m6PozH4yQSCfb7Pa7r8pOi0SjJZBLP8zgej4gAIMvlMuPxmADIYrHger1+C6lUKmo+NJ/NZojb7SZDWiwWo1qtks1msW2bw+HwZdkwDHq9HvV6nel0SqvVYrvdIh6Ph3Qch+VyqRYLhQJSSjRNw7IsfN9XgGKxSLfbJZfL0e/3aTabrFYr7vc7IujLcOh8PqunrNdr0uk0pVKJVCpFJBJRgEajweVyod1uMxgM2O12BAGUgRbU8DV2JpOhVquRz+cRQii3+XxOp9NRN3jVR5LPOp1OjEYjlSL8hclkgmmabDabt4d+m+S30vkD/R/IU4ABAPTZgnZdmG/PAAAAAElFTkSuQmCC"); } #sidebar-bottom { background: #f5f5f5; border-top:1px solid #eee; } #sidebar-bottom .widget { border-bottom: 1px solid #e0e0e0; padding: 15px 0; text-align: center; } #sidebar-bottom > div:last-child { border-bottom: 0; } #sidebar-bottom .text { line-height: 20px; } /* Home, forward, and backward pagination. */ .blog-pager { border-top : 1px #e0e0e0 solid; padding-top: 10px; margin-top: 15px; text-align: right !important; } #blog-pager { margin-botom: 0; margin-top: -14px; padding: 16px 0 0 0; } #blog-pager a { display: inline-block; } .blog-pager i.disabled { opacity: 0.2 !important; } .blog-pager i { color: black; margin-left: 16px; opacity: 0.54; } .blog-pager i:hover, .blog-pager i:active { opacity: 0.87; } #blog-pager-older-link, #blog-pager-newer-link { float: none; } .gplus-profile { background-color: #fafafa; border: 1px solid #eee; overflow: hidden; width: 212px; } .gplus-profile-inner { margin-left: -1px; margin-top: -1px; } /* Sidebar follow buttons. */ .followgooglewrapper { padding: 12px 0 0 0; } .loading { visibility: hidden; } .detail-page .post-footer .cmt_iframe_holder { padding-top: 40px !important; } /** Desktop **/ @media (max-width: 900px) { .col-right { display: none; } .col-main { margin-right: 0; min-width: initial; } .footer-outer { display: none; } .cols-wrapper { min-width: initial; } .google-footer-outer { background-color: #f5f5f5; } } /** Tablet **/ @media (max-width: 712px) { .header-outer, .cols-wrapper, .footer-outer, .google-footer-outer { padding: 0 40px; } } /* An extra breakpoint accommodating for long blog titles. */ @media (max-width: 600px) { .header-left { height: 100%; position: initial; top: inherit; margin-top: 0; -webkit-transform: initial; transform: initial; } .header-title { margin-top: 18px; } .header-inner { height: auto; margin-bottom: 32px; margin-top: 32px; } .header-desc { margin-top: 12px; } .header-inner .google-logo { height: 40px; margin-top: 3px; } .header-inner .google-logo img { height: 42px; } .header-title h2 { font-size: 32px; line-height: 50px; } } /** Mobile/small desktop window; also landscape. **/ @media (max-width: 480px), (max-height: 480px) { .header-outer, .cols-wrapper, .footer-outer, .google-footer-outer { padding: 0 16px; } .cols-wrapper { margin-top: 0; } .post-header .publishdate, .post .post-content { font-size: 16px; } .post .post-content { line-height: 28px; margin-bottom: 30px; } .post { margin-top: 30px; } .byline-author { display: block; font-size: 12px; line-height: 24px; margin-top: 6px; } #main .post .title a { font-weight: 500; color: #4c4c4c; color: rgba(0,0,0,.70); } #main .post .post-header { padding-bottom: 12px; } #main .post .post-header .published { margin-bottom: -8px; margin-top: 3px; } .post .read-more { display: block; margin-top: 14px; } .post .tr-caption { font-size: 12px; } #main .post .title a { font-size: 20px; line-height: 30px; } .post-content iframe { /* iframe won't keep aspect ratio when scaled down. */ max-height: 240px; } .post-content .separator img, .post-content .tr-caption-container img { /*width: 100%;*/ } .post-content iframe { max-width: inherit; } .post-content table, .post-content td { width: 100%; } #blog-pager { margin: 0; padding: 16px 0; } /** List page tweaks. **/ .list-page .post-original { display: none; } .list-page .post-summary { display: block; } .list-page .comment-container { display: none; } .list-page #blog-pager { padding-top: 0; border: 0; margin-top: -8px; } .list-page .label-footer { display: none; } .list-page #main .post .post-footer { border-bottom: 1px solid #eee; margin: -16px 0 0 0; padding: 0 0 20px 0; } .list-page .post .share { display: none; } /** Detail page tweaks. **/ .detail-page .post-footer .cmt_iframe_holder { padding-top: 32px !important; } .detail-page .label-footer { margin-bottom: 0; } .detail-page #main .post .post-footer { padding-bottom: 0; } .detail-page #comments { display: none; } } [data-about-pullquote], [data-is-preview], [data-about-syndication] { display: none; } </style> <noscript> <style> .loading { visibility: visible }</style> </noscript> <!-- Google tag (gtag.js) --> <script async='true' src='https://www.googletagmanager.com/gtag/js?id=G-DY1T9T89QG'></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-DY1T9T89QG'); </script> <link href='https://www.blogger.com/dyn-css/authorization.css?targetBlogID=5245696872621940063&amp;zx=31630a60-e9c6-422e-a29e-ae819b3929c0' media='none' onload='if(media!=&#39;all&#39;)media=&#39;all&#39;' rel='stylesheet'/><noscript><link href='https://www.blogger.com/dyn-css/authorization.css?targetBlogID=5245696872621940063&amp;zx=31630a60-e9c6-422e-a29e-ae819b3929c0' rel='stylesheet'/></noscript> <meta name='google-adsense-platform-account' content='ca-host-pub-1556223355139109'/> <meta name='google-adsense-platform-domain' content='blogspot.com'/> </head> <body> <script type='text/javascript'> //<![CDATA[ var axel = Math.random() + ""; var a = axel * 10000000000000; document.write('<iframe src="https://2542116.fls.doubleclick.net/activityi;src=2542116;type=gblog;cat=googl0;ord=ord=' + a + '?" width="1" height="1" frameborder="0" style="display:none"></iframe>'); //]]> </script> <noscript> <img alt='' height='1' src='https://ad.doubleclick.net/ddm/activity/src=2542116;type=gblog;cat=googl0;ord=1?' width='1'/> </noscript> <!-- Header --> <div class='header-outer'> <div class='header-inner'> <div class='section' id='header'><div class='widget Header' data-version='1' id='Header1'> <div class='header-left'> <div class='header-title'> <a class='google-logo' href='http://workspaceupdates.googleblog.com/'> <img height="55" src="//2.bp.blogspot.com/-3KEIUNx6BRs/X38-qSHfmjI/AAAAAAAAJTU/G363C5xmvw4tLCa5IbVUlfaieiKDSy_YACK4BGAYYCw/s1600/Google%2BWorkspace%2B-%2BFull%2Bcolor.png"> </a> <a href='/.'> <h2> Updates </h2> </a> </div> <div class='header-desc'> This official feed from the Google Workspace team provides essential information about new features and improvements for Google Workspace customers. </div> </div> </div></div> </div> </div> <!-- all content wrapper start --> <div class='cols-wrapper loading'> <div class='col-main-wrapper'> <div class='col-main'> <div class='section' id='main'><div class='widget Blog' data-version='1' id='Blog1'> <div class='post' data-id='7095082343002186926' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='http://workspaceupdates.googleblog.com/2024/09/create-birthdays-in-google-calendar.html' itemprop='url' title='Create birthdays in Google Calendar'> Create birthdays in Google Calendar </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Thursday, September 19, 2024 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <h3 style="text-align: left;">What&#8217;s changing&nbsp;</h3><div>Currently, Google Calendar automatically pulls in birthday information from Google Contacts. However, it is not currently possible to create birthday events directly in Calendar.&nbsp;</div><div><br /></div><div>To ensure a birthday is never missed, we&#8217;re introducing the ability to create and modify birthday events in Google Calendar on Android devices.&nbsp;</div><div><br /></div><div>For developers, newly created birthday events will be available in the Calendar API with the <a href="https://developers.google.com/calendar/api/v3/reference/events#resource">eventType</a> &#8220;birthday.&#8221; Both <a href="https://developers.google.com/calendar/api/v3/reference/events/list">Events.list</a> and <a href="https://developers.google.com/calendar/api/v3/reference/events/watch">Events.watch</a> will support the &#8220;birthday&#8221; event type filter and return &#8220;birthday&#8221; events by default. Only <a href="https://developers.google.com/calendar/docs/release-notes#August_05_2024">a subset of the event properties</a> will be supported for birthday events. To learn more, see our <a href="https://developers.google.com/calendar/api/guides/event-types#birthday">developer guide about working with the birthday event type.</a></div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlHMnzAVVQRRDy4DROqXXiOlJpSXVXqMBeJ8giTVZO3vEWXdqvGufSAntW1hE47yDNDT4Nf11weTq13EVRgIckbvH-wNidnKAYQ5KiSbCN2DHBxcJFCFx2KqEG-XBcMV4tw6kjK9XebTN8U1z2PENBQSmDIhpsS-kUKqbq0GsK5xvEaQUzfDhsrw-IzR4/s1150/Create%20birthdays%20in%20Google%20Calendar.png" style="margin-left: 1em; margin-right: 1em;"><img alt="Create birthdays in Google Calendar" border="0" data-original-height="1150" data-original-width="1090" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlHMnzAVVQRRDy4DROqXXiOlJpSXVXqMBeJ8giTVZO3vEWXdqvGufSAntW1hE47yDNDT4Nf11weTq13EVRgIckbvH-wNidnKAYQ5KiSbCN2DHBxcJFCFx2KqEG-XBcMV4tw6kjK9XebTN8U1z2PENBQSmDIhpsS-kUKqbq0GsK5xvEaQUzfDhsrw-IzR4/w607-h640/Create%20birthdays%20in%20Google%20Calendar.png" width="607" /></a></div><h3 style="text-align: left;">Who&#8217;s impacted</h3><div>End users and developers&nbsp;</div><div><br /></div><div><br /></div><h3 style="text-align: left;">Additional details&nbsp;</h3><div>Birthday events do not support all event properties. If you&#8217;re using the Calendar API, we recommend reviewing your code so you don&#8217;t apply any non-supported properties.&nbsp;</div><div><br /></div><div>Creating dedicated birthday events in Google Calendar will also become available on web and iOS devices in the future.&nbsp;</div><div><br /></div><div><br /></div><h3 style="text-align: left;">Getting started&nbsp;</h3><div><ul style="text-align: left;"><li><b>Admins:</b> There is no admin control for this feature.&nbsp;</li><li><b>End users: </b>There is no end user setting for this feature. Visit the Help Center to learn more about <a href="https://support.google.com/calendar/answer/13748346">managing birthdays on your calendar.&nbsp;</a></li><li><b>Developers</b>: Use our <a href="https://developers.google.com/calendar/api/guides/event-types#birthday">developer guide about working with the birthday event type.&nbsp;</a></li></ul></div><h3 style="text-align: left;">Rollout pace&nbsp;</h3><div><b>Web:&nbsp;</b></div><div><ul><li><a href="https://support.google.com/a/answer/172177">Rapid Release domains:</a>&nbsp;Gradual rollout (up to 15 days for feature visibility) starting on September 19, 2024</li><li><a href="https://support.google.com/a/answer/172177">Scheduled Release domains:</a>&nbsp;Gradual rollout (up to 15 days for feature visibility) starting on October 9, 2024&nbsp;</li></ul></div><div><b>Mobile:&nbsp;</b></div><div><ul style="text-align: left;"><li><a href="https://support.google.com/a/answer/172177">Rapid Release and Scheduled Release domains:</a> Gradual rollout (up to 15 days for feature visibility) starting on September 24, 2024&nbsp;</li></ul></div><h3 style="text-align: left;">Availability&nbsp;</h3><div><ul style="text-align: left;"><li>Available to all Google Workspace customers, Workspace Individual Subscribers, and users with personal Google accounts.&nbsp;</li></ul></div><h3 style="text-align: left;">Resources&nbsp;</h3><div><ul style="text-align: left;"><li><a href="https://support.google.com/calendar/answer/13748346">Google Help: Manage birthdays on your calendar</a></li></ul></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> <h3 style="text-align: left;">What&#8217;s changing&nbsp;</h3><div>Currently, Google Calendar automatically pulls in birthday information from Google Contacts. However, it is not currently possible to create birthday events directly in Calendar.&nbsp;</div><div><br /></div><div>To ensure a birthday is never missed, we&#8217;re introducing the ability to create and modify birthday events in Google Calendar on Android devices.&nbsp;</div><div><br /></div><div>For developers, newly created birthday events will be available in the Calendar API with the <a href="https://developers.google.com/calendar/api/v3/reference/events#resource">eventType</a> &#8220;birthday.&#8221; Both <a href="https://developers.google.com/calendar/api/v3/reference/events/list">Events.list</a> and <a href="https://developers.google.com/calendar/api/v3/reference/events/watch">Events.watch</a> will support the &#8220;birthday&#8221; event type filter and return &#8220;birthday&#8221; events by default. Only <a href="https://developers.google.com/calendar/docs/release-notes#August_05_2024">a subset of the event properties</a> will be supported for birthday events. To learn more, see our <a href="https://developers.google.com/calendar/api/guides/event-types#birthday">developer guide about working with the birthday event type.</a></div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlHMnzAVVQRRDy4DROqXXiOlJpSXVXqMBeJ8giTVZO3vEWXdqvGufSAntW1hE47yDNDT4Nf11weTq13EVRgIckbvH-wNidnKAYQ5KiSbCN2DHBxcJFCFx2KqEG-XBcMV4tw6kjK9XebTN8U1z2PENBQSmDIhpsS-kUKqbq0GsK5xvEaQUzfDhsrw-IzR4/s1150/Create%20birthdays%20in%20Google%20Calendar.png" style="margin-left: 1em; margin-right: 1em;"><img alt="Create birthdays in Google Calendar" border="0" data-original-height="1150" data-original-width="1090" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlHMnzAVVQRRDy4DROqXXiOlJpSXVXqMBeJ8giTVZO3vEWXdqvGufSAntW1hE47yDNDT4Nf11weTq13EVRgIckbvH-wNidnKAYQ5KiSbCN2DHBxcJFCFx2KqEG-XBcMV4tw6kjK9XebTN8U1z2PENBQSmDIhpsS-kUKqbq0GsK5xvEaQUzfDhsrw-IzR4/w607-h640/Create%20birthdays%20in%20Google%20Calendar.png" width="607" /></a></div><h3 style="text-align: left;">Who&#8217;s impacted</h3><div>End users and developers&nbsp;</div><div><br /></div><div><br /></div><h3 style="text-align: left;">Additional details&nbsp;</h3><div>Birthday events do not support all event properties. If you&#8217;re using the Calendar API, we recommend reviewing your code so you don&#8217;t apply any non-supported properties.&nbsp;</div><div><br /></div><div>Creating dedicated birthday events in Google Calendar will also become available on web and iOS devices in the future.&nbsp;</div><div><br /></div><div><br /></div><h3 style="text-align: left;">Getting started&nbsp;</h3><div><ul style="text-align: left;"><li><b>Admins:</b> There is no admin control for this feature.&nbsp;</li><li><b>End users: </b>There is no end user setting for this feature. Visit the Help Center to learn more about <a href="https://support.google.com/calendar/answer/13748346">managing birthdays on your calendar.&nbsp;</a></li><li><b>Developers</b>: Use our <a href="https://developers.google.com/calendar/api/guides/event-types#birthday">developer guide about working with the birthday event type.&nbsp;</a></li></ul></div><h3 style="text-align: left;">Rollout pace&nbsp;</h3><div><b>Web:&nbsp;</b></div><div><ul><li><a href="https://support.google.com/a/answer/172177">Rapid Release domains:</a>&nbsp;Gradual rollout (up to 15 days for feature visibility) starting on September 19, 2024</li><li><a href="https://support.google.com/a/answer/172177">Scheduled Release domains:</a>&nbsp;Gradual rollout (up to 15 days for feature visibility) starting on October 9, 2024&nbsp;</li></ul></div><div><b>Mobile:&nbsp;</b></div><div><ul style="text-align: left;"><li><a href="https://support.google.com/a/answer/172177">Rapid Release and Scheduled Release domains:</a> Gradual rollout (up to 15 days for feature visibility) starting on September 24, 2024&nbsp;</li></ul></div><h3 style="text-align: left;">Availability&nbsp;</h3><div><ul style="text-align: left;"><li>Available to all Google Workspace customers, Workspace Individual Subscribers, and users with personal Google accounts.&nbsp;</li></ul></div><h3 style="text-align: left;">Resources&nbsp;</h3><div><ul style="text-align: left;"><li><a href="https://support.google.com/calendar/answer/13748346">Google Help: Manage birthdays on your calendar</a></li></ul></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper'> </span> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Google Workspace Updates:Create birthdays in Google Calendar&url=http://workspaceupdates.googleblog.com/2024/09/create-birthdays-in-google-calendar.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=http://workspaceupdates.googleblog.com/2024/09/create-birthdays-in-google-calendar.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='http://workspaceupdates.googleblog.com/2024/09/create-birthdays-in-google-calendar.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Developer' rel='tag'> Developer </a> , <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Google%20Calendar' rel='tag'> Google Calendar </a> , <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Rapid%20Release' rel='tag'> Rapid Release </a> </span> </div> </div> </div> <div class='post' data-id='8476477862201015809' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='http://workspaceupdates.googleblog.com/2024/09/google-chat-api-space-management-functionality-generally-available.html' itemprop='url' title='Admin features for space management via the Chat API are now generally available'> Admin features for space management via the Chat API are now generally available </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Thursday, September 19, 2024 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <h3 style="text-align: left;">What&#8217;s changing</h3><p>Earlier this year, we <a href="https://workspaceupdates.googleblog.com/2024/05/google-chat-api-space-management-functionality.html">introduced</a> a series of space management capabilities for Workspace admins in the Google Chat API via the Google Workspace Developer Preview Program. These API features are now generally available for all Google Workspace customers and developers.</p><p>Using these features, admins can easily perform a variety of space management related tasks at scale. This includes membership management, like adding and removing members, onboarding and offboarding users from spaces, cleaning up inactive spaces, and more.&nbsp;</p><p>These features are also available when using the <a href="https://github.com/GAM-team/GAM?tab=readme-ov-file">Google Apps Manager (GAM)</a>, an open source command-line tool that helps administrators to perform bulk operations associated with various aspects of their Google Workspace. The tool can be used to automate space management tasks with command-line scripts, helping to reduce admin overhead and potential errors when using APIs. See this article in our Help Center for more information on <a href="https://support.google.com/a/answer/10014088?hl=en&amp;sjid=16222505011701323095-NC">using a third-party tool for mass provisioning</a>.</p><h3 style="text-align: left;">Who&#8217;s impacted</h3><p>Admins and developers</p><div><h3 style="text-align: left;">Why you&#8217;d use it</h3><div>In 2023, we launched the <a href="https://support.google.com/a/answer/13369245">Space Management tool</a>, which allowed admins to view all the spaces within their organization, understand the activity within those spaces, and perform essential actions like deleting a space or assigning space managers. While finding the tool helpful to perform one-off tasks, admins expressed a desire for tools to perform these tasks at scale, for example, with the help of APIs. Admins can now use the Chat API to find information and manage spaces in their organization in bulk or programmatically. Specifically they can:</div></div><div><br /></div><div><div><ul style="text-align: left;"><li><b>Find and delete inactive spaces:</b>&nbsp;Using <a href="https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces/search">spaces.search</a>, you can find spaces that haven&#8217;t been used since a specified date and time and then delete them.</li><li><b>Onboard and offboard users: </b>Automatically add new users to relevant spaces and remove them from spaces when they leave or change roles.</li><li><b>Audit external members:</b> Monitor and control access to your organization's data by identifying and removing external members from sensitive conversations.</li><li><b>Lookup and update space details:</b> Easily manage space information like names, descriptions, and guidelines.</li><li><b>Verify user membership and upgrade roles: </b>Manage user access and roles within spaces.</li><li><b>And more</b> &#8212; please refer to our <a href="https://developers.google.com/workspace/chat/admin-overview#use-the-api">developer guidance</a> for even more information.</li></ul></div></div><div><h3 style="text-align: left;">Getting started</h3><div><ul style="text-align: left;"><li><b>Admins and developers:&nbsp;</b>Use our Developer Documentation to learn how to <a href="https://developers.google.com/workspace/chat/authenticate-authorize-chat-user#admin-privileges">authenticate and authorize using administrator privilege</a>, <a href="https://developers.google.com/workspace/chat/admin-overview">managing Google Chat spaces as a Workspace admin</a>, and <a href="https://developers.google.com/workspace/chat/search-manage-admin">searching for and managing Google Chat spaces for your Google Workspace organization</a>.</li><li><b>End users: </b>There is no end user impact or action required.</li></ul><div><h3 style="text-align: left;">Rollout pace</h3><div><ul style="text-align: left;"><li>Available now</li></ul></div><div><br /></div><h3 style="text-align: left;">Availability</h3><div><ul style="text-align: left;"><li>Available for all Google Workspace customers</li></ul></div><div><br /></div><h3 style="text-align: left;">Resources</h3><div><ul style="text-align: left;"><li><a href="https://developers.google.com/workspace/chat/authenticate-authorize-chat-user#admin-privileges">Developer Documentation: Authenticate and authorize using administrator privileges</a>&nbsp;</li><li><a href="https://developers.google.com/workspace/chat/search-manage-admin">Developer Documentation: Search for and manage Google Chat spaces for your Google Workspace organization</a></li><li><a href="https://developers.google.com/workspace/chat/authenticate-authorize">Developer Documentation: Authenticate and authorize Chat apps and Google Chat API requests</a>&nbsp;</li><li><a href="https://support.google.com/a/answer/13369245">Google Workspace Admin Help: Manage spaces in the Google Admin console</a></li><li><a href="https://workspaceupdates.googleblog.com/2024/05/google-chat-api-space-management-functionality.html">Google Workspace Updates Blog: Manage spaces at scale with new Chat API functionality</a></li><li><a href="https://workspaceupdates.googleblog.com/2024/06/additional-admin-space-management-capabilities-google-chat-api.html">Google Workspace Updates Blog: Additional admin space management capabilities in Google Chat API are now available in Developer Preview Program</a></li><li><a href="https://developers.google.com/workspace/chat/docs/release-notes?hl=en#September_11_2024">Google Chat Developer Release Notes</a></li></ul></div><div><br /></div></div></div></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> <h3 style="text-align: left;">What&#8217;s changing</h3><p>Earlier this year, we <a href="https://workspaceupdates.googleblog.com/2024/05/google-chat-api-space-management-functionality.html">introduced</a> a series of space management capabilities for Workspace admins in the Google Chat API via the Google Workspace Developer Preview Program. These API features are now generally available for all Google Workspace customers and developers.</p><p>Using these features, admins can easily perform a variety of space management related tasks at scale. This includes membership management, like adding and removing members, onboarding and offboarding users from spaces, cleaning up inactive spaces, and more.&nbsp;</p><p>These features are also available when using the <a href="https://github.com/GAM-team/GAM?tab=readme-ov-file">Google Apps Manager (GAM)</a>, an open source command-line tool that helps administrators to perform bulk operations associated with various aspects of their Google Workspace. The tool can be used to automate space management tasks with command-line scripts, helping to reduce admin overhead and potential errors when using APIs. See this article in our Help Center for more information on <a href="https://support.google.com/a/answer/10014088?hl=en&amp;sjid=16222505011701323095-NC">using a third-party tool for mass provisioning</a>.</p><h3 style="text-align: left;">Who&#8217;s impacted</h3><p>Admins and developers</p><div><h3 style="text-align: left;">Why you&#8217;d use it</h3><div>In 2023, we launched the <a href="https://support.google.com/a/answer/13369245">Space Management tool</a>, which allowed admins to view all the spaces within their organization, understand the activity within those spaces, and perform essential actions like deleting a space or assigning space managers. While finding the tool helpful to perform one-off tasks, admins expressed a desire for tools to perform these tasks at scale, for example, with the help of APIs. Admins can now use the Chat API to find information and manage spaces in their organization in bulk or programmatically. Specifically they can:</div></div><div><br /></div><div><div><ul style="text-align: left;"><li><b>Find and delete inactive spaces:</b>&nbsp;Using <a href="https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces/search">spaces.search</a>, you can find spaces that haven&#8217;t been used since a specified date and time and then delete them.</li><li><b>Onboard and offboard users: </b>Automatically add new users to relevant spaces and remove them from spaces when they leave or change roles.</li><li><b>Audit external members:</b> Monitor and control access to your organization's data by identifying and removing external members from sensitive conversations.</li><li><b>Lookup and update space details:</b> Easily manage space information like names, descriptions, and guidelines.</li><li><b>Verify user membership and upgrade roles: </b>Manage user access and roles within spaces.</li><li><b>And more</b> &#8212; please refer to our <a href="https://developers.google.com/workspace/chat/admin-overview#use-the-api">developer guidance</a> for even more information.</li></ul></div></div><div><h3 style="text-align: left;">Getting started</h3><div><ul style="text-align: left;"><li><b>Admins and developers:&nbsp;</b>Use our Developer Documentation to learn how to <a href="https://developers.google.com/workspace/chat/authenticate-authorize-chat-user#admin-privileges">authenticate and authorize using administrator privilege</a>, <a href="https://developers.google.com/workspace/chat/admin-overview">managing Google Chat spaces as a Workspace admin</a>, and <a href="https://developers.google.com/workspace/chat/search-manage-admin">searching for and managing Google Chat spaces for your Google Workspace organization</a>.</li><li><b>End users: </b>There is no end user impact or action required.</li></ul><div><h3 style="text-align: left;">Rollout pace</h3><div><ul style="text-align: left;"><li>Available now</li></ul></div><div><br /></div><h3 style="text-align: left;">Availability</h3><div><ul style="text-align: left;"><li>Available for all Google Workspace customers</li></ul></div><div><br /></div><h3 style="text-align: left;">Resources</h3><div><ul style="text-align: left;"><li><a href="https://developers.google.com/workspace/chat/authenticate-authorize-chat-user#admin-privileges">Developer Documentation: Authenticate and authorize using administrator privileges</a>&nbsp;</li><li><a href="https://developers.google.com/workspace/chat/search-manage-admin">Developer Documentation: Search for and manage Google Chat spaces for your Google Workspace organization</a></li><li><a href="https://developers.google.com/workspace/chat/authenticate-authorize">Developer Documentation: Authenticate and authorize Chat apps and Google Chat API requests</a>&nbsp;</li><li><a href="https://support.google.com/a/answer/13369245">Google Workspace Admin Help: Manage spaces in the Google Admin console</a></li><li><a href="https://workspaceupdates.googleblog.com/2024/05/google-chat-api-space-management-functionality.html">Google Workspace Updates Blog: Manage spaces at scale with new Chat API functionality</a></li><li><a href="https://workspaceupdates.googleblog.com/2024/06/additional-admin-space-management-capabilities-google-chat-api.html">Google Workspace Updates Blog: Additional admin space management capabilities in Google Chat API are now available in Developer Preview Program</a></li><li><a href="https://developers.google.com/workspace/chat/docs/release-notes?hl=en#September_11_2024">Google Chat Developer Release Notes</a></li></ul></div><div><br /></div></div></div></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper'> </span> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Google Workspace Updates:Admin features for space management via the Chat API are now generally available&url=http://workspaceupdates.googleblog.com/2024/09/google-chat-api-space-management-functionality-generally-available.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=http://workspaceupdates.googleblog.com/2024/09/google-chat-api-space-management-functionality-generally-available.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='http://workspaceupdates.googleblog.com/2024/09/google-chat-api-space-management-functionality-generally-available.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Admin%20console' rel='tag'> Admin console </a> , <a class='label' href='http://workspaceupdates.googleblog.com/search/label/API' rel='tag'> API </a> , <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Developer' rel='tag'> Developer </a> , <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Google%20Chat' rel='tag'> Google Chat </a> , <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Rapid%20Release' rel='tag'> Rapid Release </a> , <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Scheduled%20Release' rel='tag'> Scheduled Release </a> </span> </div> </div> </div> <div class='post' data-id='5994585329190465472' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='http://workspaceupdates.googleblog.com/2024/09/drafts-included-in-marketplace-app-publishing-experience.html' itemprop='url' title='Improving the Google Workspace Marketplace app publishing experience with Drafts '> Improving the Google Workspace Marketplace app publishing experience with Drafts </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Thursday, September 12, 2024 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <h3 style="text-align: left;">What&#8217;s changing</h3><div>Developers can <a href="https://developers.google.com/workspace/marketplace/overview">create apps</a> for the <a href="https://support.google.com/marketplace/answer/172391?hl=en">Google Workspace Marketplace</a> that automate tasks, integrate Google Workspace with third-party products, and enhance communication and collaboration.&nbsp;</div><div><br /></div><div>To improve upon the publishing experience, we&#8217;re excited to announce that developers can now make changes to their app listing, save them as a draft, and send the draft version to review. This will allow developers to preview changes and share drafts with specific users to help with validation before publishing a listing.&nbsp;</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgf8nLM6sxBzX_JB9Y1EFCtlf1bgdEP1PIFMykHvyg2Xyi-JkV_fLaaA6IRw8m0aZudPcmdUPsc2I-B4a2R4MHCsxiZ6Jj10JpYVEwH78qPnsQQguEoNJgw8cTyzRQk3LK45SMjmetN_aoY0oRg6Fz8hVDHAamMhCLnbxknSkJLY73GBRwY8obzzcMzeCg/s960/Marketplace%20app%20publishing%20experience%20now%20includes%20drafts%20.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img alt="Marketplace app publishing experience now includes saving as a draft" border="0" data-original-height="466" data-original-width="960" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgf8nLM6sxBzX_JB9Y1EFCtlf1bgdEP1PIFMykHvyg2Xyi-JkV_fLaaA6IRw8m0aZudPcmdUPsc2I-B4a2R4MHCsxiZ6Jj10JpYVEwH78qPnsQQguEoNJgw8cTyzRQk3LK45SMjmetN_aoY0oRg6Fz8hVDHAamMhCLnbxknSkJLY73GBRwY8obzzcMzeCg/s16000/Marketplace%20app%20publishing%20experience%20now%20includes%20drafts%20.png" /></a></div><div><br /></div><h3 style="text-align: left;">Who&#8217;s impacted&nbsp;</h3><div>Developers&nbsp;</div><div><br /></div><div><br /></div><h3 style="text-align: left;">Why you&#8217;d use it&nbsp;</h3><div>This update allows developers to test and preview their <a href="https://support.google.com/marketplace/answer/172391?hl=en">Google Workspace Marketplace</a> app listing prior to publishing, which enables feedback collection and ultimately makes updating an app listing much easier.&nbsp;</div><div><br /></div><div><br /></div><h3 style="text-align: left;">Additional details&nbsp;</h3><div>While changes are under review in the draft state, the original app listing remains available on the Google Workspace Marketplace.&nbsp;</div><div><br /></div><div><br /></div><h3 style="text-align: left;">Getting started&nbsp;</h3><div><ul style="text-align: left;"><li><b>Admins:</b> There is no admin control for this feature. Visit the Help Center to learn more about <a href="https://support.google.com/a/topic/27380">Google Workspace Marketplace</a> and <a href="https://support.google.com/a/answer/14009805?hl=en&amp;ref_topic=27380">getting started as a Marketplace app admin.</a>&nbsp;</li><li><b>Developers:</b> Visit the developer resources to <a href="https://developers.google.com/workspace/marketplace/manage-app-listing#update_your_app_listing_with_drafts">update your app listing with drafts</a>, learn how to develop <a href="https://developers.google.com/workspace/extend">apps and add-ons for Google Workspace</a>, and <a href="https://developers.google.com/workspace/marketplace/overview">how to make your apps and add-ons available in the Marketplace.&nbsp;</a></li></ul></div><h3 style="text-align: left;">Rollout pace&nbsp;</h3><div><ul style="text-align: left;"><li><a href="https://support.google.com/a/answer/172177">Rapid Release and Scheduled Release domains</a>: Extended rollout (potentially longer than 15 days for feature visibility) starting on September 12, 2024&nbsp;</li></ul></div><div><br /></div><h3 style="text-align: left;">Availability&nbsp;</h3><div><ul style="text-align: left;"><li>Available to all Google Workspace customers, Workspace Individual Subscribers, and users with personal Google accounts&nbsp;</li></ul></div><div><br /></div><h3 style="text-align: left;">Resources</h3><div><ul style="text-align: left;"><li><a href="https://support.google.com/a/topic/27380">Google Workspace Admin Help: Google Workspace Marketplace</a></li><li><a href="https://support.google.com/a/answer/14009805?hl=en&amp;ref_topic=27380">Google Workspace Admin Help: Get started as a Marketplace app admin&nbsp;</a></li><li><a href="https://developers.google.com/workspace/marketplace/overview?sjid=12549395226082304825-NA">Developer Documentation: About the Google Workspace Marketplace SDK&nbsp;</a></li><li><a href="https://developers.google.com/workspace/marketplace/manage-app-listing#update_your_app_listing_with_drafts">Developer Documentation: Update your app listing with drafts</a></li></ul></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> <h3 style="text-align: left;">What&#8217;s changing</h3><div>Developers can <a href="https://developers.google.com/workspace/marketplace/overview">create apps</a> for the <a href="https://support.google.com/marketplace/answer/172391?hl=en">Google Workspace Marketplace</a> that automate tasks, integrate Google Workspace with third-party products, and enhance communication and collaboration.&nbsp;</div><div><br /></div><div>To improve upon the publishing experience, we&#8217;re excited to announce that developers can now make changes to their app listing, save them as a draft, and send the draft version to review. This will allow developers to preview changes and share drafts with specific users to help with validation before publishing a listing.&nbsp;</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgf8nLM6sxBzX_JB9Y1EFCtlf1bgdEP1PIFMykHvyg2Xyi-JkV_fLaaA6IRw8m0aZudPcmdUPsc2I-B4a2R4MHCsxiZ6Jj10JpYVEwH78qPnsQQguEoNJgw8cTyzRQk3LK45SMjmetN_aoY0oRg6Fz8hVDHAamMhCLnbxknSkJLY73GBRwY8obzzcMzeCg/s960/Marketplace%20app%20publishing%20experience%20now%20includes%20drafts%20.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img alt="Marketplace app publishing experience now includes saving as a draft" border="0" data-original-height="466" data-original-width="960" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgf8nLM6sxBzX_JB9Y1EFCtlf1bgdEP1PIFMykHvyg2Xyi-JkV_fLaaA6IRw8m0aZudPcmdUPsc2I-B4a2R4MHCsxiZ6Jj10JpYVEwH78qPnsQQguEoNJgw8cTyzRQk3LK45SMjmetN_aoY0oRg6Fz8hVDHAamMhCLnbxknSkJLY73GBRwY8obzzcMzeCg/s16000/Marketplace%20app%20publishing%20experience%20now%20includes%20drafts%20.png" /></a></div><div><br /></div><h3 style="text-align: left;">Who&#8217;s impacted&nbsp;</h3><div>Developers&nbsp;</div><div><br /></div><div><br /></div><h3 style="text-align: left;">Why you&#8217;d use it&nbsp;</h3><div>This update allows developers to test and preview their <a href="https://support.google.com/marketplace/answer/172391?hl=en">Google Workspace Marketplace</a> app listing prior to publishing, which enables feedback collection and ultimately makes updating an app listing much easier.&nbsp;</div><div><br /></div><div><br /></div><h3 style="text-align: left;">Additional details&nbsp;</h3><div>While changes are under review in the draft state, the original app listing remains available on the Google Workspace Marketplace.&nbsp;</div><div><br /></div><div><br /></div><h3 style="text-align: left;">Getting started&nbsp;</h3><div><ul style="text-align: left;"><li><b>Admins:</b> There is no admin control for this feature. Visit the Help Center to learn more about <a href="https://support.google.com/a/topic/27380">Google Workspace Marketplace</a> and <a href="https://support.google.com/a/answer/14009805?hl=en&amp;ref_topic=27380">getting started as a Marketplace app admin.</a>&nbsp;</li><li><b>Developers:</b> Visit the developer resources to <a href="https://developers.google.com/workspace/marketplace/manage-app-listing#update_your_app_listing_with_drafts">update your app listing with drafts</a>, learn how to develop <a href="https://developers.google.com/workspace/extend">apps and add-ons for Google Workspace</a>, and <a href="https://developers.google.com/workspace/marketplace/overview">how to make your apps and add-ons available in the Marketplace.&nbsp;</a></li></ul></div><h3 style="text-align: left;">Rollout pace&nbsp;</h3><div><ul style="text-align: left;"><li><a href="https://support.google.com/a/answer/172177">Rapid Release and Scheduled Release domains</a>: Extended rollout (potentially longer than 15 days for feature visibility) starting on September 12, 2024&nbsp;</li></ul></div><div><br /></div><h3 style="text-align: left;">Availability&nbsp;</h3><div><ul style="text-align: left;"><li>Available to all Google Workspace customers, Workspace Individual Subscribers, and users with personal Google accounts&nbsp;</li></ul></div><div><br /></div><h3 style="text-align: left;">Resources</h3><div><ul style="text-align: left;"><li><a href="https://support.google.com/a/topic/27380">Google Workspace Admin Help: Google Workspace Marketplace</a></li><li><a href="https://support.google.com/a/answer/14009805?hl=en&amp;ref_topic=27380">Google Workspace Admin Help: Get started as a Marketplace app admin&nbsp;</a></li><li><a href="https://developers.google.com/workspace/marketplace/overview?sjid=12549395226082304825-NA">Developer Documentation: About the Google Workspace Marketplace SDK&nbsp;</a></li><li><a href="https://developers.google.com/workspace/marketplace/manage-app-listing#update_your_app_listing_with_drafts">Developer Documentation: Update your app listing with drafts</a></li></ul></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper'> </span> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Google Workspace Updates:Improving the Google Workspace Marketplace app publishing experience with Drafts &url=http://workspaceupdates.googleblog.com/2024/09/drafts-included-in-marketplace-app-publishing-experience.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=http://workspaceupdates.googleblog.com/2024/09/drafts-included-in-marketplace-app-publishing-experience.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='http://workspaceupdates.googleblog.com/2024/09/drafts-included-in-marketplace-app-publishing-experience.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Developer' rel='tag'> Developer </a> , <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Google%20Workspace%20Marketplace' rel='tag'> Google Workspace Marketplace </a> , <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Rapid%20Release' rel='tag'> Rapid Release </a> , <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Scheduled%20Release' rel='tag'> Scheduled Release </a> </span> </div> </div> </div> <div class='post' data-id='6490836717277270058' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='http://workspaceupdates.googleblog.com/2024/07/access-google-meet-artificats-with-new-drive-api-oauth-scope.html' itemprop='url' title='Access Google Meet artifacts with a new Google Drive API scope'> Access Google Meet artifacts with a new Google Drive API scope </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Thursday, July 11, 2024 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <h3 style="text-align: left;">What&#8217;s changing&nbsp;</h3><div>We&#8217;re introducing a new OAuth scope for the Drive API: <b>drive.meet.readonly</b>. The new scope grants app access to read and download files from a user&#8217;s drive that were created or edited by Google Meet &#8212; this includes meeting transcripts, notes, recordings, and more. This granular level of authorization helps ensure Drive access is not provisioned too broadly and only the necessary files can be accessed. </div><div><br /></div><div><br /></div><div><h3 style="text-align: left;">Getting started</h3><div><ul style="text-align: left;"><li><b>Admins and Developers</b>: Use our Developer Documentation to learn more about <a href="https://developers.google.com/workspace/guides/configure-oauth-consent">configuring the OAuth consent screen and choosing scopes</a> and <a href="https://developers.google.com/drive/api/guides/api-specific-auth">Drive API scopes</a>.</li></ul></div></div><div><h3 style="text-align: left;">Rollout pace</h3><div><ul style="text-align: left;"><li><a href="https://support.google.com/a/answer/172177">Rapid Release and Scheduled Release domains</a>: Extended rollout (potentially longer than 15 days for feature visibility) starting on July 11, 2024</li></ul></div><div><br /></div><h3 style="text-align: left;">Availability</h3><div><ul style="text-align: left;"><li>The <a href="https://developers.google.com/drive/api/guides/about-sdk">Google Drive API </a>is available for all Google Workspace customers</li></ul><div><h3 style="text-align: left;">Resources</h3><div><ul style="text-align: left;"><li><a href="https://developers.google.com/workspace/guides/configure-oauth-consent">Developer Documentation: Configure the OAuth consent screen and choose scopes</a>&nbsp;</li><li><a href="https://developers.google.com/drive/api/guides/api-specific-auth">Developer Documentation: Choose Google Drive API scopes</a></li></ul></div></div></div><div><br /></div></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> <h3 style="text-align: left;">What&#8217;s changing&nbsp;</h3><div>We&#8217;re introducing a new OAuth scope for the Drive API: <b>drive.meet.readonly</b>. The new scope grants app access to read and download files from a user&#8217;s drive that were created or edited by Google Meet &#8212; this includes meeting transcripts, notes, recordings, and more. This granular level of authorization helps ensure Drive access is not provisioned too broadly and only the necessary files can be accessed. </div><div><br /></div><div><br /></div><div><h3 style="text-align: left;">Getting started</h3><div><ul style="text-align: left;"><li><b>Admins and Developers</b>: Use our Developer Documentation to learn more about <a href="https://developers.google.com/workspace/guides/configure-oauth-consent">configuring the OAuth consent screen and choosing scopes</a> and <a href="https://developers.google.com/drive/api/guides/api-specific-auth">Drive API scopes</a>.</li></ul></div></div><div><h3 style="text-align: left;">Rollout pace</h3><div><ul style="text-align: left;"><li><a href="https://support.google.com/a/answer/172177">Rapid Release and Scheduled Release domains</a>: Extended rollout (potentially longer than 15 days for feature visibility) starting on July 11, 2024</li></ul></div><div><br /></div><h3 style="text-align: left;">Availability</h3><div><ul style="text-align: left;"><li>The <a href="https://developers.google.com/drive/api/guides/about-sdk">Google Drive API </a>is available for all Google Workspace customers</li></ul><div><h3 style="text-align: left;">Resources</h3><div><ul style="text-align: left;"><li><a href="https://developers.google.com/workspace/guides/configure-oauth-consent">Developer Documentation: Configure the OAuth consent screen and choose scopes</a>&nbsp;</li><li><a href="https://developers.google.com/drive/api/guides/api-specific-auth">Developer Documentation: Choose Google Drive API scopes</a></li></ul></div></div></div><div><br /></div></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper'> </span> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Google Workspace Updates:Access Google Meet artifacts with a new Google Drive API scope&url=http://workspaceupdates.googleblog.com/2024/07/access-google-meet-artificats-with-new-drive-api-oauth-scope.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=http://workspaceupdates.googleblog.com/2024/07/access-google-meet-artificats-with-new-drive-api-oauth-scope.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='http://workspaceupdates.googleblog.com/2024/07/access-google-meet-artificats-with-new-drive-api-oauth-scope.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='http://workspaceupdates.googleblog.com/search/label/API' rel='tag'> API </a> , <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Developer' rel='tag'> Developer </a> , <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Google%20Drive' rel='tag'> Google Drive </a> , <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Google%20Meet' rel='tag'> Google Meet </a> , <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Rapid%20Release' rel='tag'> Rapid Release </a> , <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Scheduled%20Release' rel='tag'> Scheduled Release </a> </span> </div> </div> </div> <div class='post' data-id='6423844571633129468' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='http://workspaceupdates.googleblog.com/2024/06/additional-admin-space-management-capabilities-google-chat-api.html' itemprop='url' title='Additional admin space management capabilities in Google Chat API are now available in Developer Preview Program'> Additional admin space management capabilities in Google Chat API are now available in Developer Preview Program </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Tuesday, June 25, 2024 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <h3 style="text-align: left;">What&#8217;s changing&nbsp;</h3><div>We recently <a href="https://workspaceupdates.googleblog.com/2024/05/google-chat-api-space-management-functionality.html">announced</a> several new features for the Google Chat API that enable admins to manage spaces at scale. These features include the ability to audit spaces, delete inactive spaces in bulk, and more.&nbsp;</div><div><br /></div><div>Today, we&#8217;re pleased to announce more space management capabilities, which include the ability to:&nbsp;</div><div><ul style="text-align: left;"><li><b>Look up details about specific space.</b></li><li><b>Update space details,</b> including the name of a space, space description, and space guidelines.&nbsp;</li><li><b>Verify user&#8217;s membership status in a specific space.&nbsp;</b></li><li><b>Upgrade a role from</b> space member to space manager.&nbsp;</li></ul><div class="separator" style="clear: both; text-align: center;"><iframe allowfullscreen="" class="BLOG_video_class" height="266" src="https://www.youtube.com/embed/Tb_lTHCCGDc" width="320" youtube-src-id="Tb_lTHCCGDc"></iframe></div><br /><div><br /></div><div><br /></div>These features are available now through our Developer Preview Program &#8212; see here for more information on <a href="https://developers.google.com/workspace/preview">how to enroll in the Developer Preview program</a>.&nbsp;</div><div><br /></div><div><br /></div><h3 style="text-align: left;">Getting started&nbsp;</h3><div><ul style="text-align: left;"><li><b>Admins and developers:&nbsp;</b></li><ul><li>If you are part of the Google Workspace Developer Preview, you will get these features by default. Otherwise, you must apply for access using this form.&nbsp;</li><li>Use our Developer Documentation to learn how to authenticate and authorize using administrator privilege.&nbsp;</li></ul><li><b>End users:</b> There is no end user impact or action required.&nbsp;</li></ul></div><div><br /></div><h3 style="text-align: left;">Rollout pace&nbsp;</h3><div><ul style="text-align: left;"><li>This feature is available now through the <a href="https://developers.google.com/workspace/preview">Google Workspace Developer Preview Program</a>&nbsp;</li></ul><h3 style="text-align: left;">Availability</h3></div><div><ul style="text-align: left;"><li>New features for the Google Chat API scoped to admin users are available to participants of Google Workspace Developer Preview Program.&nbsp;</li></ul><h3 style="text-align: left;">Resources&nbsp;</h3></div><div><ul style="text-align: left;"><li><a href="https://developers.google.com/workspace/preview">Apply to join the Developer Preview Program&nbsp;</a></li><li><a href="https://developers.google.com/workspace/chat/authenticate-authorize-chat-user#admin-privileges">Developer Documentation: Authenticate and authorize using administrator privileges&nbsp;</a></li><li><a href="https://developers.google.com/workspace/chat/authenticate-authorize-chat-user">Developer Documentation: Authenticate and authorize as a Google Chat user&nbsp;</a></li><li><a href="https://developers.google.com/workspace/chat/authenticate-authorize">Developer Documentation: Authenticate and authorize Chat apps and Google Chat API requests&nbsp;</a></li><li><a href="https://workspaceupdates.googleblog.com/2024/05/google-chat-api-space-management-functionality.html">Google Workspace Updates Blog: Manage spaces at scale with new Chat API functionality</a></li></ul></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> <h3 style="text-align: left;">What&#8217;s changing&nbsp;</h3><div>We recently <a href="https://workspaceupdates.googleblog.com/2024/05/google-chat-api-space-management-functionality.html">announced</a> several new features for the Google Chat API that enable admins to manage spaces at scale. These features include the ability to audit spaces, delete inactive spaces in bulk, and more.&nbsp;</div><div><br /></div><div>Today, we&#8217;re pleased to announce more space management capabilities, which include the ability to:&nbsp;</div><div><ul style="text-align: left;"><li><b>Look up details about specific space.</b></li><li><b>Update space details,</b> including the name of a space, space description, and space guidelines.&nbsp;</li><li><b>Verify user&#8217;s membership status in a specific space.&nbsp;</b></li><li><b>Upgrade a role from</b> space member to space manager.&nbsp;</li></ul><div class="separator" style="clear: both; text-align: center;"><iframe allowfullscreen="" class="BLOG_video_class" height="266" src="https://www.youtube.com/embed/Tb_lTHCCGDc" width="320" youtube-src-id="Tb_lTHCCGDc"></iframe></div><br /><div><br /></div><div><br /></div>These features are available now through our Developer Preview Program &#8212; see here for more information on <a href="https://developers.google.com/workspace/preview">how to enroll in the Developer Preview program</a>.&nbsp;</div><div><br /></div><div><br /></div><h3 style="text-align: left;">Getting started&nbsp;</h3><div><ul style="text-align: left;"><li><b>Admins and developers:&nbsp;</b></li><ul><li>If you are part of the Google Workspace Developer Preview, you will get these features by default. Otherwise, you must apply for access using this form.&nbsp;</li><li>Use our Developer Documentation to learn how to authenticate and authorize using administrator privilege.&nbsp;</li></ul><li><b>End users:</b> There is no end user impact or action required.&nbsp;</li></ul></div><div><br /></div><h3 style="text-align: left;">Rollout pace&nbsp;</h3><div><ul style="text-align: left;"><li>This feature is available now through the <a href="https://developers.google.com/workspace/preview">Google Workspace Developer Preview Program</a>&nbsp;</li></ul><h3 style="text-align: left;">Availability</h3></div><div><ul style="text-align: left;"><li>New features for the Google Chat API scoped to admin users are available to participants of Google Workspace Developer Preview Program.&nbsp;</li></ul><h3 style="text-align: left;">Resources&nbsp;</h3></div><div><ul style="text-align: left;"><li><a href="https://developers.google.com/workspace/preview">Apply to join the Developer Preview Program&nbsp;</a></li><li><a href="https://developers.google.com/workspace/chat/authenticate-authorize-chat-user#admin-privileges">Developer Documentation: Authenticate and authorize using administrator privileges&nbsp;</a></li><li><a href="https://developers.google.com/workspace/chat/authenticate-authorize-chat-user">Developer Documentation: Authenticate and authorize as a Google Chat user&nbsp;</a></li><li><a href="https://developers.google.com/workspace/chat/authenticate-authorize">Developer Documentation: Authenticate and authorize Chat apps and Google Chat API requests&nbsp;</a></li><li><a href="https://workspaceupdates.googleblog.com/2024/05/google-chat-api-space-management-functionality.html">Google Workspace Updates Blog: Manage spaces at scale with new Chat API functionality</a></li></ul></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper'> </span> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Google Workspace Updates:Additional admin space management capabilities in Google Chat API are now available in Developer Preview Program&url=http://workspaceupdates.googleblog.com/2024/06/additional-admin-space-management-capabilities-google-chat-api.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=http://workspaceupdates.googleblog.com/2024/06/additional-admin-space-management-capabilities-google-chat-api.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='http://workspaceupdates.googleblog.com/2024/06/additional-admin-space-management-capabilities-google-chat-api.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='http://workspaceupdates.googleblog.com/search/label/API' rel='tag'> API </a> , <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Developer' rel='tag'> Developer </a> , <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Google%20Chat' rel='tag'> Google Chat </a> , <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Other' rel='tag'> Other </a> </span> </div> </div> </div> <div class='post' data-id='3440936010682810469' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='http://workspaceupdates.googleblog.com/2024/06/grading-periods-api-for-google-classroom.html' itemprop='url' title='Grading periods API for Google Classroom is now available in Developer Preview'> Grading periods API for Google Classroom is now available in Developer Preview </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Tuesday, June 25, 2024 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <h3 style="text-align: left;">What&#8217;s changing</h3><div><a href="http://workspaceupdates.googleblog.com/2023/05/grading-periods-google-classroom.html">Last year</a>, we introduced grading periods, an option that allows administrators and teachers to define and apply grading periods segmented from the entire school year to their Google Classroom assignments.&nbsp;</div><div><br /></div><div>Today, we&#8217;re excited to announce <a href="https://developers.google.com/classroom/grading-periods/access-gp-api">grading period endpoints</a> and capabilities in the <a href="https://support.google.com/edu/classroom/answer/6253304?hl=en#zippy=">Classroom API</a>, available through the <a href="https://developers.google.com/workspace/preview">Google Workspace Developer Preview Program</a>. Specifically, developers can now:&nbsp;</div><div><br /></div><div><ul style="text-align: left;"><li>Create, modify, and delete grading periods on courses&nbsp;</li><li>Read grading periods on courses&nbsp;</li><li>Reference and set/read grading periods on <a href="https://www.google.com/url?q=https://developers.google.com/classroom/reference/rest/v1/courses.courseWork&amp;sa=D&amp;source=docs&amp;ust=1719336277410118&amp;usg=AOvVaw3n0T6PpMTAJbyZr1K8pjNR">CourseWork resources</a></li><li>Apply grading period settings to existing coursework items</li></ul></div><h3 style="text-align: left;">Who&#8217;s impacted&nbsp;</h3><div>Developers&nbsp;</div><div><br /></div><div><br /></div><h3 style="text-align: left;">Why you&#8217;d use it&nbsp;</h3><div>The new grading periods endpoints allows developers to create, modify, and read grading periods in Classroom on behalf of administrators and teachers.&nbsp;</div><div><br /></div><div><br /></div><h3 style="text-align: left;">Getting started&nbsp;</h3><div><ul style="text-align: left;"><li><b>Admins:</b> The Classroom API provides a RESTful interface for you to manage courses and rosters in Google Classroom. Learn more about the <a href="https://developers.google.com/classroom/guides/get-started">Classroom API overview.&nbsp;</a></li><li><b>Developers:&nbsp;</b></li><ul><li>To use the grading periods API, developers can apply for access through our <a href="https://developers.google.com/workspace/preview">Google Workspace Developer Preview Program.&nbsp;</a></li><li>Application developers can use the Classroom API to integrate their apps with Classroom. These apps need to use OAuth 2.0 to request permission to view classes and rosters from teachers. <a href="https://support.google.com/edu/classroom/answer/6250906">Admins can restrict</a> whether teachers and students in their domain can authorize apps to access their Google Classroom data.&nbsp;</li><li>All API and Classroom share button integrations should follow the <a href="https://developers.google.com/classroom/brand">Classroom brand guidelines.&nbsp;</a></li></ul></ul></div><div><br /></div><h3 style="text-align: left;">Rollout pace&nbsp;</h3><div><ul style="text-align: left;"><li>This is available now through the <a href="https://developers.google.com/workspace/preview">Google Workspace Developer Preview Program&nbsp;</a></li></ul></div><h3 style="text-align: left;">Availability&nbsp;</h3><div>Available for Google Workspace:&nbsp;</div><div><ul style="text-align: left;"><li><b>Education</b> Plus&nbsp;</li></ul></div><div><br /></div><h3 style="text-align: left;">Resources&nbsp;</h3><div><ul style="text-align: left;"><li><a href="https://support.google.com/edu/classroom/answer/6253304?hl=en#zippy=">Google Help: Classroom API overview</a>&nbsp;</li><li><a href="https://developers.google.com/classroom/guides/get-started">Developer Documentation: The Classroom API&nbsp;</a></li><li><a href="https://developers.google.com/workspace/preview">Developer Preview Program</a></li></ul></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> <h3 style="text-align: left;">What&#8217;s changing</h3><div><a href="http://workspaceupdates.googleblog.com/2023/05/grading-periods-google-classroom.html">Last year</a>, we introduced grading periods, an option that allows administrators and teachers to define and apply grading periods segmented from the entire school year to their Google Classroom assignments.&nbsp;</div><div><br /></div><div>Today, we&#8217;re excited to announce <a href="https://developers.google.com/classroom/grading-periods/access-gp-api">grading period endpoints</a> and capabilities in the <a href="https://support.google.com/edu/classroom/answer/6253304?hl=en#zippy=">Classroom API</a>, available through the <a href="https://developers.google.com/workspace/preview">Google Workspace Developer Preview Program</a>. Specifically, developers can now:&nbsp;</div><div><br /></div><div><ul style="text-align: left;"><li>Create, modify, and delete grading periods on courses&nbsp;</li><li>Read grading periods on courses&nbsp;</li><li>Reference and set/read grading periods on <a href="https://www.google.com/url?q=https://developers.google.com/classroom/reference/rest/v1/courses.courseWork&amp;sa=D&amp;source=docs&amp;ust=1719336277410118&amp;usg=AOvVaw3n0T6PpMTAJbyZr1K8pjNR">CourseWork resources</a></li><li>Apply grading period settings to existing coursework items</li></ul></div><h3 style="text-align: left;">Who&#8217;s impacted&nbsp;</h3><div>Developers&nbsp;</div><div><br /></div><div><br /></div><h3 style="text-align: left;">Why you&#8217;d use it&nbsp;</h3><div>The new grading periods endpoints allows developers to create, modify, and read grading periods in Classroom on behalf of administrators and teachers.&nbsp;</div><div><br /></div><div><br /></div><h3 style="text-align: left;">Getting started&nbsp;</h3><div><ul style="text-align: left;"><li><b>Admins:</b> The Classroom API provides a RESTful interface for you to manage courses and rosters in Google Classroom. Learn more about the <a href="https://developers.google.com/classroom/guides/get-started">Classroom API overview.&nbsp;</a></li><li><b>Developers:&nbsp;</b></li><ul><li>To use the grading periods API, developers can apply for access through our <a href="https://developers.google.com/workspace/preview">Google Workspace Developer Preview Program.&nbsp;</a></li><li>Application developers can use the Classroom API to integrate their apps with Classroom. These apps need to use OAuth 2.0 to request permission to view classes and rosters from teachers. <a href="https://support.google.com/edu/classroom/answer/6250906">Admins can restrict</a> whether teachers and students in their domain can authorize apps to access their Google Classroom data.&nbsp;</li><li>All API and Classroom share button integrations should follow the <a href="https://developers.google.com/classroom/brand">Classroom brand guidelines.&nbsp;</a></li></ul></ul></div><div><br /></div><h3 style="text-align: left;">Rollout pace&nbsp;</h3><div><ul style="text-align: left;"><li>This is available now through the <a href="https://developers.google.com/workspace/preview">Google Workspace Developer Preview Program&nbsp;</a></li></ul></div><h3 style="text-align: left;">Availability&nbsp;</h3><div>Available for Google Workspace:&nbsp;</div><div><ul style="text-align: left;"><li><b>Education</b> Plus&nbsp;</li></ul></div><div><br /></div><h3 style="text-align: left;">Resources&nbsp;</h3><div><ul style="text-align: left;"><li><a href="https://support.google.com/edu/classroom/answer/6253304?hl=en#zippy=">Google Help: Classroom API overview</a>&nbsp;</li><li><a href="https://developers.google.com/classroom/guides/get-started">Developer Documentation: The Classroom API&nbsp;</a></li><li><a href="https://developers.google.com/workspace/preview">Developer Preview Program</a></li></ul></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper'> </span> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Google Workspace Updates:Grading periods API for Google Classroom is now available in Developer Preview&url=http://workspaceupdates.googleblog.com/2024/06/grading-periods-api-for-google-classroom.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=http://workspaceupdates.googleblog.com/2024/06/grading-periods-api-for-google-classroom.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='http://workspaceupdates.googleblog.com/2024/06/grading-periods-api-for-google-classroom.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='http://workspaceupdates.googleblog.com/search/label/API' rel='tag'> API </a> , <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Developer' rel='tag'> Developer </a> , <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Google%20Classroom' rel='tag'> Google Classroom </a> , <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Other' rel='tag'> Other </a> </span> </div> </div> </div> <div class='post' data-id='2382038232456933110' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='http://workspaceupdates.googleblog.com/2024/06/google-classroom-add-ons-now-generally-available-for-developers.html' itemprop='url' title='Google Classroom add-ons now generally available to Google Workspace developers'> Google Classroom add-ons now generally available to Google Workspace developers </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Monday, June 24, 2024 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <h3 style="text-align: left;">What&#8217;s changing</h3><div><a href="https://workspaceupdates.googleblog.com/2022/08/classroom-add-ons.html">In 2022</a>, we made it easy to seamlessly access popular Education Technology tools directly in Google Classroom. We partnered with 20+ EdTech companies, including <a href="https://workspace.google.com/marketplace/app/kahoot/878579687799">Kahoot!</a>, <a href="https://workspace.google.com/marketplace/app/pear_deck_for_google_classroom/454012513681">Pear Deck</a>, <a href="https://workspace.google.com/marketplace/app/ixl_learning/850510713245">IXL</a>, <a href="https://workspace.google.com/marketplace/app/readworks/142907981801">ReadWorks</a>, and <a href="https://workspace.google.com/marketplace/app/nearpod/28288372596">Nearpod</a>, to build Google Classroom add-ons. These new integrations let educators and students easily find, use, and grade great content in their favorite EdTech tools without having to navigate to external websites and apps.&nbsp;</div><div><br /></div><div><br /></div><div>Today, we&#8217;re excited to make Classroom add-ons generally available to all developers. Now, developers can build an add-on to allow teachers to do the following within Classroom:&nbsp;</div><div><br /></div><blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px; text-align: left;"><div><li>Discover and attach content to coursework&nbsp;</li></div><div><li>Preview content from student perspective&nbsp;</li></div><div><li>Review student responses to activities&nbsp;</li></div><div><li>Save time with automatic grading of student responses&nbsp;</li></div></blockquote><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaRD0U1-ou-q1HUvi20aASNUeyQmwNvr45lmh5ia_x7Rh1IdIL059b7KxXFE41yEesy9CM_2TiBSsOSio3h2e9MpsNEwdKevGEJHL7tTQhtcOdyh364gmcttuTR5IlYIHBPDKTNxgZxZrdJzL5ReFLp2dG7emCqG4lTKiesxzpgZQGf2OM3GWGidQYeH4/s1600/Google%20Classroom%20add-ons%20now%20generally%20available%20to%20Google%20Workspace%20developer.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img alt="Google Classroom add-ons now generally available to Google Workspace developers" border="0" data-original-height="900" data-original-width="1600" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaRD0U1-ou-q1HUvi20aASNUeyQmwNvr45lmh5ia_x7Rh1IdIL059b7KxXFE41yEesy9CM_2TiBSsOSio3h2e9MpsNEwdKevGEJHL7tTQhtcOdyh364gmcttuTR5IlYIHBPDKTNxgZxZrdJzL5ReFLp2dG7emCqG4lTKiesxzpgZQGf2OM3GWGidQYeH4/s16000/Google%20Classroom%20add-ons%20now%20generally%20available%20to%20Google%20Workspace%20developer.png" /></a></div><h3 style="text-align: left;">Who&#8217;s impacted&nbsp;</h3></div><div>Admins, end users, and developers&nbsp;</div><div><br /></div><div><br /></div><h3 style="text-align: left;">Why it&#8217;s important&nbsp;</h3><div>Add-ons complement other Classroom API features and let educators and students experience content without having to leave Google Classroom. In addition, Classroom add-ons show up directly in Google Classroom as well on the Google Workspace Marketplace, which is the hub for administrators to manage tools across all of their Google products.&nbsp;</div><div><br /></div><div><br /></div><h3 style="text-align: left;">Getting started&nbsp;</h3><div><ul style="text-align: left;"><li><b>Admins:&nbsp;</b></li><ul><li>District admins must enable access to add-ons in order for educators to use these features. Visit the Help Center to learn more about <a href="https://support.google.com/edu/classroom/answer/12351654?visit_id=637940381907840281-1631459481&amp;p=add_ons_admins&amp;rd=1">installation instructions for setting up the add-ons feature and individual add-ons for a domain, OU, or group.&nbsp;</a></li><li>Once you&#8217;ve set up add-ons, your district can use this <a href="https://goo.gle/3BsePol">professional development kit</a>, which includes a <a href="https://goo.gle/3POT9Y8">presentation</a> and <a href="https://goo.gle/3OGjgil">lesson plan</a>, to train educators on how to get started with add-ons.&nbsp;</li></ul><li><b>Developers:</b> All developers can now build a Classroom add-on. Learn how to get started using the Developer Documentation <a href="https://developers.google.com/classroom/add-ons">here</a>.&nbsp;</li><li><b>Educators:&nbsp;</b></li><ul><li>Browse the <a href="https://workspace.google.com/marketplace?host=classroom">Google Workspace Marketplace</a> or <a href="https://edu.google.com/intl/ALL_us/get-started/apps/">Google for Education App Hub</a> to find and install add-ons that you can install for yourself.&nbsp;</li><li>Once you or an administrator has installed an add-on, you will see an &#8220;add-ons&#8221; module when creating Announcements, Assignments, or Materials. Select one of the listed providers to launch their add-on. Visit the Help Center to learn more about <a href="https://support.google.com/edu/classroom/answer/12234529?visit_id=637940381907840281-1631459481&amp;p=add_ons&amp;rd=1">using add-ons in Classroom.&nbsp;</a></li></ul></ul></div><h3 style="text-align: left;">Rollout pace&nbsp;</h3><div><ul style="text-align: left;"><li>This feature is now&nbsp;available&nbsp;</li></ul></div><h3 style="text-align: left;">Availability&nbsp;</h3><div>Available for Google Workspace:&nbsp;</div><div><ul style="text-align: left;"><li>Education Plus and the Teaching &amp; Learning Upgrade&nbsp;</li></ul></div><h3 style="text-align: left;">Resources&nbsp;</h3><div><ul style="text-align: left;"><li><a href="https://support.google.com/edu/classroom/answer/12351654?visit_id=637940381907840281-1631459481&amp;p=add_ons_admins&amp;rd=1">Google Workspace Admin Help: Install and allowlist Classroom add-ons&nbsp;</a></li><li><a href="https://support.google.com/edu/classroom/answer/12234529?visit_id=637940381907840281-1631459481&amp;p=add_ons&amp;rd=1">Google Help: Use add-ons in Classroom&nbsp;</a></li><li><a href="https://developers.google.com/classroom/add-ons">Developer Documentation: Classroom add-ons</a></li></ul></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> <h3 style="text-align: left;">What&#8217;s changing</h3><div><a href="https://workspaceupdates.googleblog.com/2022/08/classroom-add-ons.html">In 2022</a>, we made it easy to seamlessly access popular Education Technology tools directly in Google Classroom. We partnered with 20+ EdTech companies, including <a href="https://workspace.google.com/marketplace/app/kahoot/878579687799">Kahoot!</a>, <a href="https://workspace.google.com/marketplace/app/pear_deck_for_google_classroom/454012513681">Pear Deck</a>, <a href="https://workspace.google.com/marketplace/app/ixl_learning/850510713245">IXL</a>, <a href="https://workspace.google.com/marketplace/app/readworks/142907981801">ReadWorks</a>, and <a href="https://workspace.google.com/marketplace/app/nearpod/28288372596">Nearpod</a>, to build Google Classroom add-ons. These new integrations let educators and students easily find, use, and grade great content in their favorite EdTech tools without having to navigate to external websites and apps.&nbsp;</div><div><br /></div><div><br /></div><div>Today, we&#8217;re excited to make Classroom add-ons generally available to all developers. Now, developers can build an add-on to allow teachers to do the following within Classroom:&nbsp;</div><div><br /></div><blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px; text-align: left;"><div><li>Discover and attach content to coursework&nbsp;</li></div><div><li>Preview content from student perspective&nbsp;</li></div><div><li>Review student responses to activities&nbsp;</li></div><div><li>Save time with automatic grading of student responses&nbsp;</li></div></blockquote><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaRD0U1-ou-q1HUvi20aASNUeyQmwNvr45lmh5ia_x7Rh1IdIL059b7KxXFE41yEesy9CM_2TiBSsOSio3h2e9MpsNEwdKevGEJHL7tTQhtcOdyh364gmcttuTR5IlYIHBPDKTNxgZxZrdJzL5ReFLp2dG7emCqG4lTKiesxzpgZQGf2OM3GWGidQYeH4/s1600/Google%20Classroom%20add-ons%20now%20generally%20available%20to%20Google%20Workspace%20developer.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img alt="Google Classroom add-ons now generally available to Google Workspace developers" border="0" data-original-height="900" data-original-width="1600" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaRD0U1-ou-q1HUvi20aASNUeyQmwNvr45lmh5ia_x7Rh1IdIL059b7KxXFE41yEesy9CM_2TiBSsOSio3h2e9MpsNEwdKevGEJHL7tTQhtcOdyh364gmcttuTR5IlYIHBPDKTNxgZxZrdJzL5ReFLp2dG7emCqG4lTKiesxzpgZQGf2OM3GWGidQYeH4/s16000/Google%20Classroom%20add-ons%20now%20generally%20available%20to%20Google%20Workspace%20developer.png" /></a></div><h3 style="text-align: left;">Who&#8217;s impacted&nbsp;</h3></div><div>Admins, end users, and developers&nbsp;</div><div><br /></div><div><br /></div><h3 style="text-align: left;">Why it&#8217;s important&nbsp;</h3><div>Add-ons complement other Classroom API features and let educators and students experience content without having to leave Google Classroom. In addition, Classroom add-ons show up directly in Google Classroom as well on the Google Workspace Marketplace, which is the hub for administrators to manage tools across all of their Google products.&nbsp;</div><div><br /></div><div><br /></div><h3 style="text-align: left;">Getting started&nbsp;</h3><div><ul style="text-align: left;"><li><b>Admins:&nbsp;</b></li><ul><li>District admins must enable access to add-ons in order for educators to use these features. Visit the Help Center to learn more about <a href="https://support.google.com/edu/classroom/answer/12351654?visit_id=637940381907840281-1631459481&amp;p=add_ons_admins&amp;rd=1">installation instructions for setting up the add-ons feature and individual add-ons for a domain, OU, or group.&nbsp;</a></li><li>Once you&#8217;ve set up add-ons, your district can use this <a href="https://goo.gle/3BsePol">professional development kit</a>, which includes a <a href="https://goo.gle/3POT9Y8">presentation</a> and <a href="https://goo.gle/3OGjgil">lesson plan</a>, to train educators on how to get started with add-ons.&nbsp;</li></ul><li><b>Developers:</b> All developers can now build a Classroom add-on. Learn how to get started using the Developer Documentation <a href="https://developers.google.com/classroom/add-ons">here</a>.&nbsp;</li><li><b>Educators:&nbsp;</b></li><ul><li>Browse the <a href="https://workspace.google.com/marketplace?host=classroom">Google Workspace Marketplace</a> or <a href="https://edu.google.com/intl/ALL_us/get-started/apps/">Google for Education App Hub</a> to find and install add-ons that you can install for yourself.&nbsp;</li><li>Once you or an administrator has installed an add-on, you will see an &#8220;add-ons&#8221; module when creating Announcements, Assignments, or Materials. Select one of the listed providers to launch their add-on. Visit the Help Center to learn more about <a href="https://support.google.com/edu/classroom/answer/12234529?visit_id=637940381907840281-1631459481&amp;p=add_ons&amp;rd=1">using add-ons in Classroom.&nbsp;</a></li></ul></ul></div><h3 style="text-align: left;">Rollout pace&nbsp;</h3><div><ul style="text-align: left;"><li>This feature is now&nbsp;available&nbsp;</li></ul></div><h3 style="text-align: left;">Availability&nbsp;</h3><div>Available for Google Workspace:&nbsp;</div><div><ul style="text-align: left;"><li>Education Plus and the Teaching &amp; Learning Upgrade&nbsp;</li></ul></div><h3 style="text-align: left;">Resources&nbsp;</h3><div><ul style="text-align: left;"><li><a href="https://support.google.com/edu/classroom/answer/12351654?visit_id=637940381907840281-1631459481&amp;p=add_ons_admins&amp;rd=1">Google Workspace Admin Help: Install and allowlist Classroom add-ons&nbsp;</a></li><li><a href="https://support.google.com/edu/classroom/answer/12234529?visit_id=637940381907840281-1631459481&amp;p=add_ons&amp;rd=1">Google Help: Use add-ons in Classroom&nbsp;</a></li><li><a href="https://developers.google.com/classroom/add-ons">Developer Documentation: Classroom add-ons</a></li></ul></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper'> </span> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Google Workspace Updates:Google Classroom add-ons now generally available to Google Workspace developers&url=http://workspaceupdates.googleblog.com/2024/06/google-classroom-add-ons-now-generally-available-for-developers.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=http://workspaceupdates.googleblog.com/2024/06/google-classroom-add-ons-now-generally-available-for-developers.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='http://workspaceupdates.googleblog.com/2024/06/google-classroom-add-ons-now-generally-available-for-developers.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Developer' rel='tag'> Developer </a> , <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Google%20Classroom' rel='tag'> Google Classroom </a> , <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Other' rel='tag'> Other </a> </span> </div> </div> </div> <div class='post' data-id='2838857203760256179' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='http://workspaceupdates.googleblog.com/2024/05/google-calendar-api-event-type-fromgmail.html' itemprop='url' title='The Calendar API now distinguishes events created from Gmail '> The Calendar API now distinguishes events created from Gmail </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Thursday, May 30, 2024 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <h3 style="text-align: left;">What&#8217;s changing</h3><p>Starting May 30, 2024, the Calendar API will distinguish events created from Gmail. New and existing events from Gmail that are scheduled for a future date will:</p><p></p><ul style="text-align: left;"><li>Appear with a new <a href="https://developers.google.com/calendar/api/v3/reference/events#resource">event Type</a> &#8220;fromGmail&#8221; instead of &#8220;default&#8221;.</li><li>Include the email recipient as the organizer instead of &#8220;unknownorganizer@calendar.google.com&#8221;.</li><li>New &#8220;fromGmail&#8221; filters for both <a href="https://developers.google.com/calendar/api/v3/reference/events/list">Events.list</a> and <a href="https://developers.google.com/calendar/api/v3/reference/events/watch">Events.watch</a> will be available.</li></ul><div><div class="separator" style="clear: both;">In Google Calendar clients events from email may be rendered slightly differently to regular events and show a link back to the original email:</div><div class="separator" style="clear: both;"><br style="text-align: center;" /></div></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5cg-gwZIWrrc1_M7j3xX3pdxPzEYdTFYOjj7llno9Go0zPfLCDdI3YGb9vdfA-glek9KPel75O2QZXLHFg-8XclOLlf834kW_JfDdJNVUA5U2WJpylTRjUIDWKK73dh1d3cnngrJE2U6zbTqGwkKEVPJ_W-GyQaHAOdtsbukK7l7Bl-ELoQ9CK73qKhE/s1600/1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1600" data-original-width="720" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5cg-gwZIWrrc1_M7j3xX3pdxPzEYdTFYOjj7llno9Go0zPfLCDdI3YGb9vdfA-glek9KPel75O2QZXLHFg-8XclOLlf834kW_JfDdJNVUA5U2WJpylTRjUIDWKK73dh1d3cnngrJE2U6zbTqGwkKEVPJ_W-GyQaHAOdtsbukK7l7Bl-ELoQ9CK73qKhE/w288-h640/1.png" width="288" /></a></div><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both;"><br /></div><div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCxRX5G8F3TqP2sxT9guF1x1Po7QV2pS5yI7KBUBEYCuVSflAWnPzhd0cVo4-RAiYNKi1HRA3z91y_YCZ22T7ZcmieMH8FJ3srInR-uIHsZPLIXgCF-3okby7Xm4B_XFea4HHUDK-A1G0ygze-voZMVXn2ul-lqSR5Ph8eB49Sfv3nb2piCk-jGdFwnow/s1600/2.png" style="clear: left; float: left; font-size: 23.4px; margin-bottom: 1em; margin-right: 1em;"><br /></a></div><div class="separator" style="clear: both; text-align: left;">Google Calendar limits edits for events from email:</div><div class="separator" style="clear: both;"><div><br /></div><div><br /></div></div></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijd30MKhHNZF68FhtcGFRfJUSxPBBxd-lUMCbzT5YRB8lPqpgH8lV2ncfe3C-m61e1YTZC82ySTQK5COjskUE6nDYqKzgCFOcgklpN0DfR2-sYZ_F1VKXhoJCWPjhjdr95SEpyhqqtxA7s9C25lRPJyT2ZJJYKyFoAUx4-pbMqF0QUvoF7VMs5oNHdoDE/s1600/2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1600" data-original-width="720" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijd30MKhHNZF68FhtcGFRfJUSxPBBxd-lUMCbzT5YRB8lPqpgH8lV2ncfe3C-m61e1YTZC82ySTQK5COjskUE6nDYqKzgCFOcgklpN0DfR2-sYZ_F1VKXhoJCWPjhjdr95SEpyhqqtxA7s9C25lRPJyT2ZJJYKyFoAUx4-pbMqF0QUvoF7VMs5oNHdoDE/w288-h640/2.png" width="288" /></a></div><br /><div><h3 style="text-align: left;">Additional details</h3><div>If you&#8217;re using the Calendar API, we recommend the following to help avoid any disruptions in your applications:</div><div><ul style="text-align: left;"><li>Ensure that your code does not apply restricted updates to events with the type &#8220;fromGmail&#8221;.</li><ul><li>Temporarily, updates on events with the type &#8220;fromGmail&#8221; are restricted to the <a href="https://developers.google.com/calendar/api/v3/reference/events/update#request-body">properties</a> reminders, colorId, visibility, status, and extendedProperties. Stay tuned to the Workspace updates blog for more information.</li><li>Review your code if it filters by eventType for Events.list or Events.watch. Filtering by eventType &#8220;default&#8221; will no longer return events extracted from emails.</li></ul></ul><div><h3 style="text-align: left;">Getting started</h3><div><ul style="text-align: left;"><li><b>Developers:</b> Use our Developer Documentation for more information about <a href="https://developers.google.com/calendar/api/v3/reference/events">the Calendar API eventType</a>.</li><li><b>End users:</b> There is no end user action required. Visit the Help Center to learn more about <a href="https://support.google.com/calendar/answer/6084018?hl=en&amp;co=GENIE.Platform%3DDesktop#zippy=%2Cdont-show-events-created-in-gmail">managing events automatically imported from Gmail</a>.</li></ul></div><div><br /></div><h3 style="text-align: left;">Rollout pace</h3><div><ul style="text-align: left;"><li><a href="https://support.google.com/a/answer/172177">Rapid Release and Scheduled Release domains</a>: Extended rollout (potentially longer than 15 days for feature visibility) starting on May 30, 2024</li></ul></div></div></div></div><div><h3 style="text-align: left;">Availability</h3><div><ul style="text-align: left;"><li><a href="https://developers.google.com/calendar/api/guides/overview">The Google Calendar API</a> is available to all Google Workspace customers</li></ul></div><div><br /></div><h3 style="text-align: left;">Resources</h3><div><ul style="text-align: left;"><li><a href="https://developers.google.com/calendar/api/v3/reference/events">Google Calendar API: Events</a></li><li><a href="https://developers.google.com/calendar/api/guides/overview">Google Calendar API Overview</a></li><li><a href="https://support.google.com/calendar/answer/6084018?hl=en&amp;co=GENIE.Platform%3DDesktop#zippy=%2Cdont-show-events-created-in-gmail">Google Calendar: Events from Gmail</a></li></ul></div><div><br /></div></div><p></p> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> <h3 style="text-align: left;">What&#8217;s changing</h3><p>Starting May 30, 2024, the Calendar API will distinguish events created from Gmail. New and existing events from Gmail that are scheduled for a future date will:</p><p></p><ul style="text-align: left;"><li>Appear with a new <a href="https://developers.google.com/calendar/api/v3/reference/events#resource">event Type</a> &#8220;fromGmail&#8221; instead of &#8220;default&#8221;.</li><li>Include the email recipient as the organizer instead of &#8220;unknownorganizer@calendar.google.com&#8221;.</li><li>New &#8220;fromGmail&#8221; filters for both <a href="https://developers.google.com/calendar/api/v3/reference/events/list">Events.list</a> and <a href="https://developers.google.com/calendar/api/v3/reference/events/watch">Events.watch</a> will be available.</li></ul><div><div class="separator" style="clear: both;">In Google Calendar clients events from email may be rendered slightly differently to regular events and show a link back to the original email:</div><div class="separator" style="clear: both;"><br style="text-align: center;" /></div></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5cg-gwZIWrrc1_M7j3xX3pdxPzEYdTFYOjj7llno9Go0zPfLCDdI3YGb9vdfA-glek9KPel75O2QZXLHFg-8XclOLlf834kW_JfDdJNVUA5U2WJpylTRjUIDWKK73dh1d3cnngrJE2U6zbTqGwkKEVPJ_W-GyQaHAOdtsbukK7l7Bl-ELoQ9CK73qKhE/s1600/1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1600" data-original-width="720" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5cg-gwZIWrrc1_M7j3xX3pdxPzEYdTFYOjj7llno9Go0zPfLCDdI3YGb9vdfA-glek9KPel75O2QZXLHFg-8XclOLlf834kW_JfDdJNVUA5U2WJpylTRjUIDWKK73dh1d3cnngrJE2U6zbTqGwkKEVPJ_W-GyQaHAOdtsbukK7l7Bl-ELoQ9CK73qKhE/w288-h640/1.png" width="288" /></a></div><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both;"><br /></div><div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCxRX5G8F3TqP2sxT9guF1x1Po7QV2pS5yI7KBUBEYCuVSflAWnPzhd0cVo4-RAiYNKi1HRA3z91y_YCZ22T7ZcmieMH8FJ3srInR-uIHsZPLIXgCF-3okby7Xm4B_XFea4HHUDK-A1G0ygze-voZMVXn2ul-lqSR5Ph8eB49Sfv3nb2piCk-jGdFwnow/s1600/2.png" style="clear: left; float: left; font-size: 23.4px; margin-bottom: 1em; margin-right: 1em;"><br /></a></div><div class="separator" style="clear: both; text-align: left;">Google Calendar limits edits for events from email:</div><div class="separator" style="clear: both;"><div><br /></div><div><br /></div></div></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijd30MKhHNZF68FhtcGFRfJUSxPBBxd-lUMCbzT5YRB8lPqpgH8lV2ncfe3C-m61e1YTZC82ySTQK5COjskUE6nDYqKzgCFOcgklpN0DfR2-sYZ_F1VKXhoJCWPjhjdr95SEpyhqqtxA7s9C25lRPJyT2ZJJYKyFoAUx4-pbMqF0QUvoF7VMs5oNHdoDE/s1600/2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1600" data-original-width="720" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijd30MKhHNZF68FhtcGFRfJUSxPBBxd-lUMCbzT5YRB8lPqpgH8lV2ncfe3C-m61e1YTZC82ySTQK5COjskUE6nDYqKzgCFOcgklpN0DfR2-sYZ_F1VKXhoJCWPjhjdr95SEpyhqqtxA7s9C25lRPJyT2ZJJYKyFoAUx4-pbMqF0QUvoF7VMs5oNHdoDE/w288-h640/2.png" width="288" /></a></div><br /><div><h3 style="text-align: left;">Additional details</h3><div>If you&#8217;re using the Calendar API, we recommend the following to help avoid any disruptions in your applications:</div><div><ul style="text-align: left;"><li>Ensure that your code does not apply restricted updates to events with the type &#8220;fromGmail&#8221;.</li><ul><li>Temporarily, updates on events with the type &#8220;fromGmail&#8221; are restricted to the <a href="https://developers.google.com/calendar/api/v3/reference/events/update#request-body">properties</a> reminders, colorId, visibility, status, and extendedProperties. Stay tuned to the Workspace updates blog for more information.</li><li>Review your code if it filters by eventType for Events.list or Events.watch. Filtering by eventType &#8220;default&#8221; will no longer return events extracted from emails.</li></ul></ul><div><h3 style="text-align: left;">Getting started</h3><div><ul style="text-align: left;"><li><b>Developers:</b> Use our Developer Documentation for more information about <a href="https://developers.google.com/calendar/api/v3/reference/events">the Calendar API eventType</a>.</li><li><b>End users:</b> There is no end user action required. Visit the Help Center to learn more about <a href="https://support.google.com/calendar/answer/6084018?hl=en&amp;co=GENIE.Platform%3DDesktop#zippy=%2Cdont-show-events-created-in-gmail">managing events automatically imported from Gmail</a>.</li></ul></div><div><br /></div><h3 style="text-align: left;">Rollout pace</h3><div><ul style="text-align: left;"><li><a href="https://support.google.com/a/answer/172177">Rapid Release and Scheduled Release domains</a>: Extended rollout (potentially longer than 15 days for feature visibility) starting on May 30, 2024</li></ul></div></div></div></div><div><h3 style="text-align: left;">Availability</h3><div><ul style="text-align: left;"><li><a href="https://developers.google.com/calendar/api/guides/overview">The Google Calendar API</a> is available to all Google Workspace customers</li></ul></div><div><br /></div><h3 style="text-align: left;">Resources</h3><div><ul style="text-align: left;"><li><a href="https://developers.google.com/calendar/api/v3/reference/events">Google Calendar API: Events</a></li><li><a href="https://developers.google.com/calendar/api/guides/overview">Google Calendar API Overview</a></li><li><a href="https://support.google.com/calendar/answer/6084018?hl=en&amp;co=GENIE.Platform%3DDesktop#zippy=%2Cdont-show-events-created-in-gmail">Google Calendar: Events from Gmail</a></li></ul></div><div><br /></div></div><p></p> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper'> </span> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Google Workspace Updates:The Calendar API now distinguishes events created from Gmail &url=http://workspaceupdates.googleblog.com/2024/05/google-calendar-api-event-type-fromgmail.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=http://workspaceupdates.googleblog.com/2024/05/google-calendar-api-event-type-fromgmail.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='http://workspaceupdates.googleblog.com/2024/05/google-calendar-api-event-type-fromgmail.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='http://workspaceupdates.googleblog.com/search/label/API' rel='tag'> API </a> , <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Developer' rel='tag'> Developer </a> , <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Google%20Calendar' rel='tag'> Google Calendar </a> , <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Rapid%20Release' rel='tag'> Rapid Release </a> , <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Scheduled%20Release' rel='tag'> Scheduled Release </a> </span> </div> </div> </div> <div class='post' data-id='5541877169047817628' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='http://workspaceupdates.googleblog.com/2024/05/google-chat-api-space-management-functionality.html' itemprop='url' title='Manage spaces at scale with new Chat API functionality'> Manage spaces at scale with new Chat API functionality </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Thursday, May 23, 2024 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <h3 style="text-align: left;">What&#8217;s changing</h3><p>We are pleased to announce the&nbsp; launch for additional features of Chat API via the <a href="https://developers.google.com/workspace/preview">Developer Preview Program</a>, enabling space management at scale on behalf of admin users. These new features, which you can read more about down below, are available to all users currently enrolled in the Developer Preview Program. See here for more information on <a href="https://developers.google.com/workspace/preview">how to enroll in the Developer Preview program</a>.</p><h3 style="text-align: left;">Who&#8217;s impacted</h3><p>Admins and developers</p><h3 style="text-align: left;">Why you&#8217;d use it</h3><p>In 2023, we launched the <a href="https://support.google.com/a/answer/13369245">Space Management tool</a>, which allowed admins to view all the spaces within their organization, understand the activity within those spaces, and perform essential&nbsp; actions like deleting a space or assigning space managers. While finding the tool helpful, admins expressed a desire for more robust tools to perform these tasks faster and at scale, for example, with the help of APIs. Admins can now use the Chat API to find information and manage their spaces in bulk&#8212; specifically they&#8217;ll be able to:</p><p></p><ul style="text-align: left;"><li><b>Audit spaces: </b>Admins can pull a list of all spaces in their organization, which includes detailed information about space settings and metadata like member counts, history setting status, the ability to invite external guests, and more. The list will be exported to a CSV file for further analysis and audit.<br /><br /></li><li><b>Delete inactive spaces in bulk:</b> It&#8217;s common to create spaces for projects and initiatives that are only relevant for a specific period of time. As these projects move toward completion, activity in these spaces become inactive or abandoned altogether without deletion. This can result in a huge amount of clutter, making it for end users to navigate and search for relevant spaces, and for admins, making it difficult to audit and take action when managing your spaces. You can now easily detect and delete&nbsp; all inactive or unused spaces, or create an automated cleanup task with the help of Chat API.&nbsp;<br /></li></ul><p></p><blockquote style="border: none; margin: 0 0 0 40px; padding: 0px;"><p style="text-align: left;">However, there are some cases where less active spaces should not be deleted, such as spaces dedicated to quarterly or annual events. In these situations, admins can use the new API functionality to <b>identify space managers</b> so they can reach out and confirm whether a space should be deleted.</p></blockquote><div style="text-align: left;"><ul style="text-align: left;"><li><b>User onboarding and offboarding:</b> When a new user joins an organization, it&#8217;s important that they&#8217;re connected to all relevant spaces, including organization wide spaces or spaces based on specific departments or job roles. Admins can use this functionality to automatically add users to relevant spaces based on specific attributes like their department, role, location, and more.</li></ul></div><blockquote style="border: none; margin: 0 0 0 40px; padding: 0px;"><div style="text-align: left;">Conversely, it&#8217;s also important to ensure users are removed from spaces when they leave an organization or change roles. Admins can quickly identify all spaces where an outgoing user is a member of and remove them from spaces that are no longer relevant to them.&nbsp;</div></blockquote><div><div><ul style="text-align: left;"><li><b>Audit external members: </b>To monitor and control access to organizations' data, admins can conduct an audit of membership for a specific user or group of users. Admins can use the Google Chat API to generate a list of all space members &#8212; this information, combined with a query to the People API, can assist in identifying a space&#8217;s external members. As a result, admins may choose to remove specific users from organization's conversations. This can be done on a space-by-space basis using the API directly or with the help of&nbsp; your own scripts, adjusted to the unique process in your organization.</li></ul></div><div><br /></div><div>We plan to introduce more functionality for managing spaces in the future &#8212; stay tuned to the Workspace Updates blog for more information.</div></div><div><br /></div><div><br /></div><div><h3 style="text-align: left;">Getting started</h3><div><ul style="text-align: left;"><li><b>Admins and developers:&nbsp;</b></li><ul><li>If you are part of the Google Workspace Developer Preview, you will get these features by default. Otherwise, you must <a href="https://developers.google.com/workspace/preview">apply for access using this form</a>.</li><li>Use our Developer Documentation to learn how to <a href="https://developers.google.com/workspace/chat/authenticate-authorize-chat-user#admin-privileges">authenticate and authorize using administrator privilege</a>.</li></ul></ul></div><div><ul style="text-align: left;"><li><b>End users: </b>There is no end user impact or action required.</li></ul></div><div><br /></div><div><br /></div><h3 style="text-align: left;">Rollout pace</h3><div><ul style="text-align: left;"><li>These features are available now through the <a href="https://developers.google.com/workspace/preview">Google Workspace Developer Preview Program</a></li></ul></div><div><h3 style="text-align: left;">Availability</h3><div><ul style="text-align: left;"><li>New features for the Google Chat API scoped to admin users are available to participants of <a href="https://developers.google.com/workspace/preview">Google Workspace Developer Preview Program</a>.</li></ul></div><div><br /></div><h3 style="text-align: left;">Resources</h3><div><br /></div><div><ul style="text-align: left;"><li><a href="https://developers.google.com/workspace/preview">Apply to join the Developer Preview Program</a></li><li><a href="https://developers.google.com/workspace/chat/authenticate-authorize-chat-user#admin-privileges">Developer Documentation: Authenticate and authorize using administrator privileges</a></li><li><a href="https://developers.google.com/workspace/chat/authenticate-authorize-chat-user">Developer Documentation: Authenticate and authorize as a Google Chat user</a></li><li><a href="https://developers.google.com/workspace/chat/authenticate-authorize">Developer Documentation: Authenticate and authorize Chat apps and Google Chat API requests</a></li></ul></div></div></div><div><br /></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> <h3 style="text-align: left;">What&#8217;s changing</h3><p>We are pleased to announce the&nbsp; launch for additional features of Chat API via the <a href="https://developers.google.com/workspace/preview">Developer Preview Program</a>, enabling space management at scale on behalf of admin users. These new features, which you can read more about down below, are available to all users currently enrolled in the Developer Preview Program. See here for more information on <a href="https://developers.google.com/workspace/preview">how to enroll in the Developer Preview program</a>.</p><h3 style="text-align: left;">Who&#8217;s impacted</h3><p>Admins and developers</p><h3 style="text-align: left;">Why you&#8217;d use it</h3><p>In 2023, we launched the <a href="https://support.google.com/a/answer/13369245">Space Management tool</a>, which allowed admins to view all the spaces within their organization, understand the activity within those spaces, and perform essential&nbsp; actions like deleting a space or assigning space managers. While finding the tool helpful, admins expressed a desire for more robust tools to perform these tasks faster and at scale, for example, with the help of APIs. Admins can now use the Chat API to find information and manage their spaces in bulk&#8212; specifically they&#8217;ll be able to:</p><p></p><ul style="text-align: left;"><li><b>Audit spaces: </b>Admins can pull a list of all spaces in their organization, which includes detailed information about space settings and metadata like member counts, history setting status, the ability to invite external guests, and more. The list will be exported to a CSV file for further analysis and audit.<br /><br /></li><li><b>Delete inactive spaces in bulk:</b> It&#8217;s common to create spaces for projects and initiatives that are only relevant for a specific period of time. As these projects move toward completion, activity in these spaces become inactive or abandoned altogether without deletion. This can result in a huge amount of clutter, making it for end users to navigate and search for relevant spaces, and for admins, making it difficult to audit and take action when managing your spaces. You can now easily detect and delete&nbsp; all inactive or unused spaces, or create an automated cleanup task with the help of Chat API.&nbsp;<br /></li></ul><p></p><blockquote style="border: none; margin: 0 0 0 40px; padding: 0px;"><p style="text-align: left;">However, there are some cases where less active spaces should not be deleted, such as spaces dedicated to quarterly or annual events. In these situations, admins can use the new API functionality to <b>identify space managers</b> so they can reach out and confirm whether a space should be deleted.</p></blockquote><div style="text-align: left;"><ul style="text-align: left;"><li><b>User onboarding and offboarding:</b> When a new user joins an organization, it&#8217;s important that they&#8217;re connected to all relevant spaces, including organization wide spaces or spaces based on specific departments or job roles. Admins can use this functionality to automatically add users to relevant spaces based on specific attributes like their department, role, location, and more.</li></ul></div><blockquote style="border: none; margin: 0 0 0 40px; padding: 0px;"><div style="text-align: left;">Conversely, it&#8217;s also important to ensure users are removed from spaces when they leave an organization or change roles. Admins can quickly identify all spaces where an outgoing user is a member of and remove them from spaces that are no longer relevant to them.&nbsp;</div></blockquote><div><div><ul style="text-align: left;"><li><b>Audit external members: </b>To monitor and control access to organizations' data, admins can conduct an audit of membership for a specific user or group of users. Admins can use the Google Chat API to generate a list of all space members &#8212; this information, combined with a query to the People API, can assist in identifying a space&#8217;s external members. As a result, admins may choose to remove specific users from organization's conversations. This can be done on a space-by-space basis using the API directly or with the help of&nbsp; your own scripts, adjusted to the unique process in your organization.</li></ul></div><div><br /></div><div>We plan to introduce more functionality for managing spaces in the future &#8212; stay tuned to the Workspace Updates blog for more information.</div></div><div><br /></div><div><br /></div><div><h3 style="text-align: left;">Getting started</h3><div><ul style="text-align: left;"><li><b>Admins and developers:&nbsp;</b></li><ul><li>If you are part of the Google Workspace Developer Preview, you will get these features by default. Otherwise, you must <a href="https://developers.google.com/workspace/preview">apply for access using this form</a>.</li><li>Use our Developer Documentation to learn how to <a href="https://developers.google.com/workspace/chat/authenticate-authorize-chat-user#admin-privileges">authenticate and authorize using administrator privilege</a>.</li></ul></ul></div><div><ul style="text-align: left;"><li><b>End users: </b>There is no end user impact or action required.</li></ul></div><div><br /></div><div><br /></div><h3 style="text-align: left;">Rollout pace</h3><div><ul style="text-align: left;"><li>These features are available now through the <a href="https://developers.google.com/workspace/preview">Google Workspace Developer Preview Program</a></li></ul></div><div><h3 style="text-align: left;">Availability</h3><div><ul style="text-align: left;"><li>New features for the Google Chat API scoped to admin users are available to participants of <a href="https://developers.google.com/workspace/preview">Google Workspace Developer Preview Program</a>.</li></ul></div><div><br /></div><h3 style="text-align: left;">Resources</h3><div><br /></div><div><ul style="text-align: left;"><li><a href="https://developers.google.com/workspace/preview">Apply to join the Developer Preview Program</a></li><li><a href="https://developers.google.com/workspace/chat/authenticate-authorize-chat-user#admin-privileges">Developer Documentation: Authenticate and authorize using administrator privileges</a></li><li><a href="https://developers.google.com/workspace/chat/authenticate-authorize-chat-user">Developer Documentation: Authenticate and authorize as a Google Chat user</a></li><li><a href="https://developers.google.com/workspace/chat/authenticate-authorize">Developer Documentation: Authenticate and authorize Chat apps and Google Chat API requests</a></li></ul></div></div></div><div><br /></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper'> </span> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Google Workspace Updates:Manage spaces at scale with new Chat API functionality&url=http://workspaceupdates.googleblog.com/2024/05/google-chat-api-space-management-functionality.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=http://workspaceupdates.googleblog.com/2024/05/google-chat-api-space-management-functionality.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='http://workspaceupdates.googleblog.com/2024/05/google-chat-api-space-management-functionality.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='http://workspaceupdates.googleblog.com/search/label/API' rel='tag'> API </a> , <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Developer' rel='tag'> Developer </a> , <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Google%20Chat' rel='tag'> Google Chat </a> , <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Other' rel='tag'> Other </a> </span> </div> </div> </div> <div class='post' data-id='4447506637233157023' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='http://workspaceupdates.googleblog.com/2024/04/dialogflow-CX-integration-google-chat.html' itemprop='url' title='Build a Dialogflow CX Google Chat app that understands and responds with natural language'> Build a Dialogflow CX Google Chat app that understands and responds with natural language </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Tuesday, April 16, 2024 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <p><i>This announcement was part of&nbsp;<a href="https://cloud.withgoogle.com/next">Google Cloud Next &#8216;24</a>. Visit the&nbsp;<a href="https://workspace.google.com/blog/product-announcements/new-generative-ai-and-security-innovations">Workspace Blog</a>&nbsp;to learn more about the next wave of innovations in Workspace, including enhancements to Gemini for Google Workspace.</i></p><div><span id="docs-internal-guid-ae433745-7fff-b5ae-9b79-6ca287c5d01e"><hr /><br /></span></div><div><h3>What&#8217;s changing</h3></div> Earlier this year, we introduced the <a href="https://developers.google.com/workspace/chat/build-dialogflow-chat-app-natural-language">integration</a> between Google Chat and Dialogflow CX through the <a href="https://developers.google.com/workspace/preview">Google Workspace Developer Preview Program</a>.&nbsp;<div><br /></div><div><br /></div><div>Dialogflow helps developers build and host Chat bots that understand natural language with minimal coding effort. The enhanced <a href="https://cloud.google.com/dialogflow/cx/docs">Dialogflow CX version</a>, now generally available, provides a new way of designing virtual agents by taking a state machine approach to agent design. Now, developers have clear and explicit control over a conversation, enjoy a better end-user experience, and gain access to an improved development workflow.&nbsp;</div><div><br /></div><div><br /></div><div>The Dialogflow CX integration with Google Chat allows developers to easily create Google Chat apps that are useful in all kinds of interactions, especially those that require natural human speech. For example, consider a Chat app that helps people rent cars. A user might write, "I'd like to rent a car". The Chat app might respond with a question like "Where would you like to pick up the vehicle?" which starts a human-like conversation with the user in which the Chat app both understands and responds with human speech while booking the car rental.&nbsp;</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKP2V6bw7OtaHWMwAI2vpdeNPAfLKQaHaJBq96s2uD4twZaNrCyDvA1m1CURh7JKKa6FvEP8BXlZPiIT7Ac2g1-HRAvweLGHPkWBS4SuSv9JN1ykHzUaqoYlypJwmkX0aWdn7qCvnCutZIso146zW5sKzitqqx8uENteNb1bpBXwgIq3S5cJagwsXiA_4/s1600/Build%20a%20Dialogflow%20CX%20Google%20Chat%20app%20that%20understands%20and%20responds%20with%20natural%20language.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img alt="Build a Dialogflow CX Google Chat app that understands and responds with natural language" border="0" data-original-height="1000" data-original-width="1600" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKP2V6bw7OtaHWMwAI2vpdeNPAfLKQaHaJBq96s2uD4twZaNrCyDvA1m1CURh7JKKa6FvEP8BXlZPiIT7Ac2g1-HRAvweLGHPkWBS4SuSv9JN1ykHzUaqoYlypJwmkX0aWdn7qCvnCutZIso146zW5sKzitqqx8uENteNb1bpBXwgIq3S5cJagwsXiA_4/s16000/Build%20a%20Dialogflow%20CX%20Google%20Chat%20app%20that%20understands%20and%20responds%20with%20natural%20language.png" /></a></div><h3 style="text-align: left;">Who&#8217;s impacted&nbsp;</h3><div>Developers&nbsp;</div><div><br /></div><div><br /></div><h3 style="text-align: left;">Why it&#8217;s important&nbsp;</h3><div>Dialogflow CX enables developers to create Chat apps with virtual agents that are more conversational and capable of performing specific tasks.&nbsp;</div><div><br /></div><div><br /></div><h3 style="text-align: left;">Getting started&nbsp;</h3><div><ul style="text-align: left;"><li><b>Admins:</b> There is no admin control for this feature.&nbsp;</li><li><b>Developers: </b>Visit the Help Center to learn how to <a href="https://developers.google.com/workspace/chat/build-dialogflow-chat-app-natural-language">build a Dialogflow CX Google Chat app that understands and responds with natural language.</a></li></ul></div><div><br /></div><h3 style="text-align: left;">Rollout pace&nbsp;</h3><div><ul style="text-align: left;"><li><a href="https://support.google.com/a/answer/172177">Rapid Release and Scheduled Release domains</a>: Gradual rollout (up to 15 days for feature visibility) starting on April 16, 2024&nbsp;</li></ul></div><div><br /></div><h3 style="text-align: left;">Availability&nbsp;</h3><div><ul style="text-align: left;"><li>Available to all Google Workspace customers&nbsp;</li></ul></div><div><br /></div><h3 style="text-align: left;">Resources&nbsp;</h3><div><ul style="text-align: left;"><li><a href="https://developers.google.com/workspace/chat/build-dialogflow-chat-app-natural-language">Google Help: Build a Dialogflow CX Google Chat app that understands and responds with natural language.</a></li></ul></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> <p><i>This announcement was part of&nbsp;<a href="https://cloud.withgoogle.com/next">Google Cloud Next &#8216;24</a>. Visit the&nbsp;<a href="https://workspace.google.com/blog/product-announcements/new-generative-ai-and-security-innovations">Workspace Blog</a>&nbsp;to learn more about the next wave of innovations in Workspace, including enhancements to Gemini for Google Workspace.</i></p><div><span id="docs-internal-guid-ae433745-7fff-b5ae-9b79-6ca287c5d01e"><hr /><br /></span></div><div><h3>What&#8217;s changing</h3></div> Earlier this year, we introduced the <a href="https://developers.google.com/workspace/chat/build-dialogflow-chat-app-natural-language">integration</a> between Google Chat and Dialogflow CX through the <a href="https://developers.google.com/workspace/preview">Google Workspace Developer Preview Program</a>.&nbsp;<div><br /></div><div><br /></div><div>Dialogflow helps developers build and host Chat bots that understand natural language with minimal coding effort. The enhanced <a href="https://cloud.google.com/dialogflow/cx/docs">Dialogflow CX version</a>, now generally available, provides a new way of designing virtual agents by taking a state machine approach to agent design. Now, developers have clear and explicit control over a conversation, enjoy a better end-user experience, and gain access to an improved development workflow.&nbsp;</div><div><br /></div><div><br /></div><div>The Dialogflow CX integration with Google Chat allows developers to easily create Google Chat apps that are useful in all kinds of interactions, especially those that require natural human speech. For example, consider a Chat app that helps people rent cars. A user might write, "I'd like to rent a car". The Chat app might respond with a question like "Where would you like to pick up the vehicle?" which starts a human-like conversation with the user in which the Chat app both understands and responds with human speech while booking the car rental.&nbsp;</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKP2V6bw7OtaHWMwAI2vpdeNPAfLKQaHaJBq96s2uD4twZaNrCyDvA1m1CURh7JKKa6FvEP8BXlZPiIT7Ac2g1-HRAvweLGHPkWBS4SuSv9JN1ykHzUaqoYlypJwmkX0aWdn7qCvnCutZIso146zW5sKzitqqx8uENteNb1bpBXwgIq3S5cJagwsXiA_4/s1600/Build%20a%20Dialogflow%20CX%20Google%20Chat%20app%20that%20understands%20and%20responds%20with%20natural%20language.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img alt="Build a Dialogflow CX Google Chat app that understands and responds with natural language" border="0" data-original-height="1000" data-original-width="1600" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKP2V6bw7OtaHWMwAI2vpdeNPAfLKQaHaJBq96s2uD4twZaNrCyDvA1m1CURh7JKKa6FvEP8BXlZPiIT7Ac2g1-HRAvweLGHPkWBS4SuSv9JN1ykHzUaqoYlypJwmkX0aWdn7qCvnCutZIso146zW5sKzitqqx8uENteNb1bpBXwgIq3S5cJagwsXiA_4/s16000/Build%20a%20Dialogflow%20CX%20Google%20Chat%20app%20that%20understands%20and%20responds%20with%20natural%20language.png" /></a></div><h3 style="text-align: left;">Who&#8217;s impacted&nbsp;</h3><div>Developers&nbsp;</div><div><br /></div><div><br /></div><h3 style="text-align: left;">Why it&#8217;s important&nbsp;</h3><div>Dialogflow CX enables developers to create Chat apps with virtual agents that are more conversational and capable of performing specific tasks.&nbsp;</div><div><br /></div><div><br /></div><h3 style="text-align: left;">Getting started&nbsp;</h3><div><ul style="text-align: left;"><li><b>Admins:</b> There is no admin control for this feature.&nbsp;</li><li><b>Developers: </b>Visit the Help Center to learn how to <a href="https://developers.google.com/workspace/chat/build-dialogflow-chat-app-natural-language">build a Dialogflow CX Google Chat app that understands and responds with natural language.</a></li></ul></div><div><br /></div><h3 style="text-align: left;">Rollout pace&nbsp;</h3><div><ul style="text-align: left;"><li><a href="https://support.google.com/a/answer/172177">Rapid Release and Scheduled Release domains</a>: Gradual rollout (up to 15 days for feature visibility) starting on April 16, 2024&nbsp;</li></ul></div><div><br /></div><h3 style="text-align: left;">Availability&nbsp;</h3><div><ul style="text-align: left;"><li>Available to all Google Workspace customers&nbsp;</li></ul></div><div><br /></div><h3 style="text-align: left;">Resources&nbsp;</h3><div><ul style="text-align: left;"><li><a href="https://developers.google.com/workspace/chat/build-dialogflow-chat-app-natural-language">Google Help: Build a Dialogflow CX Google Chat app that understands and responds with natural language.</a></li></ul></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper'> </span> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Google Workspace Updates:Build a Dialogflow CX Google Chat app that understands and responds with natural language&url=http://workspaceupdates.googleblog.com/2024/04/dialogflow-CX-integration-google-chat.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=http://workspaceupdates.googleblog.com/2024/04/dialogflow-CX-integration-google-chat.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='http://workspaceupdates.googleblog.com/2024/04/dialogflow-CX-integration-google-chat.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Developer' rel='tag'> Developer </a> , <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Google%20Chat' rel='tag'> Google Chat </a> , <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Rapid%20Release' rel='tag'> Rapid Release </a> , <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Scheduled%20Release' rel='tag'> Scheduled Release </a> </span> </div> </div> </div> <div class='post' data-id='8061559800094118404' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='http://workspaceupdates.googleblog.com/2024/03/import-data-from-other-messaging-platforms-with-google-chat-api.html' itemprop='url' title='Import data from other messaging platforms using the Google Chat API is now generally available'> Import data from other messaging platforms using the Google Chat API is now generally available </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Wednesday, March 13, 2024 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <h3 style="text-align: left;">What&#8217;s changing&nbsp;</h3><div>Google Workspace developers registered in our <a href="https://developers.google.com/workspace/preview">Workspace Developer Preview program</a> have been able to <a href="https://developers.google.com/workspace/chat/import-data">import user data</a> from other messaging platforms into Google Chat using the Google Chat API. This functionality is now generally available to all Workspace developers and admins.&nbsp;</div><div><br /></div><h3 style="text-align: left;"><br /></h3><h3 style="text-align: left;">Who&#8217;s impacted</h3><div>Admins and developers&nbsp;</div><div><br /></div><h3 style="text-align: left;"><br /></h3><h3 style="text-align: left;">Why it&#8217;s important</h3><div>In order to import data, you can create a Chat app and <a href="https://developers.google.com/workspace/chat/import-data">&#8220;import mode&#8221;</a> Chat space. Within an import mode space, Chat apps can import the following data as equivalent <a href="https://developers.google.com/workspace/chat/api/reference/rest">REST resources</a>: </div><div><ul style="text-align: left;"><li><a href="https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.messages">Messages</a></li><li><a href="https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.messages.attachments">Attachments</a></li><li><a href="https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.messages.reactions">Reactions</a></li><li><a href="https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.members">Memberships</a> with the following considerations:</li><ul><li><a href="https://developers.google.com/workspace/chat/import-data#historical_memberships">Historical memberships</a> must be imported when a space is in import mode. You can't import historical memberships after the space completes import mode.</li><li>Other existing memberships from the source messaging platform must be created after a space completes import mode.</li><li>Members must be users within the same domain.</li></ul><li><a href="https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces">Spaces</a>: only SpaceType.SPACE is supported.<br /></li></ul></div><div><div>This is a helpful workflow for those who are transitioning from other messaging platforms to Google Chat. Rather than copying source data into regular spaces, import mode has the following advantages:</div><div><ul style="text-align: left;"><li><b>Preservation of resource creation timestamps:</b> You can set a historical time for the creation times of space and message resources, letting Chat apps retain historical context during user adoption of Google Chat.<br /><br /></li><li><b>End users can't view or access spaces in import mode:&nbsp;</b>To prevent user interference with a space undergoing data import, or to avoid possible user confusion as a result of viewing an in-progress data import, spaces in import mode are hidden from end users. After a space has completed import mode, you can add users to the space.<br /><br /></li><li><b>Chat turns off notifications during import mode: </b>This helps users to avoid unnecessary alerts about the migration.</li></ul></div></div><div><h3 style="text-align: left;">Getting started</h3><div><ul style="text-align: left;"><li><b>Admins: </b>Visit the Help Center to learn more about <a href="https://support.google.com/a/answer/13465849">importing message data to Google Chat from another service</a>.&nbsp;</li><li><b>Developers:</b>&nbsp;Use our Developer Documentation to learn more about <a href="https://developers.google.com/workspace/chat/import-data-overview?hl=en">developing Google Chat apps to import user data</a>, <a href="https://developers.google.com/workspace/chat/authorize-import">authenticating with the Chat API when using import mode spaces</a>, and <a href="https://developers.google.com/workspace/chat/import-data">importing resources using import mode spaces</a>.</li></ul></div><div><br /></div><h3 style="text-align: left;">Rollout pace</h3><div><ul style="text-align: left;"><li>Available now.</li></ul></div><div><br /></div><h3 style="text-align: left;">Availability</h3><div><ul style="text-align: left;"><li>Available to all Google Workspace customers<br /><br /></li></ul></div></div><div><span id="docs-internal-guid-b42cf816-7fff-696a-a4c7-ae316d339d3e"><span style="font-family: inherit;"><h3 style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: left;"><span style="font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;">Resources</span></h3><ul style="margin-bottom: 0px; margin-top: 0px; padding-inline-start: 48px;"><li aria-level="1" dir="ltr" style="font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;"><p dir="ltr" role="presentation" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://developers.google.com/workspace/chat/import-data-overview?hl=en" style="text-decoration-line: none;"><span style="color: #1155cc; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; text-decoration-line: underline; text-decoration-skip-ink: none; text-wrap: wrap; vertical-align: baseline;">Developer documentation: Overview of developing Google Chat apps to import user data&nbsp;</span></a></p></li><li aria-level="1" dir="ltr" style="font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;"><p dir="ltr" role="presentation" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://developers.google.com/workspace/chat/authorize-import" style="text-decoration-line: none;"><span style="color: #1155cc; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; text-decoration-line: underline; text-decoration-skip-ink: none; text-wrap: wrap; vertical-align: baseline;">Developer documentation: Authorize Google Chat apps to import data</span></a></p></li><li aria-level="1" dir="ltr" style="font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;"><p dir="ltr" role="presentation" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://developers.google.com/workspace/chat/import-data" style="text-decoration-line: none;"><span style="color: #1155cc; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; text-decoration-line: underline; text-decoration-skip-ink: none; text-wrap: wrap; vertical-align: baseline;">Developer documentation: Import data to Google Chat</span></a></p></li><li aria-level="1" dir="ltr" style="font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;"><p dir="ltr" role="presentation" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://support.google.com/a/answer/13465849" style="text-decoration-line: none;"><span style="color: #1155cc; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; text-decoration-line: underline; text-decoration-skip-ink: none; text-wrap: wrap; vertical-align: baseline;">Google Workspace Admin Help: Import message data to Google Chat from another service</span></a></p></li></ul></span></span></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> <h3 style="text-align: left;">What&#8217;s changing&nbsp;</h3><div>Google Workspace developers registered in our <a href="https://developers.google.com/workspace/preview">Workspace Developer Preview program</a> have been able to <a href="https://developers.google.com/workspace/chat/import-data">import user data</a> from other messaging platforms into Google Chat using the Google Chat API. This functionality is now generally available to all Workspace developers and admins.&nbsp;</div><div><br /></div><h3 style="text-align: left;"><br /></h3><h3 style="text-align: left;">Who&#8217;s impacted</h3><div>Admins and developers&nbsp;</div><div><br /></div><h3 style="text-align: left;"><br /></h3><h3 style="text-align: left;">Why it&#8217;s important</h3><div>In order to import data, you can create a Chat app and <a href="https://developers.google.com/workspace/chat/import-data">&#8220;import mode&#8221;</a> Chat space. Within an import mode space, Chat apps can import the following data as equivalent <a href="https://developers.google.com/workspace/chat/api/reference/rest">REST resources</a>: </div><div><ul style="text-align: left;"><li><a href="https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.messages">Messages</a></li><li><a href="https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.messages.attachments">Attachments</a></li><li><a href="https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.messages.reactions">Reactions</a></li><li><a href="https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.members">Memberships</a> with the following considerations:</li><ul><li><a href="https://developers.google.com/workspace/chat/import-data#historical_memberships">Historical memberships</a> must be imported when a space is in import mode. You can't import historical memberships after the space completes import mode.</li><li>Other existing memberships from the source messaging platform must be created after a space completes import mode.</li><li>Members must be users within the same domain.</li></ul><li><a href="https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces">Spaces</a>: only SpaceType.SPACE is supported.<br /></li></ul></div><div><div>This is a helpful workflow for those who are transitioning from other messaging platforms to Google Chat. Rather than copying source data into regular spaces, import mode has the following advantages:</div><div><ul style="text-align: left;"><li><b>Preservation of resource creation timestamps:</b> You can set a historical time for the creation times of space and message resources, letting Chat apps retain historical context during user adoption of Google Chat.<br /><br /></li><li><b>End users can't view or access spaces in import mode:&nbsp;</b>To prevent user interference with a space undergoing data import, or to avoid possible user confusion as a result of viewing an in-progress data import, spaces in import mode are hidden from end users. After a space has completed import mode, you can add users to the space.<br /><br /></li><li><b>Chat turns off notifications during import mode: </b>This helps users to avoid unnecessary alerts about the migration.</li></ul></div></div><div><h3 style="text-align: left;">Getting started</h3><div><ul style="text-align: left;"><li><b>Admins: </b>Visit the Help Center to learn more about <a href="https://support.google.com/a/answer/13465849">importing message data to Google Chat from another service</a>.&nbsp;</li><li><b>Developers:</b>&nbsp;Use our Developer Documentation to learn more about <a href="https://developers.google.com/workspace/chat/import-data-overview?hl=en">developing Google Chat apps to import user data</a>, <a href="https://developers.google.com/workspace/chat/authorize-import">authenticating with the Chat API when using import mode spaces</a>, and <a href="https://developers.google.com/workspace/chat/import-data">importing resources using import mode spaces</a>.</li></ul></div><div><br /></div><h3 style="text-align: left;">Rollout pace</h3><div><ul style="text-align: left;"><li>Available now.</li></ul></div><div><br /></div><h3 style="text-align: left;">Availability</h3><div><ul style="text-align: left;"><li>Available to all Google Workspace customers<br /><br /></li></ul></div></div><div><span id="docs-internal-guid-b42cf816-7fff-696a-a4c7-ae316d339d3e"><span style="font-family: inherit;"><h3 style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: left;"><span style="font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;">Resources</span></h3><ul style="margin-bottom: 0px; margin-top: 0px; padding-inline-start: 48px;"><li aria-level="1" dir="ltr" style="font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;"><p dir="ltr" role="presentation" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://developers.google.com/workspace/chat/import-data-overview?hl=en" style="text-decoration-line: none;"><span style="color: #1155cc; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; text-decoration-line: underline; text-decoration-skip-ink: none; text-wrap: wrap; vertical-align: baseline;">Developer documentation: Overview of developing Google Chat apps to import user data&nbsp;</span></a></p></li><li aria-level="1" dir="ltr" style="font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;"><p dir="ltr" role="presentation" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://developers.google.com/workspace/chat/authorize-import" style="text-decoration-line: none;"><span style="color: #1155cc; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; text-decoration-line: underline; text-decoration-skip-ink: none; text-wrap: wrap; vertical-align: baseline;">Developer documentation: Authorize Google Chat apps to import data</span></a></p></li><li aria-level="1" dir="ltr" style="font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;"><p dir="ltr" role="presentation" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://developers.google.com/workspace/chat/import-data" style="text-decoration-line: none;"><span style="color: #1155cc; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; text-decoration-line: underline; text-decoration-skip-ink: none; text-wrap: wrap; vertical-align: baseline;">Developer documentation: Import data to Google Chat</span></a></p></li><li aria-level="1" dir="ltr" style="font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;"><p dir="ltr" role="presentation" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://support.google.com/a/answer/13465849" style="text-decoration-line: none;"><span style="color: #1155cc; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; text-decoration-line: underline; text-decoration-skip-ink: none; text-wrap: wrap; vertical-align: baseline;">Google Workspace Admin Help: Import message data to Google Chat from another service</span></a></p></li></ul></span></span></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper'> </span> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Google Workspace Updates:Import data from other messaging platforms using the Google Chat API is now generally available&url=http://workspaceupdates.googleblog.com/2024/03/import-data-from-other-messaging-platforms-with-google-chat-api.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=http://workspaceupdates.googleblog.com/2024/03/import-data-from-other-messaging-platforms-with-google-chat-api.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='http://workspaceupdates.googleblog.com/2024/03/import-data-from-other-messaging-platforms-with-google-chat-api.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='http://workspaceupdates.googleblog.com/search/label/API' rel='tag'> API </a> , <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Developer' rel='tag'> Developer </a> , <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Google%20Chat' rel='tag'> Google Chat </a> , <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Rapid%20Release' rel='tag'> Rapid Release </a> , <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Scheduled%20Release' rel='tag'> Scheduled Release </a> </span> </div> </div> </div> <div class='post' data-id='3172761413098800372' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='http://workspaceupdates.googleblog.com/2024/02/google-meet-api-now-generally-available.html' itemprop='url' title='The Google Meet API is now generally available'> The Google Meet API is now generally available </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Wednesday, February 21, 2024 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <h3 style="text-align: left;">What&#8217;s changing&nbsp;</h3><div>In November 2023, we announced the availability of the Google Meet API through our Developer Preview Program. Beginning today, the Google Meet API is generally available. You can use the Meet API to:&nbsp;</div><div><ul style="text-align: left;"><li>Programmatically create and configure Meet calls&nbsp;</li><li>Retrieve information about past meetings, such as the meeting times and attendees.&nbsp;</li><li>Access meeting artifacts, such as transcripts and video recordings&nbsp;</li><li>Subscribe to real time updates on meetings, such as when a participant joins or leaves&nbsp;</li></ul></div><div><br /></div><div>For more information, please reference our <a href="https://workspaceupdates.googleblog.com/2023/11/google-meet-api-developer-program.html">original announcement</a>.</div><div><h3><br /></h3><h3>Who's impacted</h3></div><div>Admins and developers</div><div><br /></div><div><h3 style="text-align: left;"><br /></h3><h3 style="text-align: left;">Why you&#8217;d use it</h3><div>Integrating the Meet API in your product with the Google Meet API streamlines workflows and provides your product with Meet information that easily enhances your product offering. For example, partners such as Hubspot, Outreach, Salesforce, and Salesloft currently integrate the Meet API into their solutions to pull meeting recordings and artifacts into their conversational intelligence tools for analysis and sales coaching.</div></div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijqPMswU9LUmbFeXpvdt7CGbxJWGWuANpBvI0Ih4jviPHupHKj1zdYKbo4f71Gp9F63YdSi8HyNwq3xu9eiiOqWAyrUlsNg1UsPl4GkZ2THjuH7h6bsgUykDgXG54vSZkARqN_bOcOiy4zCXKQZu1O8bHVEW-aiwMAzA4miGRv0lEJaY8ssiW4T7IxpAQ/s720/unnamed.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="405" data-original-width="720" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijqPMswU9LUmbFeXpvdt7CGbxJWGWuANpBvI0Ih4jviPHupHKj1zdYKbo4f71Gp9F63YdSi8HyNwq3xu9eiiOqWAyrUlsNg1UsPl4GkZ2THjuH7h6bsgUykDgXG54vSZkARqN_bOcOiy4zCXKQZu1O8bHVEW-aiwMAzA4miGRv0lEJaY8ssiW4T7IxpAQ/s16000/unnamed.png" /></a></div><br /><div><br /></div><div><h3 style="text-align: left;">Getting started</h3><div><br /></div><div><ul style="text-align: left;"><li><b>Admins:</b> You can manage domain-wide API access controls in the Admin console under the security menu. Please visit the Help Center for <a href="https://support.google.com/a/answer/162106?hl=en&amp;ref_topic=10021546&amp;sjid=9328291770043059100-NA">more information on API access controls</a>&nbsp;and what <a href="https://support.google.com/meet/answer/7317473?hl=en&amp;ref_topic=14074236&amp;sjid=10621479266473451268-NA">requirements you need to use Google Meet</a>.</li><li><b>Developers:</b> Use our Developer Documentation for more information about <a href="https://developers.google.com/meet/api/guides/overview">using the Google Meet API</a>.</li></ul></div><div><h3 style="text-align: left;">Rollout pace</h3><div><ul style="text-align: left;"><li>Available now.</li></ul></div><div><br /></div><h3 style="text-align: left;">Availability</h3><div><ul style="text-align: left;"><li>Available to all Google Workspace customers</li></ul></div><div><br /></div><h3 style="text-align: left;">Resources</h3><div><ul style="text-align: left;"><li><a href="https://support.google.com/meet/answer/7317473?hl=en&amp;ref_topic=14074236&amp;sjid=10621479266473451268-NA">Google Help: Learn what requirements you need to use Google Meet</a></li><li><a href="https://developers.google.com/meet/api/guides/overview">Google Developers: Google Meet API overview</a></li><li><a href="https://workspaceupdates.googleblog.com/2023/11/google-meet-api-developer-program.html">Google Workspace Updates Blog: Google Meet API now available in Developer Preview</a></li></ul></div></div></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> <h3 style="text-align: left;">What&#8217;s changing&nbsp;</h3><div>In November 2023, we announced the availability of the Google Meet API through our Developer Preview Program. Beginning today, the Google Meet API is generally available. You can use the Meet API to:&nbsp;</div><div><ul style="text-align: left;"><li>Programmatically create and configure Meet calls&nbsp;</li><li>Retrieve information about past meetings, such as the meeting times and attendees.&nbsp;</li><li>Access meeting artifacts, such as transcripts and video recordings&nbsp;</li><li>Subscribe to real time updates on meetings, such as when a participant joins or leaves&nbsp;</li></ul></div><div><br /></div><div>For more information, please reference our <a href="https://workspaceupdates.googleblog.com/2023/11/google-meet-api-developer-program.html">original announcement</a>.</div><div><h3><br /></h3><h3>Who's impacted</h3></div><div>Admins and developers</div><div><br /></div><div><h3 style="text-align: left;"><br /></h3><h3 style="text-align: left;">Why you&#8217;d use it</h3><div>Integrating the Meet API in your product with the Google Meet API streamlines workflows and provides your product with Meet information that easily enhances your product offering. For example, partners such as Hubspot, Outreach, Salesforce, and Salesloft currently integrate the Meet API into their solutions to pull meeting recordings and artifacts into their conversational intelligence tools for analysis and sales coaching.</div></div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijqPMswU9LUmbFeXpvdt7CGbxJWGWuANpBvI0Ih4jviPHupHKj1zdYKbo4f71Gp9F63YdSi8HyNwq3xu9eiiOqWAyrUlsNg1UsPl4GkZ2THjuH7h6bsgUykDgXG54vSZkARqN_bOcOiy4zCXKQZu1O8bHVEW-aiwMAzA4miGRv0lEJaY8ssiW4T7IxpAQ/s720/unnamed.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="405" data-original-width="720" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijqPMswU9LUmbFeXpvdt7CGbxJWGWuANpBvI0Ih4jviPHupHKj1zdYKbo4f71Gp9F63YdSi8HyNwq3xu9eiiOqWAyrUlsNg1UsPl4GkZ2THjuH7h6bsgUykDgXG54vSZkARqN_bOcOiy4zCXKQZu1O8bHVEW-aiwMAzA4miGRv0lEJaY8ssiW4T7IxpAQ/s16000/unnamed.png" /></a></div><br /><div><br /></div><div><h3 style="text-align: left;">Getting started</h3><div><br /></div><div><ul style="text-align: left;"><li><b>Admins:</b> You can manage domain-wide API access controls in the Admin console under the security menu. Please visit the Help Center for <a href="https://support.google.com/a/answer/162106?hl=en&amp;ref_topic=10021546&amp;sjid=9328291770043059100-NA">more information on API access controls</a>&nbsp;and what <a href="https://support.google.com/meet/answer/7317473?hl=en&amp;ref_topic=14074236&amp;sjid=10621479266473451268-NA">requirements you need to use Google Meet</a>.</li><li><b>Developers:</b> Use our Developer Documentation for more information about <a href="https://developers.google.com/meet/api/guides/overview">using the Google Meet API</a>.</li></ul></div><div><h3 style="text-align: left;">Rollout pace</h3><div><ul style="text-align: left;"><li>Available now.</li></ul></div><div><br /></div><h3 style="text-align: left;">Availability</h3><div><ul style="text-align: left;"><li>Available to all Google Workspace customers</li></ul></div><div><br /></div><h3 style="text-align: left;">Resources</h3><div><ul style="text-align: left;"><li><a href="https://support.google.com/meet/answer/7317473?hl=en&amp;ref_topic=14074236&amp;sjid=10621479266473451268-NA">Google Help: Learn what requirements you need to use Google Meet</a></li><li><a href="https://developers.google.com/meet/api/guides/overview">Google Developers: Google Meet API overview</a></li><li><a href="https://workspaceupdates.googleblog.com/2023/11/google-meet-api-developer-program.html">Google Workspace Updates Blog: Google Meet API now available in Developer Preview</a></li></ul></div></div></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper'> </span> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Google Workspace Updates:The Google Meet API is now generally available&url=http://workspaceupdates.googleblog.com/2024/02/google-meet-api-now-generally-available.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=http://workspaceupdates.googleblog.com/2024/02/google-meet-api-now-generally-available.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='http://workspaceupdates.googleblog.com/2024/02/google-meet-api-now-generally-available.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='http://workspaceupdates.googleblog.com/search/label/API' rel='tag'> API </a> , <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Developer' rel='tag'> Developer </a> , <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Google%20Meet' rel='tag'> Google Meet </a> , <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Rapid%20Release' rel='tag'> Rapid Release </a> , <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Scheduled%20Release' rel='tag'> Scheduled Release </a> </span> </div> </div> </div> <div class='post' data-id='8443293740711750938' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='http://workspaceupdates.googleblog.com/2024/01/extending-trusted-types-to-gmail.html' itemprop='url' title='Extending Trusted Types to Gmail'> Extending Trusted Types to Gmail </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Friday, January 12, 2024 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <h3 style="text-align: left;">What&#8217;s changing</h3><div><a href="https://workspaceupdates.googleblog.com/2023/02/trusted-types-in-google-workspace.html">Last year,</a> we improved the client-side security of Google Docs, Sheets, Slides, Forms, Sites, Drawings, Drive, and Calendar with <a href="https://web.dev/trusted-types/">Trusted Types</a>. This browser-based runtime feature limits the uses of <a href="https://www.w3.org/TR/trusted-types/#injection-sinks">Document Object Model</a>&nbsp;(DOM) APIs that are used by the apps listed above or third-party extensions. Trusted Types also reduce the possibility of Document Object Model Cross Site Scripting (<a href="https://owasp.org/www-community/attacks/DOM_Based_XSS">DOM XSS</a>), which continues to be one of the most critical threats to web security.&nbsp;</div><div><br /></div><div>DOM XSS occurs when a cyber attacker injects malicious code into a web page, which can then be executed by the victim's browser. This can allow the cyber attacker to steal cookies, hijack sessions, and even take control of the victim's computer.&nbsp;</div><div><br /></div><div>To defend against this, we&#8217;re excited to announce the expansion of Trusted Types to Gmail. This will provide a defense against DOM XSS and further enhances our advanced data protection controls to keep users and data safe across more of the apps they use everyday.&nbsp;</div><div><br /></div><div><br /></div><h3 style="text-align: left;">Who&#8217;s impacted&nbsp;</h3><div>Developers (relying on any Chrome extensions that modify DOM APIs.)&nbsp;</div><div><br /></div><div><br /></div><h3 style="text-align: left;">Additional details&nbsp;</h3><div>This new enforcement mode will require third-party extensions to use <a href="https://web.dev/trusted-types/#fix-the-violations">typed objects instead of strings</a> when assigning values to DOM APIs. Once Trusted Types are fully enforced, the Trusted Types directive will be present in the Content Security Policy (CSP) header:&nbsp;</div><div><br /></div><div style="text-align: center;"><i><span style="font-size: x-small;">Content-Security-Policy: require-trusted-types-for 'script';report-uri https://mail.google.com/mail/cspreport&nbsp;</span></i></div><div style="text-align: center;"><br /></div><div><br /></div><h3 style="text-align: left;">Getting started&nbsp;</h3><div><ul style="text-align: left;"><li><b>Admins: </b>There is no admin control for this feature.&nbsp;</li><li><b>Developers:&nbsp;</b></li><ul><li>To make code Trusted Types compliant, signal to the browser that data being used within the context of these DOM APIs is trustworthy by creating a Trusted Type special object.&nbsp;</li><li>There are several ways to be Trusted Types compliant, such as <a href="https://web.dev/articles/trusted-types#rewrite_the_offending_code">removing the offending code</a>, using a library (such as <a href="https://github.com/google/safevalues">safevalues</a> or <a href="https://github.com/cure53/DOMPurify#what-about-dompurify-and-trusted-types">DOMPurify</a>), or <a href="https://web.dev/articles/trusted-types#create_a_trusted_type_policy">creating a Trusted Types policy</a>. To ensure a seamless experience for users, we recommend employing these techniques before Trusted Types enforcement is rolled out. Failure to make code Trusted Types compliant may cause feature breakages for third-party extensions as their DOM manipulations will be blocked by the browser.&nbsp;</li></ul><li><b>End users: </b>There is no end user setting for this feature.&nbsp;</li></ul></div><div><br /></div><h3 style="text-align: left;">Rollout pace&nbsp;</h3><div><ul style="text-align: left;"><li><a href="https://support.google.com/a/answer/172177">Rapid Release domains:</a> Extended rollout (potentially longer than 15 days for feature visibility) starting on February 12, 2024&nbsp;</li><li><a href="https://support.google.com/a/answer/172177">Scheduled Release domains:</a> Gradual rollout (up to 15 days for feature visibility) starting on March 11, 2024&nbsp;</li></ul></div><div><br /></div><h3 style="text-align: left;">Availability&nbsp;</h3><div><ul style="text-align: left;"><li>Available to all Google Workspace customers and users with personal Google Accounts&nbsp;</li></ul></div><div><br /></div><h3 style="text-align: left;">Resources&nbsp;</h3><div><ul style="text-align: left;"><li><a href="https://developer.chrome.com/blog/csp-issues/">Google Help: Implement CSP and Trusted Types debugging in Chrome DevTools.</a></li></ul></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> <h3 style="text-align: left;">What&#8217;s changing</h3><div><a href="https://workspaceupdates.googleblog.com/2023/02/trusted-types-in-google-workspace.html">Last year,</a> we improved the client-side security of Google Docs, Sheets, Slides, Forms, Sites, Drawings, Drive, and Calendar with <a href="https://web.dev/trusted-types/">Trusted Types</a>. This browser-based runtime feature limits the uses of <a href="https://www.w3.org/TR/trusted-types/#injection-sinks">Document Object Model</a>&nbsp;(DOM) APIs that are used by the apps listed above or third-party extensions. Trusted Types also reduce the possibility of Document Object Model Cross Site Scripting (<a href="https://owasp.org/www-community/attacks/DOM_Based_XSS">DOM XSS</a>), which continues to be one of the most critical threats to web security.&nbsp;</div><div><br /></div><div>DOM XSS occurs when a cyber attacker injects malicious code into a web page, which can then be executed by the victim's browser. This can allow the cyber attacker to steal cookies, hijack sessions, and even take control of the victim's computer.&nbsp;</div><div><br /></div><div>To defend against this, we&#8217;re excited to announce the expansion of Trusted Types to Gmail. This will provide a defense against DOM XSS and further enhances our advanced data protection controls to keep users and data safe across more of the apps they use everyday.&nbsp;</div><div><br /></div><div><br /></div><h3 style="text-align: left;">Who&#8217;s impacted&nbsp;</h3><div>Developers (relying on any Chrome extensions that modify DOM APIs.)&nbsp;</div><div><br /></div><div><br /></div><h3 style="text-align: left;">Additional details&nbsp;</h3><div>This new enforcement mode will require third-party extensions to use <a href="https://web.dev/trusted-types/#fix-the-violations">typed objects instead of strings</a> when assigning values to DOM APIs. Once Trusted Types are fully enforced, the Trusted Types directive will be present in the Content Security Policy (CSP) header:&nbsp;</div><div><br /></div><div style="text-align: center;"><i><span style="font-size: x-small;">Content-Security-Policy: require-trusted-types-for 'script';report-uri https://mail.google.com/mail/cspreport&nbsp;</span></i></div><div style="text-align: center;"><br /></div><div><br /></div><h3 style="text-align: left;">Getting started&nbsp;</h3><div><ul style="text-align: left;"><li><b>Admins: </b>There is no admin control for this feature.&nbsp;</li><li><b>Developers:&nbsp;</b></li><ul><li>To make code Trusted Types compliant, signal to the browser that data being used within the context of these DOM APIs is trustworthy by creating a Trusted Type special object.&nbsp;</li><li>There are several ways to be Trusted Types compliant, such as <a href="https://web.dev/articles/trusted-types#rewrite_the_offending_code">removing the offending code</a>, using a library (such as <a href="https://github.com/google/safevalues">safevalues</a> or <a href="https://github.com/cure53/DOMPurify#what-about-dompurify-and-trusted-types">DOMPurify</a>), or <a href="https://web.dev/articles/trusted-types#create_a_trusted_type_policy">creating a Trusted Types policy</a>. To ensure a seamless experience for users, we recommend employing these techniques before Trusted Types enforcement is rolled out. Failure to make code Trusted Types compliant may cause feature breakages for third-party extensions as their DOM manipulations will be blocked by the browser.&nbsp;</li></ul><li><b>End users: </b>There is no end user setting for this feature.&nbsp;</li></ul></div><div><br /></div><h3 style="text-align: left;">Rollout pace&nbsp;</h3><div><ul style="text-align: left;"><li><a href="https://support.google.com/a/answer/172177">Rapid Release domains:</a> Extended rollout (potentially longer than 15 days for feature visibility) starting on February 12, 2024&nbsp;</li><li><a href="https://support.google.com/a/answer/172177">Scheduled Release domains:</a> Gradual rollout (up to 15 days for feature visibility) starting on March 11, 2024&nbsp;</li></ul></div><div><br /></div><h3 style="text-align: left;">Availability&nbsp;</h3><div><ul style="text-align: left;"><li>Available to all Google Workspace customers and users with personal Google Accounts&nbsp;</li></ul></div><div><br /></div><h3 style="text-align: left;">Resources&nbsp;</h3><div><ul style="text-align: left;"><li><a href="https://developer.chrome.com/blog/csp-issues/">Google Help: Implement CSP and Trusted Types debugging in Chrome DevTools.</a></li></ul></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper'> </span> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Google Workspace Updates:Extending Trusted Types to Gmail&url=http://workspaceupdates.googleblog.com/2024/01/extending-trusted-types-to-gmail.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=http://workspaceupdates.googleblog.com/2024/01/extending-trusted-types-to-gmail.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='http://workspaceupdates.googleblog.com/2024/01/extending-trusted-types-to-gmail.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='http://workspaceupdates.googleblog.com/search/label/API' rel='tag'> API </a> , <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Developer' rel='tag'> Developer </a> , <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Gmail' rel='tag'> Gmail </a> , <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Other' rel='tag'> Other </a> , <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Security%20and%20Compliance' rel='tag'> Security and Compliance </a> </span> </div> </div> </div> <div class='post' data-id='6989596515894603306' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='http://workspaceupdates.googleblog.com/2023/12/google-meet-add-ons-sdk-developer-preview.html' itemprop='url' title='Meet Add-ons SDK available in Developer Preview'> Meet Add-ons SDK available in Developer Preview </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Monday, December 11, 2023 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <h3 style="text-align: left;">What&#8217;s changing&nbsp;</h3><div>Today, the <a href="https://developers.google.com/meet/add-ons/guides/overview">Google Meet Web Add-ons SDK</a> is available through our Developer Preview Program. Developers can use the SDK to bring their app experience right into Meet. End users can install, open, and collaborate in apps right inside a meeting, either as the meeting focal point, or in the sidebar &#8212; all without ever leaving Meet.&nbsp;</div><div><br /></div><div><br /></div><div>Recently, we announced the availability of the <a href="https://workspaceupdates.googleblog.com/2023/11/google-meet-api-developer-program.html">Google Meet API</a> through the <a href="https://developers.google.com/workspace/preview">Google Workspace Developer Preview Program</a>. The Google Meet Add-ons SDK expands on these platform capabilities and allows developers to integrate apps and workflows directly into the Meet UI. There are two ways in which add-ons show up in Meet: the main stage of a meeting or the meeting side panel. The main stage allows apps to be the focal point of a meeting experience, unlocking the opportunity for add-on users to collaborate while in a meeting. The side panel allows users to to share data, take surveys, or update records while staying focused on the discussion in the meeting. </div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibtLxsoslz3wmVaHUY-w_93G4w11hpqCtgSiA89QJ7IhTc502OZWN36Sd3xGyKz3nLiu1UZ2gb7Z4rVYpHS7FN3a9XDjz9seZHZqoLiNBw_-C249RoYAf23_ZdIdMbbPBHsRGwlagTFwrzjvTn1Vmx50ws6o3SvQoQDuNJWUv3ySqVZ5QBfb6U6EDI3ZA/s787/sdk1.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="275" data-original-width="787" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibtLxsoslz3wmVaHUY-w_93G4w11hpqCtgSiA89QJ7IhTc502OZWN36Sd3xGyKz3nLiu1UZ2gb7Z4rVYpHS7FN3a9XDjz9seZHZqoLiNBw_-C249RoYAf23_ZdIdMbbPBHsRGwlagTFwrzjvTn1Vmx50ws6o3SvQoQDuNJWUv3ySqVZ5QBfb6U6EDI3ZA/s16000/sdk1.png" /></a></div><br /><div><br /></div><div><br /></div><div><div>Partners such as Atlassian, Figma, Lucid, Miro, Read.ai, and Polly.ai have already built and launched Meet Add-ons, and we&#8217;re excited to see what other apps and workflows developers will build into Meet&#8217;s highly-interactive surfaces.</div></div><div><br /></div><div class="separator" style="clear: both; text-align: left;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOK2kkTVpxsVFekbPysmywxfUKiB31TJ7g9xHAVRFRs_k5HQQf7RpnT4C2ZBqmvu3PaKfD9NgjWUlJqBDaFrIUwVurb3eApabjszlAY26SK1Ii8-s7ntYVdCIuYL_DgMNXcsTzYRPO1qWBT4mVa4b4Qd_jSqdpgahz2sTu7AujySVGjjBg0UD2URImJyo/s389/sdk2.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="64" data-original-width="389" height="53" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOK2kkTVpxsVFekbPysmywxfUKiB31TJ7g9xHAVRFRs_k5HQQf7RpnT4C2ZBqmvu3PaKfD9NgjWUlJqBDaFrIUwVurb3eApabjszlAY26SK1Ii8-s7ntYVdCIuYL_DgMNXcsTzYRPO1qWBT4mVa4b4Qd_jSqdpgahz2sTu7AujySVGjjBg0UD2URImJyo/s320/sdk2.png" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4SJ-OZiRfgHM2Blrx_SWrABMVsho8ZDqjFNiRPae54uCv22JOvDu49s6OcW09pdjExmd5kbybS5Hy0sPg723A0ZBMqgsrKAocdyapDo-JEh0gGoW45PDhY5FUHa232zF_uRG4Rabfs6i1ok80AjDtbICIMya-1eSnD4oemccJXGsSpBwepsVsD1QDGJA/s1600/sdk3.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1000" data-original-width="1600" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4SJ-OZiRfgHM2Blrx_SWrABMVsho8ZDqjFNiRPae54uCv22JOvDu49s6OcW09pdjExmd5kbybS5Hy0sPg723A0ZBMqgsrKAocdyapDo-JEh0gGoW45PDhY5FUHa232zF_uRG4Rabfs6i1ok80AjDtbICIMya-1eSnD4oemccJXGsSpBwepsVsD1QDGJA/s16000/sdk3.png" /></a></div><br /><div class="separator" style="clear: both; text-align: left;"><br /></div><br /><div><br /></div><div><div><br /></div><div>During Developer Public Preview, add-ons can only be deployed within your domain and are only accessible when using Google Meet on the web. In the coming months, we will also launch Meet Add-ons SDKs for Android and iOS to expand these capabilities to mobile form factors.&nbsp;</div><div><br /></div><div><br /></div><div>To access the preview SDK, please join the <a href="https://developers.google.com/workspace/preview">Google Workspace Developer Preview Program</a>.</div></div><div><br /></div><div><h3 style="text-align: left;"><br /></h3><h3 style="text-align: left;">Who&#8217;s impacted</h3><div>Admins and developers</div><div><br /></div><div><br /></div><h3 style="text-align: left;"><br /></h3><h3 style="text-align: left;">Why you&#8217;d use it&nbsp;</h3><div>Using the Google Meet Add-Ons SDK, developers can integrate their apps directly in Google Meet. In turn, meeting participants can leverage these apps to collaborate on a whiteboard, brainstorm with the latest design files, and more all without leaving the Meet user interface.</div></div><div><br /></div><div><br /></div><div><h3 style="text-align: left;">Getting started</h3><div><ul style="text-align: left;"><li><b>Admins:</b> There is no admin control for the Meet Add-ons SDK. The availability of Google Meet Add-ons in meetings can be controlled through the Google Meet Admin Controls.&nbsp; Visit the Help Center to learn more about <a href="https://support.google.com/a/answer/6089179?hl=en&amp;ref_topic=1056395&amp;sjid=12827787548454794043-NA">admin controls for Add-ons</a>.</li><li><b>Developers:</b></li><ul><li>To use the Google Meet Add-Ons SDK, developers can apply for access through our <a href="https://developers.google.com/workspace/preview">Google Workspace Developer Preview Program</a>.&nbsp;</li><li>Our Developer Documentation has more information about using the <a href="https://developers.google.com/meet/add-ons/guides/overview">Meet Add-Ons SDK</a>.</li></ul><li><b>End users:</b> Visit the Help Center to learn more about <a href="https://support.google.com/meet/answer/13961388">using add-ons with Google Meet</a>.</li></ul><div><h3 style="text-align: left;">Rollout pace</h3><div><ul style="text-align: left;"><li>This feature is available now through the <a href="https://developers.google.com/workspace/preview">Google Workspace Developer Preview Program</a></li></ul></div><div><br /></div><h3 style="text-align: left;">Availability</h3><div><ul style="text-align: left;"><li>Available to all Google Workspace customers</li></ul></div><div><br /></div><h3 style="text-align: left;">Resources</h3><div><ul style="text-align: left;"><li><a href="https://developers.google.com/workspace/preview">Google Workspace Developer Preview Program</a></li><li><a href="https://support.google.com/a/answer/6089179?hl=en&amp;ref_topic=1056395&amp;sjid=12827787548454794043-NA">Google Help: Admin Controls for Add-ons</a></li><li><a href="https://developers.google.com/meet/add-ons/guides/overview">Google Developers: Google Meet Add-ons SDK overview</a></li></ul></div><div><br /></div></div></div></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> <h3 style="text-align: left;">What&#8217;s changing&nbsp;</h3><div>Today, the <a href="https://developers.google.com/meet/add-ons/guides/overview">Google Meet Web Add-ons SDK</a> is available through our Developer Preview Program. Developers can use the SDK to bring their app experience right into Meet. End users can install, open, and collaborate in apps right inside a meeting, either as the meeting focal point, or in the sidebar &#8212; all without ever leaving Meet.&nbsp;</div><div><br /></div><div><br /></div><div>Recently, we announced the availability of the <a href="https://workspaceupdates.googleblog.com/2023/11/google-meet-api-developer-program.html">Google Meet API</a> through the <a href="https://developers.google.com/workspace/preview">Google Workspace Developer Preview Program</a>. The Google Meet Add-ons SDK expands on these platform capabilities and allows developers to integrate apps and workflows directly into the Meet UI. There are two ways in which add-ons show up in Meet: the main stage of a meeting or the meeting side panel. The main stage allows apps to be the focal point of a meeting experience, unlocking the opportunity for add-on users to collaborate while in a meeting. The side panel allows users to to share data, take surveys, or update records while staying focused on the discussion in the meeting. </div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibtLxsoslz3wmVaHUY-w_93G4w11hpqCtgSiA89QJ7IhTc502OZWN36Sd3xGyKz3nLiu1UZ2gb7Z4rVYpHS7FN3a9XDjz9seZHZqoLiNBw_-C249RoYAf23_ZdIdMbbPBHsRGwlagTFwrzjvTn1Vmx50ws6o3SvQoQDuNJWUv3ySqVZ5QBfb6U6EDI3ZA/s787/sdk1.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="275" data-original-width="787" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibtLxsoslz3wmVaHUY-w_93G4w11hpqCtgSiA89QJ7IhTc502OZWN36Sd3xGyKz3nLiu1UZ2gb7Z4rVYpHS7FN3a9XDjz9seZHZqoLiNBw_-C249RoYAf23_ZdIdMbbPBHsRGwlagTFwrzjvTn1Vmx50ws6o3SvQoQDuNJWUv3ySqVZ5QBfb6U6EDI3ZA/s16000/sdk1.png" /></a></div><br /><div><br /></div><div><br /></div><div><div>Partners such as Atlassian, Figma, Lucid, Miro, Read.ai, and Polly.ai have already built and launched Meet Add-ons, and we&#8217;re excited to see what other apps and workflows developers will build into Meet&#8217;s highly-interactive surfaces.</div></div><div><br /></div><div class="separator" style="clear: both; text-align: left;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOK2kkTVpxsVFekbPysmywxfUKiB31TJ7g9xHAVRFRs_k5HQQf7RpnT4C2ZBqmvu3PaKfD9NgjWUlJqBDaFrIUwVurb3eApabjszlAY26SK1Ii8-s7ntYVdCIuYL_DgMNXcsTzYRPO1qWBT4mVa4b4Qd_jSqdpgahz2sTu7AujySVGjjBg0UD2URImJyo/s389/sdk2.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="64" data-original-width="389" height="53" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOK2kkTVpxsVFekbPysmywxfUKiB31TJ7g9xHAVRFRs_k5HQQf7RpnT4C2ZBqmvu3PaKfD9NgjWUlJqBDaFrIUwVurb3eApabjszlAY26SK1Ii8-s7ntYVdCIuYL_DgMNXcsTzYRPO1qWBT4mVa4b4Qd_jSqdpgahz2sTu7AujySVGjjBg0UD2URImJyo/s320/sdk2.png" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4SJ-OZiRfgHM2Blrx_SWrABMVsho8ZDqjFNiRPae54uCv22JOvDu49s6OcW09pdjExmd5kbybS5Hy0sPg723A0ZBMqgsrKAocdyapDo-JEh0gGoW45PDhY5FUHa232zF_uRG4Rabfs6i1ok80AjDtbICIMya-1eSnD4oemccJXGsSpBwepsVsD1QDGJA/s1600/sdk3.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1000" data-original-width="1600" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4SJ-OZiRfgHM2Blrx_SWrABMVsho8ZDqjFNiRPae54uCv22JOvDu49s6OcW09pdjExmd5kbybS5Hy0sPg723A0ZBMqgsrKAocdyapDo-JEh0gGoW45PDhY5FUHa232zF_uRG4Rabfs6i1ok80AjDtbICIMya-1eSnD4oemccJXGsSpBwepsVsD1QDGJA/s16000/sdk3.png" /></a></div><br /><div class="separator" style="clear: both; text-align: left;"><br /></div><br /><div><br /></div><div><div><br /></div><div>During Developer Public Preview, add-ons can only be deployed within your domain and are only accessible when using Google Meet on the web. In the coming months, we will also launch Meet Add-ons SDKs for Android and iOS to expand these capabilities to mobile form factors.&nbsp;</div><div><br /></div><div><br /></div><div>To access the preview SDK, please join the <a href="https://developers.google.com/workspace/preview">Google Workspace Developer Preview Program</a>.</div></div><div><br /></div><div><h3 style="text-align: left;"><br /></h3><h3 style="text-align: left;">Who&#8217;s impacted</h3><div>Admins and developers</div><div><br /></div><div><br /></div><h3 style="text-align: left;"><br /></h3><h3 style="text-align: left;">Why you&#8217;d use it&nbsp;</h3><div>Using the Google Meet Add-Ons SDK, developers can integrate their apps directly in Google Meet. In turn, meeting participants can leverage these apps to collaborate on a whiteboard, brainstorm with the latest design files, and more all without leaving the Meet user interface.</div></div><div><br /></div><div><br /></div><div><h3 style="text-align: left;">Getting started</h3><div><ul style="text-align: left;"><li><b>Admins:</b> There is no admin control for the Meet Add-ons SDK. The availability of Google Meet Add-ons in meetings can be controlled through the Google Meet Admin Controls.&nbsp; Visit the Help Center to learn more about <a href="https://support.google.com/a/answer/6089179?hl=en&amp;ref_topic=1056395&amp;sjid=12827787548454794043-NA">admin controls for Add-ons</a>.</li><li><b>Developers:</b></li><ul><li>To use the Google Meet Add-Ons SDK, developers can apply for access through our <a href="https://developers.google.com/workspace/preview">Google Workspace Developer Preview Program</a>.&nbsp;</li><li>Our Developer Documentation has more information about using the <a href="https://developers.google.com/meet/add-ons/guides/overview">Meet Add-Ons SDK</a>.</li></ul><li><b>End users:</b> Visit the Help Center to learn more about <a href="https://support.google.com/meet/answer/13961388">using add-ons with Google Meet</a>.</li></ul><div><h3 style="text-align: left;">Rollout pace</h3><div><ul style="text-align: left;"><li>This feature is available now through the <a href="https://developers.google.com/workspace/preview">Google Workspace Developer Preview Program</a></li></ul></div><div><br /></div><h3 style="text-align: left;">Availability</h3><div><ul style="text-align: left;"><li>Available to all Google Workspace customers</li></ul></div><div><br /></div><h3 style="text-align: left;">Resources</h3><div><ul style="text-align: left;"><li><a href="https://developers.google.com/workspace/preview">Google Workspace Developer Preview Program</a></li><li><a href="https://support.google.com/a/answer/6089179?hl=en&amp;ref_topic=1056395&amp;sjid=12827787548454794043-NA">Google Help: Admin Controls for Add-ons</a></li><li><a href="https://developers.google.com/meet/add-ons/guides/overview">Google Developers: Google Meet Add-ons SDK overview</a></li></ul></div><div><br /></div></div></div></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper'> </span> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Google Workspace Updates:Meet Add-ons SDK available in Developer Preview&url=http://workspaceupdates.googleblog.com/2023/12/google-meet-add-ons-sdk-developer-preview.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=http://workspaceupdates.googleblog.com/2023/12/google-meet-add-ons-sdk-developer-preview.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='http://workspaceupdates.googleblog.com/2023/12/google-meet-add-ons-sdk-developer-preview.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Developer' rel='tag'> Developer </a> , <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Google%20Meet' rel='tag'> Google Meet </a> , <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Rapid%20Release' rel='tag'> Rapid Release </a> , <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Scheduled%20Release' rel='tag'> Scheduled Release </a> </span> </div> </div> </div> <div class='post' data-id='1495111210774627854' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='http://workspaceupdates.googleblog.com/2023/11/calendar-api-read-write-out-of-office-and-focus-time-events.html' itemprop='url' title='Read and write out of office and focus time events using the Calendar API'> Read and write out of office and focus time events using the Calendar API </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Friday, November 17, 2023 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <h3 style="text-align: left;">What&#8217;s changing&nbsp;</h3><div>In addition to reading and writing working location data, we&#8217;re expanding the Calendar API functionality to encompass out of office and focus time data. Developers can use the API to read and write this information and synchronize users&#8217; availability with external systems. For example, you can use the API in conjunction with HR systems to automatically add OOO entries to a user&#8217;s calendar when they submit vacation time. Or the API can be used to automatically block focus time on a user&#8217;s calendar to complete training courses.&nbsp;</div><div><br /></div><div><ul style="text-align: left;"><li>Reading and writing out of office and focus time is helpful in a variety of situations such as:&nbsp;</li><li>Creating and updating OOO and Focus Time events (<a href="https://developers.google.com/calendar/v3/reference/events/insert">Events.Insert</a>, <a href="https://developers.google.com/calendar/v3/reference/events/update">Events.Update</a>, <a href="https://developers.google.com/calendar/v3/reference/events/patch">Events.Patch</a>).&nbsp;</li><li>Specifying OOO and Focus Time specific features, such as auto-declining meetings, and setting do-not-disturb statuses.&nbsp;</li><li>Selecting any combination of event types to read from a calendar (<a href="https://developers.google.com/calendar/v3/reference/events/list">Events.List</a>).&nbsp;</li></ul></div><div><br /></div><div>Further, reading and writing this information eliminates the need for users to enter the same information into multiple systems, helping to cut down on manual churn. </div><div><br /></div><div><br /></div><div><h3 style="text-align: left;">Who&#8217;s impacted</h3><div>Developers</div><div><br /></div><div><br /></div><h3 style="text-align: left;">Why you&#8217;d use it</h3><div>Out of office and focus time event support joins support for working location, which was <a href="https://workspaceupdates.googleblog.com/2023/08/calendar-api-working-location-read-write-generally-available.html">announced earlier this year</a>, to round out API functionality for calendar events. Each specific event type can be synced throughout your organization's IT ecosystem, creating seamless user journeys and helping to connect users with resources and each other. This includes things such as:</div><div><br /></div><div><br /></div><div><ul style="text-align: left;"><li>Mapping working location data to better adapt on-site resources and update other third-party surfaces, such as hot desk booking tools.&nbsp;</li><li>Automatically blocking OOO based on vacation or PTO requests.</li><li>Blocking off focus time events to give users time to go through onboarding or other company training programs.</li></ul></div><div><br /></div><h3 style="text-align: left;"><br /></h3><h3 style="text-align: left;">Additional details</h3><div>Prior to this update, if you requested to read a user&#8217;s calendar via API v3, out of office and focus time events were returned with unknownorganizer@calendar.google.com in the organizer field, and without their specific features. With this update, these events will return with all their properties and the specific user as organizer. Please check your code to ensure it does not make implicit assumptions about the previous API return values, and use the <a href="https://developers.google.com/calendar/api/v3/reference/events#:~:text=of%20the%20resource.-,eventType,-string">eventType</a> parameter to perform different operations with regular, OOO, Focus Time, or Working Location events&nbsp;</div></div><div><br /></div><div><br /></div><div><h3 style="text-align: left;">Getting started</h3><div><ul style="text-align: left;"><li><b>Admins:</b> There is no admin control for this feature.<br /><br /></li><li><b>Developers: </b>Use our Developer Documentation for more information about <a href="https://developers.google.com/calendar/api/guides/calendar-status">managing focus time, out of office, and working location events</a>.<br /><br /></li><li><b>End users:</b> There is no end user action required. Visit the Help Center to learn more about <a href="https://support.google.com/calendar/answer/7638168">showing when you're out of office</a> or <a href="https://support.google.com/calendar/answer/11190973">using focus time</a> in Calendar.&nbsp;</li></ul></div><div><br /></div><h3 style="text-align: left;">Rollout pace</h3><div><ul style="text-align: left;"><li><a href="https://support.google.com/a/answer/172177">Rapid Release and Scheduled Release domains</a>: Extended rollout (potentially longer than 15 days for feature visibility) starting on November 16, 2023</li></ul><div><h3 style="text-align: left;">Availability</h3><div><ul style="text-align: left;"><li><b>The Calendar API</b> is available to all.&nbsp;<br /><br /></li><li><b>Out of Office events</b> are available to Google Workspace Essentials, Enterprise Essentials, Frontline, Enterprise Starter, Enterprise Standard, Enterprise Plus, Nonprofits, Business Starter, Business Standard, Business Plus, Education Fundamentals, Education Standard, and Education Plus customers.<br /><br /></li><li><b>Focus Time events</b> are available to Google Workspace Enterprise Starter, Enterprise Standard, Enterprise Plus, Nonprofits, Business Standard, Business Plus, Education Fundamentals, Education Standard, and Education Plus customers.</li></ul></div><h3 style="text-align: left;">Resources</h3><div><ul style="text-align: left;"><li><a href="https://developers.google.com/calendar/api/guides/calendar-status">Developer Documentation: Manage focus time, out of office, and working location events</a></li><li><a href="https://support.google.com/calendar/answer/11190973">Google Help: Use focus time in Google Calendar</a></li><li><a href="https://support.google.com/calendar/answer/7638168">Google Help: Show when you&#8217;re out of office</a></li></ul></div><div><br /></div></div></div></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> <h3 style="text-align: left;">What&#8217;s changing&nbsp;</h3><div>In addition to reading and writing working location data, we&#8217;re expanding the Calendar API functionality to encompass out of office and focus time data. Developers can use the API to read and write this information and synchronize users&#8217; availability with external systems. For example, you can use the API in conjunction with HR systems to automatically add OOO entries to a user&#8217;s calendar when they submit vacation time. Or the API can be used to automatically block focus time on a user&#8217;s calendar to complete training courses.&nbsp;</div><div><br /></div><div><ul style="text-align: left;"><li>Reading and writing out of office and focus time is helpful in a variety of situations such as:&nbsp;</li><li>Creating and updating OOO and Focus Time events (<a href="https://developers.google.com/calendar/v3/reference/events/insert">Events.Insert</a>, <a href="https://developers.google.com/calendar/v3/reference/events/update">Events.Update</a>, <a href="https://developers.google.com/calendar/v3/reference/events/patch">Events.Patch</a>).&nbsp;</li><li>Specifying OOO and Focus Time specific features, such as auto-declining meetings, and setting do-not-disturb statuses.&nbsp;</li><li>Selecting any combination of event types to read from a calendar (<a href="https://developers.google.com/calendar/v3/reference/events/list">Events.List</a>).&nbsp;</li></ul></div><div><br /></div><div>Further, reading and writing this information eliminates the need for users to enter the same information into multiple systems, helping to cut down on manual churn. </div><div><br /></div><div><br /></div><div><h3 style="text-align: left;">Who&#8217;s impacted</h3><div>Developers</div><div><br /></div><div><br /></div><h3 style="text-align: left;">Why you&#8217;d use it</h3><div>Out of office and focus time event support joins support for working location, which was <a href="https://workspaceupdates.googleblog.com/2023/08/calendar-api-working-location-read-write-generally-available.html">announced earlier this year</a>, to round out API functionality for calendar events. Each specific event type can be synced throughout your organization's IT ecosystem, creating seamless user journeys and helping to connect users with resources and each other. This includes things such as:</div><div><br /></div><div><br /></div><div><ul style="text-align: left;"><li>Mapping working location data to better adapt on-site resources and update other third-party surfaces, such as hot desk booking tools.&nbsp;</li><li>Automatically blocking OOO based on vacation or PTO requests.</li><li>Blocking off focus time events to give users time to go through onboarding or other company training programs.</li></ul></div><div><br /></div><h3 style="text-align: left;"><br /></h3><h3 style="text-align: left;">Additional details</h3><div>Prior to this update, if you requested to read a user&#8217;s calendar via API v3, out of office and focus time events were returned with unknownorganizer@calendar.google.com in the organizer field, and without their specific features. With this update, these events will return with all their properties and the specific user as organizer. Please check your code to ensure it does not make implicit assumptions about the previous API return values, and use the <a href="https://developers.google.com/calendar/api/v3/reference/events#:~:text=of%20the%20resource.-,eventType,-string">eventType</a> parameter to perform different operations with regular, OOO, Focus Time, or Working Location events&nbsp;</div></div><div><br /></div><div><br /></div><div><h3 style="text-align: left;">Getting started</h3><div><ul style="text-align: left;"><li><b>Admins:</b> There is no admin control for this feature.<br /><br /></li><li><b>Developers: </b>Use our Developer Documentation for more information about <a href="https://developers.google.com/calendar/api/guides/calendar-status">managing focus time, out of office, and working location events</a>.<br /><br /></li><li><b>End users:</b> There is no end user action required. Visit the Help Center to learn more about <a href="https://support.google.com/calendar/answer/7638168">showing when you're out of office</a> or <a href="https://support.google.com/calendar/answer/11190973">using focus time</a> in Calendar.&nbsp;</li></ul></div><div><br /></div><h3 style="text-align: left;">Rollout pace</h3><div><ul style="text-align: left;"><li><a href="https://support.google.com/a/answer/172177">Rapid Release and Scheduled Release domains</a>: Extended rollout (potentially longer than 15 days for feature visibility) starting on November 16, 2023</li></ul><div><h3 style="text-align: left;">Availability</h3><div><ul style="text-align: left;"><li><b>The Calendar API</b> is available to all.&nbsp;<br /><br /></li><li><b>Out of Office events</b> are available to Google Workspace Essentials, Enterprise Essentials, Frontline, Enterprise Starter, Enterprise Standard, Enterprise Plus, Nonprofits, Business Starter, Business Standard, Business Plus, Education Fundamentals, Education Standard, and Education Plus customers.<br /><br /></li><li><b>Focus Time events</b> are available to Google Workspace Enterprise Starter, Enterprise Standard, Enterprise Plus, Nonprofits, Business Standard, Business Plus, Education Fundamentals, Education Standard, and Education Plus customers.</li></ul></div><h3 style="text-align: left;">Resources</h3><div><ul style="text-align: left;"><li><a href="https://developers.google.com/calendar/api/guides/calendar-status">Developer Documentation: Manage focus time, out of office, and working location events</a></li><li><a href="https://support.google.com/calendar/answer/11190973">Google Help: Use focus time in Google Calendar</a></li><li><a href="https://support.google.com/calendar/answer/7638168">Google Help: Show when you&#8217;re out of office</a></li></ul></div><div><br /></div></div></div></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper'> </span> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Google Workspace Updates:Read and write out of office and focus time events using the Calendar API&url=http://workspaceupdates.googleblog.com/2023/11/calendar-api-read-write-out-of-office-and-focus-time-events.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=http://workspaceupdates.googleblog.com/2023/11/calendar-api-read-write-out-of-office-and-focus-time-events.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='http://workspaceupdates.googleblog.com/2023/11/calendar-api-read-write-out-of-office-and-focus-time-events.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='http://workspaceupdates.googleblog.com/search/label/API' rel='tag'> API </a> , <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Developer' rel='tag'> Developer </a> , <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Google%20Calendar' rel='tag'> Google Calendar </a> , <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Rapid%20Release' rel='tag'> Rapid Release </a> , <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Scheduled%20Release' rel='tag'> Scheduled Release </a> </span> </div> </div> </div> <div class='post' data-id='5695126839038245035' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='http://workspaceupdates.googleblog.com/2023/11/google-meet-api-developer-program.html' itemprop='url' title='Google Meet API now available in Developer Preview'> Google Meet API now available in Developer Preview </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Tuesday, November 7, 2023 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <h3 style="text-align: left;">What&#8217;s changing&nbsp;</h3><div>Launching through our <a href="https://developers.google.com/workspace/preview">Google Workspace Developer Preview Program</a>, developers can now use the Google Meet API. Using this API, developers can:</div><div><br /></div><div><ul style="text-align: left;"><li>Programmatically create and configure Meet calls.&nbsp;</li><li>Retrieve information about past meetings, such as the meeting times and attendees.&nbsp;</li><li>Access meeting artifacts, such as transcripts and video recordings.&nbsp;</li><li>Subscribe to real time updates on meetings, such as when a participant joins or leaves.&nbsp;</li></ul></div><div><br /></div><div>The API will give partners and customers the ability to create and configure Meet video conferences, allow their end users to join a conference, and post real-time updates from within their own applications. </div><div><br /></div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYGZIAUI3yJkvXhbm2KLtho8QYttsqZ5yVgW8D-R5F-SGrh-l_QftH0it2O27EVFoV8JLeCJb0P4AzIhfX5PQNmYZKfE4YSK2bcW1vjDpmqsuW07vXtTU0B1r7SDNqUSQde_sj2qDL7ZjY3pFrsS4aLC9TO3hRAeCyHu-JRQmbvYsDaRfHCfXcfKAdfQI/s1586/unnamed.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="896" data-original-width="1586" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYGZIAUI3yJkvXhbm2KLtho8QYttsqZ5yVgW8D-R5F-SGrh-l_QftH0it2O27EVFoV8JLeCJb0P4AzIhfX5PQNmYZKfE4YSK2bcW1vjDpmqsuW07vXtTU0B1r7SDNqUSQde_sj2qDL7ZjY3pFrsS4aLC9TO3hRAeCyHu-JRQmbvYsDaRfHCfXcfKAdfQI/s16000/unnamed.png" /></a></div><div class="separator" style="clear: both; text-align: center;"><span style="text-align: left;"><i><span style="font-size: xx-small;">Using the Meet API, Outreach is ingesting meeting recordings and transcripts into their AI-powered conversation intelligence tool, Kaia, to deliver rich insights to their teams.</span></i></span></div><div><br /></div><div><h3 style="text-align: left;"><br /></h3><h3 style="text-align: left;">Who&#8217;s impacted</h3><div>Developers</div><div><br /></div><h3 style="text-align: left;"><br /></h3><h3 style="text-align: left;">Why you&#8217;d use it</h3><div>Incorporating your product with the Google Meet API streamlines workflows and provides your product with Meet information that easily enhances your product offering. For example, partners such as Hubspot, Outreach, Salesloft and Salesforce currently integrate the Meet API to pull meeting recordings and artifacts into their conversational intelligence tools for analysis and sales coaching.</div><div><br /></div><div><br /></div><div>Additionally, integrating with the Google Meet API enables you to link your app with Meet&#8217;s video conferencing capabilities, allowing users to access a secure video conferencing product from their own UI by the click of a button. Brandlive, a leading webinar and event platform, uses the Google Meet API as a way to create and configure video sessions for larger sessions and smaller breakout conversations.</div><div><br /></div><div><br /></div><h3 style="text-align: left;">Additional details</h3><div>View the <a href="https://developers.google.com/meet/api">Google Meet API documentation</a> for additional details.</div></div><div><br /></div><div><h3 style="text-align: left;"><br /></h3><h3 style="text-align: left;">Getting started</h3><div><ul style="text-align: left;"><li><b>Admins:</b> There is no admin control for this feature. Visit the Help Center to learn more about <a href="https://support.google.com/meet/answer/7317473?hl=en&amp;ref_topic=14074236&amp;sjid=10621479266473451268-NA">what requirements you need to use Google Meet</a>.</li><li><b>Developers: </b>To use the Google Meet API, developers can apply for access through our <a href="https://developers.google.com/workspace/preview">Google Workspace Developer Preview Program</a>.</li></ul></div><div><br /></div><div><br /></div><h3 style="text-align: left;">Rollout pace</h3><div><ul style="text-align: left;"><li>This feature is available now through the <a href="https://developers.google.com/workspace/preview">Google Workspace Developer Preview Program</a></li></ul></div><div><br /></div><h3 style="text-align: left;">Availability</h3><div><ul style="text-align: left;"><li>Available to all Google Workspace customers</li></ul></div></div><div><div><br /></div><h3 style="text-align: left;">Resources</h3><div><ul style="text-align: left;"><li><a href="https://developers.google.com/workspace/preview">Google Workspace Developer Preview Program</a></li><li><a href="https://support.google.com/meet/answer/7317473?hl=en&amp;ref_topic=14074236&amp;sjid=10621479266473451268-NA">Google Help: Learn what requirements you need to use Google Meet</a></li><li><a href="https://developers.google.com/meet/api/guides/overview">Google Developers: Google Meet API overview</a></li></ul></div></div><div><br /></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> <h3 style="text-align: left;">What&#8217;s changing&nbsp;</h3><div>Launching through our <a href="https://developers.google.com/workspace/preview">Google Workspace Developer Preview Program</a>, developers can now use the Google Meet API. Using this API, developers can:</div><div><br /></div><div><ul style="text-align: left;"><li>Programmatically create and configure Meet calls.&nbsp;</li><li>Retrieve information about past meetings, such as the meeting times and attendees.&nbsp;</li><li>Access meeting artifacts, such as transcripts and video recordings.&nbsp;</li><li>Subscribe to real time updates on meetings, such as when a participant joins or leaves.&nbsp;</li></ul></div><div><br /></div><div>The API will give partners and customers the ability to create and configure Meet video conferences, allow their end users to join a conference, and post real-time updates from within their own applications. </div><div><br /></div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYGZIAUI3yJkvXhbm2KLtho8QYttsqZ5yVgW8D-R5F-SGrh-l_QftH0it2O27EVFoV8JLeCJb0P4AzIhfX5PQNmYZKfE4YSK2bcW1vjDpmqsuW07vXtTU0B1r7SDNqUSQde_sj2qDL7ZjY3pFrsS4aLC9TO3hRAeCyHu-JRQmbvYsDaRfHCfXcfKAdfQI/s1586/unnamed.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="896" data-original-width="1586" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYGZIAUI3yJkvXhbm2KLtho8QYttsqZ5yVgW8D-R5F-SGrh-l_QftH0it2O27EVFoV8JLeCJb0P4AzIhfX5PQNmYZKfE4YSK2bcW1vjDpmqsuW07vXtTU0B1r7SDNqUSQde_sj2qDL7ZjY3pFrsS4aLC9TO3hRAeCyHu-JRQmbvYsDaRfHCfXcfKAdfQI/s16000/unnamed.png" /></a></div><div class="separator" style="clear: both; text-align: center;"><span style="text-align: left;"><i><span style="font-size: xx-small;">Using the Meet API, Outreach is ingesting meeting recordings and transcripts into their AI-powered conversation intelligence tool, Kaia, to deliver rich insights to their teams.</span></i></span></div><div><br /></div><div><h3 style="text-align: left;"><br /></h3><h3 style="text-align: left;">Who&#8217;s impacted</h3><div>Developers</div><div><br /></div><h3 style="text-align: left;"><br /></h3><h3 style="text-align: left;">Why you&#8217;d use it</h3><div>Incorporating your product with the Google Meet API streamlines workflows and provides your product with Meet information that easily enhances your product offering. For example, partners such as Hubspot, Outreach, Salesloft and Salesforce currently integrate the Meet API to pull meeting recordings and artifacts into their conversational intelligence tools for analysis and sales coaching.</div><div><br /></div><div><br /></div><div>Additionally, integrating with the Google Meet API enables you to link your app with Meet&#8217;s video conferencing capabilities, allowing users to access a secure video conferencing product from their own UI by the click of a button. Brandlive, a leading webinar and event platform, uses the Google Meet API as a way to create and configure video sessions for larger sessions and smaller breakout conversations.</div><div><br /></div><div><br /></div><h3 style="text-align: left;">Additional details</h3><div>View the <a href="https://developers.google.com/meet/api">Google Meet API documentation</a> for additional details.</div></div><div><br /></div><div><h3 style="text-align: left;"><br /></h3><h3 style="text-align: left;">Getting started</h3><div><ul style="text-align: left;"><li><b>Admins:</b> There is no admin control for this feature. Visit the Help Center to learn more about <a href="https://support.google.com/meet/answer/7317473?hl=en&amp;ref_topic=14074236&amp;sjid=10621479266473451268-NA">what requirements you need to use Google Meet</a>.</li><li><b>Developers: </b>To use the Google Meet API, developers can apply for access through our <a href="https://developers.google.com/workspace/preview">Google Workspace Developer Preview Program</a>.</li></ul></div><div><br /></div><div><br /></div><h3 style="text-align: left;">Rollout pace</h3><div><ul style="text-align: left;"><li>This feature is available now through the <a href="https://developers.google.com/workspace/preview">Google Workspace Developer Preview Program</a></li></ul></div><div><br /></div><h3 style="text-align: left;">Availability</h3><div><ul style="text-align: left;"><li>Available to all Google Workspace customers</li></ul></div></div><div><div><br /></div><h3 style="text-align: left;">Resources</h3><div><ul style="text-align: left;"><li><a href="https://developers.google.com/workspace/preview">Google Workspace Developer Preview Program</a></li><li><a href="https://support.google.com/meet/answer/7317473?hl=en&amp;ref_topic=14074236&amp;sjid=10621479266473451268-NA">Google Help: Learn what requirements you need to use Google Meet</a></li><li><a href="https://developers.google.com/meet/api/guides/overview">Google Developers: Google Meet API overview</a></li></ul></div></div><div><br /></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper'> </span> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Google Workspace Updates:Google Meet API now available in Developer Preview&url=http://workspaceupdates.googleblog.com/2023/11/google-meet-api-developer-program.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=http://workspaceupdates.googleblog.com/2023/11/google-meet-api-developer-program.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='http://workspaceupdates.googleblog.com/2023/11/google-meet-api-developer-program.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='http://workspaceupdates.googleblog.com/search/label/API' rel='tag'> API </a> , <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Developer' rel='tag'> Developer </a> , <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Google%20Meet' rel='tag'> Google Meet </a> , <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Other' rel='tag'> Other </a> </span> </div> </div> </div> <div class='post' data-id='4893453018816391166' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='http://workspaceupdates.googleblog.com/2023/08/apps-script-project-history.html' itemprop='url' title='View & compare script versions with Apps Script project history'> View & compare script versions with Apps Script project history </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Wednesday, August 23, 2023 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <h3 style="text-align: left;">What&#8217;s changing&nbsp;</h3><div>As we continue to improve the experience for Apps Script developers, today we're announcing project history, a new interface for developers to view previously deployed script versions and compare versions to the current script version.&nbsp;</div><div><br /></div><div><br /></div><div>Developers can use project history to view the code of previously deployed script versions. The highlight changes can be used to quickly compare differences between their selected version and the current, or head, version, taking the guesswork out of determining what's changed. Anyone who has edit permission on an Apps Script project can access project history. To navigate to the project history page, open an Apps Script project and click Project History.</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYUnn7owOzmc85qkccHwTfPO2yW7-l52O2pPmMX3qnISYUCVreZnaTJuPVDaI8KaXjq_Jy10E5ZiyNzxDccbTY2BZ6VvKs5SsfsrItXIA4mx6bDFD921AZmipmKp1VC49hnuDv73Vb91GvvevwbqKnIw2krpcf9-fbAmiH_6Araycl3p1gVouWo6rCoL8/s1180/unnamed%20(1).png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="497" data-original-width="1180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYUnn7owOzmc85qkccHwTfPO2yW7-l52O2pPmMX3qnISYUCVreZnaTJuPVDaI8KaXjq_Jy10E5ZiyNzxDccbTY2BZ6VvKs5SsfsrItXIA4mx6bDFD921AZmipmKp1VC49hnuDv73Vb91GvvevwbqKnIw2krpcf9-fbAmiH_6Araycl3p1gVouWo6rCoL8/s16000/unnamed%20(1).png" /></a></div><div class="separator" style="clear: both; text-align: center;"><i><span style="font-size: xx-small;">The project history page displays up to 200 previously deployed versions and the head version of the script.</span></i></div><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both;"><br /></div><div class="separator" style="clear: both;"><br /></div></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSQT1xxoKzOW3PDbWx-5HYlARakCO4K2-Kr2tKXv2KeETDPWogu1RYRDhM0IQxDpSp0BMVVB66YFnW6gCpJyUrsvuO-5_oSroIpGmmNuKhXH9NRujmQg-SYCSqBXT1Uby1zSZhyx_nKqT6I_IcUqtaZSon5QQAn5j8WGZv0XKswVamioiB-ALFe1Pkfhk/s1521/unnamed.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="691" data-original-width="1521" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSQT1xxoKzOW3PDbWx-5HYlARakCO4K2-Kr2tKXv2KeETDPWogu1RYRDhM0IQxDpSp0BMVVB66YFnW6gCpJyUrsvuO-5_oSroIpGmmNuKhXH9NRujmQg-SYCSqBXT1Uby1zSZhyx_nKqT6I_IcUqtaZSon5QQAn5j8WGZv0XKswVamioiB-ALFe1Pkfhk/s16000/unnamed.png" /></a></div><div class="separator" style="clear: both; text-align: center;"><i><span style="font-size: xx-small;">To compare a version to the head version, turn on Highlight changes.</span></i></div><div class="separator" style="clear: both; text-align: center;"><div><br /></div></div><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">Additional improvements for script versions will be made in the coming weeks.</div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;"><br /></div><div><br /></div><div><br /></div></div><div><h3 style="text-align: left;"><br /></h3><h3 style="text-align: left;">Who&#8217;s impacted</h3><div>Developers</div><div><br /></div><h3 style="text-align: left;">Why it&#8217;s important</h3><div>Apps Script is a low-code development platform that makes it quick and easy to build business solutions that integrate, automate, and extend Google Workspace. With Apps Script, Google Workspace users can customize workflows, create automations, and build integrations that connect the applications they use every day.</div><div><br /></div><h3 style="text-align: left;">Getting Started</h3><div><ul style="text-align: left;"><li><b>Developers:</b> Use our <a href="https://developers.google.com/apps-script">developer documentation</a> to learn more about working with Apps Script and watch the video below to see project history in action:</li></ul><div class="separator" style="clear: both; text-align: center;"><iframe allowfullscreen="" class="BLOG_video_class" height="266" src="https://www.youtube.com/embed/JvYdGlNNPy8" width="320" youtube-src-id="JvYdGlNNPy8"></iframe></div><div><br /></div><ul style="text-align: left;"><li>Anyone who has edit permission on an Apps Script project can access project history. To navigate to the project history page, open an Apps Script project and click Project History.</li></ul><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUauVsLsBSlZ05fqM67XA1Za5WNw7UpmgrNRtDFWhZYl4Miqzhh4ptCNfb9yDiXcJhxYHDX3Fo-hB7BwG2U4BtXRYcknB-u7FhbBmPab7a1EFO7TxFxOVDp-A62u0fg7loYELgeqmebfDZbq86kYm1Se7WgFBIUDbJaPekyxByAC8Qe0clGF9VXJfLFG0/s565/9YymEXjREZMQdKh%20(1).png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="432" data-original-width="565" height="489" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUauVsLsBSlZ05fqM67XA1Za5WNw7UpmgrNRtDFWhZYl4Miqzhh4ptCNfb9yDiXcJhxYHDX3Fo-hB7BwG2U4BtXRYcknB-u7FhbBmPab7a1EFO7TxFxOVDp-A62u0fg7loYELgeqmebfDZbq86kYm1Se7WgFBIUDbJaPekyxByAC8Qe0clGF9VXJfLFG0/w640-h489/9YymEXjREZMQdKh%20(1).png" width="640" /></a></div><br /><div><br /></div><div><h3 style="text-align: left;">Rollout</h3><div><ul style="text-align: left;"><li><a href="https://support.google.com/a/answer/172177">Rapid Release and Scheduled Release domains</a>: Gradual rollout (up to 15 days for feature visibility) starting on August 23, 2023</li></ul></div><div><br /></div><h3 style="text-align: left;">Availability</h3><div><ul style="text-align: left;"><li>Available to all Google Workspace customers and users with personal Google accounts</li></ul></div><div><br /></div><h3 style="text-align: left;">Resources</h3><div><ul style="text-align: left;"><li><a href="https://developers.google.com/apps-script">Apps Script documentation</a></li><li><a href="https://developers.google.com/apps-script/guides/versions">Developer guide: Versions</a></li><li><a href="https://developers.google.com/apps-script/concepts/deployments">Developer guide: Create and manage deployments</a></li><li><a href="https://script.google.com/home">Apps Script dashboard</a></li></ul></div></div></div></div><div><br /></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> <h3 style="text-align: left;">What&#8217;s changing&nbsp;</h3><div>As we continue to improve the experience for Apps Script developers, today we're announcing project history, a new interface for developers to view previously deployed script versions and compare versions to the current script version.&nbsp;</div><div><br /></div><div><br /></div><div>Developers can use project history to view the code of previously deployed script versions. The highlight changes can be used to quickly compare differences between their selected version and the current, or head, version, taking the guesswork out of determining what's changed. Anyone who has edit permission on an Apps Script project can access project history. To navigate to the project history page, open an Apps Script project and click Project History.</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYUnn7owOzmc85qkccHwTfPO2yW7-l52O2pPmMX3qnISYUCVreZnaTJuPVDaI8KaXjq_Jy10E5ZiyNzxDccbTY2BZ6VvKs5SsfsrItXIA4mx6bDFD921AZmipmKp1VC49hnuDv73Vb91GvvevwbqKnIw2krpcf9-fbAmiH_6Araycl3p1gVouWo6rCoL8/s1180/unnamed%20(1).png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="497" data-original-width="1180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYUnn7owOzmc85qkccHwTfPO2yW7-l52O2pPmMX3qnISYUCVreZnaTJuPVDaI8KaXjq_Jy10E5ZiyNzxDccbTY2BZ6VvKs5SsfsrItXIA4mx6bDFD921AZmipmKp1VC49hnuDv73Vb91GvvevwbqKnIw2krpcf9-fbAmiH_6Araycl3p1gVouWo6rCoL8/s16000/unnamed%20(1).png" /></a></div><div class="separator" style="clear: both; text-align: center;"><i><span style="font-size: xx-small;">The project history page displays up to 200 previously deployed versions and the head version of the script.</span></i></div><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both;"><br /></div><div class="separator" style="clear: both;"><br /></div></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSQT1xxoKzOW3PDbWx-5HYlARakCO4K2-Kr2tKXv2KeETDPWogu1RYRDhM0IQxDpSp0BMVVB66YFnW6gCpJyUrsvuO-5_oSroIpGmmNuKhXH9NRujmQg-SYCSqBXT1Uby1zSZhyx_nKqT6I_IcUqtaZSon5QQAn5j8WGZv0XKswVamioiB-ALFe1Pkfhk/s1521/unnamed.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="691" data-original-width="1521" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSQT1xxoKzOW3PDbWx-5HYlARakCO4K2-Kr2tKXv2KeETDPWogu1RYRDhM0IQxDpSp0BMVVB66YFnW6gCpJyUrsvuO-5_oSroIpGmmNuKhXH9NRujmQg-SYCSqBXT1Uby1zSZhyx_nKqT6I_IcUqtaZSon5QQAn5j8WGZv0XKswVamioiB-ALFe1Pkfhk/s16000/unnamed.png" /></a></div><div class="separator" style="clear: both; text-align: center;"><i><span style="font-size: xx-small;">To compare a version to the head version, turn on Highlight changes.</span></i></div><div class="separator" style="clear: both; text-align: center;"><div><br /></div></div><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">Additional improvements for script versions will be made in the coming weeks.</div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;"><br /></div><div><br /></div><div><br /></div></div><div><h3 style="text-align: left;"><br /></h3><h3 style="text-align: left;">Who&#8217;s impacted</h3><div>Developers</div><div><br /></div><h3 style="text-align: left;">Why it&#8217;s important</h3><div>Apps Script is a low-code development platform that makes it quick and easy to build business solutions that integrate, automate, and extend Google Workspace. With Apps Script, Google Workspace users can customize workflows, create automations, and build integrations that connect the applications they use every day.</div><div><br /></div><h3 style="text-align: left;">Getting Started</h3><div><ul style="text-align: left;"><li><b>Developers:</b> Use our <a href="https://developers.google.com/apps-script">developer documentation</a> to learn more about working with Apps Script and watch the video below to see project history in action:</li></ul><div class="separator" style="clear: both; text-align: center;"><iframe allowfullscreen="" class="BLOG_video_class" height="266" src="https://www.youtube.com/embed/JvYdGlNNPy8" width="320" youtube-src-id="JvYdGlNNPy8"></iframe></div><div><br /></div><ul style="text-align: left;"><li>Anyone who has edit permission on an Apps Script project can access project history. To navigate to the project history page, open an Apps Script project and click Project History.</li></ul><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUauVsLsBSlZ05fqM67XA1Za5WNw7UpmgrNRtDFWhZYl4Miqzhh4ptCNfb9yDiXcJhxYHDX3Fo-hB7BwG2U4BtXRYcknB-u7FhbBmPab7a1EFO7TxFxOVDp-A62u0fg7loYELgeqmebfDZbq86kYm1Se7WgFBIUDbJaPekyxByAC8Qe0clGF9VXJfLFG0/s565/9YymEXjREZMQdKh%20(1).png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="432" data-original-width="565" height="489" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUauVsLsBSlZ05fqM67XA1Za5WNw7UpmgrNRtDFWhZYl4Miqzhh4ptCNfb9yDiXcJhxYHDX3Fo-hB7BwG2U4BtXRYcknB-u7FhbBmPab7a1EFO7TxFxOVDp-A62u0fg7loYELgeqmebfDZbq86kYm1Se7WgFBIUDbJaPekyxByAC8Qe0clGF9VXJfLFG0/w640-h489/9YymEXjREZMQdKh%20(1).png" width="640" /></a></div><br /><div><br /></div><div><h3 style="text-align: left;">Rollout</h3><div><ul style="text-align: left;"><li><a href="https://support.google.com/a/answer/172177">Rapid Release and Scheduled Release domains</a>: Gradual rollout (up to 15 days for feature visibility) starting on August 23, 2023</li></ul></div><div><br /></div><h3 style="text-align: left;">Availability</h3><div><ul style="text-align: left;"><li>Available to all Google Workspace customers and users with personal Google accounts</li></ul></div><div><br /></div><h3 style="text-align: left;">Resources</h3><div><ul style="text-align: left;"><li><a href="https://developers.google.com/apps-script">Apps Script documentation</a></li><li><a href="https://developers.google.com/apps-script/guides/versions">Developer guide: Versions</a></li><li><a href="https://developers.google.com/apps-script/concepts/deployments">Developer guide: Create and manage deployments</a></li><li><a href="https://script.google.com/home">Apps Script dashboard</a></li></ul></div></div></div></div><div><br /></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper'> </span> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Google Workspace Updates:View & compare script versions with Apps Script project history&url=http://workspaceupdates.googleblog.com/2023/08/apps-script-project-history.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=http://workspaceupdates.googleblog.com/2023/08/apps-script-project-history.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='http://workspaceupdates.googleblog.com/2023/08/apps-script-project-history.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Developer' rel='tag'> Developer </a> , <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Google%20Apps%20Script' rel='tag'> Google Apps Script </a> , <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Rapid%20Release' rel='tag'> Rapid Release </a> , <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Scheduled%20Release' rel='tag'> Scheduled Release </a> </span> </div> </div> </div> <div class='post' data-id='5498945979834413313' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='http://workspaceupdates.googleblog.com/2023/08/calendar-api-working-location-read-write-generally-available.html' itemprop='url' title='Programmatically read and write working locations with the Calendar API, now generally available'> Programmatically read and write working locations with the Calendar API, now generally available </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Wednesday, August 16, 2023 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <h3 style="text-align: left;">What&#8217;s changing&nbsp;</h3><div>Previously available in beta through our Developer Preview Program, the ability to read and write a user&#8217;s working location using the Calendar API is now generally available.&nbsp;</div><div><br /></div><div><br /></div><div><b>Reading</b> a user&#8217;s working location helps better understand the flow and volume of people through physical campuses. Using this information, you can better adapt on-site resources and update other third-party surfaces, such as hot desk booking tools.&nbsp;</div><div><br /></div><div><br /></div><div><b>Writing</b> a user&#8217;s working location makes it easier to update a user's working location in their calendar based on when and where they&#8217;ve booked a hot desk, or if they&#8217;ve scheduled a trip via a travel booking tool, and more.&nbsp;</div><div><br /></div><h3 style="text-align: left;"><br /></h3><h3 style="text-align: left;">Getting started&nbsp;</h3><div><ul style="text-align: left;"><li><b>Admins:</b> Visit the Help Center to learn more about <a href="https://support.google.com/a/answer/10918567">configuring the working location feature</a> for your organization.&nbsp;</li><li><b>Admins and Developers:</b> For more information, see our developer documentation for <a href="https://developers.google.com/calendar/api/guides/working-hours-and-location">reading and writing user's working location</a>. <b>Important Note:</b> While all developers will be able to use the API, the working location feature is only available for eligible Workspace editions.&nbsp;</li><li><b>End users: </b>Visit the Help Center to learn more about <a href="https://support.google.com/calendar/answer/7638168?hl=en">setting your working location</a> and <a href="https://support.google.com/calendar/answer/7638168#zippy=%2Cadd-your-working-location-for-part-of-a-day">adding your working location for part of a day</a>.&nbsp;</li></ul></div><div><br /></div><div><br /></div><h3 style="text-align: left;">Rollout pace</h3><div><ul style="text-align: left;"><li><a href="https://support.google.com/a/answer/172177">Rapid and Scheduled Release domains</a>: Gradual rollout (up to 15 days for feature visibility) starting on August 16, 2023&nbsp;</li></ul></div><div><br /></div><h3 style="text-align: left;">Availability&nbsp;</h3><div><b>All developers can use the API, however the working location feature is only available for eligible Workspace editions:&nbsp;</b></div><div><ul style="text-align: left;"><li>Available to Google Workspace Business Standard, Business Plus, Enterprise Standard, Enterprise Plus, Education Fundamentals, Education Plus, Education Standard, the Teaching and Learning Upgrade and Nonprofits customers, as well as legacy G Suite Business customers&nbsp;</li><li>Not available to Google Workspace Essentials, Business Starter, Enterprise Essentials, Frontline, G Suite Basic customers&nbsp;</li></ul></div><div><br /></div><h3 style="text-align: left;">Resources&nbsp;</h3><div><ul style="text-align: left;"><li><a href="https://developers.google.com/workspace/preview">Google Workspace Developer Preview Program</a>&nbsp;</li><li><a href="https://support.google.com/a/answer/10918567">Google Workspace Admin Help: Turn working location on or off for users</a>&nbsp;</li><li><a href="https://developers.google.com/calendar/api/guides/working-hours-and-location">Developer Documentation: Manage working locations</a>&nbsp;</li><li><a href="https://developers.google.com/calendar/api/v3/reference/events">Calendar API Events resource summary</a>&nbsp;</li><li><a href="https://github.com/googleapis/google-api-java-client-services">Client Libraries</a></li></ul></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> <h3 style="text-align: left;">What&#8217;s changing&nbsp;</h3><div>Previously available in beta through our Developer Preview Program, the ability to read and write a user&#8217;s working location using the Calendar API is now generally available.&nbsp;</div><div><br /></div><div><br /></div><div><b>Reading</b> a user&#8217;s working location helps better understand the flow and volume of people through physical campuses. Using this information, you can better adapt on-site resources and update other third-party surfaces, such as hot desk booking tools.&nbsp;</div><div><br /></div><div><br /></div><div><b>Writing</b> a user&#8217;s working location makes it easier to update a user's working location in their calendar based on when and where they&#8217;ve booked a hot desk, or if they&#8217;ve scheduled a trip via a travel booking tool, and more.&nbsp;</div><div><br /></div><h3 style="text-align: left;"><br /></h3><h3 style="text-align: left;">Getting started&nbsp;</h3><div><ul style="text-align: left;"><li><b>Admins:</b> Visit the Help Center to learn more about <a href="https://support.google.com/a/answer/10918567">configuring the working location feature</a> for your organization.&nbsp;</li><li><b>Admins and Developers:</b> For more information, see our developer documentation for <a href="https://developers.google.com/calendar/api/guides/working-hours-and-location">reading and writing user's working location</a>. <b>Important Note:</b> While all developers will be able to use the API, the working location feature is only available for eligible Workspace editions.&nbsp;</li><li><b>End users: </b>Visit the Help Center to learn more about <a href="https://support.google.com/calendar/answer/7638168?hl=en">setting your working location</a> and <a href="https://support.google.com/calendar/answer/7638168#zippy=%2Cadd-your-working-location-for-part-of-a-day">adding your working location for part of a day</a>.&nbsp;</li></ul></div><div><br /></div><div><br /></div><h3 style="text-align: left;">Rollout pace</h3><div><ul style="text-align: left;"><li><a href="https://support.google.com/a/answer/172177">Rapid and Scheduled Release domains</a>: Gradual rollout (up to 15 days for feature visibility) starting on August 16, 2023&nbsp;</li></ul></div><div><br /></div><h3 style="text-align: left;">Availability&nbsp;</h3><div><b>All developers can use the API, however the working location feature is only available for eligible Workspace editions:&nbsp;</b></div><div><ul style="text-align: left;"><li>Available to Google Workspace Business Standard, Business Plus, Enterprise Standard, Enterprise Plus, Education Fundamentals, Education Plus, Education Standard, the Teaching and Learning Upgrade and Nonprofits customers, as well as legacy G Suite Business customers&nbsp;</li><li>Not available to Google Workspace Essentials, Business Starter, Enterprise Essentials, Frontline, G Suite Basic customers&nbsp;</li></ul></div><div><br /></div><h3 style="text-align: left;">Resources&nbsp;</h3><div><ul style="text-align: left;"><li><a href="https://developers.google.com/workspace/preview">Google Workspace Developer Preview Program</a>&nbsp;</li><li><a href="https://support.google.com/a/answer/10918567">Google Workspace Admin Help: Turn working location on or off for users</a>&nbsp;</li><li><a href="https://developers.google.com/calendar/api/guides/working-hours-and-location">Developer Documentation: Manage working locations</a>&nbsp;</li><li><a href="https://developers.google.com/calendar/api/v3/reference/events">Calendar API Events resource summary</a>&nbsp;</li><li><a href="https://github.com/googleapis/google-api-java-client-services">Client Libraries</a></li></ul></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper'> </span> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Google Workspace Updates:Programmatically read and write working locations with the Calendar API, now generally available&url=http://workspaceupdates.googleblog.com/2023/08/calendar-api-working-location-read-write-generally-available.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=http://workspaceupdates.googleblog.com/2023/08/calendar-api-working-location-read-write-generally-available.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='http://workspaceupdates.googleblog.com/2023/08/calendar-api-working-location-read-write-generally-available.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='http://workspaceupdates.googleblog.com/search/label/API' rel='tag'> API </a> , <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Developer' rel='tag'> Developer </a> , <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Google%20Calendar' rel='tag'> Google Calendar </a> , <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Rapid%20Release' rel='tag'> Rapid Release </a> , <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Scheduled%20Release' rel='tag'> Scheduled Release </a> </span> </div> </div> </div> <div class='post' data-id='7508552167070213492' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='http://workspaceupdates.googleblog.com/2023/07/google-calendar-api-partial-working-location-read-write.html' itemprop='url' title='Programmatically read and write working locations for a portion of the day with the Calendar API'> Programmatically read and write working locations for a portion of the day with the Calendar API </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Friday, July 21, 2023 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <h3 style="text-align: left;">What&#8217;s changing&nbsp;</h3><div>Recently, we <a href="https://workspaceupdates.googleblog.com/2023/07/adding-more-flexibility-to-working-location-google-calendar.html">introduced</a> the ability for users to set working locations in Calendar that indicate where they&#8217;re working for specific portions of the day. Now, we&#8217;re adding the ability to programmatically read and write working locations for specific portions of the day. This update expands on the existing <a href="https://workspaceupdates.googleblog.com/2023/03/manage-working-location-feature-with-calendar-api.htm">reading</a> and <a href="http://workspaceupdates.googleblog.com/2023/06/write-working-locations-with-the-google-calendar-api.html">writing</a> functionality announced earlier this year.&nbsp;</div><div><br /></div><div><br /></div><h3 style="text-align: left;">Getting started&nbsp;</h3><div><ul style="text-align: left;"><li><b>Admins and Developers:&nbsp;</b></li><ul><li>Developers can apply to <a href="https://developers.google.com/workspace/preview">Google Workspace Developer Preview Program</a> to use this feature. For more information, see our developer documentation for more information regarding <a href="https://developers.google.com/calendar/api/guides/working-hours-and-location">reading and writing working locations for a portion of the day</a>.&nbsp;</li><li><b>Important Note: </b>While all developers will be able to use the API, the working location feature is only available for eligible Workspace editions.&nbsp;<br /><br /></li></ul><li><b>Admins:</b> Visit the Help Center to learn more about <a href="https://support.google.com/a/answer/10918567">configuring the working location feature for your organization</a>.&nbsp;<br /><br /></li><li><b>End users:</b> Visit the Help Center to learn more about <a href="https://support.google.com/calendar/answer/7638168?hl=en">setting your working locations</a> and <a href="https://support.google.com/calendar/answer/7638168#zippy=%2Cadd-your-working-location-for-part-of-a-day">adding your working location for part of a day</a>.&nbsp;</li></ul></div><div><br /></div><h3 style="text-align: left;">Rollout pace&nbsp;</h3><div><ul style="text-align: left;"><li>This feature is available now for all eligible Google Workspace editions.&nbsp;</li></ul></div><div><br /></div><h3 style="text-align: left;">Availability&nbsp;</h3><div><b>All developers can use the API, however the working location feature is only available for eligible Workspace editions:&nbsp;</b></div><div><ul style="text-align: left;"><li>Available to Google Workspace Business Standard, Business Plus, Enterprise Standard, Enterprise Plus, Education Fundamentals, Education Plus, Education Standard, the Teaching and Learning Upgrade and Nonprofits customers&nbsp;</li></ul></div><div><br /></div><h3 style="text-align: left;">Resources&nbsp;</h3><div><ul style="text-align: left;"><li><a href="https://developers.google.com/workspace/preview">Google Workspace Developer Preview Program</a>&nbsp;</li><li><a href="https://support.google.com/a/answer/10918567">Google Workspace Admin Help: Turn working location on or off for users</a></li><li><a href="https://developers.google.com/calendar/api/guides/working-hours-and-location">Developer Documentation: Manage working locations</a></li><li><a href="https://developers.google.com/calendar/api/v3/reference/events">Calendar API Events resource summary</a>&nbsp;</li><li><a href="https://github.com/googleapis/google-api-java-client-services">Client Libraries</a>&nbsp;</li><li><a href="https://www.youtube.com/shorts/q0ex72fD788">YouTube</a></li></ul></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> <h3 style="text-align: left;">What&#8217;s changing&nbsp;</h3><div>Recently, we <a href="https://workspaceupdates.googleblog.com/2023/07/adding-more-flexibility-to-working-location-google-calendar.html">introduced</a> the ability for users to set working locations in Calendar that indicate where they&#8217;re working for specific portions of the day. Now, we&#8217;re adding the ability to programmatically read and write working locations for specific portions of the day. This update expands on the existing <a href="https://workspaceupdates.googleblog.com/2023/03/manage-working-location-feature-with-calendar-api.htm">reading</a> and <a href="http://workspaceupdates.googleblog.com/2023/06/write-working-locations-with-the-google-calendar-api.html">writing</a> functionality announced earlier this year.&nbsp;</div><div><br /></div><div><br /></div><h3 style="text-align: left;">Getting started&nbsp;</h3><div><ul style="text-align: left;"><li><b>Admins and Developers:&nbsp;</b></li><ul><li>Developers can apply to <a href="https://developers.google.com/workspace/preview">Google Workspace Developer Preview Program</a> to use this feature. For more information, see our developer documentation for more information regarding <a href="https://developers.google.com/calendar/api/guides/working-hours-and-location">reading and writing working locations for a portion of the day</a>.&nbsp;</li><li><b>Important Note: </b>While all developers will be able to use the API, the working location feature is only available for eligible Workspace editions.&nbsp;<br /><br /></li></ul><li><b>Admins:</b> Visit the Help Center to learn more about <a href="https://support.google.com/a/answer/10918567">configuring the working location feature for your organization</a>.&nbsp;<br /><br /></li><li><b>End users:</b> Visit the Help Center to learn more about <a href="https://support.google.com/calendar/answer/7638168?hl=en">setting your working locations</a> and <a href="https://support.google.com/calendar/answer/7638168#zippy=%2Cadd-your-working-location-for-part-of-a-day">adding your working location for part of a day</a>.&nbsp;</li></ul></div><div><br /></div><h3 style="text-align: left;">Rollout pace&nbsp;</h3><div><ul style="text-align: left;"><li>This feature is available now for all eligible Google Workspace editions.&nbsp;</li></ul></div><div><br /></div><h3 style="text-align: left;">Availability&nbsp;</h3><div><b>All developers can use the API, however the working location feature is only available for eligible Workspace editions:&nbsp;</b></div><div><ul style="text-align: left;"><li>Available to Google Workspace Business Standard, Business Plus, Enterprise Standard, Enterprise Plus, Education Fundamentals, Education Plus, Education Standard, the Teaching and Learning Upgrade and Nonprofits customers&nbsp;</li></ul></div><div><br /></div><h3 style="text-align: left;">Resources&nbsp;</h3><div><ul style="text-align: left;"><li><a href="https://developers.google.com/workspace/preview">Google Workspace Developer Preview Program</a>&nbsp;</li><li><a href="https://support.google.com/a/answer/10918567">Google Workspace Admin Help: Turn working location on or off for users</a></li><li><a href="https://developers.google.com/calendar/api/guides/working-hours-and-location">Developer Documentation: Manage working locations</a></li><li><a href="https://developers.google.com/calendar/api/v3/reference/events">Calendar API Events resource summary</a>&nbsp;</li><li><a href="https://github.com/googleapis/google-api-java-client-services">Client Libraries</a>&nbsp;</li><li><a href="https://www.youtube.com/shorts/q0ex72fD788">YouTube</a></li></ul></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper'> </span> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Google Workspace Updates:Programmatically read and write working locations for a portion of the day with the Calendar API&url=http://workspaceupdates.googleblog.com/2023/07/google-calendar-api-partial-working-location-read-write.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=http://workspaceupdates.googleblog.com/2023/07/google-calendar-api-partial-working-location-read-write.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='http://workspaceupdates.googleblog.com/2023/07/google-calendar-api-partial-working-location-read-write.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='http://workspaceupdates.googleblog.com/search/label/API' rel='tag'> API </a> , <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Developer' rel='tag'> Developer </a> , <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Google%20Calendar' rel='tag'> Google Calendar </a> , <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Other' rel='tag'> Other </a> </span> </div> </div> </div> <div class='post' data-id='1864762475088545221' itemscope='' itemtype='http://schema.org/BlogPosting'> <h2 class='title' itemprop='name'> <a href='http://workspaceupdates.googleblog.com/2023/07/Google-Chat-APIs-Generally-Available.html' itemprop='url' title='Ability to create spaces, memberships, group chats, and more using the Google Chat API is now generally available '> Ability to create spaces, memberships, group chats, and more using the Google Chat API is now generally available </a> </h2> <div class='post-header'> <div class='published'> <span class='publishdate' itemprop='datePublished'> Monday, July 17, 2023 </span> </div> </div> <div class='post-body'> <div class='post-content' itemprop='articleBody'> <script type='text/template'> <h3 style="text-align: left;">What&#8217;s changing&nbsp;</h3><div>Last year, we announced that developers could use the Google Chat API to programmatically create new spaces and add members to those spaces through the Google Workspace Developer Preview Program.&nbsp;</div><div><br /></div><div>Today, those features are generally available for all Google Workspace developers, along with the ability to use Chat API to:&nbsp;</div><div><br /></div><div><span id="docs-internal-guid-2dcf73ba-7fff-a350-a6b7-89cea8316882"><div align="left" dir="ltr" style="margin-left: 0pt;"><table style="border-collapse: collapse; border: none;"><colgroup><col width="143"></col><col width="481"></col></colgroup><tbody><tr style="height: 0pt;"><td style="border-bottom: solid #000000 1pt; border-color: rgb(0, 0, 0); border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-style: solid; border-top: solid #000000 1pt; border-width: 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;"><p dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;"><span style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space-collapse: preserve;"><span style="font-family: inherit;">Spaces</span></span></p></td><td style="border-bottom: solid #000000 1pt; border-color: rgb(0, 0, 0); border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-style: solid; border-top: solid #000000 1pt; border-width: 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;"><ul style="margin-bottom: 0px; margin-top: 0px; padding-inline-start: 48px;"><li aria-level="1" dir="ltr" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;"><p dir="ltr" role="presentation" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://developers.google.com/chat/api/reference/rest/v1/spaces/create" style="text-decoration-line: none;"><span style="color: #1155cc; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; text-wrap: wrap; vertical-align: baseline;"><span style="font-family: inherit;">Create a space</span></span></a></p></li><li aria-level="1" dir="ltr" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;"><p dir="ltr" role="presentation" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://developers.google.com/chat/api/reference/rest/v1/spaces/setup" style="text-decoration-line: none;"><span style="color: #1155cc; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; text-wrap: wrap; vertical-align: baseline;"><span style="font-family: inherit;">Create a 1:1 direct message, 1:App direct message, group chat</span></span></a></p></li><li aria-level="1" dir="ltr" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;"><p dir="ltr" role="presentation" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://developers.google.com/chat/api/reference/rest/v1/spaces/get" style="text-decoration-line: none;"><span style="color: #1155cc; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; text-wrap: wrap; vertical-align: baseline;"><span style="font-family: inherit;">Get a space</span></span></a></p></li><li aria-level="1" dir="ltr" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;"><p dir="ltr" role="presentation" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://developers.google.com/chat/api/reference/rest/v1/spaces/patch" style="text-decoration-line: none;"><span style="color: #1155cc; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; text-wrap: wrap; vertical-align: baseline;"><span style="font-family: inherit;">Update a space</span></span></a></p></li><li aria-level="1" dir="ltr" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;"><p dir="ltr" role="presentation" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://developers.google.com/chat/api/reference/rest/v1/spaces/delete" style="text-decoration-line: none;"><span style="color: #1155cc; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; text-wrap: wrap; vertical-align: baseline;"><span style="font-family: inherit;">Delete a space</span></span></a></p></li><li aria-level="1" dir="ltr" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;"><p dir="ltr" role="presentation" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://developers.google.com/chat/api/reference/rest/v1/spaces/list" style="text-decoration-line: none;"><span style="color: #1155cc; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; text-wrap: wrap; vertical-align: baseline;"><span style="font-family: inherit;">List spaces</span></span></a></p></li><li aria-level="1" dir="ltr" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;"><p dir="ltr" role="presentation" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://developers.google.com/chat/api/reference/rest/v1/spaces/findDirectMessage" style="text-decoration-line: none;"><span style="color: #1155cc; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; text-wrap: wrap; vertical-align: baseline;"><span style="font-family: inherit;">Find a Direct Message</span></span></a></p></li></ul></td></tr><tr style="height: 0pt;"><td style="border-bottom: solid #000000 1pt; border-color: rgb(0, 0, 0); border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-style: solid; border-top: solid #000000 1pt; border-width: 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;"><p dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;"><span style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space-collapse: preserve;"><span style="font-family: inherit;">Memberships</span></span></p></td><td style="border-bottom: solid #000000 1pt; border-color: rgb(0, 0, 0); border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-style: solid; border-top: solid #000000 1pt; border-width: 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;"><ul style="margin-bottom: 0px; margin-top: 0px; padding-inline-start: 48px;"><li aria-level="1" dir="ltr" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;"><p dir="ltr" role="presentation" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://developers.google.com/chat/api/reference/rest/v1/spaces.members/create" style="text-decoration-line: none;"><span style="color: #1155cc; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; text-wrap: wrap; vertical-align: baseline;"><span style="font-family: inherit;">Create a member</span></span></a></p></li><li aria-level="1" dir="ltr" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;"><p dir="ltr" role="presentation" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://developers.google.com/chat/api/reference/rest/v1/spaces.members/get" style="text-decoration-line: none;"><span style="color: #1155cc; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; text-wrap: wrap; vertical-align: baseline;"><span style="font-family: inherit;">Get a member</span></span></a></p></li><li aria-level="1" dir="ltr" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;"><p dir="ltr" role="presentation" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://developers.google.com/chat/api/reference/rest/v1/spaces.members/delete" style="text-decoration-line: none;"><span style="color: #1155cc; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; text-wrap: wrap; vertical-align: baseline;"><span style="font-family: inherit;">Delete a member</span></span></a></p></li><li aria-level="1" dir="ltr" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;"><p dir="ltr" role="presentation" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://developers.google.com/chat/api/reference/rest/v1/spaces.members/list" style="text-decoration-line: none;"><span style="color: #1155cc; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; text-wrap: wrap; vertical-align: baseline;"><span style="font-family: inherit;">List members</span></span></a></p></li></ul></td></tr><tr style="height: 0pt;"><td style="border-bottom: solid #000000 1pt; border-color: rgb(0, 0, 0); border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-style: solid; border-top: solid #000000 1pt; border-width: 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;"><p dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;"><span style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space-collapse: preserve;"><span style="font-family: inherit;">Messages</span></span></p></td><td style="border-bottom: solid #000000 1pt; border-color: rgb(0, 0, 0); border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-style: solid; border-top: solid #000000 1pt; border-width: 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;"><ul style="margin-bottom: 0px; margin-top: 0px; padding-inline-start: 48px;"><li aria-level="1" dir="ltr" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;"><p dir="ltr" role="presentation" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://developers.google.com/chat/api/reference/rest/v1/spaces.messages/create" style="text-decoration-line: none;"><span style="color: #1155cc; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; text-wrap: wrap; vertical-align: baseline;"><span style="font-family: inherit;">Create a message</span></span></a></p></li><li aria-level="1" dir="ltr" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;"><p dir="ltr" role="presentation" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://developers.google.com/chat/api/reference/rest/v1/spaces.messages/get" style="text-decoration-line: none;"><span style="color: #1155cc; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; text-wrap: wrap; vertical-align: baseline;"><span style="font-family: inherit;">Get a message</span></span></a></p></li><li aria-level="1" dir="ltr" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;"><p dir="ltr" role="presentation" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://developers.google.com/chat/api/reference/rest/v1/spaces.messages/update" style="text-decoration-line: none;"><span style="color: #1155cc; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; text-wrap: wrap; vertical-align: baseline;"><span style="font-family: inherit;">Update a message</span></span></a></p></li><li aria-level="1" dir="ltr" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;"><p dir="ltr" role="presentation" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://developers.google.com/chat/api/reference/rest/v1/spaces.messages/delete" style="text-decoration-line: none;"><span style="color: #1155cc; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; text-wrap: wrap; vertical-align: baseline;"><span style="font-family: inherit;">Delete a message</span></span></a></p></li><li aria-level="1" dir="ltr" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;"><p dir="ltr" role="presentation" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://developers.google.com/chat/api/reference/rest/v1/spaces.messages/list" style="text-decoration-line: none;"><span style="color: #1155cc; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; text-wrap: wrap; vertical-align: baseline;"><span style="font-family: inherit;">List messages</span></span></a></p></li></ul></td></tr><tr style="height: 0pt;"><td style="border-bottom: solid #000000 1pt; border-color: rgb(0, 0, 0); border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-style: solid; border-top: solid #000000 1pt; border-width: 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;"><p dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;"><span style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space-collapse: preserve;"><span style="font-family: inherit;">Reactions</span></span></p></td><td style="border-bottom: solid #000000 1pt; border-color: rgb(0, 0, 0); border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-style: solid; border-top: solid #000000 1pt; border-width: 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;"><ul style="margin-bottom: 0px; margin-top: 0px; padding-inline-start: 48px;"><li aria-level="1" dir="ltr" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;"><p dir="ltr" role="presentation" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://developers.google.com/chat/api/reference/rest/v1/spaces.messages.reactions/create" style="text-decoration-line: none;"><span style="color: #1155cc; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; text-wrap: wrap; vertical-align: baseline;"><span style="font-family: inherit;">Create a reaction</span></span></a></p></li><li aria-level="1" dir="ltr" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;"><p dir="ltr" role="presentation" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://developers.google.com/chat/api/reference/rest/v1/spaces.messages.reactions/delete" style="text-decoration-line: none;"><span style="color: #1155cc; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; text-wrap: wrap; vertical-align: baseline;"><span style="font-family: inherit;">Delete a reaction</span></span></a></p></li><li aria-level="1" dir="ltr" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;"><p dir="ltr" role="presentation" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://developers.google.com/chat/api/reference/rest/v1/spaces.messages.reactions/list" style="text-decoration-line: none;"><span style="color: #1155cc; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; text-wrap: wrap; vertical-align: baseline;"><span style="font-family: inherit;">List reactions</span></span></a></p></li></ul></td></tr><tr style="height: 0pt;"><td style="border-bottom: solid #000000 1pt; border-color: rgb(0, 0, 0); border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-style: solid; border-top: solid #000000 1pt; border-width: 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;"><p dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;"><span style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space-collapse: preserve;"><span style="font-family: inherit;">Attachments</span></span></p></td><td style="border-bottom: solid #000000 1pt; border-color: rgb(0, 0, 0); border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-style: solid; border-top: solid #000000 1pt; border-width: 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;"><ul style="margin-bottom: 0px; margin-top: 0px; padding-inline-start: 48px;"><li aria-level="1" dir="ltr" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;"><p dir="ltr" role="presentation" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://developers.google.com/chat/api/reference/rest/v1/media/download" style="text-decoration-line: none;"><span style="color: #1155cc; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; text-wrap: wrap; vertical-align: baseline;"><span style="font-family: inherit;">Download media</span></span></a></p></li><li aria-level="1" dir="ltr" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;"><p dir="ltr" role="presentation" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://developers.google.com/chat/api/reference/rest/v1/media/upload" style="text-decoration-line: none;"><span style="color: #1155cc; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; text-wrap: wrap; vertical-align: baseline;"><span style="font-family: inherit;">Upload media</span></span></a></p></li></ul></td></tr></tbody></table><br /></div><div align="left" dir="ltr" style="margin-left: 0pt;"><h3 style="margin-left: 0pt;"><br /></h3><h3 style="margin-left: 0pt;">Who&#8217;s impacted</h3><div align="left" dir="ltr" style="margin-left: 0pt;"><br /></div><div align="left" dir="ltr" style="margin-left: 0pt;">Admins and developers</div><div align="left" dir="ltr" style="margin-left: 0pt;"><br /></div><h3 style="margin-left: 0pt;"><br /></h3><h3 style="margin-left: 0pt;">Why you&#8217;d use it&nbsp;</h3><div align="left" dir="ltr" style="margin-left: 0pt;">These features enable developers to build solutions that integrate into workflows and pull contextual data right into the conversation. Using the new API functionalities, you can set up new spaces that focus on a specific topic, team, or project. You can also use the new APIs to encourage collaboration and outreach with users in your organization. For example, LumApps, a leading intranet platform, enables you to start a direct message in Google Chat from its user directory. Those who are trying to find others based on job titles, roles, departments, and other attributes, can quickly start messaging each other.</div><div align="left" dir="ltr" style="margin-left: 0pt;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhU4foavv1y1rphU-WVQ1gRgCKdABUK3w2hIdkIpWauIGCSzObVMOvRTz8lcg7CG_MOazIYnWA2cBuC6U90c21gXRr7bgqidZaFnVWz2vhc_B5FlTf0JYhWscarEYk8nuRfLwK-RJZCUNX9e8b-1YyWPxpAMpKijEoSTqQJvfP2y5RNpbBiyWyPiQmd_VM/s1391/1.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="689" data-original-width="1391" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhU4foavv1y1rphU-WVQ1gRgCKdABUK3w2hIdkIpWauIGCSzObVMOvRTz8lcg7CG_MOazIYnWA2cBuC6U90c21gXRr7bgqidZaFnVWz2vhc_B5FlTf0JYhWscarEYk8nuRfLwK-RJZCUNX9e8b-1YyWPxpAMpKijEoSTqQJvfP2y5RNpbBiyWyPiQmd_VM/s16000/1.gif" /></a></div><br /><div align="left" dir="ltr" style="margin-left: 0pt;"><br /></div><div><br /></div><div><h3>Additional details</h3><div>To ensure you are aware that a Chat application has performed an action on behalf of a user, Chat web and mobile apps will display the app name for system messages and Chat messages.&nbsp;</div></div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggg7zH6l3o_BRbDGdNLNlUAMs73o0vADO3zroslmSNAX5U7D9EH3df_tWUFBTxoRnJROCSiwcmXbKMaL9HOajLnjJP-QMSDC7PBj87IK2zfGijOl6pNHI51_r01Vix6fl8huSk-fwFh0Ro_p391hGcTlYgN2nvsbelbbuBEI00s2NpVfM6lO1fD6U13BA/s1280/2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1280" data-original-width="720" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggg7zH6l3o_BRbDGdNLNlUAMs73o0vADO3zroslmSNAX5U7D9EH3df_tWUFBTxoRnJROCSiwcmXbKMaL9HOajLnjJP-QMSDC7PBj87IK2zfGijOl6pNHI51_r01Vix6fl8huSk-fwFh0Ro_p391hGcTlYgN2nvsbelbbuBEI00s2NpVfM6lO1fD6U13BA/w360-h640/2.png" width="360" /></a></div><br /><div><br /></div><div><br /></div><div><h3>Getting started</h3><div><ul><li><b>Admins:</b> Admins can use the <a href="https://support.google.com/a/answer/7281227?hl=en#zippy=%2Cmanage-access-to-google-services-restricted-or-unrestricted">API controls</a> in Admin Console if they want to restrict access to Google Chat data.</li><li><b>Developers:</b> Access the new Chat APIs through the <a href="https://developers.google.com/chat/api/reference/rest">Google Chat API</a>.&nbsp;</li></ul></div><div><br /></div><div><br /></div><h3>Rollout pace</h3><div><br /></div><div><ul><li>This feature is now available.</li></ul></div><div><br /></div><h3>Availability</h3><div><ul><li>Available to all Google Workspace customers.</li></ul></div></div><div><span id="docs-internal-guid-8afa1899-7fff-f76d-371d-c730310eb810"><span style="font-family: inherit;"><h3>Resources</h3><ul style="margin-bottom: 0; margin-top: 0; padding-inline-start: 48px;"><li aria-level="1" dir="ltr" style="font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;"><p dir="ltr" role="presentation" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://support.google.com/a/answer/7281227?hl=en#zippy=%2Cmanage-access-to-google-services-restricted-or-unrestricted" style="text-decoration-line: none;"><span style="color: #1155cc; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; text-wrap: wrap; vertical-align: baseline;">Google Workspace Admin Help: Control which third-party &amp; internal apps access Google Workspace data</span></a></p></li><li aria-level="1" dir="ltr" style="font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;"><p dir="ltr" role="presentation" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://developers.google.com/workspace/preview" style="text-decoration-line: none;"><span style="color: #1155cc; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; text-wrap: wrap; vertical-align: baseline;">Developer Program Preview</span></a></p></li><li aria-level="1" dir="ltr" style="font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;"><p dir="ltr" role="presentation" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://developers.googleblog.com/2022/05/Create%20Spaces%20and%20Add%20Members%20with%20the%20Google%20Chat%20API.html" style="text-decoration-line: none;"><span style="color: #1155cc; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; text-wrap: wrap; vertical-align: baseline;">Google Developers: Now in Developer Preview: Create Spaces and Add Members with the Google Chat API</span></a></p></li><li aria-level="1" dir="ltr" style="font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;"><p dir="ltr" role="presentation" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://developers.google.com/chat/" style="text-decoration-line: none;"><span style="color: #1155cc; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; text-wrap: wrap; vertical-align: baseline;">Google Developers: Connect your service to Google Chat.</span></a></p></li><li aria-level="1" dir="ltr" style="font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;"><p dir="ltr" role="presentation" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://www.youtube.com/watch?v=Eyri_-ODicQ" style="text-decoration-line: none;"><span style="color: #1155cc; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; text-wrap: wrap; vertical-align: baseline;">Introducing the new Google Chat API - now Generally Available</span></a></p></li></ul></span></span></div></div></span></div><div><span id="docs-internal-guid-279d06e9-7fff-f0f8-ebd8-8a1e85d8f211"></span></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </script> <noscript> <h3 style="text-align: left;">What&#8217;s changing&nbsp;</h3><div>Last year, we announced that developers could use the Google Chat API to programmatically create new spaces and add members to those spaces through the Google Workspace Developer Preview Program.&nbsp;</div><div><br /></div><div>Today, those features are generally available for all Google Workspace developers, along with the ability to use Chat API to:&nbsp;</div><div><br /></div><div><span id="docs-internal-guid-2dcf73ba-7fff-a350-a6b7-89cea8316882"><div align="left" dir="ltr" style="margin-left: 0pt;"><table style="border-collapse: collapse; border: none;"><colgroup><col width="143"></col><col width="481"></col></colgroup><tbody><tr style="height: 0pt;"><td style="border-bottom: solid #000000 1pt; border-color: rgb(0, 0, 0); border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-style: solid; border-top: solid #000000 1pt; border-width: 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;"><p dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;"><span style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space-collapse: preserve;"><span style="font-family: inherit;">Spaces</span></span></p></td><td style="border-bottom: solid #000000 1pt; border-color: rgb(0, 0, 0); border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-style: solid; border-top: solid #000000 1pt; border-width: 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;"><ul style="margin-bottom: 0px; margin-top: 0px; padding-inline-start: 48px;"><li aria-level="1" dir="ltr" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;"><p dir="ltr" role="presentation" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://developers.google.com/chat/api/reference/rest/v1/spaces/create" style="text-decoration-line: none;"><span style="color: #1155cc; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; text-wrap: wrap; vertical-align: baseline;"><span style="font-family: inherit;">Create a space</span></span></a></p></li><li aria-level="1" dir="ltr" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;"><p dir="ltr" role="presentation" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://developers.google.com/chat/api/reference/rest/v1/spaces/setup" style="text-decoration-line: none;"><span style="color: #1155cc; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; text-wrap: wrap; vertical-align: baseline;"><span style="font-family: inherit;">Create a 1:1 direct message, 1:App direct message, group chat</span></span></a></p></li><li aria-level="1" dir="ltr" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;"><p dir="ltr" role="presentation" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://developers.google.com/chat/api/reference/rest/v1/spaces/get" style="text-decoration-line: none;"><span style="color: #1155cc; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; text-wrap: wrap; vertical-align: baseline;"><span style="font-family: inherit;">Get a space</span></span></a></p></li><li aria-level="1" dir="ltr" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;"><p dir="ltr" role="presentation" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://developers.google.com/chat/api/reference/rest/v1/spaces/patch" style="text-decoration-line: none;"><span style="color: #1155cc; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; text-wrap: wrap; vertical-align: baseline;"><span style="font-family: inherit;">Update a space</span></span></a></p></li><li aria-level="1" dir="ltr" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;"><p dir="ltr" role="presentation" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://developers.google.com/chat/api/reference/rest/v1/spaces/delete" style="text-decoration-line: none;"><span style="color: #1155cc; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; text-wrap: wrap; vertical-align: baseline;"><span style="font-family: inherit;">Delete a space</span></span></a></p></li><li aria-level="1" dir="ltr" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;"><p dir="ltr" role="presentation" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://developers.google.com/chat/api/reference/rest/v1/spaces/list" style="text-decoration-line: none;"><span style="color: #1155cc; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; text-wrap: wrap; vertical-align: baseline;"><span style="font-family: inherit;">List spaces</span></span></a></p></li><li aria-level="1" dir="ltr" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;"><p dir="ltr" role="presentation" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://developers.google.com/chat/api/reference/rest/v1/spaces/findDirectMessage" style="text-decoration-line: none;"><span style="color: #1155cc; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; text-wrap: wrap; vertical-align: baseline;"><span style="font-family: inherit;">Find a Direct Message</span></span></a></p></li></ul></td></tr><tr style="height: 0pt;"><td style="border-bottom: solid #000000 1pt; border-color: rgb(0, 0, 0); border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-style: solid; border-top: solid #000000 1pt; border-width: 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;"><p dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;"><span style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space-collapse: preserve;"><span style="font-family: inherit;">Memberships</span></span></p></td><td style="border-bottom: solid #000000 1pt; border-color: rgb(0, 0, 0); border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-style: solid; border-top: solid #000000 1pt; border-width: 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;"><ul style="margin-bottom: 0px; margin-top: 0px; padding-inline-start: 48px;"><li aria-level="1" dir="ltr" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;"><p dir="ltr" role="presentation" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://developers.google.com/chat/api/reference/rest/v1/spaces.members/create" style="text-decoration-line: none;"><span style="color: #1155cc; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; text-wrap: wrap; vertical-align: baseline;"><span style="font-family: inherit;">Create a member</span></span></a></p></li><li aria-level="1" dir="ltr" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;"><p dir="ltr" role="presentation" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://developers.google.com/chat/api/reference/rest/v1/spaces.members/get" style="text-decoration-line: none;"><span style="color: #1155cc; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; text-wrap: wrap; vertical-align: baseline;"><span style="font-family: inherit;">Get a member</span></span></a></p></li><li aria-level="1" dir="ltr" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;"><p dir="ltr" role="presentation" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://developers.google.com/chat/api/reference/rest/v1/spaces.members/delete" style="text-decoration-line: none;"><span style="color: #1155cc; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; text-wrap: wrap; vertical-align: baseline;"><span style="font-family: inherit;">Delete a member</span></span></a></p></li><li aria-level="1" dir="ltr" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;"><p dir="ltr" role="presentation" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://developers.google.com/chat/api/reference/rest/v1/spaces.members/list" style="text-decoration-line: none;"><span style="color: #1155cc; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; text-wrap: wrap; vertical-align: baseline;"><span style="font-family: inherit;">List members</span></span></a></p></li></ul></td></tr><tr style="height: 0pt;"><td style="border-bottom: solid #000000 1pt; border-color: rgb(0, 0, 0); border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-style: solid; border-top: solid #000000 1pt; border-width: 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;"><p dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;"><span style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space-collapse: preserve;"><span style="font-family: inherit;">Messages</span></span></p></td><td style="border-bottom: solid #000000 1pt; border-color: rgb(0, 0, 0); border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-style: solid; border-top: solid #000000 1pt; border-width: 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;"><ul style="margin-bottom: 0px; margin-top: 0px; padding-inline-start: 48px;"><li aria-level="1" dir="ltr" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;"><p dir="ltr" role="presentation" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://developers.google.com/chat/api/reference/rest/v1/spaces.messages/create" style="text-decoration-line: none;"><span style="color: #1155cc; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; text-wrap: wrap; vertical-align: baseline;"><span style="font-family: inherit;">Create a message</span></span></a></p></li><li aria-level="1" dir="ltr" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;"><p dir="ltr" role="presentation" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://developers.google.com/chat/api/reference/rest/v1/spaces.messages/get" style="text-decoration-line: none;"><span style="color: #1155cc; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; text-wrap: wrap; vertical-align: baseline;"><span style="font-family: inherit;">Get a message</span></span></a></p></li><li aria-level="1" dir="ltr" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;"><p dir="ltr" role="presentation" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://developers.google.com/chat/api/reference/rest/v1/spaces.messages/update" style="text-decoration-line: none;"><span style="color: #1155cc; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; text-wrap: wrap; vertical-align: baseline;"><span style="font-family: inherit;">Update a message</span></span></a></p></li><li aria-level="1" dir="ltr" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;"><p dir="ltr" role="presentation" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://developers.google.com/chat/api/reference/rest/v1/spaces.messages/delete" style="text-decoration-line: none;"><span style="color: #1155cc; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; text-wrap: wrap; vertical-align: baseline;"><span style="font-family: inherit;">Delete a message</span></span></a></p></li><li aria-level="1" dir="ltr" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;"><p dir="ltr" role="presentation" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://developers.google.com/chat/api/reference/rest/v1/spaces.messages/list" style="text-decoration-line: none;"><span style="color: #1155cc; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; text-wrap: wrap; vertical-align: baseline;"><span style="font-family: inherit;">List messages</span></span></a></p></li></ul></td></tr><tr style="height: 0pt;"><td style="border-bottom: solid #000000 1pt; border-color: rgb(0, 0, 0); border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-style: solid; border-top: solid #000000 1pt; border-width: 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;"><p dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;"><span style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space-collapse: preserve;"><span style="font-family: inherit;">Reactions</span></span></p></td><td style="border-bottom: solid #000000 1pt; border-color: rgb(0, 0, 0); border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-style: solid; border-top: solid #000000 1pt; border-width: 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;"><ul style="margin-bottom: 0px; margin-top: 0px; padding-inline-start: 48px;"><li aria-level="1" dir="ltr" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;"><p dir="ltr" role="presentation" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://developers.google.com/chat/api/reference/rest/v1/spaces.messages.reactions/create" style="text-decoration-line: none;"><span style="color: #1155cc; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; text-wrap: wrap; vertical-align: baseline;"><span style="font-family: inherit;">Create a reaction</span></span></a></p></li><li aria-level="1" dir="ltr" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;"><p dir="ltr" role="presentation" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://developers.google.com/chat/api/reference/rest/v1/spaces.messages.reactions/delete" style="text-decoration-line: none;"><span style="color: #1155cc; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; text-wrap: wrap; vertical-align: baseline;"><span style="font-family: inherit;">Delete a reaction</span></span></a></p></li><li aria-level="1" dir="ltr" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;"><p dir="ltr" role="presentation" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://developers.google.com/chat/api/reference/rest/v1/spaces.messages.reactions/list" style="text-decoration-line: none;"><span style="color: #1155cc; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; text-wrap: wrap; vertical-align: baseline;"><span style="font-family: inherit;">List reactions</span></span></a></p></li></ul></td></tr><tr style="height: 0pt;"><td style="border-bottom: solid #000000 1pt; border-color: rgb(0, 0, 0); border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-style: solid; border-top: solid #000000 1pt; border-width: 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;"><p dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;"><span style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space-collapse: preserve;"><span style="font-family: inherit;">Attachments</span></span></p></td><td style="border-bottom: solid #000000 1pt; border-color: rgb(0, 0, 0); border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-style: solid; border-top: solid #000000 1pt; border-width: 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;"><ul style="margin-bottom: 0px; margin-top: 0px; padding-inline-start: 48px;"><li aria-level="1" dir="ltr" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;"><p dir="ltr" role="presentation" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://developers.google.com/chat/api/reference/rest/v1/media/download" style="text-decoration-line: none;"><span style="color: #1155cc; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; text-wrap: wrap; vertical-align: baseline;"><span style="font-family: inherit;">Download media</span></span></a></p></li><li aria-level="1" dir="ltr" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;"><p dir="ltr" role="presentation" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://developers.google.com/chat/api/reference/rest/v1/media/upload" style="text-decoration-line: none;"><span style="color: #1155cc; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; text-wrap: wrap; vertical-align: baseline;"><span style="font-family: inherit;">Upload media</span></span></a></p></li></ul></td></tr></tbody></table><br /></div><div align="left" dir="ltr" style="margin-left: 0pt;"><h3 style="margin-left: 0pt;"><br /></h3><h3 style="margin-left: 0pt;">Who&#8217;s impacted</h3><div align="left" dir="ltr" style="margin-left: 0pt;"><br /></div><div align="left" dir="ltr" style="margin-left: 0pt;">Admins and developers</div><div align="left" dir="ltr" style="margin-left: 0pt;"><br /></div><h3 style="margin-left: 0pt;"><br /></h3><h3 style="margin-left: 0pt;">Why you&#8217;d use it&nbsp;</h3><div align="left" dir="ltr" style="margin-left: 0pt;">These features enable developers to build solutions that integrate into workflows and pull contextual data right into the conversation. Using the new API functionalities, you can set up new spaces that focus on a specific topic, team, or project. You can also use the new APIs to encourage collaboration and outreach with users in your organization. For example, LumApps, a leading intranet platform, enables you to start a direct message in Google Chat from its user directory. Those who are trying to find others based on job titles, roles, departments, and other attributes, can quickly start messaging each other.</div><div align="left" dir="ltr" style="margin-left: 0pt;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhU4foavv1y1rphU-WVQ1gRgCKdABUK3w2hIdkIpWauIGCSzObVMOvRTz8lcg7CG_MOazIYnWA2cBuC6U90c21gXRr7bgqidZaFnVWz2vhc_B5FlTf0JYhWscarEYk8nuRfLwK-RJZCUNX9e8b-1YyWPxpAMpKijEoSTqQJvfP2y5RNpbBiyWyPiQmd_VM/s1391/1.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="689" data-original-width="1391" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhU4foavv1y1rphU-WVQ1gRgCKdABUK3w2hIdkIpWauIGCSzObVMOvRTz8lcg7CG_MOazIYnWA2cBuC6U90c21gXRr7bgqidZaFnVWz2vhc_B5FlTf0JYhWscarEYk8nuRfLwK-RJZCUNX9e8b-1YyWPxpAMpKijEoSTqQJvfP2y5RNpbBiyWyPiQmd_VM/s16000/1.gif" /></a></div><br /><div align="left" dir="ltr" style="margin-left: 0pt;"><br /></div><div><br /></div><div><h3>Additional details</h3><div>To ensure you are aware that a Chat application has performed an action on behalf of a user, Chat web and mobile apps will display the app name for system messages and Chat messages.&nbsp;</div></div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggg7zH6l3o_BRbDGdNLNlUAMs73o0vADO3zroslmSNAX5U7D9EH3df_tWUFBTxoRnJROCSiwcmXbKMaL9HOajLnjJP-QMSDC7PBj87IK2zfGijOl6pNHI51_r01Vix6fl8huSk-fwFh0Ro_p391hGcTlYgN2nvsbelbbuBEI00s2NpVfM6lO1fD6U13BA/s1280/2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1280" data-original-width="720" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggg7zH6l3o_BRbDGdNLNlUAMs73o0vADO3zroslmSNAX5U7D9EH3df_tWUFBTxoRnJROCSiwcmXbKMaL9HOajLnjJP-QMSDC7PBj87IK2zfGijOl6pNHI51_r01Vix6fl8huSk-fwFh0Ro_p391hGcTlYgN2nvsbelbbuBEI00s2NpVfM6lO1fD6U13BA/w360-h640/2.png" width="360" /></a></div><br /><div><br /></div><div><br /></div><div><h3>Getting started</h3><div><ul><li><b>Admins:</b> Admins can use the <a href="https://support.google.com/a/answer/7281227?hl=en#zippy=%2Cmanage-access-to-google-services-restricted-or-unrestricted">API controls</a> in Admin Console if they want to restrict access to Google Chat data.</li><li><b>Developers:</b> Access the new Chat APIs through the <a href="https://developers.google.com/chat/api/reference/rest">Google Chat API</a>.&nbsp;</li></ul></div><div><br /></div><div><br /></div><h3>Rollout pace</h3><div><br /></div><div><ul><li>This feature is now available.</li></ul></div><div><br /></div><h3>Availability</h3><div><ul><li>Available to all Google Workspace customers.</li></ul></div></div><div><span id="docs-internal-guid-8afa1899-7fff-f76d-371d-c730310eb810"><span style="font-family: inherit;"><h3>Resources</h3><ul style="margin-bottom: 0; margin-top: 0; padding-inline-start: 48px;"><li aria-level="1" dir="ltr" style="font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;"><p dir="ltr" role="presentation" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://support.google.com/a/answer/7281227?hl=en#zippy=%2Cmanage-access-to-google-services-restricted-or-unrestricted" style="text-decoration-line: none;"><span style="color: #1155cc; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; text-wrap: wrap; vertical-align: baseline;">Google Workspace Admin Help: Control which third-party &amp; internal apps access Google Workspace data</span></a></p></li><li aria-level="1" dir="ltr" style="font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;"><p dir="ltr" role="presentation" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://developers.google.com/workspace/preview" style="text-decoration-line: none;"><span style="color: #1155cc; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; text-wrap: wrap; vertical-align: baseline;">Developer Program Preview</span></a></p></li><li aria-level="1" dir="ltr" style="font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;"><p dir="ltr" role="presentation" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://developers.googleblog.com/2022/05/Create%20Spaces%20and%20Add%20Members%20with%20the%20Google%20Chat%20API.html" style="text-decoration-line: none;"><span style="color: #1155cc; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; text-wrap: wrap; vertical-align: baseline;">Google Developers: Now in Developer Preview: Create Spaces and Add Members with the Google Chat API</span></a></p></li><li aria-level="1" dir="ltr" style="font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;"><p dir="ltr" role="presentation" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://developers.google.com/chat/" style="text-decoration-line: none;"><span style="color: #1155cc; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; text-wrap: wrap; vertical-align: baseline;">Google Developers: Connect your service to Google Chat.</span></a></p></li><li aria-level="1" dir="ltr" style="font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;"><p dir="ltr" role="presentation" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://www.youtube.com/watch?v=Eyri_-ODicQ" style="text-decoration-line: none;"><span style="color: #1155cc; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; text-wrap: wrap; vertical-align: baseline;">Introducing the new Google Chat API - now Generally Available</span></a></p></li></ul></span></span></div></div></span></div><div><span id="docs-internal-guid-279d06e9-7fff-f0f8-ebd8-8a1e85d8f211"></span></div> <span itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/116899029375914044550' itemprop='url'/> </span> </noscript> </div> </div> <div class='share'> <span class='gplus-share social-wrapper'> </span> <span class='twitter-custom social-wrapper' data-href='http://twitter.com/share?text=Google Workspace Updates:Ability to create spaces, memberships, group chats, and more using the Google Chat API is now generally available &url=http://workspaceupdates.googleblog.com/2023/07/Google-Chat-APIs-Generally-Available.html&via=google'> <img alt='Share on Twitter' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_twitter_black_24dp.png' width='24'/> </span> <span class='fb-custom social-wrapper' data-href='https://www.facebook.com/sharer.php?u=http://workspaceupdates.googleblog.com/2023/07/Google-Chat-APIs-Generally-Available.html'> <img alt='Share on Facebook' height='24' src='https://www.gstatic.com/images/icons/material/system/2x/post_facebook_black_24dp.png' width='24'/> </span> </div> <div class='post-footer'> <div class='cmt_iframe_holder' data-href='http://workspaceupdates.googleblog.com/2023/07/Google-Chat-APIs-Generally-Available.html' data-viewtype='FILTERED_POSTMOD'></div> <a href='https://plus.google.com/112374322230920073195' rel='author' style='display:none;'> Google </a> <div class='label-footer'> <span class='labels-caption'> Labels: </span> <span class='labels'> <a class='label' href='http://workspaceupdates.googleblog.com/search/label/API' rel='tag'> API </a> , <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Developer' rel='tag'> Developer </a> , <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Google%20Chat' rel='tag'> Google Chat </a> , <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Rapid%20Release' rel='tag'> Rapid Release </a> , <a class='label' href='http://workspaceupdates.googleblog.com/search/label/Scheduled%20Release' rel='tag'> Scheduled Release </a> </span> </div> </div> </div> <div class='blog-pager' id='blog-pager'> <a class='home-link' href='http://workspaceupdates.googleblog.com/'> <i class='material-icons'> &#59530; </i> </a> <i class='material-icons disabled'> &#58820; </i> <span id='blog-pager-older-link'> <a class='blog-pager-older-link' href='http://workspaceupdates.googleblog.com/search/label/Developer?updated-max=2023-07-17T10:00:00-07:00&max-results=20&start=20&by-date=false' id='Blog1_blog-pager-older-link' title='Older Posts'> <i class='material-icons'> &#58824; </i> </a> </span> </div> <div class='clear'></div> </div></div> </div> </div> <div class='col-right'> <div class='section' id='sidebar-top'><div class='widget HTML' data-version='1' id='HTML8'> <div class='widget-content'> <div class='searchBox'> <input type='text' title='Search This Blog' placeholder='Search blog ...' /> </div> </div> <div class='clear'></div> </div></div> <div id='aside'> <div class='section' id='sidebar'><div class='widget Label' data-version='1' id='Label1'> <div class='tab'> <img class='sidebar-icon' src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAYpJREFUeNrs2aFuwzAQBmAvKRkMKRjZA4QMDJaWFgyMjuzFRg37DIUlA3uFkoGQSaWzJU+tpri5O9+l/zSfdFJlpe59yTmyVedq1PjfcZMZ70NuQnaF8w8htyE/rABtpviXkLcK88c5HhLkMBfgVan43zfFBNGMjHVGT/s55KP2pAvidbGHd+nzKt1RKSLG3rKF1iPFv6UWiPke8i7kEqGdGsI1O+LYVdqJAjgirwkKYD0ytkJBUNbAMvX8V3q9PhUsYvU1sWD8SO/sQvx2ahxOiNoJCSBCoAHYCEQAC4EKICOQASQEOmAS8RcAFxFN5hiIiugpgC3wk9hQAHH/70EBHXUN7IER5EWMiBgo2+nzOKQv9SCAeEM/OQAkhE/ncccFICB87qzQMia5FsJfOui0zMnmRvipU1ormHQuxGTxUsAcCFLxJQBLBLn4UoAFglW8BkATwS5eC6CBEBWvCShBiIvXBkgQRcVbADiI4uKtABSESvGWgB9EzHt3+tNwyO0qa9SoIYtvAQYAqDJhaWWeMecAAAAASUVORK5CYII='/> <h2> Filter by product </h2> <i class='material-icons arrow'> &#58821; </i> </div> <div class='widget-content list-label-widget-content'> <ul> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/Accessibility'> Accessibility </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/Accounts'> Accounts </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/Additional%20Google%20services'> Additional Google services </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/Admin%20console'> Admin console </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/Admin%20SDK'> Admin SDK </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/Alpha'> Alpha </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/Android'> Android </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/API'> API </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/App%20Maker'> App Maker </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/AppSheet'> AppSheet </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/Assistant'> Assistant </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/Bet'> Bet </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/Beta'> Beta </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/BigQuery'> BigQuery </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/Chrome'> Chrome </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/Cloud%20Search'> Cloud Search </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/Colab'> Colab </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/Contacts'> Contacts </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/Currents'> Currents </a> </li> <li> <span dir='ltr'> Developer </span> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/Directory%20Sync'> Directory Sync </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/DLP'> DLP </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/Docs'> Docs </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/Drive%20for%20desktop'> Drive for desktop </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/Duet%20AI'> Duet AI </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/Editors'> Editors </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/Education%20Edition'> Education Edition </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/End-user'> End-user </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/G%20Suite'> G Suite </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/G%20Suite%20for%20Education'> G Suite for Education </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/G%20Suite%20for%20Government'> G Suite for Government </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/Gemini'> Gemini </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/Gmail'> Gmail </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/Google%20Apps%20Script'> Google Apps Script </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/Google%20Calendar'> Google Calendar </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/Google%20Chat'> Google Chat </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/Google%20Classroom'> Google Classroom </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/Google%20Cloud%20Directory%20Sync'> Google Cloud Directory Sync </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/Google%20Docs'> Google Docs </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/Google%20Drawings'> Google Drawings </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/Google%20Drive'> Google Drive </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/Google%20Forms'> Google Forms </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/Google%20Hangouts'> Google Hangouts </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/Google%20Keep'> Google Keep </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/Google%20Maps'> Google Maps </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/Google%20Meet'> Google Meet </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/Google%20Meet%20Hardware'> Google Meet Hardware </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/Google%20Photos'> Google Photos </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/Google%20Sheets'> Google Sheets </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/Google%20Sites'> Google Sites </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/Google%20Slides'> Google Slides </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/Google%20Tasks'> Google Tasks </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/Google%20Vault'> Google Vault </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/Google%20Vids'> Google Vids </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/Google%20Voice'> Google Voice </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/Google%20Workspace'> Google Workspace </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/Google%20Workspace%20Add-ons'> Google Workspace Add-ons </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/Google%20Workspace%20for%20Education'> Google Workspace for Education </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/Google%20Workspace%20Marketplace'> Google Workspace Marketplace </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/Google%20Workspace%20Migrate'> Google Workspace Migrate </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/Groups'> Groups </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/Identity'> Identity </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/iOS'> iOS </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/Jamboard'> Jamboard </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/Marketplace'> Marketplace </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/MDM'> MDM </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/Microsoft%20Exchange'> Microsoft Exchange </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/Microsoft%20Outlook'> Microsoft Outlook </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/Migration'> Migration </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/Mobile'> Mobile </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/Next%202023'> Next 2023 </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/Other'> Other </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/Premier%20Edition'> Premier Edition </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/Rapid'> Rapid </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/Rapid%20Release'> Rapid Release </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/Rapid%20Releases'> Rapid Releases </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/SAML'> SAML </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/Scheduled%20Release'> Scheduled Release </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/Security%20and%20Compliance'> Security and Compliance </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/SSO'> SSO </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/Weekly%20Recap'> Weekly Recap </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/What%27s%20New'> What&#39;s New </a> </li> <li> <a dir='ltr' href='http://workspaceupdates.googleblog.com/search/label/YouTube'> YouTube </a> </li> </ul> <div class='clear'></div> </div> </div><div class='widget BlogArchive' data-version='1' id='BlogArchive1'> <div class='tab'> <i class='material-icons icon'> &#58055; </i> <h2> Filter by date </h2> <i class='material-icons arrow'> &#58821; </i> </div> <div class='widget-content'> <div id='ArchiveList'> <div id='BlogArchive1_ArchiveList'> <ul class='hierarchy'> <li class='archivedate expanded'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'> &#58821; </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy toggle-open'> <i class='material-icons'> &#58823; </i> &#160; </span> </a> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2024/'> 2024 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate expanded'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2024/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2024/10/'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2024/09/'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2024/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2024/07/'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2024/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2024/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2024/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2024/03/'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2024/02/'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2024/01/'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'> &#58821; </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'> &#58821; </i> &#160; </span> </a> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2023/'> 2023 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2023/12/'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2023/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2023/10/'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2023/09/'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2023/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2023/07/'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2023/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2023/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2023/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2023/03/'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2023/02/'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2023/01/'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'> &#58821; </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'> &#58821; </i> &#160; </span> </a> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2022/'> 2022 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2022/12/'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2022/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2022/10/'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2022/09/'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2022/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2022/07/'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2022/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2022/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2022/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2022/03/'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2022/02/'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2022/01/'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'> &#58821; </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'> &#58821; </i> &#160; </span> </a> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2021/'> 2021 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2021/12/'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2021/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2021/10/'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2021/09/'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2021/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2021/07/'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2021/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2021/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2021/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2021/03/'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2021/02/'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2021/01/'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'> &#58821; </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'> &#58821; </i> &#160; </span> </a> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2020/'> 2020 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2020/12/'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2020/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2020/10/'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2020/09/'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2020/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2020/07/'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2020/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2020/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2020/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2020/03/'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2020/02/'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2020/01/'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'> &#58821; </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'> &#58821; </i> &#160; </span> </a> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2019/'> 2019 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2019/12/'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2019/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2019/10/'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2019/09/'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2019/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2019/07/'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2019/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2019/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2019/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2019/03/'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2019/02/'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2019/01/'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'> &#58821; </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'> &#58821; </i> &#160; </span> </a> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2018/'> 2018 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2018/12/'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2018/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2018/10/'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2018/09/'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2018/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2018/07/'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2018/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2018/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2018/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2018/03/'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2018/02/'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2018/01/'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'> &#58821; </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'> &#58821; </i> &#160; </span> </a> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2017/'> 2017 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2017/12/'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2017/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2017/10/'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2017/09/'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2017/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2017/07/'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2017/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2017/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2017/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2017/03/'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2017/02/'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2017/01/'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'> &#58821; </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'> &#58821; </i> &#160; </span> </a> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2016/'> 2016 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2016/12/'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2016/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2016/10/'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2016/09/'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2016/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2016/07/'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2016/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2016/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2016/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2016/03/'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2016/02/'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2016/01/'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'> &#58821; </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'> &#58821; </i> &#160; </span> </a> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2015/'> 2015 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2015/12/'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2015/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2015/10/'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2015/09/'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2015/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2015/07/'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2015/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2015/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2015/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2015/03/'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2015/02/'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2015/01/'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'> &#58821; </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'> &#58821; </i> &#160; </span> </a> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2014/'> 2014 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2014/12/'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2014/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2014/10/'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2014/09/'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2014/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2014/07/'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2014/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2014/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2014/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2014/03/'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2014/02/'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2014/01/'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'> &#58821; </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'> &#58821; </i> &#160; </span> </a> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2013/'> 2013 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2013/12/'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2013/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2013/10/'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2013/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2013/07/'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2013/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2013/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2013/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2013/03/'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2013/02/'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2013/01/'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'> &#58821; </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'> &#58821; </i> &#160; </span> </a> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2012/'> 2012 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2012/12/'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2012/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2012/10/'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2012/09/'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2012/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2012/07/'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2012/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2012/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2012/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2012/03/'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2012/02/'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2012/01/'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'> &#58821; </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'> &#58821; </i> &#160; </span> </a> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2011/'> 2011 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2011/12/'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2011/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2011/10/'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2011/09/'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2011/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2011/07/'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2011/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2011/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2011/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2011/03/'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2011/02/'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2011/01/'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'> &#58821; </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'> &#58821; </i> &#160; </span> </a> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2010/'> 2010 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2010/12/'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2010/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2010/10/'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2010/09/'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2010/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2010/07/'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2010/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2010/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2010/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2010/03/'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2010/02/'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2010/01/'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'> &#58821; </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'> &#58821; </i> &#160; </span> </a> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2009/'> 2009 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2009/12/'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2009/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2009/10/'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2009/09/'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2009/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2009/07/'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2009/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2009/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2009/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2009/03/'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2009/02/'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2009/01/'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'> &#58821; </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'> &#58821; </i> &#160; </span> </a> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2008/'> 2008 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2008/12/'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2008/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2008/10/'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2008/09/'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2008/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2008/07/'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2008/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2008/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2008/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2008/03/'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2008/02/'> Feb </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2008/01/'> Jan </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class='intervalToggle'> <span class='new-toggle' href='javascript:void(0)'> <i class='material-icons arrow'> &#58821; </i> </span> <a class='toggle' href='javascript:void(0)' style='display: none'> <span class='zippy'> <i class='material-icons'> &#58821; </i> &#160; </span> </a> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2007/'> 2007 </a> </div> <div class='items'> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2007/12/'> Dec </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2007/11/'> Nov </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2007/10/'> Oct </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2007/09/'> Sep </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2007/08/'> Aug </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2007/07/'> Jul </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2007/06/'> Jun </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2007/05/'> May </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2007/04/'> Apr </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2007/03/'> Mar </a> </div> <div class='items'> </div> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <div class=''> <a class='post-count-link' href='http://workspaceupdates.googleblog.com/2007/02/'> Feb </a> </div> <div class='items'> </div> </li> </ul> </div> </li> </ul> </div> </div> <div class='clear'></div> </div> </div><div class='widget HTML' data-version='1' id='HTML6'> <div class='widget-content'> <a href="http://workspaceupdates.googleblog.com/atom.xml"> <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAihJREFUeNrsWa9Pw0AU7viRMDFRBAkzJDMIBIhJJhCzk7NILIqMv4AEhdz+BCY3OYssAlGBoAJREpZwAlHEBO8lr8nSvNeVbu1dyX3JlzTrXfa+u/e9d7c5joWFhYVO1Fa8PwH2gK6m+BRwAvSlAdsrgr8E1jUuMH73GTAEzrkBWymTewZlihhLmgDXIAFuHgGVQOUF7OSYM1p6PgTuA1vAZlUEvAnPdapcMY0VICECekQ0XRfYrqoHsAGNgXfAoMomRiFDEhOZkkL3S88hMaB2LwXp0bj+ps2edpToZpjfoIDQtBeU+xjoDzP2G/gCPKZ5f8WsCAFJoJgOCcFdWSTeL9YQMSvTA1h9BkI5jaiXhLpSCL/8mVZY0UpyJ9ZdOkniu1dmJ96BpzQu9w6s28gcOq9j6pwLdR8/36NK5CQKwJSMrb2MhhSglBpt4UjsrdsnNu0B3J0HCozbCc4TjyY2srEgos/4RQljCzNxl4ireQD8FOq+T+W0mTB2g7njhlR+Sy2jsXFvU658U8YTbeaGpdIu7mWkEAq5ZtIjIhFZdtfX7QHckSvB2B6zC3VdAkZk0kAQwaXTk/CzTXK3wjIExCs6ZJpTnE4uY1KV+KzFzA3KTiFPENHJkOPcsfpLhwe4btoSuvUqAR+6TOxlCE6ZfKUsJLgsqGW8OpqAGx2X+sLxrwUog+JUeQRMDBIwyXOcnlPtPnL0/UsT/8LnOxYWFhZG4leAAQAAQHEaYuzHbAAAAABJRU5ErkJggg==" class="sidebar-icon" /> <h2>Subscribe by feed</h2> </a> </div> <div class='clear'></div> </div><div class='widget HTML' data-version='1' id='HTML2'> <h2 class='title'>Subscribe by email</h2> <div class='widget-content'> <!-- Begin Mailchimp Signup Form --> <div id="mc_embed_signup"> <form action="https://googleblog.us5.list-manage.com/subscribe/post?u=dfee747f842ff45e675b4d1d9&amp;id=a3262ab6a0" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate" target="_blank" novalidate> <div id="mc_embed_signup_scroll"> <div class="mc-field-group"> <input type="email" value="" name="EMAIL" class="required email" id="mce-EMAIL" /> </div> <div id="mce-responses" class="clear"> <div class="response" id="mce-error-response" style="display:none"></div> <div class="response" id="mce-success-response" style="display:none"></div> </div> <!-- real people should not fill this in and expect good things - do not remove this or risk form bot signups--> <div style="position: absolute; left: -5000px;" aria-hidden="true"><input type="text" name="b_dfee747f842ff45e675b4d1d9_a3262ab6a0" tabindex="-1" value="" /></div> <div class="clear"><input type="submit" value="Subscribe" name="subscribe" id="mc-embedded-subscribe" class="button" /></div> </div> </form> </div> <!--End mc_embed_signup--> </div> <div class='clear'></div> </div></div> <div class='section' id='sidebar-bottom'><div class='widget HTML' data-version='1' id='HTML5'> <h2 class='title'>Localized Google Workspace Updates</h2> <div class='widget-content'> <div class='widget-content'> <a href="https://gsuiteupdates-es.googleblog.com/" target="_blank">Español</a> <br/> <a href="https://gsuiteupdates-fr.googleblog.com/" target="_blank">Français</a><br /><a href="https://gsuiteupdates-ja.googleblog.com/" target="_blank">日本語</a><br /><a href="https://gsuiteupdates-pt.googleblog.com/" target="_blank">Português</a><br /> </div> </div> <div class='clear'></div> </div><div class='widget HTML' data-version='1' id='HTML1'> <h2 class='title'> Useful Links </h2> <div class='widget-content'> <center> <h4> <a href="https://www.googlecloudcommunity.com/gc/Google-Workspace/ct-p/google-workspace" target="_blank">Join the official community for Google Workspace administrators</a> </h4> <p> In the Google Cloud Community, connect with Googlers and other Google Workspace admins like yourself. Participate in product discussions, check out the Community Articles, and learn tips and tricks that will make your work and life easier. Be the first to know what's happening with Google Workspace. </p> <p>______________ </p> <h4> <a href="https://support.google.com/a/go/whatsnew" target="_blank">Learn about more Google Workspace launches</a> </h4> <p> On the &#8220;What&#8217;s new in Google Workspace?&#8221; Help Center page, learn about new products and features launching in Google Workspace, including smaller changes that haven&#8217;t been announced on the Google Workspace Updates blog. </p> <p>______________ </p> <h4> </h4></center> </div> <div class='clear'></div> </div></div> </div> </div> <div style='clear:both;'></div> </div> <div class='google-footer-outer loading'> <div id='google-footer'> <a href='//www.google.com/'> <img class='google-logo-dark' height='36' src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALgAAABICAYAAABFoT/eAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAACLVJREFUeNrsXd+L20YQ3vOprdLqiMXFXE2qB7dcwEcTSB7ykIc+9A/PQx/yEMq1TWhNuYIpJriNr7XpmZ5IxFEvmW2EKs3Ornb1w50PxIFP0kiz387OzM6uhGAwGAxGP3Ho+f7x7ri1O7LdccPqZjSNA4dEHsLfaHcEFedJom93x9Xu2OyOFTcBo6sED3fHZHeMEELrkAHJF0B8Rr+gDFsZ5n0luLTQ95AXs4W06D/tjpR50xtM4CjD0y48YGB4rnyZxNOzyA7zBHr+nLnDaJLg0mo/ALekCasg3Z4XbM0ZdTEgnDPeHY8bIne+Qz2GvwyGNwsuyT218KWvIIBMcwGpLiipcolecjMxfBDchNyS1EvxLiOSIecp31q6IJ/C3yrIrMqMm4jhg+AxkdwbIO3aUO4KjqqMjCT3uaazMBhWBJfuxH3CtRfiXf66DhSRZWbmlMnNaILgZxrXJQO/eO3wORZwvwm4JUxuhheCjzVBYAbW1ces45YDSoZrFNOEE835M8FT6oyeEnws8Fz3QnBxFKPHBMem4GU+m6fPGb0leCTwWcM5B36MPgeZI01gudyDdw3hPeXfo8L/rmCUWnuMMdqUL2WqWeRbhf+twfVsO7YagZGNC79fw7OthEVtkiJ4jJzTd3KPwf3CRqhhiTu23AP5sl0/0xiwISQXpNwLIJK87mHF+U8ddzzdmgKlGzlPYjyxGJQouIhNT4k9AqWEFkqfguIvagTWbcq3KW1WE3xS3m8NtA9WS451xofwjKT5kkDoK/b6mDk5FfXr1lWDL4BofZEv2/SRsK/EHGlGdBdu8QNRb8HMCFwt7Yy3DDI/QP7fx5z3VLhdlJEIs4rKNuXXJXdxZPdB7kfCzWqwCO4V1LHgLjInX3tQ1KzCR52Cz+vDj1dydeRuS74rcvs2Pi6fT5H8OaaUQPQPYcWwRSGXyhhscn5dpAnEFMkuEZetbfkTAnlSuH4DxisE+aMGeJAQ3lFl7C4LJE6QWCaCd583ORQ1jYAwjFctal7nOs2ZZvicwvlZx+RHGrcoAwKUVX8uwcc/9TT65INeDOr5shL9LDRB6QTeIy3zwfdh3WOi6axLCEhSjXU7F3h6LqggUtvyJxpynwu8tDkD98fXApOxRj8zoZ9MnGveYVIVZKaGrkBXCY65BCYNN9NkjpKOyQ81Q79JgdxS+Jn3SDTEXRI7SWzaiSTB32oI3nU3BvMfM0urhOVYgwKhuiAfc4tM07wXwm1ZRoQYSl2NUwiu01fEAHVcpixd745FvVz4dzUUc0o8rwoLy8ZSwU6CyFx1RP5II9+1bFPEFs9HWbNLiimDXE+vCm7u1CS47cofzD3aEhVY57mxRo5zlqdt+RFC1JUH2S7bcVXg4liTMakaBZZVxiTICRoivcn1sEUBlk24JmaC6kxUbYmWoqvyfck2xZGGnDFYa9MMzkYQ1ijkCX6qidybrgePiQ0QIQqoi6qRLeqQfIoRsEHaQJLBdHOnLGetSdm/IPcymJuS1PAnbQPH0MOw/39C1vL11DiLOqIsbDI8QcHvGiLnySi2qUXBicaqUSxN5LEB0g7Jt3ENXJLPJ5S1tnaZBoWbpRqrmjRE7qHmpSmNHdQcYrEUadoh+TbBnc9ri7iycI1kzPeNcLDIvbiqXpez9Tmdq6zGREPuzECBoxrPMiI2WtvyNwhJba2wy3JZ6ky5dD1lSvmZS3e4SPA1wcf1VTFHKX+cGwZzdUYcqpvUtvwrD/InDttVlyZeAKlNN5MKbAiurHhKIPlUuJvlTCCiDjSKSCsUmCFWbGLZwCESfK07JB8LvMYWVtw0D00JEHV8Mq2HkqPbE0oHLvvK2g0o8ETg+4cfwTlZDT9JDoWygu4uQQE/ivIvtcnfPkaCqhiupz7jWOAzqL/vjtcdkv9G4MVMt+EaylfuImiPAXEUjRF3pjjaHiPPZ6If9TGGAO4ZY0am6jOCb+DQ+ZCqLkIpOIPrdNfIjnFPY6nyFut7TS/fanrziOBOKMupKw94WaLMtuVnSFt9CPrWWdJE6PeltCX432DEBoh+5Dv8RRhdis8YAv9uyq4/JAwtlEApgBe9Cw9xDD3tdk4Jn0MDfiHwPHcRPxBePCMER3GuIx7kGlv9fkZ4V9lolx2Uv4X7hEj7qJ3LDoAMGbTRMRibu4L2xQ8bgt8AyU+Q+x7nYrvDnH4iuO5LxKsYwPVbkPMvKF9Zky9wXzRfVWizi62r9X5VHf55h+WHhDjGBZ4WRhyTr6z5SlCoLMxLSpBZFsQ9F80uQFbF/6aFWi+Ev51vzzsuX+msyzuQXXjUz8zEBy+zpq9yweXAoxJW4JbYrDS6gYDqGHxPl+TKeiBfxj9/EBIElPYeOA4y8/qRQfknjvSzgRgtq0Pw/M1eQeMdOSb2Bnrhr6Led+1vcp2x7oTFHMnedFW+Ivlty062BUt74oHgSj+vHepnhunn0JJAMtBZgDI/qmGtMujRv8DDpo47zBJ8UtPOuAR/7rKn8t9AJ0tBdmBAmJ/Fu71yxp4I3qh+DhyRqbi5Y1ShVPlSb8X7bRNcfgZFl+WRGYo7uecrWq1r8X5bhmzP5OdlDwsGRm1suSxkg5rYm7ConyGQ3Zl+DgSD8V/kPwrWBMG9YcBtyShBnTLdTiHgttw7qAW7cqh/ZnmPKr/6ignOaKsdyxbsToT5UkPsW00bJjijDXficcX/JsLs6w2BwGtherdckH3w/kNXRPVI0OqJQoHX42/66IMfMj/2huRjxIidgKV/W0JS+bsstDoTeAHcrI8E5zTh/sDkqxL5rZup55/3USlswfcHf4IrQplVDgW9XFlOqnwr6pVPMMEZTuC60EttvdzbLbaZ4PsFVa3nohhO+vW+yn/ZB2fUhpysmQrzBcTSai9EszuZMcEZ1lCFVrp9zGXhm69iLyY4oxFIa178lPe12I/P2DAYDAaDwWAwGAwGg8FgMBgMBoPBYDD2Cf8IMADDRGoQTe+E9AAAAABJRU5ErkJggg==' style='margin-top: -16px;' width='92'/> </a> <ul> <li> <a href='//www.google.com/'> Google </a> </li> <li> <a href='//www.google.com/policies/privacy/'> Privacy </a> </li> <li> <a href='//www.google.com/policies/terms/'> Terms </a> </li> </ul> </div> </div> <script type='text/javascript'> //<![CDATA[ // Social sharing popups. var postEl = document.getElementsByClassName('social-wrapper'); var postCount = postEl.length; for(i=0; i<postCount;i++){ postEl[i].addEventListener("click", function(event){ var postUrl = this.getAttribute("data-href"); window.open( postUrl,'popUpWindow','height=500,width=500,left=10,top=10,resizable=yes,scrollbars=yes,toolbar=yes,menubar=no,location=no,directories=no,status=yes'); });} //]]> </script> <script type='text/javascript'> //<![CDATA[ var BreakpointHandler = function() { this.initted = false; this.isHomePage = false; this.isMobile = false; }; BreakpointHandler.prototype.finalizeSummary = function(summaryHtml, lastNode) { // Use $.trim for IE8 compatibility summaryHtml = $.trim(summaryHtml).replace(/(<br>|\s)+$/,''); if (lastNode.nodeType == 3) { var lastChar = summaryHtml.slice(-1); if (!lastChar.match(/[.”"?]/)) { if (!lastChar.match(/[A-Za-z]/)) { summaryHtml = summaryHtml.slice(0, -1); } summaryHtml += ' ...'; } } else if (lastNode.nodeType == 1 && (lastNode.nodeName == 'I' || lastNode.nodeName == 'A')) { summaryHtml += ' ...'; } return summaryHtml; }; BreakpointHandler.prototype.generateSummaryFromContent = function(content, numWords) { var seenWords = 0; var summaryHtml = ''; for (var i=0; i < content.childNodes.length; i++) { var node = content.childNodes[i]; var nodeText; if (node.nodeType == 1) { if (node.hasAttribute('data-about-pullquote')) { continue; } nodeText = node.textContent; if (nodeText === undefined) { // innerText for IE8 nodeText = node.innerText; } if (node.nodeName == 'DIV' || node.nodeName == 'B') { // Don't end early if we haven't seen enough words. if (seenWords < 10) { continue; } if (i > 0) { summaryHtml = this.finalizeSummary(summaryHtml, content.childNodes[i-1]); } break; } summaryHtml += node.outerHTML; } else if (node.nodeType == 3) { nodeText = node.nodeValue; summaryHtml += nodeText + ' '; } var words = nodeText.match(/\S+\s*/g); if (!words) { continue; } var remain = numWords - seenWords; if (words.length >= remain) { summaryHtml = this.finalizeSummary(summaryHtml, node); break; } seenWords += words.length; } return summaryHtml; }; BreakpointHandler.prototype.detect = function() { var match, pl = /\+/g, search = /([^&=]+)=?([^&]*)/g, decode = function (s) { return decodeURIComponent(s.replace(pl, " ")); }, query = window.location.search.substring(1); var urlParams = {}; while (match = search.exec(query)) urlParams[decode(match[1])] = decode(match[2]); this.isListPage = $('html').hasClass('list-page'); this.isMobile = urlParams['m'] === '1'; this.isHomePage = window.location.pathname == '/'; }; BreakpointHandler.prototype.initContent = function() { var self = this; $('.post').each(function(index) { var body = $(this).children('.post-body')[0]; var content = $(body).children('.post-content')[0]; $(content).addClass('post-original'); var data = $(content).children('script').html(); data = self.rewriteForSSL(data); // If exists, extract specified editor's preview. var match = data.match(/([\s\S]+?)<div data-is-preview.+?>([\s\S]+)<\/div>/m); if (match) { data = match[1]; } // Prevent big images from loading when they aren't needed. // This must be done as a pre-injection step, since image loading can't be // canceled once embedded into the DOM. if (self.isListPage && self.isMobile) { data = data.replace(/<(img|iframe) .+?>/g, ''); } // Insert template to be rendered as nodes. content.innerHTML = data; if (self.isListPage) { var summary = document.createElement('div'); $(summary).addClass('post-content'); $(summary).addClass('post-summary'); body.insertBefore(summary, content); if (match) { // Use provided summary. summary.innerHTML = match[2]; } else { // Generate a summary. // Summary generation relies on DOM, so it must occur after content is // inserted into the page. summary.innerHTML = self.generateSummaryFromContent(content, 30); } // Add read more link to summary. var titleAnchor = $(this).find('.title a')[0]; var link = titleAnchor.cloneNode(true); link.innerHTML = 'Read More'; $(link).addClass('read-more'); summary.appendChild(link); } }); // Firefox does not allow for proper styling of BR. if (navigator.userAgent.indexOf('Firefox') > -1) { $('.post-content br').replaceWith('<span class="space"></span>'); } $('.loading').removeClass('loading'); }; BreakpointHandler.prototype.process = function() { if (!this.initted) { var makeInsecureImageRegex = function(hosts) { var whitelist = hosts.join('|').replace(/\./g,'\\.'); // Normal image tags, plus input images (yes, this is possible!) return new RegExp('(<(img|input)[^>]+?src=("|\'))http:\/\/(' + whitelist +')', 'g'); }; this.sslImageRegex = makeInsecureImageRegex(BreakpointHandler.KNOWN_HTTPS_HOSTS); this.sslImageCurrentDomainRegex = makeInsecureImageRegex([window.location.hostname]); this.detect(); this.initContent(); this.initted = true; } }; BreakpointHandler.KNOWN_HTTPS_HOSTS = [ "www.google.org", "www.google.com", "services.google.com", "blogger.com", "draft.blogger.com", "www.blogger.com", "photos1.blogger.com", "photos2.blogger.com", "photos3.blogger.com", "blogblog.com", "img1.blogblog.com", "img2.blogblog.com", "www.blogblog.com", "www1.blogblog.com", "www2.blogblog.com", "0.bp.blogspot.com", "1.bp.blogspot.com", "2.bp.blogspot.com", "3.bp.blogspot.com", "4.bp.blogspot.com", "lh3.googleusercontent.com", "lh4.googleusercontent.com", "lh5.googleusercontent.com", "lh6.googleusercontent.com", "themes.googleusercontent.com", ]; BreakpointHandler.prototype.rewriteForSSL = function(html) { // Handle HTTP -> HTTPS source replacement of images, movies, and other embedded content. return html.replace(this.sslImageRegex, '$1https://$4') .replace(this.sslImageCurrentDomainRegex, '$1//$4') .replace(/(<(embed|iframe)[^>]+?src=("|'))http:\/\/([^"']*?(youtube|picasaweb\.google)\.com)/g, '$1https://$4') // Slideshow SWF takes a image host, so we need to rewrite that parameter. .replace(/(<embed[^>]+?feed=http(?=[^s]))/g, '$1s'); }; $(document).ready(function() { var handler = new BreakpointHandler(); handler.process(); // Top-level navigation. $(".BlogArchive .tab").click(function(ev) { ev.preventDefault(); $(this).parent().toggleClass('active'); $(this).siblings().slideToggle(300); }); $(".Label .tab").click(function(ev) { ev.preventDefault(); $(this).parent().toggleClass('active'); $(this).siblings().slideToggle(300); }); // Blog archive year expansion. $('.BlogArchive .intervalToggle').click(function(ev) { ev.preventDefault(); if ($(this).parent().hasClass('collapsed')) { $(this).parent().removeClass('collapsed'); $(this).parent().addClass('expanded'); } else { $(this).parent().removeClass('expanded'); $(this).parent().addClass('collapsed'); } }); // Reverse order of months. $('.BlogArchive .intervalToggle + div').each(function(_, items) { var year = $(this); year.children().each(function(_, month) { year.prepend(month); }); }); // Set anchors to open in new tab. $('.post-content img').parent().each(function(_, node) { if (node.nodeName == 'A') { $(this).attr('target', '_blank'); } }); // Process search requests. $('.searchBox input').on("keypress", function(ev) { if (ev.which == 13) { window.location.href = 'https://www.google.com/search?q=site%3A' + window.location.hostname + '%20' + encodeURIComponent ($(this).val()); } }); }); //]]> </script> <script src='https://apis.google.com/js/platform.js'></script> <script type="text/javascript" src="https://www.blogger.com/static/v1/widgets/984859869-widgets.js"></script> <script type='text/javascript'> window['__wavt'] = 'AOuZoY4MoZ55qcWGPQAqbVpYkXxKRw6osQ:1732318425655';_WidgetManager._Init('//www.blogger.com/rearrange?blogID\x3d5245696872621940063','//workspaceupdates.googleblog.com/search/label/Developer','5245696872621940063'); _WidgetManager._SetDataContext([{'name': 'blog', 'data': {'blogId': '5245696872621940063', 'title': 'Google Workspace Updates', 'url': 'http://workspaceupdates.googleblog.com/search/label/Developer', 'canonicalUrl': 'http://workspaceupdates.googleblog.com/search/label/Developer', 'homepageUrl': 'http://workspaceupdates.googleblog.com/', 'searchUrl': 'http://workspaceupdates.googleblog.com/search', 'canonicalHomepageUrl': 'http://workspaceupdates.googleblog.com/', 'blogspotFaviconUrl': 'http://workspaceupdates.googleblog.com/favicon.ico', 'bloggerUrl': 'https://www.blogger.com', 'hasCustomDomain': true, 'httpsEnabled': false, 'enabledCommentProfileImages': true, 'gPlusViewType': 'FILTERED_POSTMOD', 'adultContent': false, 'analyticsAccountNumber': 'G-DY1T9T89QG', 'analytics4': true, 'encoding': 'UTF-8', 'locale': 'en', 'localeUnderscoreDelimited': 'en', 'languageDirection': 'ltr', 'isPrivate': false, 'isMobile': false, 'isMobileRequest': false, 'mobileClass': '', 'isPrivateBlog': false, 'isDynamicViewsAvailable': true, 'feedLinks': '\x3clink rel\x3d\x22alternate\x22 type\x3d\x22application/atom+xml\x22 title\x3d\x22Google Workspace Updates - Atom\x22 href\x3d\x22http://workspaceupdates.googleblog.com/feeds/posts/default\x22 /\x3e\n\x3clink rel\x3d\x22alternate\x22 type\x3d\x22application/rss+xml\x22 title\x3d\x22Google Workspace Updates - RSS\x22 href\x3d\x22http://workspaceupdates.googleblog.com/feeds/posts/default?alt\x3drss\x22 /\x3e\n\x3clink rel\x3d\x22service.post\x22 type\x3d\x22application/atom+xml\x22 title\x3d\x22Google Workspace Updates - Atom\x22 href\x3d\x22https://www.blogger.com/feeds/5245696872621940063/posts/default\x22 /\x3e\n', 'meTag': '', 'adsenseHostId': 'ca-host-pub-1556223355139109', 'adsenseHasAds': false, 'adsenseAutoAds': false, 'boqCommentIframeForm': true, 'loginRedirectParam': '', 'view': '', 'dynamicViewsCommentsSrc': '//www.blogblog.com/dynamicviews/4224c15c4e7c9321/js/comments.js', 'dynamicViewsScriptSrc': '//www.blogblog.com/dynamicviews/d78375fb222d99b3', 'plusOneApiSrc': 'https://apis.google.com/js/platform.js', 'disableGComments': true, 'interstitialAccepted': false, 'sharing': {'platforms': [{'name': 'Get link', 'key': 'link', 'shareMessage': 'Get link', 'target': ''}, {'name': 'Facebook', 'key': 'facebook', 'shareMessage': 'Share to Facebook', 'target': 'facebook'}, {'name': 'BlogThis!', 'key': 'blogThis', 'shareMessage': 'BlogThis!', 'target': 'blog'}, {'name': 'X', 'key': 'twitter', 'shareMessage': 'Share to X', 'target': 'twitter'}, {'name': 'Pinterest', 'key': 'pinterest', 'shareMessage': 'Share to Pinterest', 'target': 'pinterest'}, {'name': 'Email', 'key': 'email', 'shareMessage': 'Email', 'target': 'email'}], 'disableGooglePlus': true, 'googlePlusShareButtonWidth': 0, 'googlePlusBootstrap': '\x3cscript type\x3d\x22text/javascript\x22\x3ewindow.___gcfg \x3d {\x27lang\x27: \x27en\x27};\x3c/script\x3e'}, 'hasCustomJumpLinkMessage': false, 'jumpLinkMessage': 'Read more', 'pageType': 'index', 'searchLabel': 'Developer', 'pageName': 'Developer', 'pageTitle': 'Google Workspace Updates: Developer'}}, {'name': 'features', 'data': {}}, {'name': 'messages', 'data': {'edit': 'Edit', 'linkCopiedToClipboard': 'Link copied to clipboard!', 'ok': 'Ok', 'postLink': 'Post Link'}}, {'name': 'template', 'data': {'name': 'custom', 'localizedName': 'Custom', 'isResponsive': false, 'isAlternateRendering': false, 'isCustom': true}}, {'name': 'view', 'data': {'classic': {'name': 'classic', 'url': '?view\x3dclassic'}, 'flipcard': {'name': 'flipcard', 'url': '?view\x3dflipcard'}, 'magazine': {'name': 'magazine', 'url': '?view\x3dmagazine'}, 'mosaic': {'name': 'mosaic', 'url': '?view\x3dmosaic'}, 'sidebar': {'name': 'sidebar', 'url': '?view\x3dsidebar'}, 'snapshot': {'name': 'snapshot', 'url': '?view\x3dsnapshot'}, 'timeslide': {'name': 'timeslide', 'url': '?view\x3dtimeslide'}, 'isMobile': false, 'title': 'Google Workspace Updates', 'description': 'This official feed from the Google Workspace team provides essential information about new features and improvements for Google Workspace customers.', 'url': 'http://workspaceupdates.googleblog.com/search/label/Developer', 'type': 'feed', 'isSingleItem': false, 'isMultipleItems': true, 'isError': false, 'isPage': false, 'isPost': false, 'isHomepage': false, 'isArchive': false, 'isSearch': true, 'isLabelSearch': true, 'search': {'label': 'Developer', 'resultsMessage': 'Showing posts with the label Developer', 'resultsMessageHtml': 'Showing posts with the label \x3cspan class\x3d\x27search-label\x27\x3eDeveloper\x3c/span\x3e'}}}]); _WidgetManager._RegisterWidget('_HeaderView', new _WidgetInfo('Header1', 'header', document.getElementById('Header1'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_BlogView', new _WidgetInfo('Blog1', 'main', document.getElementById('Blog1'), {'cmtInteractionsEnabled': false, 'navMessage': 'Showing posts with label \x3cb\x3eDeveloper\x3c/b\x3e. \x3ca href\x3d\x22http://workspaceupdates.googleblog.com/\x22\x3eShow all posts\x3c/a\x3e', 'lightboxEnabled': true, 'lightboxModuleUrl': 'https://www.blogger.com/static/v1/jsbin/2646514562-lbx.js', 'lightboxCssUrl': 'https://www.blogger.com/static/v1/v-css/1964470060-lightbox_bundle.css'}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML8', 'sidebar-top', document.getElementById('HTML8'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_LabelView', new _WidgetInfo('Label1', 'sidebar', document.getElementById('Label1'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_BlogArchiveView', new _WidgetInfo('BlogArchive1', 'sidebar', document.getElementById('BlogArchive1'), {'languageDirection': 'ltr', 'loadingMessage': 'Loading\x26hellip;'}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML6', 'sidebar', document.getElementById('HTML6'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML2', 'sidebar', document.getElementById('HTML2'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML5', 'sidebar-bottom', document.getElementById('HTML5'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML1', 'sidebar-bottom', document.getElementById('HTML1'), {}, 'displayModeFull')); </script> </body> </html>

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