Tools

Oggie exposes 24 shared calendar tools. These capabilities sit behind the CLI, MCP, and future official apps; this page is rendered from the same catalog served by the MCP endpoint.

calendar_calendars_list

List connected calendars visible to the connection.

Input schema
{
  "type": "object",
  "additionalProperties": false,
  "properties": {}
}

calendar_events_list

List events in a time range. Defaults to an agenda-shaped summary; use detail_level full when raw structured event details are required. If calendar_ids is omitted, searches all connected readable calendars.

Input schema
{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "calendar_ids": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Calendar IDs or supported aliases. Omit on read tools to search all connected readable calendars."
    },
    "timezone": {
      "type": "string",
      "description": "IANA timezone, for example Asia/Singapore."
    },
    "time_min": {
      "type": "string",
      "description": "RFC3339 timestamp with timezone offset, for example 2026-05-20T10:00:00+08:00."
    },
    "time_max": {
      "type": "string",
      "description": "RFC3339 timestamp with timezone offset, for example 2026-05-20T10:00:00+08:00."
    },
    "resolution": {
      "type": "object",
      "description": "Optional agent date-resolution proof for natural-language dates.",
      "properties": {
        "resolved_date": {
          "type": "string",
          "description": "Resolved YYYY-MM-DD date."
        },
        "resolved_day_of_week": {
          "type": "string",
          "description": "Resolved day of week, for example Wednesday."
        },
        "based_on": {
          "type": "object",
          "properties": {
            "date": {
              "type": "string",
              "description": "Server date the resolution was based on."
            },
            "timezone": {
              "type": "string",
              "description": "Timezone the resolution was based on."
            }
          }
        }
      }
    },
    "max_results": {
      "type": "number",
      "minimum": 1,
      "maximum": 250,
      "description": "Maximum events to return. Defaults to 50; maximum 250."
    },
    "detail_level": {
      "type": "string",
      "enum": [
        "summary",
        "normal",
        "full"
      ],
      "default": "summary",
      "description": "Response detail level. Defaults to summary. summary returns agenda-safe fields and event refs; normal adds scan fields such as location; full returns complete privacy-filtered event JSON and compact full details in MCP text."
    }
  },
  "required": [
    "timezone",
    "time_min",
    "time_max"
  ]
}

calendar_events_search

Search events by text in a time range. Defaults to compact results with exact calendar_id/event_id pairs for follow-up actions; use detail_level full for raw event details.

Input schema
{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "query": {
      "type": "string"
    },
    "calendar_ids": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Calendar IDs or supported aliases. Omit on read tools to search all connected readable calendars."
    },
    "timezone": {
      "type": "string",
      "description": "IANA timezone, for example Asia/Singapore."
    },
    "time_min": {
      "type": "string",
      "description": "RFC3339 timestamp with timezone offset, for example 2026-05-20T10:00:00+08:00."
    },
    "time_max": {
      "type": "string",
      "description": "RFC3339 timestamp with timezone offset, for example 2026-05-20T10:00:00+08:00."
    },
    "resolution": {
      "type": "object",
      "description": "Optional agent date-resolution proof for natural-language dates.",
      "properties": {
        "resolved_date": {
          "type": "string",
          "description": "Resolved YYYY-MM-DD date."
        },
        "resolved_day_of_week": {
          "type": "string",
          "description": "Resolved day of week, for example Wednesday."
        },
        "based_on": {
          "type": "object",
          "properties": {
            "date": {
              "type": "string",
              "description": "Server date the resolution was based on."
            },
            "timezone": {
              "type": "string",
              "description": "Timezone the resolution was based on."
            }
          }
        }
      }
    },
    "max_results": {
      "type": "number",
      "description": "Maximum events to return."
    },
    "detail_level": {
      "type": "string",
      "enum": [
        "summary",
        "normal",
        "full"
      ],
      "default": "summary",
      "description": "Response detail level. Defaults to summary. summary returns compact candidate results with event refs; normal adds scan fields such as location; full returns complete privacy-filtered event JSON and compact full details in MCP text."
    }
  },
  "required": [
    "query",
    "timezone",
    "time_min",
    "time_max"
  ]
}

