Skip to content
cccskills
FreePublished on GitHub

integrations

Connect calendar and video providers for scheduling workflows. The skill reads busy times, writes calendar events, and supports meeting creation or cancellation with providers such as Zoom, Google Meet, and Microsoft Teams. It also documents how to add a provider.

OriginalShow the original description

Calendar + video provider integrations — Google Calendar, Office 365, Zoom, built-in video, Google Meet — and how to write new ones.

BuilderIO/agent-native7,526 stars(GitHub 7,526 + cccskills 0)

Run score Not tested

See how to install

Good for

  • Connecting a Google Calendar account
  • Checking availability across selected calendars
  • Setting Zoom as the default meeting provider
  • Adding a new calendar or video provider

Files included (1)

  • SKILL.md3.1 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Integrations

Calendar providers

  • google_calendar — OAuth; read freeBusy + write events; optionally create Google Meet conference via includeConference=true.
  • office365_calendar — Microsoft Graph; read freeBusy + write events.
  • caldav (planned) — generic CalDAV for Apple iCloud, Fastmail, etc.

Video providers

  • builtin_video — Daily.co-backed; zero OAuth; server-to-server API key.
  • zoom_video — OAuth; create meetings via Zoom REST API.
  • google_meet — piggy-backs on Google Calendar credential.
  • teams_video — delegated Microsoft OAuth for work or school accounts; creates and cancels standalone meetings through Microsoft Graph.

Credential lifecycle

  1. User clicks "Connect" → connect-calendar returns authUrl + state
  2. Redirect to provider → consent → provider redirects to our callback
  3. Server exchanges code → writes scheduling_credentials row + core oauth_tokens entry
  4. We fetch calendar list, let user pick "checked" + "destination"
  5. Token expires → refresh flow runs silently; on failure, set invalid: true and show re-connect banner

Busy-time aggregation

aggregateBusy({userEmail, rangeStart, rangeEnd}) merges:

  • Confirmed bookings hosted by the user
  • External busy from each selected_calendars entry via the provider

Cached in calendar_cache (short TTL, default 5 min). Busted on any booking write for that host.

Writing a new provider

See docs/providers.md for the full interface.

Common tasks

UserAction
"Connect Google Calendar"connect-calendar --kind google_calendar --redirectUri ... → redirect to returned authUrl
"Stop checking my vacation calendar"toggle-selected-calendar --include false for that externalId
"Default to Zoom for new bookings"set-default-conferencing-app --credentialId <zoom-cred>
"Connect Microsoft Teams"connect-video --kind teams_video --redirectUri ... → complete the callback with completeVideoOAuth()
"Default to Teams for new bookings"set-default-conferencing-app --credentialId <teams-cred>
"Refresh calendar cache"refresh-busy-times

Microsoft Teams setup

Register createTeamsProvider() as a video provider with the deployment's Microsoft client id and secret plus consumer-owned getAccessToken, updateTokens, and markInvalid callbacks. The provider defaults to the organizations tenant because Graph's delegated online-meeting API supports work or school accounts, not personal Microsoft accounts. It requests only offline_access, OnlineMeetings.ReadWrite, and User.Read.

Use connect-video to start OAuth and completeVideoOAuth() in the callback; inserting a teams_video row with install-conferencing-app alone does not grant Microsoft access. Token refresh remains the consumer's responsibility in getAccessToken. The booking service stores the returned meeting id and join URL in booking_references and calls the provider again on cancellation.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

a2a-assets

FreeSummary

Generate, refine, export, and place brand images or videos from an Assets library into another app. The skill covers choosing a library, handling image batches and video runs, and updating selected assets after feedback.

  • Generate brand images for slides or another app
  • Refine an existing asset after feedback
  • Create and export a video asset
BuilderIO/agent-native7.5KUpdated Oct 26, 2026

account-health

FreeSummary

Prepare a customer account health, renewal, or contract usage readout. Verify the account identity, use approved metric definitions, compare contracted capacity with actual usage, and trace findings to sources, time windows, and known gaps.

  • Preparing a named customer's account health review
  • Comparing contracted seats or capacity with usage
  • Gathering adoption signals before a renewal or QBR
BuilderIO/agent-native7.5KUpdated Oct 26, 2026

actions

FreeSummary

Create focused app actions that agents can call as tools and frontend code can use through client hooks. Use them to add provider integrations or fetch UI data, with validated inputs and structured results.

  • Adding a new app operation
  • Connecting an external provider API
  • Fetching data for a frontend view
BuilderIO/agent-native7.5KUpdated Oct 26, 2026

adding-a-feature

FreeSummary

Use this checklist when adding a feature or integration to an agent-native app. It covers the user interface, agent-callable actions, instructions, and app-state sync so both the user and agent can work with the capability consistently.

  • Planning a new feature across UI and agent actions
  • Checking that agent changes appear in the UI
  • Documenting actions and feature state for the agent
BuilderIO/agent-native7.5KUpdated Oct 26, 2026

adhoc-analysis

FreeSummary

Investigate complex questions by combining data from multiple sources, then summarize patterns, metrics, and evidence in a clear report. Save requested analyses as dashboards with instructions for future refreshes.

  • Comparing CRM deals with call records
  • Investigating customer health across systems
  • Saving a repeatable performance analysis
BuilderIO/agent-native7.5KUpdated Oct 26, 2026

admin-surfaces

FreeSummary

Use the Analytics admin surfaces to inspect and change workspace feature flags, review dashboard ownership and usage activity, or browse and edit databases connected from other agent-native apps. The skill guides administrators to the relevant view and actions.

  • Review dashboard owners, views, and edits
  • Change a workspace feature flag for an app
  • Browse or edit a connected app database
BuilderIO/agent-native7.5KUpdated Oct 26, 2026

See all skills by BuilderIO

Report a problem with this skill