{"id":"0327ee1f-72d0-4769-b38d-5de2eb72c448","shortId":"5VgQBN","kind":"skill","title":"cal-com-automation","tagline":"Automate Cal.com tasks via Rube MCP (Composio): manage bookings, check availability, configure webhooks, and handle teams. Always search tools first for current schemas.","description":"# Cal.com Automation via Rube MCP\n\nAutomate Cal.com scheduling operations through Composio's Cal toolkit via Rube MCP.\n\n## Prerequisites\n\n- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)\n- Active Cal.com connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `cal`\n- Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas\n\n## Setup\n\n**Get Rube MCP**: Add `https://rube.app/mcp` as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.\n\n\n1. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds\n2. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `cal`\n3. If connection is not ACTIVE, follow the returned auth link to complete Cal.com authentication\n4. Confirm connection status shows ACTIVE before running any workflows\n\n## Core Workflows\n\n### 1. Manage Bookings\n\n**When to use**: User wants to list, create, or review bookings\n\n**Tool sequence**:\n1. `CAL_FETCH_ALL_BOOKINGS` - List all bookings with filters [Required]\n2. `CAL_POST_NEW_BOOKING_REQUEST` - Create a new booking [Optional]\n\n**Key parameters for listing**:\n- `status`: Filter by booking status ('upcoming', 'recurring', 'past', 'cancelled', 'unconfirmed')\n- `afterStart`: Filter bookings after this date (ISO 8601)\n- `beforeEnd`: Filter bookings before this date (ISO 8601)\n\n**Key parameters for creation**:\n- `eventTypeId`: Event type ID for the booking\n- `start`: Booking start time (ISO 8601)\n- `end`: Booking end time (ISO 8601)\n- `name`: Attendee name\n- `email`: Attendee email\n- `timeZone`: Attendee timezone (IANA format)\n- `language`: Attendee language code\n- `metadata`: Additional metadata object\n\n**Pitfalls**:\n- Date filters use ISO 8601 format with timezone (e.g., '2024-01-15T09:00:00Z')\n- `eventTypeId` must reference a valid, active event type\n- Booking creation requires matching an available slot; check availability first\n- Time zone must be a valid IANA timezone string (e.g., 'America/New_York')\n- Status filter values are specific strings; invalid values return empty results\n\n### 2. Check Availability\n\n**When to use**: User wants to find free/busy times or available booking slots\n\n**Tool sequence**:\n1. `CAL_RETRIEVE_CALENDAR_BUSY_TIMES` - Get busy time blocks [Required]\n2. `CAL_GET_AVAILABLE_SLOTS_INFO` - Get specific available slots [Required]\n\n**Key parameters**:\n- `dateFrom`: Start date for availability check (YYYY-MM-DD)\n- `dateTo`: End date for availability check (YYYY-MM-DD)\n- `eventTypeId`: Event type to check slots for\n- `timeZone`: Timezone for the availability response\n- `loggedInUsersTz`: Timezone of the requesting user\n\n**Pitfalls**:\n- Busy times show when the user is NOT available\n- Available slots are specific to an event type's duration and configuration\n- Date range should be reasonable (not months in advance) to get accurate results\n- Timezone affects how slots are displayed; always specify explicitly\n- Availability reflects calendar integrations (Google Calendar, Outlook, etc.)\n\n### 3. Configure Webhooks\n\n**When to use**: User wants to set up or manage webhook notifications for booking events\n\n**Tool sequence**:\n1. `CAL_RETRIEVE_WEBHOOKS_LIST` - List existing webhooks [Required]\n2. `CAL_GET_WEBHOOK_BY_ID` - Get specific webhook details [Optional]\n3. `CAL_UPDATE_WEBHOOK_BY_ID` - Update webhook configuration [Optional]\n4. `CAL_DELETE_WEBHOOK_BY_ID` - Remove a webhook [Optional]\n\n**Key parameters**:\n- `id`: Webhook ID for GET/UPDATE/DELETE operations\n- `subscriberUrl`: Webhook endpoint URL\n- `eventTriggers`: Array of event types to trigger on\n- `active`: Whether the webhook is active\n- `secret`: Webhook signing secret\n\n**Pitfalls**:\n- Webhook URLs must be publicly accessible HTTPS endpoints\n- Event triggers include: 'BOOKING_CREATED', 'BOOKING_RESCHEDULED', 'BOOKING_CANCELLED', etc.\n- Inactive webhooks do not fire; toggle `active` to enable/disable\n- Webhook secrets are used for payload signature verification\n\n### 4. Manage Teams\n\n**When to use**: User wants to create, view, or manage teams and team event types\n\n**Tool sequence**:\n1. `CAL_GET_TEAMS_LIST` - List all teams [Required]\n2. `CAL_GET_TEAM_INFORMATION_BY_TEAM_ID` - Get specific team details [Optional]\n3. `CAL_CREATE_TEAM_IN_ORGANIZATION` - Create a new team [Optional]\n4. `CAL_RETRIEVE_TEAM_EVENT_TYPES` - List event types for a team [Optional]\n\n**Key parameters**:\n- `teamId`: Team identifier\n- `name`: Team name (for creation)\n- `slug`: URL-friendly team identifier\n\n**Pitfalls**:\n- Team creation may require organization-level permissions\n- Team event types are separate from personal event types\n- Team slugs must be URL-safe and unique within the organization\n\n### 5. Organization Management\n\n**When to use**: User wants to view organization details\n\n**Tool sequence**:\n1. `CAL_GET_ORGANIZATION_ID` - Get the organization ID [Required]\n\n**Key parameters**: (none required)\n\n**Pitfalls**:\n- Organization ID is needed for team creation and org-level operations\n- Not all Cal.com accounts have organizations; personal plans may return errors\n\n## Common Patterns\n\n### Booking Creation Flow\n\n```\n1. Call CAL_GET_AVAILABLE_SLOTS_INFO to find open slots\n2. Present available times to the user\n3. Call CAL_POST_NEW_BOOKING_REQUEST with selected slot\n4. Confirm booking creation response\n```\n\n### ID Resolution\n\n**Team name -> Team ID**:\n```\n1. Call CAL_GET_TEAMS_LIST\n2. Find team by name in response\n3. Extract id field\n```\n\n### Webhook Setup\n\n```\n1. Call CAL_RETRIEVE_WEBHOOKS_LIST to check existing hooks\n2. Create or update webhook with desired triggers\n3. Verify webhook fires on test booking\n```\n\n## Known Pitfalls\n\n**Date/Time Formats**:\n- Booking times: ISO 8601 with timezone (e.g., '2024-01-15T09:00:00Z')\n- Availability dates: YYYY-MM-DD format\n- Always specify timezone explicitly to avoid confusion\n\n**Event Types**:\n- Event type IDs are numeric integers\n- Event types define duration, location, and booking rules\n- Disabled event types cannot accept new bookings\n\n**Permissions**:\n- Team operations require team membership or admin access\n- Organization operations require org-level permissions\n- Webhook management requires appropriate access level\n\n**Rate Limits**:\n- Cal.com API has rate limits per API key\n- Implement backoff on 429 responses\n\n## Quick Reference\n\n| Task | Tool Slug | Key Params |\n|------|-----------|------------|\n| List bookings | CAL_FETCH_ALL_BOOKINGS | status, afterStart, beforeEnd |\n| Create booking | CAL_POST_NEW_BOOKING_REQUEST | eventTypeId, start, end, name, email |\n| Get busy times | CAL_RETRIEVE_CALENDAR_BUSY_TIMES | dateFrom, dateTo |\n| Get available slots | CAL_GET_AVAILABLE_SLOTS_INFO | eventTypeId, dateFrom, dateTo |\n| List webhooks | CAL_RETRIEVE_WEBHOOKS_LIST | (none) |\n| Get webhook | CAL_GET_WEBHOOK_BY_ID | id |\n| Update webhook | CAL_UPDATE_WEBHOOK_BY_ID | id, subscriberUrl, eventTriggers |\n| Delete webhook | CAL_DELETE_WEBHOOK_BY_ID | id |\n| List teams | CAL_GET_TEAMS_LIST | (none) |\n| Get team | CAL_GET_TEAM_INFORMATION_BY_TEAM_ID | teamId |\n| Create team | CAL_CREATE_TEAM_IN_ORGANIZATION | name, slug |\n| Team event types | CAL_RETRIEVE_TEAM_EVENT_TYPES | teamId |\n| Get org ID | CAL_GET_ORGANIZATION_ID | (none) |\n\n## When to Use\nThis skill is applicable to execute the workflow or actions described in the overview.\n\n## Limitations\n- Use this skill only when the task clearly matches the scope described above.\n- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.\n- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.","tags":["cal","com","automation","antigravity","awesome","skills","sickn33","agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding"],"capabilities":["skill","source-sickn33","skill-cal-com-automation","topic-agent-skills","topic-agentic-skills","topic-ai-agent-skills","topic-ai-agents","topic-ai-coding","topic-ai-workflows","topic-antigravity","topic-antigravity-skills","topic-claude-code","topic-claude-code-skills","topic-codex-cli","topic-codex-skills"],"categories":["antigravity-awesome-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/sickn33/antigravity-awesome-skills/cal-com-automation","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add sickn33/antigravity-awesome-skills","source_repo":"https://github.com/sickn33/antigravity-awesome-skills","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 34882 github stars · SKILL.md body (7,588 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-24T12:50:43.460Z","embedding":null,"createdAt":"2026-04-18T21:33:58.846Z","updatedAt":"2026-04-24T12:50:43.460Z","lastSeenAt":"2026-04-24T12:50:43.460Z","tsv":"'-01':271,839 '-15':272,840 '/mcp':83 '00':274,842 '00z':275,843 '1':103,150,166,334,469,595,701,744,783,802 '2':115,177,316,345,478,604,755,789,812 '2024':270,838 '3':123,449,489,617,762,796,820 '4':138,499,575,628,772 '429':916 '5':687 '8601':209,217,234,240,265,834 'accept':878 'access':545,889,901 'account':731 'accur':430 'action':1055 'activ':55,128,143,281,529,534,564 'add':80,97 'addit':257 'admin':888 'advanc':427 'affect':433 'afterstart':202,932 'alway':21,65,438,851 'america/new_york':304 'api':93,906,911 'applic':1049 'appropri':900 'array':522 'ask':1093 'attende':242,245,248,253 'auth':132 'authent':137 'autom':4,5,29,33 'avail':15,54,108,289,292,318,329,348,353,362,372,389,406,407,441,748,757,844,957,961 'avoid':856 'backoff':914 'beforeend':210,933 'block':343 'book':13,152,163,170,173,181,186,195,204,212,228,230,236,284,330,465,551,553,555,741,767,774,826,831,872,880,926,930,935,939 'boundari':1101 'busi':338,341,398,947,952 'cal':2,40,64,122,167,178,335,346,470,479,490,500,596,605,618,629,702,746,764,785,804,927,936,949,959,969,976,984,994,1002,1009,1019,1029,1038 'cal-com-autom':1 'cal.com':6,28,34,56,136,730,905 'calendar':337,443,446,951 'call':66,116,745,763,784,803 'cancel':200,556 'cannot':877 'check':14,291,317,363,373,382,809 'clarif':1095 'clear':1068 'client':90 'code':255 'com':3 'common':739 'complet':135 'composio':11,38 'configur':16,91,418,450,497 'confirm':110,139,773 'confus':857 'connect':50,57,61,119,125,140 'core':148 'creat':160,183,552,584,619,623,813,934,1017,1020 'creation':221,285,650,659,722,742,775 'criteria':1104 'current':26,73 'date':207,215,261,360,370,419,845 'date/time':829 'datefrom':358,954,965 'dateto':368,955,966 'dd':367,377,849 'defin':868 'delet':501,992,995 'describ':1056,1072 'desir':818 'detail':487,615,698 'disabl':874 'display':437 'durat':416,869 'e.g':269,303,837 'email':244,246,945 'empti':314 'enable/disable':566 'end':235,237,369,943 'endpoint':99,519,547 'environ':1084 'environment-specif':1083 'error':738 'etc':448,557 'event':223,282,379,413,466,524,548,591,632,635,667,673,858,860,866,875,1027,1032 'eventtrigg':521,991 'eventtypeid':222,276,378,941,964 'execut':1051 'exist':475,810 'expert':1089 'explicit':440,854 'extract':797 'fetch':168,928 'field':799 'filter':175,193,203,211,262,306 'find':325,752,790 'fire':562,823 'first':24,70,293 'flow':743 'follow':129 'format':251,266,830,850 'free/busy':326 'friend':654 'get':72,77,340,347,351,429,480,484,597,606,612,703,706,747,786,946,956,960,974,977,1003,1007,1010,1035,1039 'get/update/delete':515 'googl':445 'handl':19 'hook':811 'https':546 'iana':250,300 'id':225,483,494,504,511,513,611,705,709,717,777,782,798,862,980,981,988,989,998,999,1015,1037,1041 'identifi':645,656 'implement':913 'inact':558 'includ':550 'info':350,750,963 'inform':608,1012 'input':1098 'integ':865 'integr':444 'invalid':311 'iso':208,216,233,239,264,833 'key':94,188,218,356,509,641,711,912,923 'known':827 'languag':252,254 'level':664,726,895,902 'limit':904,909,1060 'link':133 'list':159,171,191,473,474,599,600,634,788,807,925,967,972,1000,1005 'locat':870 'loggedinuserstz':391 'manag':12,60,118,151,461,576,587,689,898 'match':287,1069 'may':660,736 'mcp':10,32,44,47,79,86,106 'membership':886 'metadata':256,258 'miss':1106 'mm':366,376,848 'month':425 'must':48,277,296,542,677 'name':241,243,646,648,780,793,944,1024 'need':95,719 'new':180,185,625,766,879,938 'none':713,973,1006,1042 'notif':463 'numer':864 'object':259 'open':753 'oper':36,516,727,883,891 'option':187,488,498,508,616,627,640 'org':725,894,1036 'org-level':724,893 'organ':622,663,686,688,697,704,708,716,733,890,1023,1040 'organization-level':662 'outlook':447 'output':1078 'overview':1059 'param':924 'paramet':189,219,357,510,642,712 'past':199 'pattern':740 'payload':572 'per':910 'permiss':665,881,896,1099 'person':672,734 'pitfal':260,397,539,657,715,828 'plan':735 'post':179,765,937 'prerequisit':45 'present':756 'public':544 'quick':918 'rang':420 'rate':903,908 'reason':423 'recur':198 'refer':278,919 'reflect':442 'remov':505 'request':182,395,768,940 'requir':176,286,344,355,477,603,661,710,714,884,892,899,1097 'reschedul':554 'resolut':778 'respond':114 'respons':390,776,795,917 'result':315,431 'retriev':336,471,630,805,950,970,1030 'return':131,313,737 'review':162,1090 'rube':9,31,43,46,51,59,67,78,105,111,117 'rube.app':82 'rube.app/mcp':81 'rule':873 'run':145 'safe':681 'safeti':1100 'schedul':35 'schema':27,75 'scope':1071 'search':22,52,68,112 'secret':535,538,568 'select':770 'separ':670 'sequenc':165,333,468,594,700 'server':87 'set':458 'setup':76,801 'show':142,400 'sign':537 'signatur':573 'skill':1047,1063 'skill-cal-com-automation' 'slot':290,331,349,354,383,408,435,749,754,771,958,962 'slug':651,676,922,1025 'source-sickn33' 'specif':309,352,410,485,613,1085 'specifi':439,852 'start':229,231,359,942 'status':141,192,196,305,931 'stop':1091 'string':302,310 'subscriberurl':517,990 'substitut':1081 'success':1103 't09':273,841 'task':7,920,1067 'team':20,577,588,590,598,602,607,610,614,620,626,631,639,644,647,655,658,666,675,721,779,781,787,791,882,885,1001,1004,1008,1011,1014,1018,1021,1026,1031 'teamid':643,1016,1034 'test':825,1087 'time':232,238,294,327,339,342,399,758,832,948,953 'timezon':247,249,268,301,385,386,392,432,836,853 'toggl':563 'tool':23,53,69,74,113,164,332,467,593,699,921 'toolkit':41,63,121 'topic-agent-skills' 'topic-agentic-skills' 'topic-ai-agent-skills' 'topic-ai-agents' 'topic-ai-coding' 'topic-ai-workflows' 'topic-antigravity' 'topic-antigravity-skills' 'topic-claude-code' 'topic-claude-code-skills' 'topic-codex-cli' 'topic-codex-skills' 'treat':1076 'trigger':527,549,819 'type':224,283,380,414,525,592,633,636,668,674,859,861,867,876,1028,1033 'unconfirm':201 'uniqu':683 'upcom':197 'updat':491,495,815,982,985 'url':520,541,653,680 'url-friend':652 'url-saf':679 'use':155,263,321,454,570,580,692,1045,1061 'user':156,322,396,403,455,581,693,761 'valid':280,299,1086 'valu':307,312 'verif':574 'verifi':104,821 'via':8,30,42,58 'view':585,696 'want':157,323,456,582,694 'webhook':17,451,462,472,476,481,486,492,496,502,507,512,518,532,536,540,559,567,800,806,816,822,897,968,971,975,978,983,986,993,996 'whether':530 'within':684 'work':102 'workflow':147,149,1053 'yyyi':365,375,847 'yyyy-mm-dd':364,374,846 'zone':295","prices":[{"id":"86f82192-28d9-48a2-92f9-aad583b893c4","listingId":"0327ee1f-72d0-4769-b38d-5de2eb72c448","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"sickn33","category":"antigravity-awesome-skills","install_from":"skills.sh"},"createdAt":"2026-04-18T21:33:58.846Z"}],"sources":[{"listingId":"0327ee1f-72d0-4769-b38d-5de2eb72c448","source":"github","sourceId":"sickn33/antigravity-awesome-skills/cal-com-automation","sourceUrl":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/cal-com-automation","isPrimary":false,"firstSeenAt":"2026-04-18T21:33:58.846Z","lastSeenAt":"2026-04-24T12:50:43.460Z"}],"details":{"listingId":"0327ee1f-72d0-4769-b38d-5de2eb72c448","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"sickn33","slug":"cal-com-automation","github":{"repo":"sickn33/antigravity-awesome-skills","stars":34882,"topics":["agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding","ai-workflows","antigravity","antigravity-skills","claude-code","claude-code-skills","codex-cli","codex-skills","cursor","cursor-skills","developer-tools","gemini-cli","gemini-skills","kiro","mcp","skill-library"],"license":"mit","html_url":"https://github.com/sickn33/antigravity-awesome-skills","pushed_at":"2026-04-24T06:41:17Z","description":"Installable GitHub library of 1,400+ agentic skills for Claude Code, Cursor, Codex CLI, Gemini CLI, Antigravity, and more. Includes installer CLI, bundles, workflows, and official/community skill collections.","skill_md_sha":"4c2bfd8e640b972503c2df683c56fa0311331927","skill_md_path":"skills/cal-com-automation/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/cal-com-automation"},"layout":"multi","source":"github","category":"antigravity-awesome-skills","frontmatter":{"name":"cal-com-automation","description":"Automate Cal.com tasks via Rube MCP (Composio): manage bookings, check availability, configure webhooks, and handle teams. Always search tools first for current schemas."},"skills_sh_url":"https://skills.sh/sickn33/antigravity-awesome-skills/cal-com-automation"},"updatedAt":"2026-04-24T12:50:43.460Z"}}