Caly: Finding Meeting Times

Finds open times to meet in Caly: lists the user's event types, reads their working-hours schedules, and returns the free slots for an event type over a date range, in the right ti…

Devino Solutions

@devino

Install

$ openclaw skills install @devino/caly-finding-meeting-times

Caly: finding meeting times

Answer "when can this meeting happen" from the user's live Caly event types, schedules and availability.

Connecting and calling the tools

Every tool in this skill comes from the caly MCP server, the Caly connector, and is written here as caly:<tool>.

  • Tools listed by name: call them directly, for example caly:find_available_slots.
  • Only caly:search_tools and caly:execute_typescript listed (Code Mode, the default): call caly:search_tools first, then call each tool inside caly:execute_typescript as external_<tool> (for example external_find_available_slots); the program must return its result. Batch independent reads with Promise.all.
  • "Tool not found": switch to the Code Mode route instead of retrying the direct call.
  • No caly tools at all: Caly is not connected yet. Add the server as shown in https://github.com/DevinoSolutions/mcp-servers/tree/main/caly#install; it signs in with OAuth on first use.

A refused call throws an Error whose message starts with its code, for example INVALID_INPUT:.

Tools you will use

  • caly:whoami: the account this connection acts as, with its time zone, week start and default schedule. Takes no input.
  • caly:list_event_types: the user's event types (the bookable meeting kinds) with id, slug, title, length and booking URL, hidden ones included.
  • caly:get_event_type: one event type in full: lengths, locations, booking questions, buffers, minimum notice and schedule.
  • caly:list_schedules: the user's availability schedules: working hours per weekday, date overrides, time zone, and which one is the default.
  • caly:find_available_slots: the free start times for an event type between two dates (eventTypeId, start, end, optional timeZone and duration), grouped by date.

Workflow

  1. Call caly:whoami and caly:list_event_types together. Use the account's timeZone unless the user names another one, and say which time zone you are using.
  2. Pick the event type. Match the user's words to a title or length ("30 minute call" → the 30-minute type). If two could fit, or none does, list the event types and ask which one.
  3. Turn the user's range ("next week", "Thursday afternoon") into concrete start and end dates in that time zone. If no range is given, use the next 7 days.
  4. Call caly:find_available_slots with the event type id, the range and the time zone. If the user wants a length the event type allows (lengthInMinutesOptions), pass it as duration.
  5. Present a short list of options grouped by day, in the user's time zone, not every slot. If the user asked for a part of the day, filter to it.
  6. If there are no slots, call caly:list_schedules and explain why (outside working hours, a date override, minimum notice from caly:get_event_type), then offer the nearest free day.
  7. Offer next steps: book one of the slots with the booking-meetings skill, or share the event type's bookingUrl so the other person picks a time.

Rules

  • This skill only reads. Never call caly:create_booking, caly:reschedule_booking or caly:cancel_booking from it.
  • Report only slots that caly:find_available_slots returned. Never infer free time from the schedule alone; bookings and buffers can block it.
  • Always state the time zone next to every time you show.

Top skills in this category

google-meet

@byungkyu

