← Plugin catalog
Productivity

Kalender Sync

PPJ Venture Labs UG (haftungsbeschränkt) v3.1.0

Check and book your calendars

Full description ↓

Save this plugin to Following and return to review observed changes. Follow up to 10 plugins free.

Description

From the marketplace listing

Kalender Sync connects Google Calendar, Microsoft Outlook, Apple iCloud and supported CalDAV calendars to ChatGPT and Codex. Check your schedule, find available times, search appointments, create and manage events, and answer supported invitations. You can also connect read-only iCal feeds where your plan supports them. Create one-way or two-way syncs between your own connected calendars. Preview a sync before confirming its source, target and detail level. Check its status, diagnose issues, and pause or resume it. Sync targets require write access and explicit sync-management permission. Deleting a sync requires a preview and confirmation: its copies are removed, while source events remain. Syncs keep running after assistant access is revoked until paused or deleted. For connected calendars, you choose which calendars the assistant can access: availability only, titles and times, or full details. Creating events needs write permission; managing existing events needs management permission and full details. Updates, deletions and invitation replies can notify participants. Provider restrictions apply: CalDAV invitation replies depend on the provider; iCloud supports replies to iCloud invitations, not Google or Outlook. iCal feeds are read-only. With separate permission, create public subscribe calendars for a website, publish and update their events, check aggregate subscriber statistics, and get a subscribe button. This access covers the subscribe calendars owned by your account. Sandbox calendars are public too, with a test label. Confirm the intended public content before publishing; do not use private calendar data without explicit approval. Use the included skills to plan your day or week, import a schedule, timebox tasks, plan time off and make room for recurring goals. The assistant proposes a plan before creating appointments and reports conflicts and incomplete reads. Calendar reads can be cached for up to 60 seconds. Try asking: “When do I have a free two-hour block next week?” or “Preview a one-way sync from work to personal, showing availability only.” A Kalender Sync account is required; personal planning and syncs also need connected calendars. Providers, calendar counts and usage limits depend on your account permissions and entitlements. Hosted in Germany.

Language: English · Automatically detected from descriptions.

What changed

Kalender Sync

Oct 29, 2026 · 11 saved observations

Skill · Oct 29, 2026 · 12:05 UTC · Compared with Oct 24, 2026 · 12:50 UTC

WHAT CHANGED

Instructions updated for timebox-my-day

Skill instructions — Now says: provider sharing and any sync's detail level. Creating a focus block does not change either. The detail level granted to this AI connection does not set...

Observed in instructions or declared skills. Runtime behavior has not been tested.

Open full comparison.

Skill instructions

Before

Oct 24, 2026 · 12:50 UTC

calendar sharing and sync settings, which these tools cannot change. The detail level granted to this AI connection does not set colleagues' visibility. ## What this skill can and cannot do The Kalender Sync server offers eight tools: `l...

After

Oct 29, 2026 · 12:05 UTC

provider sharing and any sync's detail level. Creating a focus block does not change either. The detail level granted to this AI connection does not set colleagues' visibility. ## Tool access and calendar rules Use only the tools and fie...

Read SKILL.md text changes →

Skill · Oct 29, 2026 · 12:05 UTC · Compared with Oct 24, 2026 · 12:50 UTC

WHAT CHANGED

Instructions updated for schedule-my-goals

Skill instructions — Now says: The connected-calendar `create_event` tool creates individual events, not recurring series. Default to four weeks of separate entries and extend later with...

Observed in instructions or declared skills. Runtime behavior has not been tested.

Open full comparison.

Skill instructions

Before

Oct 24, 2026 · 12:50 UTC

There is no recurrence support, so every occurrence is a separate `create_event`. Default to four weeks and extend later rather than writing months of individual entries in one go. ## What this skill can and cannot do The Kalender Sync s...

After

Oct 29, 2026 · 12:05 UTC

The connected-calendar `create_event` tool creates individual events, not recurring series. Default to four weeks of separate entries and extend later with the user's approval. ## Tool access and calendar rules Use only the tools and fie...

Read SKILL.md text changes →

Skill · Oct 29, 2026 · 12:05 UTC · Compared with Oct 24, 2026 · 12:50 UTC

WHAT CHANGED

Instructions updated for review-my-day

Skill instructions — Now says: Tool access and calendar rules Use only the tools and fields exposed by the current connection. Read its schemas and returned permissions before acting;...

Observed in instructions or declared skills. Runtime behavior has not been tested.

Open full comparison.

Skill instructions

Before

Oct 24, 2026 · 12:50 UTC

What this skill can and cannot do The Kalender Sync server offers eight tools: `list_calendars`, `get_availability`, `search_events`, `create_event`, `update_event`, `delete_event`, `respond_to_event` and `send_feedback`. The current con...

After

Oct 29, 2026 · 12:05 UTC