calendar_events_get

Get a single event by calendar ID and event ID. Defaults to full details.

Input schema
{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "calendar_id": {
      "type": "string",
      "description": "Calendar ID or supported alias."
    },
    "event_id": {
      "type": "string"
    },
    "detail_level": {
      "type": "string",
      "enum": [
        "summary",
        "normal",
        "full"
      ],
      "default": "full",
      "description": "Response detail level. Defaults to full. full returns the complete privacy-filtered event JSON and compact full details in MCP text; use summary or normal only for compact output."
    }
  },
  "required": [
    "calendar_id",
    "event_id"
  ]
}

calendar_events_create

Create a calendar event.

Input schema
{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "calendar_id": {
      "type": "string",
      "description": "Calendar ID or supported alias. Required; writes never default to a calendar."
    },
    "title": {
      "type": "string"
    },
    "start": {
      "type": "string",
      "description": "RFC3339 timestamp with timezone offset, for example 2026-05-20T10:00:00+08:00."
    },
    "end": {
      "type": "string",
      "description": "RFC3339 timestamp with timezone offset, for example 2026-05-20T10:00:00+08:00."
    },
    "timezone": {
      "type": "string",
      "description": "IANA timezone, for example Asia/Singapore."
    },
    "location": {
      "type": "string"
    },
    "description": {
      "type": "string"
    },
    "attendees": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "idempotency_key": {
      "type": "string"
    },
    "resolution": {
      "type": "object",
      "description": "Optional agent date-resolution proof for natural-language dates.",
      "properties": {
        "resolved_date": {
          "type": "string",
          "description": "Resolved YYYY-MM-DD date."
        },
        "resolved_day_of_week": {
          "type": "string",
          "description": "Resolved day of week, for example Wednesday."
        },
        "based_on": {
          "type": "object",
          "properties": {
            "date": {
              "type": "string",
              "description": "Server date the resolution was based on."
            },
            "timezone": {
              "type": "string",
              "description": "Timezone the resolution was based on."
            }
          }
        }
      }
    }
  },
  "required": [
    "calendar_id",
    "title",
    "start",
    "end",
    "timezone"
  ]
}

calendar_events_update

Update selected fields on an event.

Input schema
{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "calendar_id": {
      "type": "string",
      "description": "Calendar ID or supported alias. Required; writes never default to a calendar."
    },
    "event_id": {
      "type": "string"
    },
    "timezone": {
      "type": "string",
      "description": "IANA timezone, for example Asia/Singapore."
    },
    "patch": {
      "type": "object",
      "properties": {
        "title": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "location": {
          "type": "string"
        },
        "start": {
          "type": "string",
          "description": "RFC3339 timestamp with timezone offset, for example 2026-05-20T10:00:00+08:00."
        },
        "end": {
          "type": "string",
          "description": "RFC3339 timestamp with timezone offset, for example 2026-05-20T10:00:00+08:00."
        },
        "attendees": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "send_updates": {
      "type": "string",
      "enum": [
        "all",
        "externalOnly",
        "none"
      ]
    },
    "resolution": {
      "type": "object",
      "description": "Optional agent date-resolution proof for natural-language dates.",
      "properties": {
        "resolved_date": {
          "type": "string",
          "description": "Resolved YYYY-MM-DD date."
        },
        "resolved_day_of_week": {
          "type": "string",
          "description": "Resolved day of week, for example Wednesday."
        },
        "based_on": {
          "type": "object",
          "properties": {
            "date": {
              "type": "string",
              "description": "Server date the resolution was based on."
            },
            "timezone": {
              "type": "string",
              "description": "Timezone the resolution was based on."
            }
          }
        }
      }
    }
  },
  "required": [
    "calendar_id",
    "event_id",
    "patch"
  ]
}

calendar_events_cancel

Cancel an event.

Input schema
{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "calendar_id": {
      "type": "string",
      "description": "Calendar ID or supported alias. Required; writes never default to a calendar."
    },
    "event_id": {
      "type": "string"
    }
  },
  "required": [
    "calendar_id",
    "event_id"
  ]
}

