Nesta página, descrevemos como o app do Google Chat pode receber e responder às interações do usuário no Google Chat.
Para criar interfaces interativas para apps do Chat, use os seguintes componentes:
- Gatilhos: as maneiras como os usuários do Google Chat podem invocar um app do Chat, como adicioná-lo a um espaço ou enviar uma mensagem para ele.
- Objetos de evento: os dados que os apps do Chat recebem de gatilhos ou interações com a interface.
- Ações: as maneiras como os apps do Chat podem responder a interações, como enviar mensagens ou retornar uma interface do usuário baseada em cards.
Os apps do Chat podem criar e exibir interfaces das seguintes maneiras:
- Mensagens que podem conter texto, cards estáticos ou interativos e botões de acessórios.
- Páginas iniciais (página inicial do app) que aparecem na guia Início das mensagens diretas individuais com o app do Chat.
- Caixas de diálogo, que são cards abertos em uma nova janela e geralmente solicitam que os usuários enviem informações.
- Prévias de link, que são cards que mostram informações sobre um serviço externo.
Pré-requisitos
- Uma conta do Google Workspace Business ou Enterprise com acesso ao Google Chat.
- Crie um projeto do Google Cloud.
- Configure a tela de permissão OAuth.
- Ative e configure a API Google Chat.
Como funcionam as interações do usuário
Quando um usuário interage com um app do Chat, o Google Chat invoca um gatilho configurado e envia um objeto de evento para o endpoint ou a função do app do Chat. O app do Chat processa o objeto de evento e pode retornar uma ação de forma síncrona em até 30 segundos ou responder de forma assíncrona usando a API Chat.
O diagrama a seguir demonstra como os apps do Google Chat processam e respondem às interações do usuário:
Gatilhos
Os gatilhos são as formas específicas que os usuários usam para invocar um app do Chat usando a interface do Chat, como @menções ou comandos de app.
A tabela a seguir mostra os gatilhos do Chat, uma descrição e como os apps do Chat costumam responder:
| Gatilho | Descrição | Resposta típica |
|---|---|---|
| Adicionado ao espaço |
Um usuário adiciona o app do Chat a um espaço ou um administrador do Google Workspace instala o app do Chat em espaços de mensagens diretas para usuários na organização. Para saber mais sobre os apps do Chat instalados por administradores, consulte Instalar apps do Marketplace no seu domínio na documentação de ajuda para admins do Google Workspace. |
O app do Chat envia uma mensagem de integração que explica o que ele faz e como os usuários no espaço podem interagir com ele. |
| Mensagem |
Um usuário interage com o app do Chat em uma mensagem de uma das seguintes maneiras:
|
O app do Chat responde com base no conteúdo da mensagem. Por exemplo, um app do Chat responde com uma mensagem, anexa um card de visualização de link ou sugere itens em um menu de seleção múltipla. |
| Removido do espaço |
Um usuário remove o app do Chat de um espaço ou um administrador do Google Workspace desinstala o app do Chat para um usuário na organização. Os usuários não podem remover apps do Chat instalados pelo administrador. Se um usuário já tiver instalado o app Chat, ele vai permanecer instalado, mesmo que um administrador do Google Workspace tente desinstalá-lo. |
O app do Chat remove todas as notificações recebidas configuradas para o espaço (como excluir um webhook) e limpa o armazenamento interno. Os apps do Chat não podem responder com mensagens a esse acionador porque não são mais participantes do espaço. |
| Comando do app |
Um usuário invoca um comando do app do Chat (como um comando de barra, um comando rápido ou uma ação de mensagem). |
O app do Chat responde ao comando. Por exemplo, ele responde com uma mensagem ou abre uma caixa de diálogo. |
| Página inicial do app |
Um usuário abre a guia Início em um espaço de mensagem direta (DM) individual com o app do Chat ou interage com um widget no card da página inicial. |
O app do Chat retorna um
objeto RenderActions que envia um card de página inicial
(pushCard) ou atualiza o card de página inicial exibido
(updateCard).
|
Configure os endpoints ou as funções de callback para esses gatilhos no console do Google Cloud, na página Configuração da API Chat. Para instruções detalhadas, consulte Configurar a API Google Chat.
Configurar comandos iniciais
Os comandos iniciais ajudam os usuários a descobrir as funcionalidades do seu app do Chat quando eles abrem uma mensagem direta individual vazia com o app. É possível configurar até três comandos iniciais.
Para adicionar e configurar comandos iniciais:
No console do Google Cloud, acesse a página Configuração da API Chat:
Em Recursos interativos, localize Comandos iniciais e clique em Adicionar um comando.
No campo Classificação (1 a 3), insira um número de
1a3para especificar a ordem de exibição.Em Seleção de tipo, escolha como o comando se comporta:
- Comando de texto: preenche a barra de escrita com um texto predefinido quando o usuário clica no botão de comando.
- Prompt de comando: executa um comando de barra ou um comando rápido registrado quando clicado. Não é possível selecionar comandos que exigem argumentos adicionais.
Configure o comando com base no tipo selecionado:
Se você selecionou "Comando de texto":
- Em Título, insira o título do comando exibido no ícone (até 30 caracteres).
- Em Texto do comando, insira o texto preenchido na barra de escrita (até 60 caracteres).
- Opcional: adicione títulos e textos localizados para usuários em outros idiomas:
- Em Comandos localizados, clique em Adicionar um idioma.
- Em Idioma, selecione um idioma compatível no menu suspenso.
- Em Título localizado, insira o título localizado (até 30 caracteres).
- Em Texto do comando localizado, insira o texto do comando localizado (até 60 caracteres).
- Repita para adicionar mais idiomas, conforme necessário.
Se você selecionou Prompt de comando:
- Em Comando de barra / Comando rápido, selecione o comando no menu suspenso.
Clique em Concluído e em Salvar na parte de baixo da página.
Processar novas tentativas de chamada HTTP para seu serviço
Se uma solicitação HTTPS para seu serviço falhar (como um tempo limite, uma falha temporária de rede ou um código de status HTTPS diferente de 2xx), o Google Chat poderá tentar entregar algumas vezes em alguns minutos (mas isso não é garantido). Como resultado, um app do Chat pode receber o mesmo evento algumas vezes em determinadas situações. Se a solicitação for concluída, mas retornar um payload de resposta inválido, o Google Chat não vai tentar fazer a solicitação de novo.
Objetos de evento
Os apps do Chat recebem objetos de evento quando um gatilho do Chat é executado ou quando os usuários do Chat interagem com uma interface do app do Chat (como clicar em um botão ou enviar uma caixa de diálogo). O objeto de evento permite usar dados de interação para responder ou atualizar uma interface.
Em 2025, os apps do Google Chat foram expandidos para oferecer suporte a eventos de complementos, e esse é o padrão para novos apps do Chat desde julho de 2025. Em toda a documentação do Chat, os eventos de complementos são o tipo de evento padrão mostrado em guias e exemplos de código. A documentação dos eventos do Chat (para apps do Chat que não são complementos do Google Workspace) é separada em seções recolhidas (por exemplo, Apps do Chat que não são complementos: receber e responder a eventos de interação).
Determinar os tipos de evento e resposta
Quando o app do Chat recebe um objeto de evento, a estrutura do payload e a forma como você responde dependem de o app estar configurado como um complemento do Google Workspace.
Para confirmar o tipo de objeto de evento que seu app recebe e como ele deve responder, verifique a configuração do app usando a tabela a seguir:
| Tipo de app | Recebe eventos de complementos (padrão para novos apps criados após julho de 2025) |
Recebe eventos do Chat (padrão anterior, antes de julho de 2025) |
|---|---|---|
| Apps do Apps Script Verifique o arquivo de manifesto ( appsscript.json) |
O objeto chat é configurado dentro de addOns:
|
O objeto chat é configurado na raiz do manifesto:
|
| Outros apps Verifique a página Configuração da API Google Chat |
A caixa de seleção "Criar este app do Chat como um complemento do Google Workspace" está marcada. | A caixa de seleção "Criar este app do Chat como um complemento do Google Workspace" não está marcada. |
| Onde encontrar a documentação | Em guias e exemplos de código Documentação de referência de eventos: Objetos de evento de complemento |
Seções recolhidas (por exemplo,
Apps do Chat que
não são complementos: receber e responder a eventos de
interação) Documentação de referência de eventos: Eventos de interação da API Chat |
| Como responder | Retornar uma ação, como DataActions ou
RenderActions.Saiba como responder com uma ação |
Retorna um recurso Message.Saiba como responder com uma mensagem |
Payloads de objetos de evento
Cada objeto de evento de complementos inclui um
commonEventObject
com detalhes do host e da plataforma (hostApp: "CHAT", clientPlatform,
userLocale, userTimezone, parameters e formInputs) e um
objeto chat
com contexto específico do Chat:
- Para um gatilho de página inicial do app (quando um usuário abre a guia Início em uma mensagem direta individual com o app do Chat), o objeto
chatcontémchat.userechat.eventTimesem um campo de uniãopayload. Quando um usuário clica em um botão no card da página inicial, o objeto de evento incluichat.buttonClickedPayloadcomcommonEventObject.parameters(ecommonEventObject.formInputsse o card tiver entradas de formulário). - Para interações de espaço e mensagem (Adicionado ao espaço, Mensagem, Removido do espaço, Comando do app ou interações de botão e widget), o objeto
chatincluichat.user,chat.space,chat.eventTimee o payload de interação correspondente:messagePayload: contémspace,messageeconfigCompleteRedirectUriquando um usuário envia uma mensagem.addedToSpacePayload: contémspace,interactionAddeconfigCompleteRedirectUriquando o app do Chat é adicionado a um espaço.removedFromSpacePayload: contém ospacequando o app do Chat é removido de um espaço.buttonClickedPayload: contémspace,message,isDialogEventedialogEventTypequando um usuário clica em um botão em um card ou caixa de diálogo.widgetUpdatedPayload: contém ospacequando um usuário interage com um widget, como digitar em um menu de seleção múltipla com uma fonte de dados externa.appCommandPayload: contémspace,message,appCommandMetadata,isDialogEvent,dialogEventTypeeconfigCompleteRedirectUriquando um usuário invoca um comando de app.
Para saber mais sobre objetos de evento de complemento no Chat e em outros aplicativos do Google Workspace, consulte Objetos de evento.
Enviar uma resposta
Nesta seção, explicamos como os apps do Chat usam ações para responder de forma síncrona às interações do usuário.
Para responder com uma ação, um app do Chat precisa responder em até 30 segundos, e a resposta precisa ser aplicada ao espaço em que a interação ocorreu. Essas respostas síncronas não exigem autenticação. Se o app do Chat precisar de mais de 30 segundos ou precisar agir fora do espaço, configure a autenticação e responda de forma assíncrona usando a API Google Chat.
Para responder às interações do usuário de forma síncrona, o app do Chat processa o objeto de evento recebido e retorna um dos seguintes objetos JSON:
DataActions: cria ou atualiza mensagens de chat (CreateMessageAction,UpdateMessageAction) ou anexa prévias de link (UpdateInlinePreviewAction) usandochatDataActionMarkup.RenderActions: cria, atualiza ou fecha uma página inicial ou caixa de diálogo (pushCard,updateCard,endNavigation: "CLOSE_DIALOG") ou fornece sugestões de entrada dinâmica para um menu de seleção múltipla (modifyCard).AuthorizationError: solicita que os usuários façam login ou se autentiquem em um serviço externo com um card de autorização básico (basic_authorization_prompt).
A tabela a seguir mostra como os apps do Chat podem responder com
ações. Os apps do Chat podem retornar objetos JSON diretamente ou criar a
resposta usando os serviços
AddOnResponseService
e CardService do Apps Script.
| Resposta do app do Chat | Ação necessária para retornar (JSON) | Ação necessária para retornar (Apps Script) |
|---|---|---|
| Envie uma mensagem ou atualize uma mensagem. | DataActions (createMessageAction ou updateMessageAction) |
DataActionsResponse |
| Visualizar links em mensagens que os usuários do Chat enviam em um espaço. | DataActions (updateInlinePreviewAction) |
DataActionsResponse |
| Renderizar ou atualizar uma página inicial na guia Início de uma mensagem direta. | RenderActions (pushCard ou updateCard) |
ActionResponse |
| Abrir, atualizar ou fechar uma caixa de diálogo. | RenderActions (pushCard, updateCard ou endNavigation: "CLOSE_DIALOG"); |
ActionResponse |
| Para coletar informações de um card ou caixa de diálogo, sugira itens de seleção com base no que os usuários digitam em um menu de seleção múltipla. | RenderActions (modifyCard) |
ActionResponse |
| Solicitar configuração ou autorização para um serviço externo. | AuthorizationError (basic_authorization_prompt) |
AuthorizationException |
Enviar uma mensagem
Os apps do Chat podem responder com uma mensagem a qualquer um dos seguintes gatilhos ou interações:
- Gatilhos de mensagem, como quando os usuários mencionam com @ou enviam uma mensagem direta para um app do Chat.
- Gatilhos Adicionado ao espaço, como quando os usuários instalam o app do Chat no Google Workspace Marketplace ou o adicionam a um espaço.
- Acionadores de comando do app, como quando os usuários invocam um comando de barra ou um comando rápido.
- Cliques em botões de cards em mensagens ou caixas de diálogo. Por exemplo, quando os usuários inserem informações e clicam em "Enviar".
Os apps do Chat podem incluir qualquer um dos seguintes itens em uma mensagem:
- Texto que contém hiperlinks, @menções e emojis. Consulte Formatar mensagens.
- Um ou mais cards, que podem aparecer em uma mensagem ou ser abertos em uma nova janela como uma caixa de diálogo. Consulte Criar cards para apps do Google Chat.
- Um ou mais widgets de acessório, que são botões que aparecem depois de qualquer texto ou card em uma mensagem.
Para responder com uma mensagem, retorne DataActions com um objeto CreateMessageAction:
{
"hostAppDataAction": {
"chatDataAction": {
"createMessageAction": {
"message": <var>MESSAGE</var>
}
}
}
}
Substitua MESSAGE por um recurso
Message
da API Chat.
No exemplo a seguir, um app do Chat cria e envia
uma mensagem de texto de integração sempre que é adicionado a um espaço, respondendo ao
gatilho Adicionado ao espaço com DataActions:
Node.js
/**
* Sends an onboarding message when the Chat app is added to a space.
*
* @param {Object} req The request object from Google Chat.
* @param {Object} res The response object from the Chat app.
*/
exports.cymbalApp = function cymbalApp(req, res) {
const chatEvent = req.body.chat;
// Send an onboarding message when added to a Chat space
if (chatEvent.addedToSpacePayload) {
res.json({ hostAppDataAction: { chatDataAction: { createMessageAction: { message: {
text: 'Hi, Cymbal at your service. I help you manage your calendar ' +
'from Google Chat. Take a look at your schedule today by typing ' +
'`/checkCalendar`, or schedule a meeting with `/scheduleMeeting`. ' +
'To learn what else I can do, type `/help`.'
}}}}});
}
};
Python
from flask import Flask, request, json
app = Flask(__name__)
@app.route('/', methods=['POST'])
def cymbal_app():
"""Sends an onboarding message when the Chat app is added to a space.
Returns:
Mapping[str, Any]: The response object from the Chat app.
"""
chat_event = request.get_json()["chat"]
if "addedToSpacePayload" in chat_event:
return json.jsonify({ "hostAppDataAction": { "chatDataAction": {
"createMessageAction": { "message": {
"text": 'Hi, Cymbal at your service. I help you manage your calendar ' +
'from Google Chat. Take a look at your schedule today by typing ' +
'`/checkCalendar`, or schedule a meeting with `/scheduleMeeting`. ' +
'To learn what else I can do, type `/help`.'
}}
}}})
Java
@SpringBootApplication
@RestController
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class, args);
}
/*
* Sends an onboarding message when the Chat app is added to a space.
*
* @return The response object from the Chat app.
*/
@PostMapping("/")
@ResponseBody
public GenericJson onEvent(@RequestBody JsonNode event) throws Exception {
JsonNode chatEvent = event.at("/chat");
if (!chatEvent.at("/addedToSpacePayload").isEmpty()) {
return new GenericJson() { {
put("hostAppDataAction", new GenericJson() { {
put("chatDataAction", new GenericJson() { {
put("createMessageAction", new GenericJson() { {
put("message", new Message().setText(
"Hi, Cymbal at your service. I help you manage your calendar " +
"from Google Chat. Take a look at your schedule today by typing " +
"`/checkCalendar`, or schedule a meeting with `/scheduleMeeting`. " +
"To learn what else I can do, type `/help`."
));
} });
} });
} });
} };
}
return new GenericJson();
}
}
Apps Script
/**
* Sends an onboarding message when the Chat app is added to a space.
*
* @param {Object} event The event object from Google Chat.
* @return {Object} Response from the Chat app.
*/
function onAddedToSpace(event) {
return { hostAppDataAction: { chatDataAction: { createMessageAction: { message: {
text: 'Hi, Cymbal at your service. I help you manage your calendar ' +
'from Google Chat. Take a look at your schedule today by typing ' +
'`/checkCalendar`, or schedule a meeting with `/scheduleMeeting`. ' +
'To learn what else I can do, type `/help`.'
}}}}};
}
O exemplo de código retorna a seguinte mensagem de texto:
Atualizar uma mensagem
Os apps do Chat também podem atualizar as mensagens que enviam. Por exemplo, um app do Chat pode atualizar uma mensagem depois que um usuário envia uma caixa de diálogo ou clica em um botão em um card de uma mensagem.
Para atualizar uma mensagem do app do Chat em resposta a uma
interação, retorne DataActions com um
UpdateMessageAction:
{
"hostAppDataAction": {
"chatDataAction": {
"updateMessageAction": {
"message": <var>MESSAGE</var>
}
}
}
}
Substitua MESSAGE por um recurso
Message
da API Chat.
Os apps do Chat também podem atualizar uma mensagem enviada por um usuário para anexar um
card de prévia de link usando updateInlinePreviewAction. Para mais detalhes, consulte
Links de prévia.
Responder de forma assíncrona usando a API Google Chat
Em vez de retornar uma ação de forma síncrona, os apps do Chat podem precisar chamar a API Google Chat para responder a uma interação ou enviar mensagens proativas. Por exemplo, os apps do Chat precisam chamar a API Google Chat para fazer o seguinte:
- Responder a uma interação após 30 segundos (por exemplo, depois de concluir uma tarefa de longa duração).
- Envie mensagens de acordo com uma programação ou envie notificações sobre mudanças em recursos externos.
- Realizar tarefas fora do espaço em que a interação ocorreu.
- Realizar tarefas no Chat que não estão disponíveis como ações síncronas, como listar espaços ou adicionar participantes a um espaço.
- Realizar tarefas em nome de um usuário do Chat (o que requer autenticação do usuário).
Ao responder a uma interação após 30 segundos, para evitar uma mensagem de erro voltada ao usuário informando que o app do Chat não está respondendo, você precisa confirmar o recebimento do objeto de evento em até 30 segundos retornando uma resposta vazia:
Node.js
async function onEvent(req, res) {
// Trigger asynchronous job that will respond using the Google Chat API.
...
// Respond with an empty response to the Google Chat platform.
return res.send({});
};
Python
def on_event(event) -> dict:
# Trigger asynchronous job that will respond using the Google Chat API.
...
// Respond with an empty response to the Google Chat platform.
return {}
Java
public String onEvent(JsonNode event) {
// Trigger asynchronous job that will respond using the Google Chat API.
...
// Respond with an empty response to the Google Chat platform.
return "{}";
}
Apps Script
function onEvent(event) {
// Trigger asynchronous job that will respond using the Google Chat API.
...
// Respond with an empty response to the Google Chat platform.
return null;
}
Para enviar uma mensagem usando a API Chat, configure a autenticação e chame
o método spaces.messages.create. Para ver as etapas, consulte
Enviar uma mensagem. Para guias sobre como usar
outros métodos da API Chat, consulte a
visão geral da API Chat.
Temas relacionados
- Configurar a API Google Chat
- Enviar uma mensagem
- Responder a comandos
- Abrir caixas de diálogo interativas
- Ler dados de formulários inseridos pelos usuários em cards
- Links de visualização
- Criar uma página inicial para um app do Chat
- Verificar solicitações do Chat
- Testar recursos interativos para apps do Google Chat
Apps do Chat que não são complementos: recebem e respondem às interações do usuário
Os apps do Chat que não são complementos do Google Workspace recebem
eventos de interação da API Chat (Event)
em vez de
objetos de evento de complemento do Google Workspace (EventObject)
e respondem retornando um recurso
Message
em vez de uma ação.
Para fazer upgrade de um app do Chat que não é um complemento para o framework de complementos do Google Workspace, consulte Converter um app do Google Chat em um complemento do Google Workspace.
Tipos de eventos de interação
Para cada tipo de interação do usuário, o Google Chat envia a um
app do Chat que não é um complemento
um objeto Event com o tipo representado pelo
campo eventType:
| Interação do usuário | eventType |
Resposta típica de um app do Chat que não é um complemento |
|---|---|---|
| Um usuário envia uma mensagem para um app do Chat. Por exemplo, menciona o app do Chat com @ ou usa um comando de barra. | MESSAGE |
O app do Chat responde com base no conteúdo da
mensagem. Por exemplo, um app do Chat responde ao
comando de barra /about com uma mensagem que explica as tarefas
que ele pode realizar. |
| Um usuário adiciona um app do Chat a um espaço. | ADDED_TO_SPACE |
O app do Chat envia uma mensagem de integração explicando o que ele faz e como os usuários no espaço podem interagir com ele. |
| Um usuário remove um app do Chat de um espaço. | REMOVED_FROM_SPACE |
O app do Chat remove todas as notificações recebidas configuradas para o espaço (como excluir um webhook) e limpa todo o armazenamento interno. |
| Um usuário clica em um botão em um card de uma mensagem, caixa de diálogo ou página inicial do app do Chat. | CARD_CLICKED |
O app do Chat processa e armazena os dados enviados pelo usuário ou retorna outro card. |
| Um usuário abre a página inicial do app do Chat clicando na guia Página inicial em uma mensagem individual. | APP_HOME |
O app do Chat retorna um card estático ou interativo da página inicial. |
| Um usuário envia um formulário na página inicial do app Chat. | SUBMIT_FORM |
O app do Chat processa e armazena os dados enviados pelo usuário ou retorna outro card. |
| Um usuário invoca um comando usando um comando rápido. | APP_COMMAND |
O app do Chat responde com base no comando que foi invocado. Por exemplo, um app do Chat responde ao comando Sobre com uma mensagem que explica as tarefas que ele pode realizar. |
Para conferir todos os eventos de interação compatíveis e exemplos de payloads JSON, consulte
Tipos de eventos de interação do app do Chat
e a
documentação de referência de EventType.
Eventos de interação de caixas de diálogo
Se o app do Chat que não é um complemento abrir caixas de diálogo, o evento de interação vai conter as seguintes informações adicionais que podem ser usadas para processar uma resposta:
- O campo
isDialogEventestá definido comotrue. - O
DialogEventType(REQUEST_DIALOG,SUBMIT_DIALOGouCANCEL_DIALOG) esclarece se a interação aciona a abertura de uma caixa de diálogo, envia informações de uma caixa de diálogo ou fecha uma caixa de diálogo.
Configurar um app do Chat que não seja um complemento para receber eventos de interação
No console do Google Cloud, acesse a página de configuração da API Chat:
Em Recursos interativos, desmarque Criar este app do Chat como um complemento do Google Workspace e configure Funcionalidade, um único endpoint de Configurações de conexão (URL do endpoint HTTP, Apps Script, nome do tópico do Cloud Pub/Sub ou Dialogflow), Comandos, Comandos iniciais, Prévias de links e Visibilidade.
Clique em Salvar.
Responder com uma mensagem em um app do Chat que não é um complemento
Para responder de forma síncrona em um app do Chat que não é um
complemento, retorne um
objeto Message
diretamente. O exemplo a seguir responde a um evento de interação ADDED_TO_SPACE
com uma mensagem de texto:
Node.js
/**
* Sends an onboarding message when the Chat app is added to a space.
*
* @param {Object} req The event object from Chat API.
* @param {Object} res The response object from the Chat app.
*/
exports.cymbalApp = function cymbalApp(req, res) {
// Send an onboarding message when added to a Chat space
if (req.body.type === 'ADDED_TO_SPACE') {
res.json({
'text': 'Hi, Cymbal at your service. I help you manage your calendar ' +
'from Google Chat. Take a look at your schedule today by typing ' +
'`/checkCalendar`, or schedule a meeting with `/scheduleMeeting`. To ' +
'learn what else I can do, type `/help`.'
});
}
};
Python
from flask import Flask, request, json
app = Flask(__name__)
@app.route('/', methods=['POST'])
def cymbal_app():
"""Sends an onboarding message when the Chat app is added to a space.
Returns:
Mapping[str, Any]: The response object from the Chat app.
"""
event = request.get_json()
if event['type'] == 'ADDED_TO_SPACE':
return json.jsonify({
'text': 'Hi, Cymbal at your service. I help you manage your calendar ' +
'from Google Chat. Take a look at your schedule today by typing ' +
'`/checkCalendar`, or schedule a meeting with `/scheduleMeeting`. To ' +
'learn what else I can do, type `/help`.'
})
return json.jsonify({})
Java
@SpringBootApplication
@RestController
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class, args);
}
/*
* Sends an onboarding message when the Chat app is added to a space.
*
* @return The response object from the Chat app.
*/
@PostMapping("/")
@ResponseBody
public Message onEvent(@RequestBody JsonNode event) {
switch (event.get("type").asText()) {
case "ADDED_TO_SPACE":
return new Message().setText(
"Hi, Cymbal at your service. I help you manage your calendar " +
"from Google Chat. Take a look at your schedule today by typing " +
"`/checkCalendar`, or schedule a meeting with `/scheduleMeeting`. " +
"To learn what else I can do, type `/help`.");
default:
return new Message();
}
}
}
Apps Script
/**
* Sends an onboarding message when the Chat app is added to a space.
*
* @param {Object} event The event object from Chat API.
* @return {Object} Response from the Chat app.
*/
function onAddToSpace(event) {
return {
'text': 'Hi, Cymbal at your service. I help you manage your calendar ' +
'from Google Chat. Take a look at your schedule today by typing ' +
'`/checkCalendar`, or schedule a meeting with `/scheduleMeeting`. To learn ' +
'what else I can do, type `/help`.'
};
}