Google Meet API integration with managed OAuth. Create meeting spaces, list conference records, and manage meeting participants. Use this skill when users want to interact with Google Meet. For other third party apps, use the api-gateway skill (https://clawhub.ai/byungkyu/api-gateway). Calls run through the `maton` CLI with OAuth login, or over raw HTTP with a Maton API key where the CLI cannot be installed. Every call is authenticated as the user's connection and reaches only what that connection's authorization allows, which the provider enforces on every request; the endpoints documented here are the ones this skill uses, and any other endpoint of this app needs the user to ask for it by name. Default to read and list calls, and confirm every write or new connection with the user. This file also documents the three constructs that turn a Google Meet connection into automation, in the order they are used: the connection (the first step), a hosted function that runs a Google Meet action through the Maton SDK, and a trigger that calls that function on a schedule or on an event. Those sections are the platform's own reference text, shared with the api-gateway skill, with Google Meet examples; they add no Google Meet capability - Google Meet is not an event source, a trigger cannot read Google Meet data, and the files under `references/<source>/triggers.md` are the platform's event catalogues for the sources Maton offers (time, Calendly, GitHub, Gmail, HubSpot, Linear, Notion, Slack, Stripe).

1519k

klaviyo

@byungkyu

Klaviyo API integration with managed OAuth. Access profiles, lists, segments, campaigns, flows, events, metrics, templates, catalogs, webhooks, tags, coupons, images, forms, reviews, and account settings. Use this skill when users want to manage email marketing, customer data, or integrate with Klaviyo workflows. For other third party apps, use the api-gateway skill (https://clawhub.ai/byungkyu/api-gateway). Calls run through the `maton` CLI with OAuth login, or over raw HTTP with a Maton API key where the CLI cannot be installed. Every call is authenticated as the user's connection and reaches only what that connection's authorization allows, which the provider enforces on every request; the endpoints documented here are the ones this skill uses, and any other endpoint of this app needs the user to ask for it by name. Default to read and list calls, and confirm every write or new connection with the user. This file also documents the three constructs that turn a Klaviyo connection into automation, in the order they are used: the connection (the first step), a hosted function that runs a Klaviyo action through the Maton SDK, and a trigger that calls that function on a schedule or on an event. Those sections are the platform's own reference text, shared with the api-gateway skill, with Klaviyo examples; they add no Klaviyo capability - Klaviyo is not an event source, a trigger cannot read Klaviyo data, and the files under `references/<source>/triggers.md` are the platform's event catalogues for the sources Maton offers (time, Calendly, GitHub, Gmail, HubSpot, Linear, Notion, Slack, Stripe).

818k

Telegram Bot

@byungkyu

Telegram Bot API integration with managed authentication. Send messages, manage chats, handle updates, and interact with users through your Telegram bot. Use this skill when users want to send messages, create polls, manage bot commands, or interact with Telegram chats. For other third party apps, use the api-gateway skill (https://clawhub.ai/byungkyu/api-gateway). Calls run through the `maton` CLI with OAuth login, or over raw HTTP with a Maton API key where the CLI cannot be installed. Every `/telegram/` path goes to the Telegram Bot API and nowhere else; the methods documented here are the ones this skill uses, and the passthrough can also call other Bot API methods the bot token allows. Default to read calls, and confirm every send, edit, delete, or new connection with the user. This file also documents the three constructs that turn a Telegram Bot API connection into automation, in the order they are used: the connection (the first step), a hosted function that runs a Telegram Bot API action through the Maton SDK, and a trigger that calls that function on a schedule or on an event. Those sections are the platform's own reference text, shared with the api-gateway skill, with Telegram Bot API examples; they add no Telegram Bot API capability - Telegram Bot API is not an event source, a trigger cannot read Telegram Bot API data, and the files under `references/<source>/triggers.md` are the platform's event catalogues for the sources Maton offers (time, Calendly, GitHub, Gmail, HubSpot, Linear, Notion, Slack, Stripe).

99.3k

Slack

@byungkyu

Slack API integration with managed OAuth. Send messages, manage channels, search conversations, and interact with Slack workspaces. Use this skill when users want to post messages, list channels, get user info, or automate Slack workflows. For other third party apps, use the api-gateway skill (https://clawhub.ai/byungkyu/api-gateway). Calls run through the `maton` CLI with OAuth login, or over raw HTTP with a Maton API key where the CLI cannot be installed. Every call is authenticated as the user's connection and reaches only what that connection's authorization allows, which the provider enforces on every request; the endpoints documented here are the ones this skill uses, and any other endpoint of this app needs the user to ask for it by name. Default to read and list calls, and confirm every write or new connection with the user. This file also documents the three constructs that turn a Slack connection into automation, in the order they are used: the connection (the first step), a hosted function that runs a Slack action through the Maton SDK, and a trigger that calls that function on a schedule or on an event. Those sections are the platform's own reference text, shared with the api-gateway skill, with Slack examples; they add no Slack capability - Slack is itself an event source, so its own events are in `references/slack/triggers.md`, and the files under `references/<source>/triggers.md` are the platform's event catalogues for the sources Maton offers (time, Calendly, GitHub, Gmail, HubSpot, Linear, Notion, Slack, Stripe).

78.4k

Twilio

@byungkyu

Twilio API integration with managed OAuth. SMS, voice calls, phone numbers, and communications. Use this skill when users want to send SMS messages, make voice calls, manage phone numbers, or work with Twilio resources. For other third party apps, use the api-gateway skill (https://clawhub.ai/byungkyu/api-gateway). Requires network access and valid Maton API key. Calls run through the `maton` CLI with OAuth login, or over raw HTTP with a Maton API key where the CLI cannot be installed. Every call is authenticated as the user's connection and reaches only what that connection's authorization allows, which the provider enforces on every request; the endpoints documented here are the ones this skill uses, and any other endpoint of this app needs the user to ask for it by name. Default to read and list calls, and confirm every write or new connection with the user. This file also documents the three constructs that turn a Twilio connection into automation, in the order they are used: the connection (the first step), a hosted function that runs a Twilio action through the Maton SDK, and a trigger that calls that function on a schedule or on an event. Those sections are the platform's own reference text, shared with the api-gateway skill, with Twilio examples; they add no Twilio capability - Twilio is not an event source, a trigger cannot read Twilio data, and the files under `references/<source>/triggers.md` are the platform's event catalogues for the sources Maton offers (time, Calendly, GitHub, Gmail, HubSpot, Linear, Notion, Slack, Stripe).

95.7k