calendar_freebusy_query

Return busy intervals for calendars in a time range. If calendar_ids is omitted, searches all connected readable calendars.

Input schema
{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "calendar_ids": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Calendar IDs or supported aliases. Omit on read tools to search all connected readable calendars."
    },
    "timezone": {
      "type": "string",
      "description": "IANA timezone, for example Asia/Singapore."
    },
    "time_min": {
      "type": "string",
      "description": "RFC3339 timestamp with timezone offset, for example 2026-05-20T10:00:00+08:00."
    },
    "time_max": {
      "type": "string",
      "description": "RFC3339 timestamp with timezone offset, for example 2026-05-20T10:00:00+08:00."
    },
    "resolution": {
      "type": "object",
      "description": "Optional agent date-resolution proof for natural-language dates.",
      "properties": {
        "resolved_date": {
          "type": "string",
          "description": "Resolved YYYY-MM-DD date."
        },
        "resolved_day_of_week": {
          "type": "string",
          "description": "Resolved day of week, for example Wednesday."
        },
        "based_on": {
          "type": "object",
          "properties": {
            "date": {
              "type": "string",
              "description": "Server date the resolution was based on."
            },
            "timezone": {
              "type": "string",
              "description": "Timezone the resolution was based on."
            }
          }
        }
      }
    }
  },
  "required": [
    "timezone",
    "time_min",
    "time_max"
  ]
}

calendar_availability_find_slots

Find open slots in a time range. If calendar_ids is omitted, searches all connected readable calendars.

Input schema
{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "calendar_ids": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Calendar IDs or supported aliases. Omit on read tools to search all connected readable calendars."
    },
    "timezone": {
      "type": "string",
      "description": "IANA timezone, for example Asia/Singapore."
    },
    "time_min": {
      "type": "string",
      "description": "RFC3339 timestamp with timezone offset, for example 2026-05-20T10:00:00+08:00."
    },
    "time_max": {
      "type": "string",
      "description": "RFC3339 timestamp with timezone offset, for example 2026-05-20T10:00:00+08:00."
    },
    "resolution": {
      "type": "object",
      "description": "Optional agent date-resolution proof for natural-language dates.",
      "properties": {
        "resolved_date": {
          "type": "string",
          "description": "Resolved YYYY-MM-DD date."
        },
        "resolved_day_of_week": {
          "type": "string",
          "description": "Resolved day of week, for example Wednesday."
        },
        "based_on": {
          "type": "object",
          "properties": {
            "date": {
              "type": "string",
              "description": "Server date the resolution was based on."
            },
            "timezone": {
              "type": "string",
              "description": "Timezone the resolution was based on."
            }
          }
        }
      }
    },
    "duration_minutes": {
      "type": "number"
    },
    "max_results": {
      "type": "number"
    }
  },
  "required": [
    "timezone",
    "time_min",
    "time_max",
    "duration_minutes"
  ]
}

calendar_events_detect_conflicts

Check whether a proposed time range conflicts with busy calendar intervals. If calendar_ids is omitted, searches all connected readable calendars.

