# Google Chat Integration for Botpress This integration allows you to connect your Botpress chatbot with Google Chat spaces, enabling seamless communication between your bot and Google Chat users. ## Features - Send and receive messages in Google Chat spaces - Automatic message handling and responses - Support for multiple Google Chat spaces - Secure authentication using Google Service Account ## Prerequisites 1. A Google Cloud Platform (GCP) account 2. A Google Chat space where you want to deploy your bot 3. Botpress instance with the Google Chat integration installed ## Setup Instructions ### 1. Enable Google Chat API 1. Go to the [Google Cloud Console](https://console.cloud.google.com) 2. Navigate to "APIs & Services" > "Library" 3. Search for "Google Chat API" 4. Click on the Google Chat API 5. Click "Enable" to activate the API for your project ### 2. Create a Google Service Account 1. Go to the [Google Cloud Console](https://console.cloud.google.com) 2. Create a new project or select an existing one 3. Navigate to "IAM & Admin" > "Service Accounts" 4. Click "Create Service Account" 5. Fill in the service account details and click "Create" 6. Create a new key for the service account: - Click on the service account - Go to the "Keys" tab - Click "Add Key" > "Create new key" - Choose JSON format - Download the key file ### 3. Configure Google Chat App Settings 1. Go to the [Google Cloud Console](https://console.cloud.google.com) 2. Navigate to "APIs & Services" > "Google Chat API" 3. Click on "Configuration" 4. Set up your app with the following settings: - **App Name**: Choose a name for your bot - **Description**: Add a description of your bot's functionality - **Avatar URL**: Add a URL for your bot's avatar image - **Features**: - Enable interactive features - Enable receiving 1-1 messages - Enable joining spaces and group conversations - **HTTP Endpoint URL**: Set this to your Botpress webhook URL found in the Google Chat Integration Configuration. ### 4. Configure the Integration in Botpress 1. In your Botpress instance, go to the Integrations section 2. Find and select the Google Chat integration 3. Configure the following settings: - **Service Account JSON**: Paste the entire contents of your downloaded service account key file - **Default Space**: Enter the ID of your default Google Chat space (optional) ### 5. Add the Bot to Your Google Chat Space 1. Open your Google Chat space 2. Click on the space name to open space details 3. Go to "Apps & integrations" 4. Click "Add apps" 5. Search for your bot using the service account email 6. Add the bot to your space ## Usage ### Sending Messages The bot can send messages to any Google Chat space it has been added to. Messages can be sent: - In response to user messages - Proactively through the Botpress flow editor - Via API calls from your custom code ### Receiving Messages The bot automatically receives and processes messages sent in the Google Chat space. It will: - Parse incoming messages - Process them through your Botpress flows - Send appropriate responses back to the space ### Message Format The integration supports text messages in Google Chat spaces. Messages can include: - Plain text - Basic formatting - Links - Mentions ## Security Considerations - Keep your service account key secure and never share it publicly - Regularly rotate your service account keys - Use the principle of least privilege when assigning roles to your service account - Monitor your bot's activity and set up appropriate logging ## Troubleshooting ### Common Issues 1. **Bot not responding** - Verify the service account has the correct permissions - Check if the bot is properly added to the space - Ensure the integration is properly configured in Botpress 2. **Authentication errors** - Verify the service account JSON is correctly formatted - Check if the service account key is valid and not expired - Ensure the service account has the necessary API scopes enabled 3. **Message delivery issues** - Verify the space ID is correct - Check if the bot has permission to post in the space - Ensure the message format is valid ## API Reference For more details about the Google Chat API, refer to the [official documentation](https://developers.google.com/chat/api/reference/rest).