Google Calendar

Add a bot to Google Calendar using the official integration.

The official Google Calendar integration allows your bot to access your Google Calendar data and manage events.

Setup

    In Botpress Studio, select Explore Hub in the upper-right corner.

    Search for the Google Calendar integration, then select Install Integration.

    In the Configuration menu, select Authorize Google Calendar.

    Follow the instructions to connect Botpress to your Google account.

    For more advanced use cases, you can manually configure the integration.

    Step 1: Create a Google Cloud project

    Go to the Google Cloud Console and sign in with your Google account.

    Go to Select a project, then select New Project.

    Enter your project details:

    • Project name: Choose a descriptive name for your project.
    • Organization: Select your organization (if applicable).
    • Location: Choose the appropriate location.

    Select Create and wait for the project to be created.

    Verify you’re in the correct project by checking the project name next to the Google logo.

    Step 2: Enable the Google Calendar API

    In the Google Cloud Console, open the left sidebar and go to API & Services > Credentials.

    Select + Create Credentials > API Key to create an API key. Copy and store it somewhere.

    Go to Library, search for “Google Calendar API”, and select Enable.

    Step 3: Create a service account

    Open the left sidebar again and go to API & Services > Credentials.

    Select + Create Credentials > Service Account.

    Enter a Service account name. The Service Account ID will be automatically generated.

    The remaining fields are optional. Select Done to create the service account.

    Select your newly created service account, then go to the Keys tab.

    Select Add Key > Create new key, choose JSON as the key type, then select Create.

    A JSON file will be downloaded to your machine. Keep this file secure—you’ll need it to configure the integration.

    Step 4: Enable domain-wide delegation (Google Workspace only)

    Follow Google’s official guide to delegate domain-wide authority to your service account.

    When configuring the OAuth scopes in the Google Admin Console, paste in the following scopes (comma-separated):

    https://www.googleapis.com/auth/calendar,https://www.googleapis.com/auth/calendar.events

    Open the left sidebar again and go to API & Services > OAuth consent screen.

    Select Get started.

    Configure the OAuth consent screen. Under App Information:

    • App name: Enter a name for your application.
    • User support email: Select your email address.

    Then, select Next.

    Under Audience, select Internal. Then, select Next.

    Under Contact Information, enter a contact email address. Then, select Next.

    Agree to the Google API policy, then select Create.

    Step 6: Create OAuth client

    Select Create OAuth client.

    Select an Application type and enter a name. Then select Create.

    Step 7: Configure scopes

    Go to Data Access in the left sidebar, then select Add or remove scopes.

    Add the following scopes:

    • https://www.googleapis.com/auth/calendar
    • https://www.googleapis.com/auth/calendar.events

    Select Update.

    Step 8: Grant calendar access to the service account

    Open Google Calendar and select the settings icon in the upper-right corner. Then, select Settings.

    In the left sidebar, select the calendar you want to share with your bot.

    Go to Shared with > + Add people and groups.

    Enter the client_email from your downloaded JSON file (for example, your-service-account@your-project.iam.gserviceaccount.com).

    Set the permission to Make changes to events so the bot can manage calendar events.

    Step 9: Configure the integration in Botpress

    In Botpress Studio, select Explore Hub in the upper-right corner.

    Search for the Google Calendar integration, then select Install Integration.

    In the Configuration menu, select the drop-down and choose Configure manually.

    Fill in the integration’s configuration fields:

    Calendar ID

    1. In Google Calendar, go to Settings and select your calendar.
    2. Scroll to Integrate calendar to find your Calendar ID.
    3. Copy the Calendar ID and paste it into the Calendar ID field in Botpress.

    Client Email

    Open the JSON file you downloaded in Step 3 and copy the client_email value.

    Private Key

    Open the JSON file you downloaded in Step 3 and copy the entire private_key value, including the -----BEGIN PRIVATE KEY----- and -----END PRIVATE KEY----- markers.

    Impersonate Email (Google Workspace only)

    Enter the email address of a user in your Google Workspace that the service account will impersonate.

    This field is required for:

    • Creating Google Meet links
    • Sending attendee invitations

    The email must belong to an actual user in your Google Workspace domain. Without this field configured, Meet creation and attendee invitations will not work.

    When you’ve filled in all the fields, select Save Configuration.


    Limitations

    Different Google account types have different capabilities when using this integration.

    FeatureGoogle WorkspacePersonal (@gmail.com)
    Create, read, update, delete eventsYesYes
    Create Google Meet linksYesNo
    Invite attendeesYes (requires domain-wide delegation)No

    Cards

    Check Availability

    Checks calendar availability and returns free time slots for the specified date range.

    inputobject
    outputobject

    Create Event

    Creates a new event in the calendar.

    inputobject
    outputobject

    Delete Event

    Deletes an event from the calendar.

    inputobject

    List Events

    Retrieves events from the calendar.

    inputobject
    outputobject

    Update Event

    Updates an existing event in the calendar. Omitted properties are left unchanged.

    inputobject
    outputobject

    Triggers