Input schema
{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "calendar_ids": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Calendar IDs or supported aliases. Omit on read tools to search all connected readable calendars."
    },
    "timezone": {
      "type": "string",
      "description": "IANA timezone, for example Asia/Singapore."
    },
    "start": {
      "type": "string",
      "description": "RFC3339 timestamp with timezone offset, for example 2026-05-20T10:00:00+08:00."
    },
    "end": {
      "type": "string",
      "description": "RFC3339 timestamp with timezone offset, for example 2026-05-20T10:00:00+08:00."
    },
    "resolution": {
      "type": "object",
      "description": "Optional agent date-resolution proof for natural-language dates.",
      "properties": {
        "resolved_date": {
          "type": "string",
          "description": "Resolved YYYY-MM-DD date."
        },
        "resolved_day_of_week": {
          "type": "string",
          "description": "Resolved day of week, for example Wednesday."
        },
        "based_on": {
          "type": "object",
          "properties": {
            "date": {
              "type": "string",
              "description": "Server date the resolution was based on."
            },
            "timezone": {
              "type": "string",
              "description": "Timezone the resolution was based on."
            }
          }
        }
      }
    }
  },
  "required": [
    "timezone",
    "start",
    "end"
  ]
}

preferences_get

Get user calendar preferences.

Input schema
{
  "type": "object",
  "additionalProperties": false,
  "properties": {}
}

preferences_update

Update user calendar preferences.

Input schema
{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "timezone": {
      "type": "string"
    },
    "default_calendar_id": {
      "type": "string"
    }
  }
}

calendar_policies_validate

Validate and resolve a structured calendar policy without enabling it.

Input schema
{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "policy": {
      "type": "object"
    },
    "source_text": {
      "type": "string",
      "description": "Optional original user request supplied by an agent or UI for audit context."
    }
  },
  "required": [
    "policy"
  ]
}

calendar_policies_list

List calendar sync policies.

Input schema
{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "include_paused": {
      "type": "boolean"
    },
    "detail_level": {
      "type": "string",
      "enum": [
        "summary",
        "full"
      ],
      "description": "Response detail level. Defaults to summary; use full for raw detailed records."
    }
  }
}

calendar_policies_create

Create a calendar sync policy. The policy is disabled until explicitly enabled.

Input schema
{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "policy": {
      "type": "object"
    },
    "enabled": {
      "type": "boolean"
    },
    "detail_level": {
      "type": "string",
      "enum": [
        "summary",
        "full"
      ],
      "description": "Response detail level. Defaults to summary; use full for raw detailed records."
    }
  },
  "required": [
    "policy"
  ]
}

calendar_policies_update

Update a calendar sync policy.

Input schema
{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "policy_id": {
      "type": "string"
    },
    "patch": {
      "type": "object"
    },
    "detail_level": {
      "type": "string",
      "enum": [
        "summary",
        "full"
      ],
      "description": "Response detail level. Defaults to summary; use full for raw detailed records."
    }
  },
  "required": [
    "policy_id",
    "patch"
  ]
}

calendar_policies_pause

Pause a calendar sync policy without deleting its shadow events.

Input schema
{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "policy_id": {
      "type": "string"
    },
    "detail_level": {
      "type": "string",
      "enum": [
        "summary",
        "full"
      ],
      "description": "Response detail level. Defaults to summary; use full for raw detailed records."
    }
  },
  "required": [
    "policy_id"
  ]
}

calendar_policies_delete

Delete a calendar sync policy. Use purge when policy-created events should also be removed.

Input schema
{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "policy_id": {
      "type": "string"
    }
  },
  "required": [
    "policy_id"
  ]
}

calendar_policies_preview

Preview create, update, delete, skip, and no-op actions for calendar policies. Defaults to compact action summaries.

