Logo
Search
API Docs

Google Calendar Tool

Tools

Google Calendar Tool Integration

Overview

The native Google Calendar tool lets your assistant check availability and create calendar events directly during a call, without you building or hosting a custom backend.

Prerequisites:

  • A Google Calendar account
  • Access to the Sulus Dashboard
  • An assistant already created

Step 1: Connect Your Google Calendar Account

In the Sulus Dashboard, go to Integrations > Tools Provider > Google Calendar, click Connect, and follow the Google authorization prompts to grant access.


Step 2: Create the Calendar Tools

Go to Dashboard > Tools, click Create Tool, and select Google Calendar. Two tool types are available, and you can create either or both:

  • Create Event
  • Check Availability

Give each tool a name and a description. The description is what tells the model when to invoke the tool — write it specifically (e.g. "Use this to check calendar availability before booking") rather than generically.


Create Event: Field Reference

FieldDescription
summaryTitle or description of the event
startDateTimeStart date and time, ISO 8601
endDateTimeEnd date and time, ISO 8601
attendeesList of email addresses to invite
timeZoneTimezone for the event (defaults to UTC)
calendarIdCalendar to create the event in (defaults to primary)

Check Availability: Field Reference

FieldDescription
startDateTimeStart of the range to check, ISO 8601
endDateTimeEnd of the range to check, ISO 8601
timeZoneTimezone for the check (defaults to UTC)
calendarIdCalendar to check (defaults to primary)

All datetime fields on both tools must be provided in ISO 8601 format.


Step 3: Attach the Tools to Your Assistant

Go to Dashboard > Assistants, select your assistant, open the Tools tab, select the calendar tool(s) from the dropdown, and publish.


Worked Example Configuration

Both tool types configured together on an assistant's model, using the {{now}} dynamic variable so the model always knows the current date and time:

{
  "model": {
    "provider": "openai",
    "model": "gpt-4o",
    "messages": [
      {
        "role": "system",
        "content": "You are a scheduling assistant. Always check availability before creating an event. Notes\n- Current date: {{now}}"
      }
    ],
    "tools": [
      {
        "type": "google.calendar.availability.check",
        "name": "checkAvailability",
        "description": "Use this tool to check calendar availability. Current date/time: {{now}}"
      },
      {
        "type": "google.calendar.event.create",
        "name": "scheduleAppointment",
        "description": "Use this tool to schedule appointments and create calendar events. All appointments are 30 minutes. Current date/time: {{now}}"
      }
    ]
  }
}

See Dynamic Variables for the full list of built-in variables like {{now}} and how to define your own.


Best Practices

  • Always check availability before creating an event to avoid double-booking
  • Specify timezones explicitly rather than relying on the default
  • Write specific tool descriptions so the model knows exactly when to invoke each one
  • Include error-handling guidance in the system prompt for when a tool call fails (e.g. retry once, then offer to transfer)

See Appointment Scheduling: Assistant-Based Walkthrough for a full assistant build using these tools, and Custom Function Tools if you need a custom backend instead of the native Google Calendar integration.