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

  1. Navigate to the Google App Script editor.
  2. Click New Project and name it (e.g., AnythingLLM Calendar Bridge).
  3. Replace all contents of Code.gs with the downloaded script.
  4. Modify the API_KEY variable near the top of the script:
    const API_KEY = "YOUR_SECURE_RANDOM_STRING";
  5. Click Deploy > New deployment.
  6. Click the gear icon (Select Type) and select Web App.
  7. Configure deployment settings:
    • Execute as: Me
    • Who has access to the app: Anyone
  8. Click Deploy.
  9. 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_KEY string configured in step 2.4.

Maintenance & Deletion

Updating the Script

  1. Open the project in the Google App Script editor.
  2. Paste the updated script code into Code.gs (maintain your custom API_KEY).
  3. Click Deploy > Manage deployments.
  4. Click the Pencil (Edit) icon.
  5. 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

  1. Open the project in the Google App Script editor.
  2. Click Deploy > Manage deployments.
  3. Select the deployment and click Archive.
  4. 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
  • Get Calendar: Get metadata by calendar ID.
    • Example: @agent show me details about my work calendar

View Events (Read-Only)

  • Get Event: View specific event details by ID.
    • Example: @agent show me the details of event abc123
  • Get Events for Day: Retrieve scheduled events for a specific date.
    • Example: @agent what's on my calendar for tomorrow?
  • Get Events: Query events within a date range with optional text filters.
    • Example: @agent find all meetings next week
  • Get Upcoming Events: Retrieve upcoming events starting from the current time.
    • Example: @agent what are my upcoming events?

Create Events

  • Quick Add ✏️: Generate event from natural language processing.
    • Example: @agent add a meeting with John tomorrow at 3pm
  • 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

Update Events

  • Update Event ✏️: Modify specific fields (title, description, location, time, guests) of an existing event ID.
    • Example: @agent move event xyz789 to 3pm

RSVP

  • Set My Status ✏️: Set attendance to YES, NO, MAYBE, or INVITED.
    • Example: @agent accept the meeting invitation for event abc123