Input schema
{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "policy_id": {
      "type": "string"
    },
    "policy": {
      "type": "object"
    },
    "calendar_ids": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Calendar IDs or supported aliases. Omit on read tools to search all connected readable calendars."
    },
    "timezone": {
      "type": "string",
      "description": "IANA timezone, for example Asia/Singapore."
    },
    "time_min": {
      "type": "string",
      "description": "RFC3339 timestamp with timezone offset, for example 2026-05-20T10:00:00+08:00."
    },
    "time_max": {
      "type": "string",
      "description": "RFC3339 timestamp with timezone offset, for example 2026-05-20T10:00:00+08:00."
    },
    "resolution": {
      "type": "object",
      "description": "Optional agent date-resolution proof for natural-language dates.",
      "properties": {
        "resolved_date": {
          "type": "string",
          "description": "Resolved YYYY-MM-DD date."
        },
        "resolved_day_of_week": {
          "type": "string",
          "description": "Resolved day of week, for example Wednesday."
        },
        "based_on": {
          "type": "object",
          "properties": {
            "date": {
              "type": "string",
              "description": "Server date the resolution was based on."
            },
            "timezone": {
              "type": "string",
              "description": "Timezone the resolution was based on."
            }
          }
        }
      }
    },
    "detail_level": {
      "type": "string",
      "enum": [
        "summary",
        "full"
      ],
      "description": "Response detail level. Defaults to summary; use full for raw detailed records."
    }
  },
  "required": [
    "timezone",
    "time_min",
    "time_max"
  ]
}

calendar_policies_run

Run calendar policy sync actions. Defaults to compact execution summaries.

Input schema
{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "policy_id": {
      "type": "string"
    },
    "calendar_ids": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Calendar IDs or supported aliases. Omit on read tools to search all connected readable calendars."
    },
    "timezone": {
      "type": "string",
      "description": "IANA timezone, for example Asia/Singapore."
    },
    "time_min": {
      "type": "string",
      "description": "RFC3339 timestamp with timezone offset, for example 2026-05-20T10:00:00+08:00."
    },
    "time_max": {
      "type": "string",
      "description": "RFC3339 timestamp with timezone offset, for example 2026-05-20T10:00:00+08:00."
    },
    "resolution": {
      "type": "object",
      "description": "Optional agent date-resolution proof for natural-language dates.",
      "properties": {
        "resolved_date": {
          "type": "string",
          "description": "Resolved YYYY-MM-DD date."
        },
        "resolved_day_of_week": {
          "type": "string",
          "description": "Resolved day of week, for example Wednesday."
        },
        "based_on": {
          "type": "object",
          "properties": {
            "date": {
              "type": "string",
              "description": "Server date the resolution was based on."
            },
            "timezone": {
              "type": "string",
              "description": "Timezone the resolution was based on."
            }
          }
        }
      }
    },
    "detail_level": {
      "type": "string",
      "enum": [
        "summary",
        "full"
      ],
      "description": "Response detail level. Defaults to summary; use full for raw detailed records."
    }
  },
  "required": [
    "timezone",
    "time_min",
    "time_max"
  ]
}

calendar_policies_purge

Preview or purge events created by a calendar policy. Defaults to compact action summaries.

Input schema
{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "policy_id": {
      "type": "string"
    },
    "preview": {
      "type": "boolean"
    },
    "detail_level": {
      "type": "string",
      "enum": [
        "summary",
        "full"
      ],
      "description": "Response detail level. Defaults to summary; use full for raw detailed records."
    }
  },
  "required": [
    "policy_id"
  ]
}

calendar_sync_status

Show calendar sync freshness and policy job status. Defaults to compact status summaries.

Input schema
{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "detail_level": {
      "type": "string",
      "enum": [
        "summary",
        "full"
      ],
      "description": "Response detail level. Defaults to summary; use full for raw detailed records."
    }
  }
}

audit_recent

List recent audited tool calls. Defaults to summaries without raw input/output payloads.

Input schema
{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "limit": {
      "type": "number"
    },
    "detail_level": {
      "type": "string",
      "enum": [
        "summary",
        "full"
      ],
      "description": "Response detail level. Defaults to summary; use full for raw detailed records."
    }
  }
}

artifacts_purge_owned

Preview touched events associated with this connection for future purge support. Defaults to summaries without metadata blobs.

Input schema
{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "connection_id": {
      "type": "string"
    },
    "preview": {
      "type": "boolean"
    },
    "detail_level": {
      "type": "string",
      "enum": [
        "summary",
        "full"
      ],
      "description": "Response detail level. Defaults to summary; use full for raw detailed records."
    }
  }
}