Tool access and calendar rules Use only the tools and fields exposed by the current connection. Read its schemas and returned permissions before acting; never infer access from a tool name. The calendar tools are `list_calendars`, `get_a...

Read SKILL.md text changes →Read SKILL.md text changes →Read SKILL.md text changes →Read SKILL.md text changes →Read SKILL.md text changes →Read SKILL.md text changes →
2 more changes that day

Full description changed from “Check availability, manage events, answer supported invitations and manage syncs across your connected calendars.” to “Check availability, manage events and sync connected calendars. With separate permission, publish public subscribe calendars and get a website subscribe button.”.

Metadata evidence →Listing evidence →

Package contents changed in 9 files: .codex-plugin/plugin.json, skills/import-schedule/SKILL.md, skills/kalender-sync-setup/SKILL.md, …. Open the file diff to inspect the edits.

Files evidence →
Earlier changes · 3 more observation days on this page
Kalender Sync

Oct 28, 2026 · 2 saved observations

Positioning & listing

Full description changed from “Check availability, search appointments, manage events and answer invitations across the calendars you choose to connect.” to “Check availability, manage events, answer supported invitations and manage syncs across your connected calendars.”.

Metadata evidence →
Technical updates

Package contents changed in 1 files: .codex-plugin/plugin.json. Open the file diff to inspect the edits.

Files evidence →
Kalender Sync

Oct 27, 2026 · 2 saved observations

Positioning & listing

Full description changed from “Check availability, search appointments, manage events and answer invitations across the calendars you choose to connect.” to “Check availability, manage events, answer supported invitations and manage syncs across your connected calendars.”.

Listing evidence →
Technical updates

Is v2 template: added “false”.

Metadata evidence →
Kalender Sync

Oct 24, 2026 · 4 saved observations

Capabilities & instructions

Full description changed from “Kalender Sync connects your calendars — Google, Microsoft Outlook, Apple iCloud, GMX, WEB.DE and any CalDAV or iCal source — so ChatGPT can answer questions about your availability, find open slots, look up appointments and create events...” to “Check availability, search appointments, manage events and answer invitations across the calendars you choose to connect.”.

Listing evidence →Metadata evidence →
Technical updates

Package contents changed in 12 files: .app.json, .codex-plugin/plugin.json, .mcp.json, …. Open the file diff to inspect the edits.

Files evidence →
Technical updates

Is template instance: added “false”.

Listing evidence →

Competitor profile

From the developer’s listing and package; capabilities are not independently tested. Package observed Nov 3, 2026.

Declared capabilities

Check and book your calendars

Declared limitations

Specific limitations have not been established. Missing information does not mean unrestricted capabilities.

Cost & access

Pricing and account requirements have not been established from the available package declarations. Unknown pricing does not mean free access.

Starter prompt

When am I free for two hours this week?

View package source →

Matches for “sync”

Exact text from the indicated source. A mention alone does not establish support for your task.

Plugin name

Kalender Sync

Publisher description

Check availability, manage events and sync connected calendars. With separate permission, publish public subscribe calendars and get a website subscribe button.

Publisher full description

Kalender Sync connects Google Calendar, Microsoft Outlook, Apple iCloud and supported CalDAV calendars to ChatGPT and Codex. Check your schedule, find available times, search appointments, create and manage events, and answer supported invitations. You can also connect read-only iCal feeds where your plan supports them. Create one-way or two-way syncs between your own connected calendars. Preview a sync before confirming its source, target and detail level. Check its status, diagnose issues, and pause or resume it. Sync targets require write access and explicit sync-management permission. Deleting a sync requires a preview and confirmation: its copies are removed, while source events remain. Syncs keep running after assistant access is revoked until paused or deleted. For connected calendars, you choose which calendars the assistant can access: availability only, titles and times, or full details. Creating events needs write permission; managing existing events needs management permission and full details. Updates, deletions and invitation replies can notify participants. Provider restrictions apply: CalDAV invitation replies depend on the provider; iCloud supports replies to iCloud invitations, not Google or Outlook. iCal feeds are read-only. With separate permission, create public subscribe calendars for a website, publish and update their events, check aggregate subscriber statistics, and get a subscribe button. This access covers the subscribe calendars owned by your account. Sandbox calendars are public too, with a test label. Confirm the intended public content before publishing; do not use private calendar data without explicit approval. Use the included skills to plan your day or week, import a schedule, timebox tasks, plan time off and make room for recurring goals. The assistant proposes a plan before creating appointments and reports conflicts and incomplete reads. Calendar reads can be cached for up to 60 seconds. Try asking: “When do I have a free two-hour block next week?” or “Preview a one-way sync from work to personal, showing availability only.” A Kalender Sync account is required; personal planning and syncs also need connected calendars. Providers, calendar counts and usage limits depend on your account permissions and entitlements. Hosted in Germany.

Files & skills

File archives

Plugin package12 files · 11.9 KBBrowse files →
Skill instructions
import-schedule7.05 KB

View saved version →

---
name: import-schedule
description: "Take a whole schedule the user pastes in, a term plan, shift rota, course series or project plan, structure it, show every clash with what is already there, enter it in one go, and track created events for removal if requested. Use whenever the user wants many events entered at once."
---

# Enter a list of appointments

Entering forty appointments by hand takes an hour. Prepare the entries together and offer to delete the successfully created events
if the user later asks to remove them.

## Steps

1. Take the list in whatever form it arrives: pasted text, a table, a copied email. Structure it
   first and write nothing yet.
2. Show what you understood and name what is missing or ambiguous: end times, timezones, dates
   that could be read two ways. Timed entries need timezone-aware timestamps; all-day entries use bare dates
   with an inclusive end date.
3. `list_calendars` and settle the target. When more than one calendar is writable, the target has
   to be passed explicitly or the write is refused.
4. Call `get_availability` across the period, splitting ranges longer than 92 days.
   Show clashes from successfully read calendars together and disclose any incomplete reads.
   This matters because overlaps do not block a write, they only produce a
   warning after the fact.
5. Show a preview: what will be created, where, and what overlaps. Get one confirmation.
6. Create the approved entries sequentially and heed rate-limit/credit results.
   Stop on a limit and report partial progress; a batch size alone does not enforce a rate limit.
7. Report what was created, skipped or failed. If something broke partway, say how many are
   already in.
8. Offer to remove everything from this session again with `delete_event`.

## Tool access and calendar rules

Use only the tools and fields exposed by the current connection. Read its schemas
and returned permissions before acting; never infer access from a tool name.
The calendar tools are `list_calendars`, `get_availability`, `search_events`,
`create_event`, `update_event`, `delete_event`, `respond_to_event` and `send_feedback`.
With sync access, the connection can also expose `list_syncs`, `diagnose_sync`,
`preview_sync`, `create_sync`, `set_sync_paused`, `preview_delete_sync` and `delete_sync`.
With separate opt-in Publisher access, it can expose `list_publisher_calendars`,
`create_publisher_calendar`, `update_publisher_calendar`, `write_publisher_events`,
`list_publisher_events`, `get_publisher_stats` and `get_subscribe_button`.
These are up to 22 tools; availability depends on permissions and client support.

- **Times and ranges.** Timed events need ISO timestamps with an explicit offset;
  pass `time_zone` when known. All-day events use bare dates with an INCLUSIVE end.
  Availability/search spans cover at most 92 days and look back at most one year.
  Split longer reads. Do not invent event IDs or calendar IDs.
- **Reading and conflicts.** Check all granted calendars relevant to the request.
  Report unreadable sources and partial results; they do not establish free time.
  Use `blocks_time` for conflicts and mention relevant non-blocking all-day events.
  An overlap does not prevent creation: show warnings and the actual write result.
  Reads may be cached for up to 60 seconds; never repeat a write just because a
  subsequent read has not caught up.
- **Calendar writes.** Creation needs write permission. Managing existing events
  also needs management permission and full details. Update/delete the original
  rather than a synced copy. Do not change someone else's organised meeting;
  answer an invitation through `respond_to_event` when that is the user's intent.
  Updates and deletions can notify attendees. Confirm the intended event and scope.
  Read-only iCal feeds cannot be write targets.
- **Invitations.** Replies notify the organiser. Use the returned provider limits;
  CalDAV replies require provider support, and iCloud cannot answer invitations
  from Google or Outlook. For recurring invitations use occurrence scope when the
  user named one date; ask if occurrence versus series is ambiguous.
- **Reminders, when exposed.** Only send `reminders` if the current input schema
  supports it. On creation omission uses calendar defaults; on update omission
  leaves reminders unchanged, a list replaces them, and `[]` removes them.
  Follow the tool's provider limits and report reminders that were not kept.
  A reminder-only update may have different permissions from editing the meeting;
  follow the current schema and result instead of assuming that exception exists.
- **Syncs are persistent.** Act only when the user requests a sync operation.
  Preview before creation and confirm source, target and detail level. Targets
  require explicit sync-management permission; both calendars need it for two-way
  syncs. Syncs can create, update and remove their managed copies and keep running
  after assistant access is revoked. Pausing retains copies. Before deletion, call
  `preview_delete_sync`, show the affected calendars and copy count, obtain explicit
  confirmation, then use that preview's unexpired confirmation token. Deletion
  removes sync copies and retains source events; it is not a transactional undo.
- **Subscribe calendars are public.** Publisher tools act on all subscribe calendars
  owned by this account, separately from private connected calendars and syncs.
  Use them only for an explicit publishing request, never automatically while
  planning. Both sandbox and live pages/feeds are public; sandbox only adds a test
  label. Confirm the public content and target before creation or changes. Do not
  copy private calendar entries, emails or documents into a public feed without
  explicit approval. Before the first live calendar, explain the terms and DPA
  links returned/described by the tool. Calendar creation is not idempotent; after
  an uncertain result inspect the calendar list instead of blindly creating again.
  Event writes upsert by external_id or delete selected IDs, with at most 100
  operations per call. Report partial failures without replaying successful items.
  Use list_publisher_events for Publisher IDs; pass its next_cursor as cursor.
  get_subscribe_button only returns markup/links; installing it on a website is a
  separate action. Public content may already have been copied after deletion.
- **Privacy.** The detail level granted to this assistant controls its reads; it
  does not set provider sharing or event privacy. A sync's detail level separately
  controls its target copies. Never promise that a new event is private to others.
- **Limits and failures.** Respect returned credit/rate/plan limits. Stop dependent
  writes on denial, report partial progress and the returned recovery step, and do
  not repeat an unchanged call to bypass a limit. Do not claim success on failure.
- **Feedback sends a message.** Use `send_feedback` only after the user requests or
  agrees to send the message. Its team email cannot be recalled. Do not include
  unrelated calendar content. `contact_ok` defaults to false; set it true only
  after explicit agreement to follow-up contact.
kalender-sync-setup6.91 KB

View saved version →

---
name: kalender-sync-setup
description: "Go through the user's connected calendars once and establish which is which, so every later planning session works from knowledge instead of guesswork. Use when the user has just connected Kalender Sync, asks what you can see, or when a planning request would otherwise require guessing which calendar is work and which is private."
---

# Set up the calendar context

Run this once, before any planning. Everything else assumes it.

## Steps

1. Call `list_calendars`. Read back every calendar with its provider, whether you can read it,
   whether you may write to it, and the detail level the user granted.
2. For any calendar whose name does not make its purpose obvious, call `get_availability` for the
   current week and quote two or three real entries so the user can identify it.
3. Go through them one at a time and ask what role each plays: work, personal, club, clients,
   family. Do not offer a fixed list, let the user describe it.
4. Ask for core hours, hard stops, and recurring commitments that never move.
5. Report which calendars you may write to. If none are writable and the tool response carries a
   `notice`, pass that notice on: it describes something the user can change.
6. Explain what the selected visibility level reveals to this AI connection.
   Keep it separate from sharing or sync visibility to other people.
7. Summarise the result as a short profile.

## Important

You have no server-side memory. The profile lives in this conversation only. Tell the user to save
it into a project instruction or custom instructions if they want later sessions to start informed.

## Tool access and calendar rules

Use only the tools and fields exposed by the current connection. Read its schemas
and returned permissions before acting; never infer access from a tool name.
The calendar tools are `list_calendars`, `get_availability`, `search_events`,
`create_event`, `update_event`, `delete_event`, `respond_to_event` and `send_feedback`.
With sync access, the connection can also expose `list_syncs`, `diagnose_sync`,
`preview_sync`, `create_sync`, `set_sync_paused`, `preview_delete_sync` and `delete_sync`.
With separate opt-in Publisher access, it can expose `list_publisher_calendars`,
`create_publisher_calendar`, `update_publisher_calendar`, `write_publisher_events`,
`list_publisher_events`, `get_publisher_stats` and `get_subscribe_button`.
These are up to 22 tools; availability depends on permissions and client support.

- **Times and ranges.** Timed events need ISO timestamps with an explicit offset;
  pass `time_zone` when known. All-day events use bare dates with an INCLUSIVE end.
  Availability/search spans cover at most 92 days and look back at most one year.
  Split longer reads. Do not invent event IDs or calendar IDs.
- **Reading and conflicts.** Check all granted calendars relevant to the request.
  Report unreadable sources and partial results; they do not establish free time.
  Use `blocks_time` for conflicts and mention relevant non-blocking all-day events.
  An overlap does not prevent creation: show warnings and the actual write result.
  Reads may be cached for up to 60 seconds; never repeat a write just because a
  subsequent read has not caught up.
- **Calendar writes.** Creation needs write permission. Managing existing events
  also needs management permission and full details. Update/delete the original
  rather than a synced copy. Do not change someone else's organised meeting;
  answer an invitation through `respond_to_event` when that is the user's intent.
  Updates and deletions can notify attendees. Confirm the intended event and scope.
  Read-only iCal feeds cannot be write targets.
- **Invitations.** Replies notify the organiser. Use the returned provider limits;
  CalDAV replies require provider support, and iCloud cannot answer invitations
  from Google or Outlook. For recurring invitations use occurrence scope when the
  user named one date; ask if occurrence versus series is ambiguous.
- **Reminders, when exposed.** Only send `reminders` if the current input schema
  supports it. On creation omission uses calendar defaults; on update omission
  leaves reminders unchanged, a list replaces them, and `[]` removes them.
  Follow the tool's provider limits and report reminders that were not kept.
  A reminder-only update may have different permissions from editing the meeting;
  follow the current schema and result instead of assuming that exception exists.
- **Syncs are persistent.** Act only when the user requests a sync operation.
  Preview before creation and confirm source, target and detail level. Targets
  require explicit sync-management permission; both calendars need it for two-way
  syncs. Syncs can create, update and remove their managed copies and keep running
  after assistant access is revoked. Pausing retains copies. Before deletion, call
  `preview_delete_sync`, show the affected calendars and copy count, obtain explicit
  confirmation, then use that preview's unexpired confirmation token. Deletion
  removes sync copies and retains source events; it is not a transactional undo.
- **Subscribe calendars are public.** Publisher tools act on all subscribe calendars
  owned by this account, separately from private connected calendars and syncs.
  Use them only for an explicit publishing request, never automatically while
  planning. Both sandbox and live pages/feeds are public; sandbox only adds a test
  label. Confirm the public content and target before creation or changes. Do not
  copy private calendar entries, emails or documents into a public feed without
  explicit approval. Before the first live calendar, explain the terms and DPA
  links returned/described by the tool. Calendar creation is not idempotent; after
  an uncertain result inspect the calendar list instead of blindly creating again.
  Event writes upsert by external_id or delete selected IDs, with at most 100
  operations per call. Report partial failures without replaying successful items.
  Use list_publisher_events for Publisher IDs; pass its next_cursor as cursor.
  get_subscribe_button only returns markup/links; installing it on a website is a
  separate action. Public content may already have been copied after deletion.
- **Privacy.** The detail level granted to this assistant controls its reads; it
  does not set provider sharing or event privacy. A sync's detail level separately
  controls its target copies. Never promise that a new event is private to others.
- **Limits and failures.** Respect returned credit/rate/plan limits. Stop dependent
  writes on denial, report partial progress and the returned recovery step, and do
  not repeat an unchanged call to bypass a limit. Do not claim success on failure.
- **Feedback sends a message.** Use `send_feedback` only after the user requests or
  agrees to send the message. Its team email cannot be recalled. Do not include
  unrelated calendar content. `contact_ok` defaults to false; set it true only
  after explicit agreement to follow-up contact.
plan-my-day6.46 KB

View saved version →

---
name: plan-my-day
description: "Plan the user's day across all their calendars. Surfaces what is scheduled, finds clashes and impossible transitions, then places the user's priorities into the gaps that actually exist. Use for requests like plan my day, what does my day look like, or help me get through today."
---

# Plan the day

A short morning session. Three to five minutes, and something concrete ends up in the calendar.

## Steps

1. Call `get_availability` for the whole day in the user's timezone, midnight to midnight.
2. Read the day back grouped by calendar, so work and private commitments appear together.
   Name any calendar that could not be read.
3. Point out overlaps, especially between different accounts, and transitions that are too tight
   given the locations on the entries.
4. Ask for the three things the user most wants to get done, with a rough duration each.
5. Hold those against the free stretches. If they do not fit, say so plainly and ask what drops
   rather than inventing time.
6. Propose an order, demanding work early.
7. On approval, `create_event` for each block, each in the calendar matching what it is.
   Pass on any overlap warnings.

## Tool access and calendar rules

Use only the tools and fields exposed by the current connection. Read its schemas
and returned permissions before acting; never infer access from a tool name.
The calendar tools are `list_calendars`, `get_availability`, `search_events`,
`create_event`, `update_event`, `delete_event`, `respond_to_event` and `send_feedback`.
With sync access, the connection can also expose `list_syncs`, `diagnose_sync`,
`preview_sync`, `create_sync`, `set_sync_paused`, `preview_delete_sync` and `delete_sync`.
With separate opt-in Publisher access, it can expose `list_publisher_calendars`,
`create_publisher_calendar`, `update_publisher_calendar`, `write_publisher_events`,
`list_publisher_events`, `get_publisher_stats` and `get_subscribe_button`.
These are up to 22 tools; availability depends on permissions and client support.

- **Times and ranges.** Timed events need ISO timestamps with an explicit offset;
  pass `time_zone` when known. All-day events use bare dates with an INCLUSIVE end.
  Availability/search spans cover at most 92 days and look back at most one year.
  Split longer reads. Do not invent event IDs or calendar IDs.
- **Reading and conflicts.** Check all granted calendars relevant to the request.
  Report unreadable sources and partial results; they do not establish free time.
  Use `blocks_time` for conflicts and mention relevant non-blocking all-day events.
  An overlap does not prevent creation: show warnings and the actual write result.
  Reads may be cached for up to 60 seconds; never repeat a write just because a
  subsequent read has not caught up.
- **Calendar writes.** Creation needs write permission. Managing existing events
  also needs management permission and full details. Update/delete the original
  rather than a synced copy. Do not change someone else's organised meeting;
  answer an invitation through `respond_to_event` when that is the user's intent.
  Updates and deletions can notify attendees. Confirm the intended event and scope.
  Read-only iCal feeds cannot be write targets.
- **Invitations.** Replies notify the organiser. Use the returned provider limits;
  CalDAV replies require provider support, and iCloud cannot answer invitations
  from Google or Outlook. For recurring invitations use occurrence scope when the
  user named one date; ask if occurrence versus series is ambiguous.
- **Reminders, when exposed.** Only send `reminders` if the current input schema
  supports it. On creation omission uses calendar defaults; on update omission
  leaves reminders unchanged, a list replaces them, and `[]` removes them.
  Follow the tool's provider limits and report reminders that were not kept.
  A reminder-only update may have different permissions from editing the meeting;
  follow the current schema and result instead of assuming that exception exists.
- **Syncs are persistent.** Act only when the user requests a sync operation.
  Preview before creation and confirm source, target and detail level. Targets
  require explicit sync-management permission; both calendars need it for two-way
  syncs. Syncs can create, update and remove their managed copies and keep running
  after assistant access is revoked. Pausing retains copies. Before deletion, call
  `preview_delete_sync`, show the affected calendars and copy count, obtain explicit
  confirmation, then use that preview's unexpired confirmation token. Deletion
  removes sync copies and retains source events; it is not a transactional undo.
- **Subscribe calendars are public.** Publisher tools act on all subscribe calendars
  owned by this account, separately from private connected calendars and syncs.
  Use them only for an explicit publishing request, never automatically while
  planning. Both sandbox and live pages/feeds are public; sandbox only adds a test
  label. Confirm the public content and target before creation or changes. Do not
  copy private calendar entries, emails or documents into a public feed without
  explicit approval. Before the first live calendar, explain the terms and DPA
  links returned/described by the tool. Calendar creation is not idempotent; after
  an uncertain result inspect the calendar list instead of blindly creating again.
  Event writes upsert by external_id or delete selected IDs, with at most 100
  operations per call. Report partial failures without replaying successful items.
  Use list_publisher_events for Publisher IDs; pass its next_cursor as cursor.
  get_subscribe_button only returns markup/links; installing it on a website is a
  separate action. Public content may already have been copied after deletion.
- **Privacy.** The detail level granted to this assistant controls its reads; it
  does not set provider sharing or event privacy. A sync's detail level separately
  controls its target copies. Never promise that a new event is private to others.
- **Limits and failures.** Respect returned credit/rate/plan limits. Stop dependent
  writes on denial, report partial progress and the returned recovery step, and do
  not repeat an unchanged call to bypass a limit. Do not claim success on failure.
- **Feedback sends a message.** Use `send_feedback` only after the user requests or
  agrees to send the message. Its team email cannot be recalled. Do not include
  unrelated calendar content. `contact_ok` defaults to false; set it true only
  after explicit agreement to follow-up contact.
plan-my-time-off7.08 KB

View saved version →

---
name: plan-my-time-off
description: "Turn a handful of leave days into as many days off as possible. Computes the bridge days around public holidays, checks each candidate against every calendar, then enters the absence everywhere it belongs. Use for planning holidays, booking time off, or making the most of remaining leave days."
---

# Plan time off

The session with the clearest payoff: three days of leave becoming nine days off.

## Steps

1. Ask where the user lives (for public holidays), how many leave days they have, and which are
   already spoken for. Confirm the relevant year and region. Use verified holiday dates
   from the user or an available authoritative source; do not invent school terms.
2. Compute the candidates and rank them by yield: free days gained per day of leave spent.
3. Check the candidate windows with `get_availability`. A year exceeds the 92-day limit, so either
   split it into quarters or, better, query only the candidate windows.
4. Hold them against work fixtures: trade fairs, quarter ends, project deadlines. Only calendars actually connected and granted to this AI connection are included.
   Do not assume that every calendar shared with the user is accessible here.
5. Present the candidates in order, each with its yield and whatever stands in the way.
6. On approval, create the agreed absence in the specified writable calendars.
   Use all-day dates or timed working-hour blocks as agreed, and report the actual results.

## Important

All-day events are supported: use bare dates, with an inclusive end date. The tools
do not set a provider-specific out-of-office type. Apple/iCloud all-day events are
returned as non-blocking context, so discuss a timed busy block if the user needs
working hours to be blocked rather than only an all-day absence marker.

## Tool access and calendar rules

Use only the tools and fields exposed by the current connection. Read its schemas
and returned permissions before acting; never infer access from a tool name.
The calendar tools are `list_calendars`, `get_availability`, `search_events`,
`create_event`, `update_event`, `delete_event`, `respond_to_event` and `send_feedback`.
With sync access, the connection can also expose `list_syncs`, `diagnose_sync`,
`preview_sync`, `create_sync`, `set_sync_paused`, `preview_delete_sync` and `delete_sync`.
With separate opt-in Publisher access, it can expose `list_publisher_calendars`,
`create_publisher_calendar`, `update_publisher_calendar`, `write_publisher_events`,
`list_publisher_events`, `get_publisher_stats` and `get_subscribe_button`.
These are up to 22 tools; availability depends on permissions and client support.

- **Times and ranges.** Timed events need ISO timestamps with an explicit offset;
  pass `time_zone` when known. All-day events use bare dates with an INCLUSIVE end.
  Availability/search spans cover at most 92 days and look back at most one year.
  Split longer reads. Do not invent event IDs or calendar IDs.
- **Reading and conflicts.** Check all granted calendars relevant to the request.
  Report unreadable sources and partial results; they do not establish free time.
  Use `blocks_time` for conflicts and mention relevant non-blocking all-day events.
  An overlap does not prevent creation: show warnings and the actual write result.
  Reads may be cached for up to 60 seconds; never repeat a write just because a
  subsequent read has not caught up.
- **Calendar writes.** Creation needs write permission. Managing existing events
  also needs management permission and full details. Update/delete the original
  rather than a synced copy. Do not change someone else's organised meeting;
  answer an invitation through `respond_to_event` when that is the user's intent.
  Updates and deletions can notify attendees. Confirm the intended event and scope.
  Read-only iCal feeds cannot be write targets.
- **Invitations.** Replies notify the organiser. Use the returned provider limits;
  CalDAV replies require provider support, and iCloud cannot answer invitations
  from Google or Outlook. For recurring invitations use occurrence scope when the
  user named one date; ask if occurrence versus series is ambiguous.
- **Reminders, when exposed.** Only send `reminders` if the current input schema
  supports it. On creation omission uses calendar defaults; on update omission
  leaves reminders unchanged, a list replaces them, and `[]` removes them.
  Follow the tool's provider limits and report reminders that were not kept.
  A reminder-only update may have different permissions from editing the meeting;
  follow the current schema and result instead of assuming that exception exists.
- **Syncs are persistent.** Act only when the user requests a sync operation.
  Preview before creation and confirm source, target and detail level. Targets
  require explicit sync-management permission; both calendars need it for two-way
  syncs. Syncs can create, update and remove their managed copies and keep running
  after assistant access is revoked. Pausing retains copies. Before deletion, call
  `preview_delete_sync`, show the affected calendars and copy count, obtain explicit
  confirmation, then use that preview's unexpired confirmation token. Deletion
  removes sync copies and retains source events; it is not a transactional undo.
- **Subscribe calendars are public.** Publisher tools act on all subscribe calendars
  owned by this account, separately from private connected calendars and syncs.
  Use them only for an explicit publishing request, never automatically while
  planning. Both sandbox and live pages/feeds are public; sandbox only adds a test
  label. Confirm the public content and target before creation or changes. Do not
  copy private calendar entries, emails or documents into a public feed without
  explicit approval. Before the first live calendar, explain the terms and DPA
  links returned/described by the tool. Calendar creation is not idempotent; after
  an uncertain result inspect the calendar list instead of blindly creating again.
  Event writes upsert by external_id or delete selected IDs, with at most 100
  operations per call. Report partial failures without replaying successful items.
  Use list_publisher_events for Publisher IDs; pass its next_cursor as cursor.
  get_subscribe_button only returns markup/links; installing it on a website is a
  separate action. Public content may already have been copied after deletion.
- **Privacy.** The detail level granted to this assistant controls its reads; it
  does not set provider sharing or event privacy. A sync's detail level separately
  controls its target copies. Never promise that a new event is private to others.
- **Limits and failures.** Respect returned credit/rate/plan limits. Stop dependent
  writes on denial, report partial progress and the returned recovery step, and do
  not repeat an unchanged call to bypass a limit. Do not claim success on failure.
- **Feedback sends a message.** Use `send_feedback` only after the user requests or
  agrees to send the message. Its team email cannot be recalled. Do not include
  unrelated calendar content. `contact_ok` defaults to false; set it true only
  after explicit agreement to follow-up contact.
plan-my-week6.57 KB

View saved version →

---
name: plan-my-week
description: "Plan the coming week across every calendar. Collects the fixed points, does the capacity arithmetic out loud, names overloaded days before anything is planned into them, then places the week's goals into what is genuinely left. Use for plan my week, weekly planning, or how much time do I actually have next week."
---

# Plan the week

The longest session, and the one with the strongest moment: an honest number.

## Steps

1. `list_calendars`, then `get_availability` for the seven days. One call is enough, a week is far
   inside the 92-day limit.
2. Collect the fixed points grouped by calendar. Where the same appointment appears in two
   calendars because they are synced, count it once.
3. Do the arithmetic out loud: how many hours are committed, how many of those are appointments
   with other people, and how much genuinely free working time is left.
4. Name the days that are already overloaded, before anything gets planned into them.
5. Ask for the week's goals and hold them against the remaining capacity. Negotiate if it does not
   add up.
6. Account for travel and office days where the entries reveal them.
7. On approval, `create_event` for the blocks, spread across the week. Leave the weekend alone
   unless the user says otherwise.

## Tool access and calendar rules

Use only the tools and fields exposed by the current connection. Read its schemas
and returned permissions before acting; never infer access from a tool name.
The calendar tools are `list_calendars`, `get_availability`, `search_events`,
`create_event`, `update_event`, `delete_event`, `respond_to_event` and `send_feedback`.
With sync access, the connection can also expose `list_syncs`, `diagnose_sync`,
`preview_sync`, `create_sync`, `set_sync_paused`, `preview_delete_sync` and `delete_sync`.
With separate opt-in Publisher access, it can expose `list_publisher_calendars`,
`create_publisher_calendar`, `update_publisher_calendar`, `write_publisher_events`,
`list_publisher_events`, `get_publisher_stats` and `get_subscribe_button`.
These are up to 22 tools; availability depends on permissions and client support.

- **Times and ranges.** Timed events need ISO timestamps with an explicit offset;
  pass `time_zone` when known. All-day events use bare dates with an INCLUSIVE end.
  Availability/search spans cover at most 92 days and look back at most one year.
  Split longer reads. Do not invent event IDs or calendar IDs.
- **Reading and conflicts.** Check all granted calendars relevant to the request.
  Report unreadable sources and partial results; they do not establish free time.
  Use `blocks_time` for conflicts and mention relevant non-blocking all-day events.
  An overlap does not prevent creation: show warnings and the actual write result.
  Reads may be cached for up to 60 seconds; never repeat a write just because a
  subsequent read has not caught up.
- **Calendar writes.** Creation needs write permission. Managing existing events
  also needs management permission and full details. Update/delete the original
  rather than a synced copy. Do not change someone else's organised meeting;
  answer an invitation through `respond_to_event` when that is the user's intent.
  Updates and deletions can notify attendees. Confirm the intended event and scope.
  Read-only iCal feeds cannot be write targets.
- **Invitations.** Replies notify the organiser. Use the returned provider limits;
  CalDAV replies require provider support, and iCloud cannot answer invitations
  from Google or Outlook. For recurring invitations use occurrence scope when the
  user named one date; ask if occurrence versus series is ambiguous.
- **Reminders, when exposed.** Only send `reminders` if the current input schema
  supports it. On creation omission uses calendar defaults; on update omission
  leaves reminders unchanged, a list replaces them, and `[]` removes them.
  Follow the tool's provider limits and report reminders that were not kept.
  A reminder-only update may have different permissions from editing the meeting;
  follow the current schema and result instead of assuming that exception exists.
- **Syncs are persistent.** Act only when the user requests a sync operation.
  Preview before creation and confirm source, target and detail level. Targets
  require explicit sync-management permission; both calendars need it for two-way
  syncs. Syncs can create, update and remove their managed copies and keep running
  after assistant access is revoked. Pausing retains copies. Before deletion, call
  `preview_delete_sync`, show the affected calendars and copy count, obtain explicit
  confirmation, then use that preview's unexpired confirmation token. Deletion
  removes sync copies and retains source events; it is not a transactional undo.
- **Subscribe calendars are public.** Publisher tools act on all subscribe calendars
  owned by this account, separately from private connected calendars and syncs.
  Use them only for an explicit publishing request, never automatically while
  planning. Both sandbox and live pages/feeds are public; sandbox only adds a test
  label. Confirm the public content and target before creation or changes. Do not
  copy private calendar entries, emails or documents into a public feed without
  explicit approval. Before the first live calendar, explain the terms and DPA
  links returned/described by the tool. Calendar creation is not idempotent; after
  an uncertain result inspect the calendar list instead of blindly creating again.
  Event writes upsert by external_id or delete selected IDs, with at most 100
  operations per call. Report partial failures without replaying successful items.
  Use list_publisher_events for Publisher IDs; pass its next_cursor as cursor.
  get_subscribe_button only returns markup/links; installing it on a website is a
  separate action. Public content may already have been copied after deletion.
- **Privacy.** The detail level granted to this assistant controls its reads; it
  does not set provider sharing or event privacy. A sync's detail level separately
  controls its target copies. Never promise that a new event is private to others.
- **Limits and failures.** Respect returned credit/rate/plan limits. Stop dependent
  writes on denial, report partial progress and the returned recovery step, and do
  not repeat an unchanged call to bypass a limit. Do not claim success on failure.
- **Feedback sends a message.** Use `send_feedback` only after the user requests or
  agrees to send the message. Its team email cannot be recalled. Do not include
  unrelated calendar content. `contact_ok` defaults to false; set it true only
  after explicit agreement to follow-up contact.
review-my-day6.51 KB

View saved version →

---
name: review-my-day
description: "Close out the day by comparing what was intended against what the calendar actually holds, showing how the time split across calendars, and giving every loose end a concrete slot in the coming days. Use for requests like review my day, how did today go, or wrap up my day."
---

# Review the day

The quiet one, and the one that makes the others compound: it is the only session that leaves
something behind for tomorrow.

## Steps

1. `get_availability` for the day just ending.
2. Sort what you find into three groups: went as intended, moved or was cancelled, turned up
   unplanned. If you planned the day earlier in this same conversation, compare against that.
   Otherwise ask the user what they had intended, because you cannot know it.
3. For anything that moved, ask why. That is the one thing a calendar never records.
4. Show how the day split across the different calendars, so the user sees how much went into work
   and what was left over.
5. Ask what is still open and propose concrete times in the next few days.
   After the user approves the plan, use `create_event` for the agreed items.
6. Finish with one sentence about tomorrow that can be handed to the next morning session.

## Tool access and calendar rules

Use only the tools and fields exposed by the current connection. Read its schemas
and returned permissions before acting; never infer access from a tool name.
The calendar tools are `list_calendars`, `get_availability`, `search_events`,
`create_event`, `update_event`, `delete_event`, `respond_to_event` and `send_feedback`.
With sync access, the connection can also expose `list_syncs`, `diagnose_sync`,
`preview_sync`, `create_sync`, `set_sync_paused`, `preview_delete_sync` and `delete_sync`.
With separate opt-in Publisher access, it can expose `list_publisher_calendars`,
`create_publisher_calendar`, `update_publisher_calendar`, `write_publisher_events`,
`list_publisher_events`, `get_publisher_stats` and `get_subscribe_button`.
These are up to 22 tools; availability depends on permissions and client support.

- **Times and ranges.** Timed events need ISO timestamps with an explicit offset;
  pass `time_zone` when known. All-day events use bare dates with an INCLUSIVE end.
  Availability/search spans cover at most 92 days and look back at most one year.
  Split longer reads. Do not invent event IDs or calendar IDs.
- **Reading and conflicts.** Check all granted calendars relevant to the request.
  Report unreadable sources and partial results; they do not establish free time.
  Use `blocks_time` for conflicts and mention relevant non-blocking all-day events.
  An overlap does not prevent creation: show warnings and the actual write result.
  Reads may be cached for up to 60 seconds; never repeat a write just because a
  subsequent read has not caught up.
- **Calendar writes.** Creation needs write permission. Managing existing events
  also needs management permission and full details. Update/delete the original
  rather than a synced copy. Do not change someone else's organised meeting;
  answer an invitation through `respond_to_event` when that is the user's intent.
  Updates and deletions can notify attendees. Confirm the intended event and scope.
  Read-only iCal feeds cannot be write targets.
- **Invitations.** Replies notify the organiser. Use the returned provider limits;
  CalDAV replies require provider support, and iCloud cannot answer invitations
  from Google or Outlook. For recurring invitations use occurrence scope when the
  user named one date; ask if occurrence versus series is ambiguous.
- **Reminders, when exposed.** Only send `reminders` if the current input schema
  supports it. On creation omission uses calendar defaults; on update omission
  leaves reminders unchanged, a list replaces them, and `[]` removes them.
  Follow the tool's provider limits and report reminders that were not kept.
  A reminder-only update may have different permissions from editing the meeting;
  follow the current schema and result instead of assuming that exception exists.
- **Syncs are persistent.** Act only when the user requests a sync operation.
  Preview before creation and confirm source, target and detail level. Targets
  require explicit sync-management permission; both calendars need it for two-way
  syncs. Syncs can create, update and remove their managed copies and keep running
  after assistant access is revoked. Pausing retains copies. Before deletion, call
  `preview_delete_sync`, show the affected calendars and copy count, obtain explicit
  confirmation, then use that preview's unexpired confirmation token. Deletion
  removes sync copies and retains source events; it is not a transactional undo.
- **Subscribe calendars are public.** Publisher tools act on all subscribe calendars
  owned by this account, separately from private connected calendars and syncs.
  Use them only for an explicit publishing request, never automatically while
  planning. Both sandbox and live pages/feeds are public; sandbox only adds a test
  label. Confirm the public content and target before creation or changes. Do not
  copy private calendar entries, emails or documents into a public feed without
  explicit approval. Before the first live calendar, explain the terms and DPA
  links returned/described by the tool. Calendar creation is not idempotent; after
  an uncertain result inspect the calendar list instead of blindly creating again.
  Event writes upsert by external_id or delete selected IDs, with at most 100
  operations per call. Report partial failures without replaying successful items.
  Use list_publisher_events for Publisher IDs; pass its next_cursor as cursor.
  get_subscribe_button only returns markup/links; installing it on a website is a
  separate action. Public content may already have been copied after deletion.
- **Privacy.** The detail level granted to this assistant controls its reads; it
  does not set provider sharing or event privacy. A sync's detail level separately
  controls its target copies. Never promise that a new event is private to others.
- **Limits and failures.** Respect returned credit/rate/plan limits. Stop dependent
  writes on denial, report partial progress and the returned recovery step, and do
  not repeat an unchanged call to bypass a limit. Do not claim success on failure.
- **Feedback sends a message.** Use `send_feedback` only after the user requests or
  agrees to send the message. Its team email cannot be recalled. Do not include
  unrelated calendar content. `contact_ok` defaults to false; set it true only
  after explicit agreement to follow-up contact.
schedule-my-goals6.58 KB

View saved version →

---
name: schedule-my-goals
description: "Translate recurring intentions into fixed slots that survive a real week, and check later whether they held. Use for goals like exercising three times a week, regular study time, or any I want to do X regularly request."
---

# Put goals in the calendar

Intentions do not fail for lack of will, they fail because they never appear in the schedule.

## Steps

1. Capture the goals with frequency and duration each: three times a week for 75 minutes, twice a
   week for two hours.
2. `get_availability` over the next four weeks and look for the gaps that repeat every week, not
   the ones that happen to be free this week.
3. Reality check. If five blocks are meant to fit into weeks that are already full, say so and ask
   the user to cut back. A plan that cannot hold is worse than none.
4. Propose fixed slots at the same time each week, each in the calendar it belongs to.
5. On approval, `create_event` per slot.
6. In a later weekly review, check whether the slots held. If the same one keeps getting overrun,
   propose a different time rather than repeating it.

## Important

The connected-calendar `create_event` tool creates individual events, not recurring series.
Default to four weeks of separate entries and extend later with the user's approval.

## Tool access and calendar rules

Use only the tools and fields exposed by the current connection. Read its schemas
and returned permissions before acting; never infer access from a tool name.
The calendar tools are `list_calendars`, `get_availability`, `search_events`,
`create_event`, `update_event`, `delete_event`, `respond_to_event` and `send_feedback`.
With sync access, the connection can also expose `list_syncs`, `diagnose_sync`,
`preview_sync`, `create_sync`, `set_sync_paused`, `preview_delete_sync` and `delete_sync`.
With separate opt-in Publisher access, it can expose `list_publisher_calendars`,
`create_publisher_calendar`, `update_publisher_calendar`, `write_publisher_events`,
`list_publisher_events`, `get_publisher_stats` and `get_subscribe_button`.
These are up to 22 tools; availability depends on permissions and client support.

- **Times and ranges.** Timed events need ISO timestamps with an explicit offset;
  pass `time_zone` when known. All-day events use bare dates with an INCLUSIVE end.
  Availability/search spans cover at most 92 days and look back at most one year.
  Split longer reads. Do not invent event IDs or calendar IDs.
- **Reading and conflicts.** Check all granted calendars relevant to the request.
  Report unreadable sources and partial results; they do not establish free time.
  Use `blocks_time` for conflicts and mention relevant non-blocking all-day events.
  An overlap does not prevent creation: show warnings and the actual write result.
  Reads may be cached for up to 60 seconds; never repeat a write just because a
  subsequent read has not caught up.
- **Calendar writes.** Creation needs write permission. Managing existing events
  also needs management permission and full details. Update/delete the original
  rather than a synced copy. Do not change someone else's organised meeting;
  answer an invitation through `respond_to_event` when that is the user's intent.
  Updates and deletions can notify attendees. Confirm the intended event and scope.
  Read-only iCal feeds cannot be write targets.
- **Invitations.** Replies notify the organiser. Use the returned provider limits;
  CalDAV replies require provider support, and iCloud cannot answer invitations
  from Google or Outlook. For recurring invitations use occurrence scope when the
  user named one date; ask if occurrence versus series is ambiguous.
- **Reminders, when exposed.** Only send `reminders` if the current input schema
  supports it. On creation omission uses calendar defaults; on update omission
  leaves reminders unchanged, a list replaces them, and `[]` removes them.
  Follow the tool's provider limits and report reminders that were not kept.
  A reminder-only update may have different permissions from editing the meeting;
  follow the current schema and result instead of assuming that exception exists.
- **Syncs are persistent.** Act only when the user requests a sync operation.
  Preview before creation and confirm source, target and detail level. Targets
  require explicit sync-management permission; both calendars need it for two-way
  syncs. Syncs can create, update and remove their managed copies and keep running
  after assistant access is revoked. Pausing retains copies. Before deletion, call
  `preview_delete_sync`, show the affected calendars and copy count, obtain explicit
  confirmation, then use that preview's unexpired confirmation token. Deletion
  removes sync copies and retains source events; it is not a transactional undo.
- **Subscribe calendars are public.** Publisher tools act on all subscribe calendars
  owned by this account, separately from private connected calendars and syncs.
  Use them only for an explicit publishing request, never automatically while
  planning. Both sandbox and live pages/feeds are public; sandbox only adds a test
  label. Confirm the public content and target before creation or changes. Do not
  copy private calendar entries, emails or documents into a public feed without
  explicit approval. Before the first live calendar, explain the terms and DPA
  links returned/described by the tool. Calendar creation is not idempotent; after
  an uncertain result inspect the calendar list instead of blindly creating again.
  Event writes upsert by external_id or delete selected IDs, with at most 100
  operations per call. Report partial failures without replaying successful items.
  Use list_publisher_events for Publisher IDs; pass its next_cursor as cursor.
  get_subscribe_button only returns markup/links; installing it on a website is a
  separate action. Public content may already have been copied after deletion.
- **Privacy.** The detail level granted to this assistant controls its reads; it
  does not set provider sharing or event privacy. A sync's detail level separately
  controls its target copies. Never promise that a new event is private to others.
- **Limits and failures.** Respect returned credit/rate/plan limits. Stop dependent
  writes on denial, report partial progress and the returned recovery step, and do
  not repeat an unchanged call to bypass a limit. Do not claim success on failure.
- **Feedback sends a message.** Use `send_feedback` only after the user requests or
  agrees to send the message. Its team email cannot be recalled. Do not include
  unrelated calendar content. `contact_ok` defaults to false; set it true only
  after explicit agreement to follow-up contact.
timebox-my-day6.82 KB

View saved version →

---
name: timebox-my-day
description: "Turn a task list into a timeboxed day across all the user's calendars, with buffers, travel time and a what-if pass before anything is written. Use for requests like timebox my day, help me schedule these tasks, or I have too much on today."
---

# Timebox the day

The thorough version of a daily plan: every task gets a slot, and the plan is stress-tested before
it is written.

## Steps

1. `list_calendars`, then `get_availability` for the day.
2. Work out the genuinely usable stretches. Anything under twenty minutes is a buffer, not
   working time.
3. Ask what needs doing, with a rough duration each. If the total exceeds the free stretches, say
   so immediately and make the user prioritise.
4. Put demanding work in the first half of the day, coordination and small items later.
5. Include lunch, buffers, and travel time wherever existing entries carry a location.
6. Run a what-if before committing: if something urgent lands this afternoon, which block dies,
   and does the user want it moved earlier or defended.
7. On approval, `create_event` per block.
8. Offer to remove the whole plan again with `delete_event` if the day falls apart. You can do
   this because these are events you created.

## Important

Do not promise that a focus block will show up as "busy only" to colleagues. What other people see
depends on provider sharing and any sync's detail level. Creating a focus block does
not change either. The detail level granted to this AI connection does not set colleagues' visibility.

## Tool access and calendar rules

Use only the tools and fields exposed by the current connection. Read its schemas
and returned permissions before acting; never infer access from a tool name.
The calendar tools are `list_calendars`, `get_availability`, `search_events`,
`create_event`, `update_event`, `delete_event`, `respond_to_event` and `send_feedback`.
With sync access, the connection can also expose `list_syncs`, `diagnose_sync`,
`preview_sync`, `create_sync`, `set_sync_paused`, `preview_delete_sync` and `delete_sync`.
With separate opt-in Publisher access, it can expose `list_publisher_calendars`,
`create_publisher_calendar`, `update_publisher_calendar`, `write_publisher_events`,
`list_publisher_events`, `get_publisher_stats` and `get_subscribe_button`.
These are up to 22 tools; availability depends on permissions and client support.

- **Times and ranges.** Timed events need ISO timestamps with an explicit offset;
  pass `time_zone` when known. All-day events use bare dates with an INCLUSIVE end.
  Availability/search spans cover at most 92 days and look back at most one year.
  Split longer reads. Do not invent event IDs or calendar IDs.
- **Reading and conflicts.** Check all granted calendars relevant to the request.
  Report unreadable sources and partial results; they do not establish free time.
  Use `blocks_time` for conflicts and mention relevant non-blocking all-day events.
  An overlap does not prevent creation: show warnings and the actual write result.
  Reads may be cached for up to 60 seconds; never repeat a write just because a
  subsequent read has not caught up.
- **Calendar writes.** Creation needs write permission. Managing existing events
  also needs management permission and full details. Update/delete the original
  rather than a synced copy. Do not change someone else's organised meeting;
  answer an invitation through `respond_to_event` when that is the user's intent.
  Updates and deletions can notify attendees. Confirm the intended event and scope.
  Read-only iCal feeds cannot be write targets.
- **Invitations.** Replies notify the organiser. Use the returned provider limits;
  CalDAV replies require provider support, and iCloud cannot answer invitations
  from Google or Outlook. For recurring invitations use occurrence scope when the
  user named one date; ask if occurrence versus series is ambiguous.
- **Reminders, when exposed.** Only send `reminders` if the current input schema
  supports it. On creation omission uses calendar defaults; on update omission
  leaves reminders unchanged, a list replaces them, and `[]` removes them.
  Follow the tool's provider limits and report reminders that were not kept.
  A reminder-only update may have different permissions from editing the meeting;
  follow the current schema and result instead of assuming that exception exists.
- **Syncs are persistent.** Act only when the user requests a sync operation.
  Preview before creation and confirm source, target and detail level. Targets
  require explicit sync-management permission; both calendars need it for two-way
  syncs. Syncs can create, update and remove their managed copies and keep running
  after assistant access is revoked. Pausing retains copies. Before deletion, call
  `preview_delete_sync`, show the affected calendars and copy count, obtain explicit
  confirmation, then use that preview's unexpired confirmation token. Deletion
  removes sync copies and retains source events; it is not a transactional undo.
- **Subscribe calendars are public.** Publisher tools act on all subscribe calendars
  owned by this account, separately from private connected calendars and syncs.
  Use them only for an explicit publishing request, never automatically while
  planning. Both sandbox and live pages/feeds are public; sandbox only adds a test
  label. Confirm the public content and target before creation or changes. Do not
  copy private calendar entries, emails or documents into a public feed without
  explicit approval. Before the first live calendar, explain the terms and DPA
  links returned/described by the tool. Calendar creation is not idempotent; after
  an uncertain result inspect the calendar list instead of blindly creating again.
  Event writes upsert by external_id or delete selected IDs, with at most 100
  operations per call. Report partial failures without replaying successful items.
  Use list_publisher_events for Publisher IDs; pass its next_cursor as cursor.
  get_subscribe_button only returns markup/links; installing it on a website is a
  separate action. Public content may already have been copied after deletion.
- **Privacy.** The detail level granted to this assistant controls its reads; it
  does not set provider sharing or event privacy. A sync's detail level separately
  controls its target copies. Never promise that a new event is private to others.
- **Limits and failures.** Respect returned credit/rate/plan limits. Stop dependent
  writes on denial, report partial progress and the returned recovery step, and do
  not repeat an unchanged call to bypass a limit. Do not claim success on failure.
- **Feedback sends a message.** Use `send_feedback` only after the user requests or
  agrees to send the message. Its team email cannot be recalled. Do not include
  unrelated calendar content. `contact_ok` defaults to false; set it true only
  after explicit agreement to follow-up contact.

Release notes

Kalender Sync 3.1.0 review candidate, based on the approved 3.0.1 package. The short description, publisher identity, original logo, legal/support URLs and MCP endpoint are retained from 3.0.1. The About text keeps the calendar-first structure and adds syncs, public subscribe calendars, Codex and current provider/permission limits. One example prompt requests a sync preview. The same eight skills and frontmatter descriptions are retained. Shared guidance covers the 15 calendar/event/sync tools and seven opt-in Publisher tools (up to 22 total). It explains persistent syncs, preview/confirmation, public sandbox data, account-wide Publisher access, partial writes and permission boundaries. No new tool definition or OAuth grant is embedded in this ZIP. Users must separately opt into publisher.manage; existing grants are not broadened. Reminder instructions apply only when the client exposes the corresponding schema. The remote server supplies MCP definitions separately. Prepared server version: MCP 1.11.1. Its Publisher annotations mark public creation, metadata overwrites and event writes as readOnlyHint:false, destructiveHint:true, openWorldHint:true. The four Publisher read tools use true/false/false. Calendar creation is not idempotent; the other Publisher operations are. No new handler or scope is introduced by this correction. Local validation: approved-source ZIP integrity, JSON/asset paths, eight skill frontmatter checks, unchanged endpoint/logo and an allowlisted package diff. Server preflight: typechecks, lint and unit tests passed; 22 Publisher/discovery/feed/plan integration tests passed against disposable Postgres, including 22-tool discovery with full consent, cross-account isolation, partial results and update/delete behavior. These are local checks, not a claim of an OpenAI scan or reviewer OAuth test. Before submission: deploy the reviewed server correction, explicitly extend the reviewer connection with publisher.manage, scan all 22 tools, inspect findings and perform consented live tests using synthetic public data only. Keep existing calendar grants limited to the two review calendars. The metadata review does not replace tool review. No support case is requested.

Declared in the saved package. Remote tools may change independently.

Package details

Publisher declarations from the archived package. These are separate from our research and the live service's terms.

Package author
PPJ Venture Labs UG (haftungsbeschränkt)

Package observed Nov 3, 2026.

Technical details
First seen
Sep 30, 2026 · 22:02 UTC
Last seen
Nov 3, 2026 · 18:00 UTC
Latest observed change
Oct 29, 2026 · 12:05 UTC
Collection status
Collected

plugin_asdk_app_6a789d2ee20c8191a7abd7c3736a7c2c

Download plugin data (JSON)