Connect your Google Calendar account to Goodweek to read, create, and manage calendar events and schedules directly from your AI workspace.
ℹ️ Governance note
Goodweek will never exceed the access levels granted to the user within Google Calendar, guaranteeing alignment with your organization's governance policies. Outcomes and available features may vary depending on each user's specific permissions and authenticated access.
📋 Prerequisites
Before any user can see and connect the Google Calendar integration, your organization admin must first enable it from the Goodweek Admin Panel under the Integrations tab.
Admin Setup
Personal Google accounts (@gmail.com)
No admin setup required. Connect directly following the User Connection steps below.
Google Workspace accounts (work or school)
Depending on your organization's API access policy, one of the following scenarios may apply.
Scenario 1 — Default (unrestricted third-party access)
Any user can connect directly without admin intervention.
Scenario 2 — Third-party access is restricted (admin_policy_enforced error)
A Google Workspace Super Admin must mark Composio as a trusted app:
Log in to admin.google.com as a Super Admin.
Go to Security → Access and data control → API controls → Manage Third-Party App Access.
Click Configure new app, search for Composio, select it, set access to Trusted, and click Save.
Scenario 3 — All third-party API access is blocked
Go to admin.google.com → Security → Access and data control → API controls and review the "Third-party app access to Google APIs" setting. If blocked, the admin must create an exception for Composio before following Scenario 2.
User Connection
In Goodweek, go to Integrations.
Find Google Calendar and click Connect.
You will be redirected to Google, where you will be asked to sign in.
Review the requested permissions and click Allow to return to Goodweek.
Important Notes
Each user must connect their own account individually.
Goodweek can only access the calendars that your individual user account has access to. Shared calendars are accessible only if you have been granted the appropriate sharing permissions.
If you have multiple Google accounts, make sure you select the correct one during the connection step.
You can revoke Goodweek's access at any time from myaccount.google.com → Security → Third-party apps with account access.
Available Tools
Tool | Description | Type |
Create Event | Creates a new event in a Google Calendar with start time, duration, attendees, and other details. | Write |
Update Event | Updates the fields of an existing calendar event by its ID. | Write |
Patch Event | Partially updates specific fields of an existing calendar event without overwriting the rest. | Write |
Quick Add Event | Creates a basic calendar event by parsing a natural language text string (e.g. "Lunch with Alice tomorrow at 1pm"). | Write |
Get Event | Retrieves a single calendar event by its unique ID. | Read |
Find Event | Searches for events in a calendar using text query, time ranges, and event types. | Read |
List Events | Returns events from a specified calendar within a given time window. | Read |
List Events from All Calendars | Returns a unified event list across all calendars in the user's calendar list for a given time range. | Read |
Get Event Instances | Returns all instances of a recurring event within an optional time range. | Read |
Find Free Slots | Finds free and busy time slots across specified calendars within a defined time range. | Read |
Get Current Date and Time | Returns the current date and time for a given timezone, useful before computing relative dates. | Read |
Create a New Calendar | Creates a new secondary Google Calendar with a specified title and optional settings. | Write |
List Google Calendars | Retrieves all calendars from the user's Google Calendar list. | Read |
Patch Calendar | Partially updates an existing calendar's metadata (name, description, timezone, etc.). | Write |
Move Event | Moves an event to a different calendar. | Read |
List Calendar Resources | Retrieves calendar resources such as conference rooms from a Google Workspace domain. | Read |
Create ACL Rule | Creates an access control rule to grant calendar sharing permissions to a user, group, or domain. | Write |
List ACL Rules | Retrieves all access control rules for a specified calendar. | Read |
Delete Event | Permanently deletes a specified calendar event by its ID. | ⚠️ Destructive |
Remove Attendee from Event | Removes a specific attendee from an existing calendar event. | ⚠️ Destructive |
Delete Calendar | Permanently deletes a secondary calendar owned by the user. | ⚠️ Destructive |
Clear Calendar | Deletes all events from a primary calendar while preserving the calendar itself. | ⚠️ Destructive |
Delete ACL Rule | Removes a sharing permission from a Google Calendar. | ⚠️ Destructive |
Use Cases
Create and manage events from conversations. Schedule meetings, set reminders, or add events to your Google Calendar directly from a Goodweek conversation — including attendees, location, and description — without switching to the calendar app.
Check availability before scheduling. Query free and busy slots across one or more calendars to find a suitable meeting time before proposing it to participants.
Review your agenda on demand. Retrieve events from today, this week, or any custom time range across all your calendars to get a quick overview of your schedule without leaving your workspace.
Update or cancel events quickly. Modify event details or remove attendees from existing meetings directly from Goodweek when plans change, without navigating the calendar UI.
Troubleshooting
"Error 400: admin_policy_enforced" when connecting
Your organization's admin has restricted third-party app access. Only a Google Workspace Super Admin can resolve this by following Scenario 2 above.
Admin marked Composio as Trusted but the error still appears
There may be a propagation delay. Wait a few minutes and try again.
Integration not visible in Goodweek
Make sure your organization admin has enabled the Google Calendar integration from the Goodweek Admin Panel under the Integrations tab.
