The Google Chat API allows you to build custom bots for Google Chat, enabling automated interactions with users within a chat space. By leveraging this API on Pipedream, you can create powerful workflows that respond to messages, automate tasks, and connect Google Chat with other services. Pipedream's serverless platform provides a seamless way to invoke these APIs based on triggers from Google Chat or other apps.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
google_chat: {
type: "app",
app: "google_chat",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://www.googleapis.com/oauth2/v1/userinfo`,
headers: {
Authorization: `Bearer ${this.google_chat.$auth.oauth_access_token}`,
},
})
},
})
Automated Helpdesk Bot: Deploy a bot that listens for specific keywords in Google Chat messages. When a user mentions a support-related keyword, the bot can reply with helpful information or create a ticket in a service like Zendesk.
Meeting Scheduler: Set up a workflow that triggers when someone requests a meeting in a Google Chat room. The bot can interact with Google Calendar to find available slots and propose meeting times directly within the chat.
CI/CD Notifications: Integrate with GitHub to send updates on code commits, pull requests, or build statuses from your CI/CD pipeline into a Google Chat room, keeping your development team informed in real-time.
Google Chat uses OAuth authentication. When you connect your Google Chat account, Pipedream will open a popup window where you can sign into Google Chat and grant Pipedream permission to connect to your account. Pipedream securely stores and automatically refreshes the OAuth tokens so you can easily authenticate any Google Chat API.
Pipedream requests the following authorization scopes when you connect your account:
email
profile
https://www.googleapis.com/auth/chat.memberships
https://www.googleapis.com/auth/chat.memberships.app
https://www.googleapis.com/auth/chat.messages
https://www.googleapis.com/auth/chat.messages.reactions
https://www.googleapis.com/auth/chat.spaces
GET
https://accounts.google.com/o/oauth2/auth
?
client_id={{oauth.client_id}}
&
redirect_uri={{oauth.redirect_uri}}
&
state={{oauth.state}}
&
response_type=code
&
scope={{oauth.space_separated_scopes}}
&
access_type=offline
&
prompt=consent
POST
https://oauth2.googleapis.com/token
content-type: application/x-www-form-urlencoded
accept: application/json
client_id={{oauth.client_id}}
&
client_secret={{oauth.client_secret}}
&
redirect_uri={{oauth.redirect_uri}}
&
grant_type=authorization_code
&
code={{oauth.code}}
POST
https://oauth2.googleapis.com/token
content-type: application/x-www-form-urlencoded
accept: application/json
client_id={{oauth.client_id}}
&
client_secret={{oauth.client_secret}}
&
grant_type=refresh_token
&
refresh_token={{oauth.refresh_token}}