Meta tags:
Headings (most frequently used words):
chat, connect, app, with, and, tools, request, configuration, user, the, other, services, stay, organized, collections, save, categorize, content, based, on, your, preferences, page, summary, prerequisites, from, complete, authenticate, outside, of, related, topics, google, workspace, for, developers,
Text of the page (most frequently used words):
chat (80), #google (77), the (77), app (41), and (35), message (33), user (33), apps (27), for (22), with (22), space (19), workspace (16), configuration (14), users (13), get (13), build (12), your (12), messages (11), overview (10), add (10), manage (9), cloud (9), url (9), this (9), that (9), interactive (9), from (9), connect (8), console (8), script (8), thumb (8), other (8), events (8), list (8), support (7), original (7), create (7), interaction (7), update (7), tools (6), developer (6), samples (6), use (6), identity (6), sign (6), sub (6), token (6), can (6), api (6), about (6), spaces (6), delete (6), section (6), twitter (5), blog (5), admin (5), read (5), down (5), external (5), response (5), outside (5), details (5), send (5), respond (5), authenticate (5), data (5), using (5), card (5), marketplace (5), custom (5), español (4), all (4), products (4), youtube (4), service (4), developers (4), services (4), authentication (4), configcompleteredirecturl (4), prompt (4), public (4), are (4), identify (4), claim (4), when (4), event (4), process (4), members (4), additional (4), request (4), how (4), work (4), builder (4), drive (4), search (4), migrate (4), organization (4), troubleshoot (4), state (4), newsletter (3), apis (3), explorer (3), dashboard (3), release (3), notes (3), codelabs (3), code (3), need (3), request_config (3), should (3), integrity (3), more (3), content (3), page (3), receive (3), complete (3), following (3), you (3), example (3), while (3), value (3), before (3), regular (3), text (3), cards (3), dialogflow (3), systems (3), authorize (3), guides (3), home (3), started (3), errors (3), error (3), attachment (3), emoji (3), 한국어 (2), 日本語 (2), ภาษาไทย (2), বাংলা (2), हिंदी (2), فارسی (2), العربيّة (2), עברית (2), русский (2), türkçe (2), tiếng (2), việt (2), português (2), brasil (2), polski (2), italiano (2), indonesia (2), français (2), américa (2), latina (2), deutsch (2), english (2), terms (2), platform (2), subscribe (2), our (2), explore (2), own (2), information (2), too (2), steps (2), last (2), updated (2), 2026 (2), utc (2), provided (2), redirecting (2), upon (2), completion (2), successful (2), maintain (2), validate (2), licensed (2), under (2), see (2), java (2), license (2), feedback (2), quickstarts (2), based (2), aren (2), identical (2), they (2), 123 (2), some (2), cases (2), such (2), oauth (2), authorization (2), needs (2), link (2), way (2), resent (2), where (2), authenticating (2), receives (2), after (2), only (2), affects (2), multiple (2), received (2), prompts (2), particular (2), completing (2), convert (2), was (2), specific (2), also (2), present (2), any (2), configuration_url (2), pub (2), http (2), architecture (2), access (2), configure (2), preferences (2), previews (2), updates (2), training (2), ons (2), extend (2), automate (2), share (2), vault (2), tasks (2), slides (2), sites (2), sheets (2), meet (2), keep (2), forms (2), docs (2), classroom (2), calendar (2), gmail (2), import (2), make (2), turn (2), publish (2), test (2), interactions (2), download (2), media (2), file (2), upload (2), emojis (2), reaction (2), member (2), group (2), sections (2), notification (2), settings (2), find (2), call (2), develop (2), resources (2), mcp (2), server (2), reference (2), cookies, privacy, firebase, chrome, android, channel, videos, try, guided, hands, coding, experience, sample, copy, them, follow, workspacedevs, easy, understand, easytounderstand, solved, problem, solvedmyproblem, otherup, missing, missingtheinformationineed, complicated, many, toocomplicatedtoomanysteps, out, date, outofdate, issue, samplescodeissue, otherdown, returned, prompting, include, back, redirection, erases, makes, resends, tell, except, otherwise, noted, registered, trademark, oracle, its, affiliates, site, policies, apache, creative, commons, attribution, configured, one, want, uses, myprofile, related, topics, two, ids, exactly, coerced, coerce, prepend, equivalent, username, always, accepting, asserted, caution, issued, during, contains, unique, correlated, requesting, maintaining, best, these, guard, destination, however, there, situations, differ, mentions, both, able, edit, responds, case, edited, completes, visiting, single, has, tried, times, result, clicking, through, changed, same, second, time, making, visible, erase, displayed, initiating, successfully, redirected, performs, starts, flow, depends, like, without, requiring, help, every, includes, field, must, encode, used, signals, fulfilled, app_command, added_to_space, tells, private, visit, mutually, exclusive, attributes, ignored, actionresponse, type, requires, completed, directly, return, part, normal, reply, privately, form, functions, prerequisites, describes, tool, powerful, their, often, concert, require, companion, applications, accounts, display, guide, explains, learn, which, framework, note, ensure, validated, operations, recommended, becomes, processing, enable, connections, setup, enhanced, functionality, account, linking, outlined_flag, summary, save, categorize, stay, organized, collections, discoverable, administrator, off, new, determine, merging, organizations, unpublish, listing, published, review, requirements, debug, dialog, query, logs, logging, log, features, deployments, deploy, tutorials, write, actionable, availability, status, specify, collect, homepage, preview, links, dialogs, commands, interact, metadata, attachments, reactions, react, remove, manager, membership, invite, move, different, change, position, organize, into, direct, named, thread, check, archive, pin, elements, images, interfaces, format, design, choose, define, journeys, plan, install, client, libraries, granular, permissions, verify, requests, appsheet, webhook, basic, python, node, skip, main,
Text of the page (random words):
connect a chat app with other services and tools google chat google for developers skip to main content google workspace home google chat all products google workspace apps admin console cloud search gmail google calendar google chat google classroom google docs google drive google forms google keep google meet google sheets google sites google slides google tasks google vault extend automate share add ons apps script chat apps drive apps marketplace resources tools admin console apps script dashboard google cloud console apis explorer card builder training support how to get started codelabs developer support updates release notes developer previews youtube newsletter x twitter blog english deutsch español español américa latina français indonesia italiano polski português brasil tiếng việt türkçe русский עברית العربيّة فارسی हिंदी বাংলা ภาษาไทย 中文 简体 中文 繁體 日本語 한국어 sign in google chat overview guides reference mcp server samples support card builder google workspace home google chat overview guides reference mcp server samples support card builder all products more resources more get started develop with google chat overview develop on google workspace quickstarts call the chat api apps script java node js python build a basic interactive chat app http service apps script dialogflow cx dialogflow es webhook pub sub appsheet authenticate and authorize authenticate with chat authenticate as a user authenticate as an app verify requests from chat manage granular oauth permissions for chat apps call the chat api install client libraries configure the chat api plan identify your users needs define all user journeys choose a chat app architecture design user interactions build send and manage messages overview send a message create and update user cards format messages build user interfaces build cards add text and images add interactive ui elements manage messages get a message list messages search for messages update messages delete a message pin a message archive messages check message read state get read state for a space message update read state for a space message get read state for a thread message work with spaces create a named space create a space and add members get details about a space find a direct message space find a group chat list spaces update a space delete a space get a user s space notification settings update a user s space notification settings organize spaces into sections create a section update a section delete a section change the position of a section list sections list spaces in a section move a space to a different section manage members in spaces invite or add a user google group or chat app to a space get details about a membership list members in a space make a user a space manager or regular member remove a member from a space react to messages add a reaction to a message list reactions for a message delete a reaction from a message work with custom emojis create a custom emoji delete a custom emoji get details about a custom emoji list custom emojis in an organization upload and download attachments upload media as a file attachment download media as a file attachment get metadata about a message attachment interact with users overview build an interactive chat app as a google workspace add on build a chat app using interaction events receive and respond to user interactions respond to commands build interactive dialogs preview links build a homepage for your chat app collect and process information from users connect to external systems and tools work with events from google chat overview get details about a space event list events from a space subscribe to events using the google workspace events api identify and specify google chat users manage users availability status write actionable error messages explore chat app samples and tutorials deploy test and troubleshoot create and manage deployments test interactive features log errors turn on error logging query error logs troubleshoot overview troubleshoot chat app errors troubleshoot card and dialog errors debug chat apps convert an interactive chat app to a google workspace add on publish to the google workspace marketplace publish chat apps to the google workspace marketplace process and review requirements for public chat apps maintain published chat apps update or unpublish an app listing in the google workspace marketplace migrate chat apps after merging organizations determine if chat apps need to migrate migrate chat apps to a new organization turn off or delete an app manage chat as a google workspace administrator overview search for and manage spaces in your organization make a space discoverable to specific users migrate your organization to chat overview authorize chat apps to import data import data to chat google workspace apps admin console cloud search gmail google calendar google chat google classroom google docs google drive google forms google keep google meet google sheets google sites google slides google tasks google vault extend automate share add ons apps script chat apps drive apps marketplace tools admin console apps script dashboard google cloud console apis explorer card builder training support how to get started codelabs developer support updates release notes developer previews youtube newsletter x twitter blog home google workspace google chat guides send feedback connect a chat app with other services and tools stay organized with collections save and categorize content based on your preferences page summary outlined_flag google chat apps can connect with external services for enhanced functionality such as account linking and data access to enable external connections chat apps use a configuration url that prompts users to complete setup outside of chat upon successful configuration the original message in chat becomes public and is resent to the app for processing google sign in is recommended for authenticating chat users in external systems by using the identity token s sub claim ensure the identity token s integrity is validated before using the user id for any operations note this guide explains how to build an interactive chat app using chat api interaction events you can also build your chat app as a google workspace add on to learn about which framework to use see build an interactive google chat app this page describes how to connect a google chat app with a service or tool that is outside of google chat while chat apps are powerful on their own they often work in concert with other systems and require companion applications to connect accounts authorize data access display additional data or configure user preferences prerequisites a google chat app that s configured to receive and respond to interaction events to create an interactive chat app complete one of the following quickstarts based on the app architecture that you want to use http service with google cloud functions google apps script google cloud dialogflow cx google cloud pub sub request chat app configuration from a user if completing a request requires additional configuration that can t be completed directly in the chat app return a configuration url to the user as part of a normal reply or present it privately in the following form actionresponse type request_config url configuration_url this tells google chat to present the user with a private prompt where configuration_url is a link for the user to visit for additional authentication authorization or configuration a request_config response is mutually exclusive with a regular response message any text cards or other attributes are ignored complete the configuration request every message added_to_space and app_command interaction event that your chat app receives also includes the field configcompleteredirecturl you must encode this url in your configuration url to be used on completion of the process redirecting to this url signals to google chat that the configuration request was fulfilled when your chat app starts the flow depends on the specific message received in response to a message like app help a chat app should respond with a message without requiring additional configuration when a user is successfully redirected to the configcompleteredirecturl provided in the original message google chat performs the following steps erase the prompt that was displayed to the initiating user convert the original message to public making it visible to other members of the space send the original message to the same chat app a second time visiting a configcompleteredirecturl only affects a single user message if a user has tried to message a chat app multiple times and as a result received multiple prompts clicking through a particular prompt and completing the authentication and configuration process only affects that particular message other messages aren t changed when a message interaction event is resent in this way it should be identical to the original event however there are some situations where message interaction events can differ for example when a message mentions both chat app a and chat app b the user is able to edit the message if chat app a responds with a regular message before authenticating with chat app b in this case chat app b receives the edited message text after the user completes authentication and configuration authenticate the chat user outside of chat in some cases such as requesting oauth authorization for an api your app needs to link to a url outside of chat while maintaining the user identity the best way to identify the user in these cases is to guard the destination app with google sign in use the identity token issued during sign in to get the user id the sub claim contains the user s unique id and can be correlated with the user id from google chat caution always validate the integrity of the token before accepting the asserted user id while the two ids aren t exactly identical they can be coerced to coerce the value of the sub claim to a google chat users user prepend the value with users for example the claim value of 123 is equivalent to the username users 123 in messages to your chat app related topics receive and respond to user interaction the myprofile app example uses the identity token from the google sign in response to identify the user send feedback except as otherwise noted the content of this page is licensed under the creative commons attribution 4 0 license and code samples are licensed under the apache 2 0 license for details see the google developers site policies java is a registered trademark of oracle and or its affiliates last updated 2026 04 20 utc need to tell us more easy to understand easytounderstand thumb up solved my problem solvedmyproblem thumb up other otherup thumb up missing the information i need missingtheinformationineed thumb down too complicated too many steps toocomplicatedtoomanysteps thumb down out of date outofdate thumb down samples code issue samplescodeissue thumb down other otherdown thumb down last updated 2026 04 20 utc to connect a google chat app with external services use a configuration url returned in a request_config response prompting users for authentication or configuration this url should include the configcompleteredirecturl provided by chat redirecting users back upon completion successful redirection erases the prompt makes the original message public and resends the original message to the chat app to maintain user identity outside chat use google sign in and validate the integrity of the sub token n blog read the google workspace developers blog x twitter follow workspacedevs on x twitter code samples explore our sample apps or copy them to build your own codelabs try a guided hands on coding experience videos subscribe to our youtube channel google workspace for developers platform overview developer products release notes developer support terms of service tools admin console apps script dashboard google cloud console apis explorer connect blog newsletter x twitter youtube android chrome firebase google cloud platform google ai all products terms privacy manage cookies english deutsch español español américa latina français indonesia italiano polski português brasil tiếng việt türkçe русский עברית العربيّة فارسی हिंदी বাংলা ภาษาไทย 中文 简体 中文 繁體 日本語 한국어
|