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-timesCaly: 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_toolsandcaly:execute_typescriptlisted (Code Mode, the default): callcaly:search_toolsfirst, then call each tool insidecaly:execute_typescriptasexternal_<tool>(for exampleexternal_find_available_slots); the program mustreturnits result. Batch independent reads withPromise.all. - "Tool not found": switch to the Code Mode route instead of retrying the direct call.
- No
calytools 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, optionaltimeZoneandduration), grouped by date.
Workflow
- Call
caly:whoamiandcaly:list_event_typestogether. Use the account'stimeZoneunless the user names another one, and say which time zone you are using. - 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.
- Turn the user's range ("next week", "Thursday afternoon") into concrete
startandenddates in that time zone. If no range is given, use the next 7 days. - Call
caly:find_available_slotswith the event type id, the range and the time zone. If the user wants a length the event type allows (lengthInMinutesOptions), pass it asduration. - 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.
- If there are no slots, call
caly:list_schedulesand explain why (outside working hours, a date override, minimum notice fromcaly:get_event_type), then offer the nearest free day. - Offer next steps: book one of the slots with the
booking-meetingsskill, or share the event type'sbookingUrlso the other person picks a time.
Rules
- This skill only reads. Never call
caly:create_booking,caly:reschedule_bookingorcaly:cancel_bookingfrom it. - Report only slots that
caly:find_available_slotsreturned. 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
@byungkyuGoogle 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).
klaviyo
@byungkyuKlaviyo 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).
Telegram Bot
@byungkyuTelegram 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).
Slack
@byungkyuSlack 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).
Twilio
@byungkyuTwilio 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).