Requirements
- AnythingLLM v1.12.1 or later
- Google Account (Google App Script access)
Deployment & Setup
1. Retrieve the Apps Script
Download the script from the official repository:
https://github.com/Mintplex-Labs/anythingllm-gapps/blob/main/calendar/index.gs
2. Configure Google Apps Script
- Navigate to the Google App Script editor.
- Click New Project and name it (e.g.,
AnythingLLM Calendar Bridge). - Replace all contents of
Code.gswith the downloaded script. - Modify the
API_KEYvariable near the top of the script:const API_KEY = "YOUR_SECURE_RANDOM_STRING"; - Click Deploy > New deployment.
- Click the gear icon (Select Type) and select Web App.
- Configure deployment settings:
- Execute as:
Me - Who has access to the app:
Anyone
- Execute as:
- Click Deploy.
- Click Review Permissions, authorize the script with your Google Account, and copy the generated
Deployment Id.
3. Configure AnythingLLM
In the AnythingLLM Google Calendar Agent configuration page, input:
- Deployment ID: The copied
Deployment Id - API Key: The
API_KEYstring configured in step 2.4.
Maintenance & Deletion
Updating the Script
- Open the project in the Google App Script editor.
- Paste the updated script code into
Code.gs(maintain your customAPI_KEY). - Click Deploy > Manage deployments.
- Click the Pencil (Edit) icon.
- In the version dropdown, select New Version, enter a description, and click Deploy. Note: No changes are required in the AnythingLLM configuration page after updating.
Deleting the Connection
- Open the project in the Google App Script editor.
- Click Deploy > Manage deployments.
- Select the deployment and click Archive.
- Navigate to Project Settings and click Delete.
Agent Capabilities & Command Reference
Note: Commands marked with ✏️ require user approval in AnythingLLM before execution.
Calendars
- List Calendars: Get names, IDs, time zones, and ownership.
- Example:
@agent list all my calendars
- Example:
- Get Calendar: Get metadata by calendar ID.
- Example:
@agent show me details about my work calendar
- Example:
View Events (Read-Only)
- Get Event: View specific event details by ID.
- Example:
@agent show me the details of event abc123
- Example:
- Get Events for Day: Retrieve scheduled events for a specific date.
- Example:
@agent what's on my calendar for tomorrow?
- Example:
- Get Events: Query events within a date range with optional text filters.
- Example:
@agent find all meetings next week
- Example:
- Get Upcoming Events: Retrieve upcoming events starting from the current time.
- Example:
@agent what are my upcoming events?
- Example:
Create Events
- Quick Add ✏️: Generate event from natural language processing.
- Example:
@agent add a meeting with John tomorrow at 3pm
- Example:
- Create Event ✏️: Specify title, start/end times (or all-day/multi-day), recurrences, guests, location, and description.
- Example:
@agent create a weekly team meeting every Monday at 10am
- Example:
Update Events
- Update Event ✏️: Modify specific fields (title, description, location, time, guests) of an existing event ID.
- Example:
@agent move event xyz789 to 3pm
- Example:
RSVP
- Set My Status ✏️: Set attendance to
YES,NO,MAYBE, orINVITED.- Example:
@agent accept the meeting invitation for event abc123
- Example: