@apteva/integrations 0.2.3 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/apps/activecampaign.json +209 -0
- package/src/apps/activecollab.json +417 -0
- package/src/apps/airtable.json +235 -0
- package/src/apps/alpaca-trading.json +1554 -0
- package/src/apps/amadeus.json +225 -0
- package/src/apps/anthropic-api.json +96 -0
- package/src/apps/apify.json +203 -0
- package/src/apps/apollo.json +748 -0
- package/src/apps/apple-podcasts.json +116 -0
- package/src/apps/archive-api.json +104 -0
- package/src/apps/archive.json +151 -0
- package/src/apps/arduino-cloud.json +301 -0
- package/src/apps/arest.json +492 -0
- package/src/apps/asana.json +184 -0
- package/src/apps/ashby.json +176 -0
- package/src/apps/assemblyai.json +163 -0
- package/src/apps/attio.json +243 -0
- package/src/apps/aws-cloudfront.json +132 -0
- package/src/apps/aws-dynamodb.json +295 -0
- package/src/apps/aws-ec2.json +184 -0
- package/src/apps/aws-lambda.json +361 -0
- package/src/apps/aws-route53.json +110 -0
- package/src/apps/aws-s3.json +303 -0
- package/src/apps/aws-ses.json +556 -0
- package/src/apps/aws-sns.json +217 -0
- package/src/apps/aws-sqs.json +234 -0
- package/src/apps/axiom.json +123 -0
- package/src/apps/beehiiv.json +252 -0
- package/src/apps/binance-trading.json +555 -0
- package/src/apps/bitly.json +175 -0
- package/src/apps/bloobirds.json +246 -0
- package/src/apps/bluesky.json +201 -0
- package/src/apps/blynk.json +316 -0
- package/src/apps/booking-com.json +144 -0
- package/src/apps/box.json +289 -0
- package/src/apps/brevo.json +1423 -0
- package/src/apps/browse-ai.json +148 -0
- package/src/apps/bunny-cdn.json +330 -0
- package/src/apps/bunny-stream.json +387 -0
- package/src/apps/cal-com.json +240 -0
- package/src/apps/calendly.json +578 -0
- package/src/apps/calflow-calendar.json +706 -0
- package/src/apps/callrail.json +190 -0
- package/src/apps/canva.json +197 -0
- package/src/apps/cartesia.json +201 -0
- package/src/apps/castbase.json +753 -0
- package/src/apps/chargebee.json +226 -0
- package/src/apps/cleanster.json +359 -0
- package/src/apps/clicksend.json +278 -0
- package/src/apps/clickup.json +266 -0
- package/src/apps/clipkit.json +517 -0
- package/src/apps/close.json +359 -0
- package/src/apps/cloudflare.json +329 -0
- package/src/apps/cloudinary.json +164 -0
- package/src/apps/coda.json +288 -0
- package/src/apps/cohere.json +158 -0
- package/src/apps/coinbase.json +268 -0
- package/src/apps/composio.json +146 -0
- package/src/apps/confluence.json +270 -0
- package/src/apps/consensus.json +879 -0
- package/src/apps/contabo.json +733 -0
- package/src/apps/convertkit.json +211 -0
- package/src/apps/core-image.json +426 -0
- package/src/apps/core-video.json +1246 -0
- package/src/apps/craftcloud.json +298 -0
- package/src/apps/datadog.json +401 -0
- package/src/apps/dataforseo.json +1273 -0
- package/src/apps/deepseek.json +150 -0
- package/src/apps/dialpad.json +229 -0
- package/src/apps/discord.json +239 -0
- package/src/apps/dnsimple.json +405 -0
- package/src/apps/docusign.json +214 -0
- package/src/apps/docx.json +282 -0
- package/src/apps/dropbox.json +185 -0
- package/src/apps/duffel.json +231 -0
- package/src/apps/dux-soup.json +694 -0
- package/src/apps/dynadot.json +250 -0
- package/src/apps/elevenlabs.json +327 -0
- package/src/apps/eventbrite-events.json +598 -0
- package/src/apps/facebook-ads.json +1399 -0
- package/src/apps/facebook-api.json +282 -0
- package/src/apps/fal-ai.json +400 -0
- package/src/apps/fathom.json +86 -0
- package/src/apps/figma.json +162 -0
- package/src/apps/filestack.json +159 -0
- package/src/apps/firebase.json +271 -0
- package/src/apps/firecrawl.json +278 -0
- package/src/apps/folk.json +564 -0
- package/src/apps/forecast-app.json +377 -0
- package/src/apps/freshdesk.json +283 -0
- package/src/apps/gemini.json +528 -0
- package/src/apps/ghost.json +439 -0
- package/src/apps/gigs-marketplace.json +1442 -0
- package/src/apps/github.json +1479 -47
- package/src/apps/gitlab.json +448 -0
- package/src/apps/gmail.json +839 -28
- package/src/apps/gohighlevel.json +596 -0
- package/src/apps/google-ads.json +270 -0
- package/src/apps/google-calendar.json +996 -36
- package/src/apps/google-docs.json +278 -0
- package/src/apps/google-drive.json +360 -0
- package/src/apps/google-maps.json +473 -0
- package/src/apps/google-sheets.json +330 -0
- package/src/apps/gooten.json +411 -0
- package/src/apps/gravity-forms.json +385 -0
- package/src/apps/gusto.json +171 -0
- package/src/apps/hackernews.json +221 -0
- package/src/apps/harmonic.json +86 -0
- package/src/apps/helpscout.json +664 -0
- package/src/apps/hetzner.json +658 -0
- package/src/apps/heygen.json +184 -0
- package/src/apps/heyreach.json +388 -0
- package/src/apps/hospitable.json +340 -0
- package/src/apps/hostinger.json +374 -0
- package/src/apps/hubspot.json +682 -0
- package/src/apps/huggingface.json +97 -0
- package/src/apps/hunter.json +504 -0
- package/src/apps/ig-trading.json +849 -0
- package/src/apps/imaterialise.json +349 -0
- package/src/apps/instagram-api.json +538 -0
- package/src/apps/intercom.json +648 -0
- package/src/apps/jira.json +226 -0
- package/src/apps/klaviyo.json +199 -0
- package/src/apps/kling-ai.json +206 -0
- package/src/apps/kraken.json +870 -0
- package/src/apps/late.json +1056 -0
- package/src/apps/leadpages.json +243 -0
- package/src/apps/learning-platform.json +2244 -0
- package/src/apps/linear.json +184 -57
- package/src/apps/linkedin.json +179 -0
- package/src/apps/listen-notes.json +136 -0
- package/src/apps/lnk-bio.json +125 -0
- package/src/apps/loom.json +188 -0
- package/src/apps/luma.json +280 -0
- package/src/apps/mailchimp.json +238 -0
- package/src/apps/mailgun.json +310 -0
- package/src/apps/manychat.json +312 -0
- package/src/apps/marin-software.json +843 -0
- package/src/apps/media-downloader.json +157 -0
- package/src/apps/meetup-events.json +361 -0
- package/src/apps/meshy.json +248 -0
- package/src/apps/microsoft-teams.json +162 -0
- package/src/apps/monday.json +213 -0
- package/src/apps/mongodb-atlas.json +467 -0
- package/src/apps/namecheap.json +252 -0
- package/src/apps/nexar.json +289 -0
- package/src/apps/notion.json +530 -50
- package/src/apps/omnikit-analytics.json +374 -0
- package/src/apps/omnikit-api-gateway.json +660 -0
- package/src/apps/omnikit-billing.json +1781 -0
- package/src/apps/omnikit-cms.json +899 -0
- package/src/apps/omnikit-functions.json +329 -0
- package/src/apps/omnikit-intelligence.json +650 -0
- package/src/apps/omnikit-management.json +214 -0
- package/src/apps/omnikit-media.json +646 -0
- package/src/apps/omnikit-messaging.json +1826 -0
- package/src/apps/omnikit-redirects.json +209 -0
- package/src/apps/omnikit-webhooks.json +269 -0
- package/src/apps/omnikit-workflows.json +323 -0
- package/src/apps/openai-api.json +462 -0
- package/src/apps/openmeteo-weather.json +75 -0
- package/src/apps/optinmonster.json +244 -0
- package/src/apps/paidkit.json +1218 -0
- package/src/apps/paypal.json +254 -0
- package/src/apps/pdf.json +366 -0
- package/src/apps/pipedrive.json +255 -0
- package/src/apps/polymarket.json +653 -0
- package/src/apps/porkbun.json +417 -0
- package/src/apps/portfolio.json +501 -0
- package/src/apps/postmark.json +257 -0
- package/src/apps/printful.json +273 -0
- package/src/apps/printify.json +295 -0
- package/src/apps/producthunt.json +346 -0
- package/src/apps/pushover-notifications.json +113 -0
- package/src/apps/qonto.json +366 -0
- package/src/apps/quickbooks.json +234 -0
- package/src/apps/replicate.json +106 -0
- package/src/apps/rss.json +281 -0
- package/src/apps/salesflow.json +538 -0
- package/src/apps/salesforce-crm.json +216 -0
- package/src/apps/sap.json +256 -0
- package/src/apps/scaleway.json +911 -0
- package/src/apps/sculpteo.json +234 -0
- package/src/apps/sendgrid-email.json +233 -0
- package/src/apps/sendgrid.json +160 -35
- package/src/apps/shapeways.json +188 -0
- package/src/apps/shopify.json +1217 -0
- package/src/apps/skai.json +779 -0
- package/src/apps/slack.json +228 -38
- package/src/apps/slant3d.json +231 -0
- package/src/apps/slides.json +760 -0
- package/src/apps/smartly.json +504 -0
- package/src/apps/snov.json +467 -0
- package/src/apps/socialcast.json +553 -63
- package/src/apps/square.json +274 -0
- package/src/apps/storage-management.json +788 -0
- package/src/apps/storylane.json +180 -0
- package/src/apps/strapi.json +338 -0
- package/src/apps/stripe-payments.json +847 -0
- package/src/apps/stripe.json +472 -35
- package/src/apps/supabase.json +169 -0
- package/src/apps/supademo.json +115 -0
- package/src/apps/taskflow.json +714 -0
- package/src/apps/teamwork.json +457 -0
- package/src/apps/telegram.json +444 -0
- package/src/apps/thinger.json +458 -0
- package/src/apps/ticktick.json +169 -0
- package/src/apps/tiktok-api.json +406 -0
- package/src/apps/todoist.json +151 -0
- package/src/apps/together.json +123 -0
- package/src/apps/torrent.json +267 -0
- package/src/apps/trading.json +1012 -0
- package/src/apps/trading212.json +383 -0
- package/src/apps/trello.json +205 -0
- package/src/apps/tripo.json +157 -0
- package/src/apps/twilio.json +1008 -0
- package/src/apps/twitter-ads.json +875 -0
- package/src/apps/twitter-api.json +1151 -0
- package/src/apps/twitterapiio.json +548 -0
- package/src/apps/typeform.json +210 -0
- package/src/apps/vidforge.json +1020 -0
- package/src/apps/vonage.json +394 -0
- package/src/apps/vultr.json +225 -0
- package/src/apps/webflow.json +223 -0
- package/src/apps/wise.json +273 -0
- package/src/apps/wistia.json +283 -0
- package/src/apps/woocommerce.json +288 -0
- package/src/apps/wordpress.json +1675 -0
- package/src/apps/xero.json +257 -0
- package/src/apps/youtube-api.json +861 -0
- package/src/apps/zendesk.json +295 -0
- package/src/apps/zite.json +173 -0
- package/src/apps/zoho-crm.json +386 -0
- package/src/apps/zoo.json +193 -0
- package/src/apps/zoom.json +334 -0
|
@@ -0,0 +1,578 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slug": "calendly",
|
|
3
|
+
"name": "Calendly",
|
|
4
|
+
"description": "MCP server for Calendly scheduling — manage event types, scheduled events, invitees, availability, scheduling links, and webhooks",
|
|
5
|
+
"logo": "https://www.google.com/s2/favicons?domain=calendly.com&sz=128",
|
|
6
|
+
"categories": [
|
|
7
|
+
"scheduling",
|
|
8
|
+
"calendar",
|
|
9
|
+
"meetings",
|
|
10
|
+
"appointments",
|
|
11
|
+
"booking"
|
|
12
|
+
],
|
|
13
|
+
"base_url": "https://api.calendly.com",
|
|
14
|
+
"auth": {
|
|
15
|
+
"types": [
|
|
16
|
+
"bearer"
|
|
17
|
+
],
|
|
18
|
+
"headers": {
|
|
19
|
+
"Authorization": "Bearer {{token}}"
|
|
20
|
+
},
|
|
21
|
+
"credential_fields": [
|
|
22
|
+
{
|
|
23
|
+
"name": "token",
|
|
24
|
+
"label": "Api Key",
|
|
25
|
+
"description": "Calendly Personal Access Token"
|
|
26
|
+
}
|
|
27
|
+
]
|
|
28
|
+
},
|
|
29
|
+
"tools": [
|
|
30
|
+
{
|
|
31
|
+
"name": "get_current_user",
|
|
32
|
+
"description": "Get the current authenticated user's info including name, email, scheduling URL, timezone, and organization URI. Call this first to get your user URI and organization URI needed by other endpoints.",
|
|
33
|
+
"method": "GET",
|
|
34
|
+
"path": "/users/me",
|
|
35
|
+
"input_schema": {
|
|
36
|
+
"type": "object",
|
|
37
|
+
"properties": {}
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"name": "list_event_types",
|
|
42
|
+
"description": "List available event types (meeting templates). IMPORTANT: You must provide either 'user' or 'organization' as a full Calendly URI (e.g., https://api.calendly.com/users/XXXXX). Get your user URI from the get-current-user tool first.",
|
|
43
|
+
"method": "GET",
|
|
44
|
+
"path": "/event_types",
|
|
45
|
+
"input_schema": {
|
|
46
|
+
"type": "object",
|
|
47
|
+
"properties": {
|
|
48
|
+
"user": {
|
|
49
|
+
"type": "string",
|
|
50
|
+
"description": "User URI (full URL like https://api.calendly.com/users/XXXXX). Required if organization not provided."
|
|
51
|
+
},
|
|
52
|
+
"organization": {
|
|
53
|
+
"type": "string",
|
|
54
|
+
"description": "Organization URI. Required if user not provided."
|
|
55
|
+
},
|
|
56
|
+
"active": {
|
|
57
|
+
"type": "boolean",
|
|
58
|
+
"description": "Filter by active (true) or inactive (false) event types"
|
|
59
|
+
},
|
|
60
|
+
"count": {
|
|
61
|
+
"type": "integer",
|
|
62
|
+
"description": "Number of results per page (default 20)"
|
|
63
|
+
},
|
|
64
|
+
"page_token": {
|
|
65
|
+
"type": "string",
|
|
66
|
+
"description": "Token for next page of results"
|
|
67
|
+
},
|
|
68
|
+
"sort": {
|
|
69
|
+
"type": "string",
|
|
70
|
+
"description": "Sort order (e.g., 'name:asc')"
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"name": "get_event_type",
|
|
77
|
+
"description": "Get detailed info about a specific event type including duration, location, color, and scheduling URL",
|
|
78
|
+
"method": "GET",
|
|
79
|
+
"path": "/event_types/%7B%7Bevent_type_uuid%7D%7D",
|
|
80
|
+
"input_schema": {
|
|
81
|
+
"type": "object",
|
|
82
|
+
"properties": {
|
|
83
|
+
"event_type_uuid": {
|
|
84
|
+
"type": "string",
|
|
85
|
+
"description": "Event type UUID (the ID portion from the event type URI)"
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
"required": [
|
|
89
|
+
"event_type_uuid"
|
|
90
|
+
]
|
|
91
|
+
}
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"name": "list_scheduled_events",
|
|
95
|
+
"description": "List scheduled events (booked meetings). IMPORTANT: You must provide either 'user' or 'organization' as a full Calendly URI. Use min_start_time/max_start_time to filter by date range.",
|
|
96
|
+
"method": "GET",
|
|
97
|
+
"path": "/scheduled_events",
|
|
98
|
+
"input_schema": {
|
|
99
|
+
"type": "object",
|
|
100
|
+
"properties": {
|
|
101
|
+
"user": {
|
|
102
|
+
"type": "string",
|
|
103
|
+
"description": "User URI (full URL). Required if organization not provided."
|
|
104
|
+
},
|
|
105
|
+
"organization": {
|
|
106
|
+
"type": "string",
|
|
107
|
+
"description": "Organization URI. Required if user not provided."
|
|
108
|
+
},
|
|
109
|
+
"min_start_time": {
|
|
110
|
+
"type": "string",
|
|
111
|
+
"description": "Only events starting after this time (ISO 8601, e.g., 2025-01-01T00:00:00Z)"
|
|
112
|
+
},
|
|
113
|
+
"max_start_time": {
|
|
114
|
+
"type": "string",
|
|
115
|
+
"description": "Only events starting before this time (ISO 8601)"
|
|
116
|
+
},
|
|
117
|
+
"status": {
|
|
118
|
+
"type": "string",
|
|
119
|
+
"enum": [
|
|
120
|
+
"active",
|
|
121
|
+
"canceled"
|
|
122
|
+
],
|
|
123
|
+
"description": "Filter by event status"
|
|
124
|
+
},
|
|
125
|
+
"invitee_email": {
|
|
126
|
+
"type": "string",
|
|
127
|
+
"description": "Filter by invitee email"
|
|
128
|
+
},
|
|
129
|
+
"count": {
|
|
130
|
+
"type": "integer",
|
|
131
|
+
"description": "Results per page (default 20)"
|
|
132
|
+
},
|
|
133
|
+
"page_token": {
|
|
134
|
+
"type": "string",
|
|
135
|
+
"description": "Token for next page"
|
|
136
|
+
},
|
|
137
|
+
"sort": {
|
|
138
|
+
"type": "string",
|
|
139
|
+
"description": "Sort order (e.g., 'start_time:asc')"
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
"name": "get_scheduled_event",
|
|
146
|
+
"description": "Get details of a specific scheduled event including start/end time, location, status, and event type",
|
|
147
|
+
"method": "GET",
|
|
148
|
+
"path": "/scheduled_events/%7B%7Bevent_uuid%7D%7D",
|
|
149
|
+
"input_schema": {
|
|
150
|
+
"type": "object",
|
|
151
|
+
"properties": {
|
|
152
|
+
"event_uuid": {
|
|
153
|
+
"type": "string",
|
|
154
|
+
"description": "Scheduled event UUID"
|
|
155
|
+
}
|
|
156
|
+
},
|
|
157
|
+
"required": [
|
|
158
|
+
"event_uuid"
|
|
159
|
+
]
|
|
160
|
+
}
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
"name": "cancel_event",
|
|
164
|
+
"description": "Cancel a scheduled event. Optionally provide a reason for cancellation.",
|
|
165
|
+
"method": "POST",
|
|
166
|
+
"path": "/scheduled_events/%7B%7Bevent_uuid%7D%7D/cancellation",
|
|
167
|
+
"input_schema": {
|
|
168
|
+
"type": "object",
|
|
169
|
+
"properties": {
|
|
170
|
+
"event_uuid": {
|
|
171
|
+
"type": "string",
|
|
172
|
+
"description": "UUID of the event to cancel"
|
|
173
|
+
},
|
|
174
|
+
"reason": {
|
|
175
|
+
"type": "string",
|
|
176
|
+
"description": "Cancellation reason (shown to invitees)"
|
|
177
|
+
}
|
|
178
|
+
},
|
|
179
|
+
"required": [
|
|
180
|
+
"event_uuid"
|
|
181
|
+
]
|
|
182
|
+
}
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
"name": "list_invitees",
|
|
186
|
+
"description": "List all invitees for a scheduled event — includes name, email, questions/answers, timezone, and cancellation info",
|
|
187
|
+
"method": "GET",
|
|
188
|
+
"path": "/scheduled_events/%7B%7Bevent_uuid%7D%7D/invitees",
|
|
189
|
+
"input_schema": {
|
|
190
|
+
"type": "object",
|
|
191
|
+
"properties": {
|
|
192
|
+
"event_uuid": {
|
|
193
|
+
"type": "string",
|
|
194
|
+
"description": "Scheduled event UUID"
|
|
195
|
+
},
|
|
196
|
+
"status": {
|
|
197
|
+
"type": "string",
|
|
198
|
+
"enum": [
|
|
199
|
+
"active",
|
|
200
|
+
"canceled"
|
|
201
|
+
],
|
|
202
|
+
"description": "Filter by invitee status"
|
|
203
|
+
},
|
|
204
|
+
"email": {
|
|
205
|
+
"type": "string",
|
|
206
|
+
"description": "Filter by invitee email"
|
|
207
|
+
},
|
|
208
|
+
"count": {
|
|
209
|
+
"type": "integer",
|
|
210
|
+
"description": "Results per page"
|
|
211
|
+
},
|
|
212
|
+
"page_token": {
|
|
213
|
+
"type": "string",
|
|
214
|
+
"description": "Token for next page"
|
|
215
|
+
},
|
|
216
|
+
"sort": {
|
|
217
|
+
"type": "string",
|
|
218
|
+
"description": "Sort order"
|
|
219
|
+
}
|
|
220
|
+
},
|
|
221
|
+
"required": [
|
|
222
|
+
"event_uuid"
|
|
223
|
+
]
|
|
224
|
+
}
|
|
225
|
+
},
|
|
226
|
+
{
|
|
227
|
+
"name": "mark_no_show",
|
|
228
|
+
"description": "Mark an invitee as a no-show for a scheduled event",
|
|
229
|
+
"method": "POST",
|
|
230
|
+
"path": "/scheduled_events/%7B%7Bevent_uuid%7D%7D/invitees/%7B%7Binvitee_uuid%7D%7D/no_show",
|
|
231
|
+
"input_schema": {
|
|
232
|
+
"type": "object",
|
|
233
|
+
"properties": {
|
|
234
|
+
"event_uuid": {
|
|
235
|
+
"type": "string",
|
|
236
|
+
"description": "Scheduled event UUID"
|
|
237
|
+
},
|
|
238
|
+
"invitee_uuid": {
|
|
239
|
+
"type": "string",
|
|
240
|
+
"description": "Invitee UUID"
|
|
241
|
+
}
|
|
242
|
+
},
|
|
243
|
+
"required": [
|
|
244
|
+
"event_uuid",
|
|
245
|
+
"invitee_uuid"
|
|
246
|
+
]
|
|
247
|
+
}
|
|
248
|
+
},
|
|
249
|
+
{
|
|
250
|
+
"name": "create_scheduling_link",
|
|
251
|
+
"description": "Create a single-use scheduling link for an event type. The link expires after one booking or 90 days. Returns a booking_url that can be shared with a prospect.",
|
|
252
|
+
"method": "POST",
|
|
253
|
+
"path": "/scheduling_links",
|
|
254
|
+
"input_schema": {
|
|
255
|
+
"type": "object",
|
|
256
|
+
"properties": {
|
|
257
|
+
"max_event_count": {
|
|
258
|
+
"type": "integer",
|
|
259
|
+
"description": "Max number of events that can be scheduled (use 1 for single-use)",
|
|
260
|
+
"default": 1
|
|
261
|
+
},
|
|
262
|
+
"owner": {
|
|
263
|
+
"type": "string",
|
|
264
|
+
"description": "Event type URI (full URL like https://api.calendly.com/event_types/XXXXX)"
|
|
265
|
+
},
|
|
266
|
+
"owner_type": {
|
|
267
|
+
"type": "string",
|
|
268
|
+
"default": "EventType",
|
|
269
|
+
"description": "Must be 'EventType'"
|
|
270
|
+
}
|
|
271
|
+
},
|
|
272
|
+
"required": [
|
|
273
|
+
"max_event_count",
|
|
274
|
+
"owner",
|
|
275
|
+
"owner_type"
|
|
276
|
+
]
|
|
277
|
+
}
|
|
278
|
+
},
|
|
279
|
+
{
|
|
280
|
+
"name": "create_one_off_event_type",
|
|
281
|
+
"description": "Create a temporary event type for a specific occasion — useful for custom meetings not covered by regular event types",
|
|
282
|
+
"method": "POST",
|
|
283
|
+
"path": "/one_off_event_types",
|
|
284
|
+
"input_schema": {
|
|
285
|
+
"type": "object",
|
|
286
|
+
"properties": {
|
|
287
|
+
"name": {
|
|
288
|
+
"type": "string",
|
|
289
|
+
"description": "Name for this one-off event type"
|
|
290
|
+
},
|
|
291
|
+
"host": {
|
|
292
|
+
"type": "string",
|
|
293
|
+
"description": "Host user URI (full URL)"
|
|
294
|
+
},
|
|
295
|
+
"duration": {
|
|
296
|
+
"type": "integer",
|
|
297
|
+
"description": "Duration in minutes"
|
|
298
|
+
},
|
|
299
|
+
"timezone": {
|
|
300
|
+
"type": "string",
|
|
301
|
+
"description": "Timezone (e.g., 'America/New_York')"
|
|
302
|
+
},
|
|
303
|
+
"date_setting": {
|
|
304
|
+
"type": "object",
|
|
305
|
+
"description": "Date range settings",
|
|
306
|
+
"properties": {
|
|
307
|
+
"type": {
|
|
308
|
+
"type": "string",
|
|
309
|
+
"enum": [
|
|
310
|
+
"date_range"
|
|
311
|
+
],
|
|
312
|
+
"description": "Must be 'date_range'"
|
|
313
|
+
},
|
|
314
|
+
"start_date": {
|
|
315
|
+
"type": "string",
|
|
316
|
+
"description": "Start date (YYYY-MM-DD)"
|
|
317
|
+
},
|
|
318
|
+
"end_date": {
|
|
319
|
+
"type": "string",
|
|
320
|
+
"description": "End date (YYYY-MM-DD)"
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
},
|
|
324
|
+
"location": {
|
|
325
|
+
"type": "object",
|
|
326
|
+
"description": "Meeting location",
|
|
327
|
+
"properties": {
|
|
328
|
+
"kind": {
|
|
329
|
+
"type": "string",
|
|
330
|
+
"description": "Location type (e.g., 'physical', 'custom', 'google_conference', 'zoom_conference')"
|
|
331
|
+
},
|
|
332
|
+
"location": {
|
|
333
|
+
"type": "string",
|
|
334
|
+
"description": "Location details (address or URL)"
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
},
|
|
339
|
+
"required": [
|
|
340
|
+
"name",
|
|
341
|
+
"host",
|
|
342
|
+
"duration"
|
|
343
|
+
]
|
|
344
|
+
}
|
|
345
|
+
},
|
|
346
|
+
{
|
|
347
|
+
"name": "list_available_times",
|
|
348
|
+
"description": "List available time slots for an event type within a date range. Useful for checking when someone can be booked.",
|
|
349
|
+
"method": "GET",
|
|
350
|
+
"path": "/event_type_available_times",
|
|
351
|
+
"input_schema": {
|
|
352
|
+
"type": "object",
|
|
353
|
+
"properties": {
|
|
354
|
+
"event_type": {
|
|
355
|
+
"type": "string",
|
|
356
|
+
"description": "Event type URI (full URL)"
|
|
357
|
+
},
|
|
358
|
+
"start_time": {
|
|
359
|
+
"type": "string",
|
|
360
|
+
"description": "Start of range (ISO 8601, e.g., 2025-03-01T00:00:00Z)"
|
|
361
|
+
},
|
|
362
|
+
"end_time": {
|
|
363
|
+
"type": "string",
|
|
364
|
+
"description": "End of range (ISO 8601, max 7 days from start)"
|
|
365
|
+
}
|
|
366
|
+
},
|
|
367
|
+
"required": [
|
|
368
|
+
"event_type",
|
|
369
|
+
"start_time",
|
|
370
|
+
"end_time"
|
|
371
|
+
]
|
|
372
|
+
}
|
|
373
|
+
},
|
|
374
|
+
{
|
|
375
|
+
"name": "list_busy_times",
|
|
376
|
+
"description": "List time blocks when a user is busy/unavailable within a date range",
|
|
377
|
+
"method": "GET",
|
|
378
|
+
"path": "/user_busy_times",
|
|
379
|
+
"input_schema": {
|
|
380
|
+
"type": "object",
|
|
381
|
+
"properties": {
|
|
382
|
+
"user": {
|
|
383
|
+
"type": "string",
|
|
384
|
+
"description": "User URI (full URL)"
|
|
385
|
+
},
|
|
386
|
+
"start_time": {
|
|
387
|
+
"type": "string",
|
|
388
|
+
"description": "Start of range (ISO 8601)"
|
|
389
|
+
},
|
|
390
|
+
"end_time": {
|
|
391
|
+
"type": "string",
|
|
392
|
+
"description": "End of range (ISO 8601)"
|
|
393
|
+
}
|
|
394
|
+
},
|
|
395
|
+
"required": [
|
|
396
|
+
"user",
|
|
397
|
+
"start_time",
|
|
398
|
+
"end_time"
|
|
399
|
+
]
|
|
400
|
+
}
|
|
401
|
+
},
|
|
402
|
+
{
|
|
403
|
+
"name": "list_availability_schedules",
|
|
404
|
+
"description": "List a user's availability schedules (working hours configuration)",
|
|
405
|
+
"method": "GET",
|
|
406
|
+
"path": "/user_availability_schedules",
|
|
407
|
+
"input_schema": {
|
|
408
|
+
"type": "object",
|
|
409
|
+
"properties": {
|
|
410
|
+
"user": {
|
|
411
|
+
"type": "string",
|
|
412
|
+
"description": "User URI (full URL)"
|
|
413
|
+
}
|
|
414
|
+
},
|
|
415
|
+
"required": [
|
|
416
|
+
"user"
|
|
417
|
+
]
|
|
418
|
+
}
|
|
419
|
+
},
|
|
420
|
+
{
|
|
421
|
+
"name": "list_webhooks",
|
|
422
|
+
"description": "List webhook subscriptions for an organization. Webhooks fire on invitee.created, invitee.canceled, and routing_form_submission.created events.",
|
|
423
|
+
"method": "GET",
|
|
424
|
+
"path": "/webhook_subscriptions",
|
|
425
|
+
"input_schema": {
|
|
426
|
+
"type": "object",
|
|
427
|
+
"properties": {
|
|
428
|
+
"organization": {
|
|
429
|
+
"type": "string",
|
|
430
|
+
"description": "Organization URI (required)"
|
|
431
|
+
},
|
|
432
|
+
"scope": {
|
|
433
|
+
"type": "string",
|
|
434
|
+
"enum": [
|
|
435
|
+
"user",
|
|
436
|
+
"organization"
|
|
437
|
+
],
|
|
438
|
+
"description": "Webhook scope"
|
|
439
|
+
},
|
|
440
|
+
"user": {
|
|
441
|
+
"type": "string",
|
|
442
|
+
"description": "User URI (required if scope is 'user')"
|
|
443
|
+
},
|
|
444
|
+
"count": {
|
|
445
|
+
"type": "integer",
|
|
446
|
+
"description": "Results per page"
|
|
447
|
+
},
|
|
448
|
+
"page_token": {
|
|
449
|
+
"type": "string",
|
|
450
|
+
"description": "Token for next page"
|
|
451
|
+
}
|
|
452
|
+
},
|
|
453
|
+
"required": [
|
|
454
|
+
"organization",
|
|
455
|
+
"scope"
|
|
456
|
+
]
|
|
457
|
+
}
|
|
458
|
+
},
|
|
459
|
+
{
|
|
460
|
+
"name": "create_webhook",
|
|
461
|
+
"description": "Create a webhook subscription. Supported events: invitee.created (new booking), invitee.canceled (cancellation), routing_form_submission.created (form submitted).",
|
|
462
|
+
"method": "POST",
|
|
463
|
+
"path": "/webhook_subscriptions",
|
|
464
|
+
"input_schema": {
|
|
465
|
+
"type": "object",
|
|
466
|
+
"properties": {
|
|
467
|
+
"url": {
|
|
468
|
+
"type": "string",
|
|
469
|
+
"description": "Webhook callback URL"
|
|
470
|
+
},
|
|
471
|
+
"events": {
|
|
472
|
+
"type": "array",
|
|
473
|
+
"items": {
|
|
474
|
+
"type": "string"
|
|
475
|
+
},
|
|
476
|
+
"description": "Events to subscribe to: invitee.created, invitee.canceled, routing_form_submission.created"
|
|
477
|
+
},
|
|
478
|
+
"organization": {
|
|
479
|
+
"type": "string",
|
|
480
|
+
"description": "Organization URI (required)"
|
|
481
|
+
},
|
|
482
|
+
"scope": {
|
|
483
|
+
"type": "string",
|
|
484
|
+
"enum": [
|
|
485
|
+
"user",
|
|
486
|
+
"organization"
|
|
487
|
+
],
|
|
488
|
+
"description": "Webhook scope"
|
|
489
|
+
},
|
|
490
|
+
"user": {
|
|
491
|
+
"type": "string",
|
|
492
|
+
"description": "User URI (required if scope is 'user')"
|
|
493
|
+
},
|
|
494
|
+
"signing_key": {
|
|
495
|
+
"type": "string",
|
|
496
|
+
"description": "Optional key for webhook signature verification"
|
|
497
|
+
}
|
|
498
|
+
},
|
|
499
|
+
"required": [
|
|
500
|
+
"url",
|
|
501
|
+
"events",
|
|
502
|
+
"organization",
|
|
503
|
+
"scope"
|
|
504
|
+
]
|
|
505
|
+
}
|
|
506
|
+
},
|
|
507
|
+
{
|
|
508
|
+
"name": "delete_webhook",
|
|
509
|
+
"description": "Delete a webhook subscription by its UUID",
|
|
510
|
+
"method": "DELETE",
|
|
511
|
+
"path": "/webhook_subscriptions/%7B%7Bwebhook_uuid%7D%7D",
|
|
512
|
+
"input_schema": {
|
|
513
|
+
"type": "object",
|
|
514
|
+
"properties": {
|
|
515
|
+
"webhook_uuid": {
|
|
516
|
+
"type": "string",
|
|
517
|
+
"description": "Webhook subscription UUID to delete"
|
|
518
|
+
}
|
|
519
|
+
},
|
|
520
|
+
"required": [
|
|
521
|
+
"webhook_uuid"
|
|
522
|
+
]
|
|
523
|
+
}
|
|
524
|
+
},
|
|
525
|
+
{
|
|
526
|
+
"name": "list_routing_forms",
|
|
527
|
+
"description": "List routing forms for an organization — forms that route invitees to the right event type based on their answers",
|
|
528
|
+
"method": "GET",
|
|
529
|
+
"path": "/routing_forms",
|
|
530
|
+
"input_schema": {
|
|
531
|
+
"type": "object",
|
|
532
|
+
"properties": {
|
|
533
|
+
"organization": {
|
|
534
|
+
"type": "string",
|
|
535
|
+
"description": "Organization URI (required)"
|
|
536
|
+
},
|
|
537
|
+
"count": {
|
|
538
|
+
"type": "integer",
|
|
539
|
+
"description": "Results per page"
|
|
540
|
+
},
|
|
541
|
+
"page_token": {
|
|
542
|
+
"type": "string",
|
|
543
|
+
"description": "Token for next page"
|
|
544
|
+
}
|
|
545
|
+
},
|
|
546
|
+
"required": [
|
|
547
|
+
"organization"
|
|
548
|
+
]
|
|
549
|
+
}
|
|
550
|
+
},
|
|
551
|
+
{
|
|
552
|
+
"name": "list_routing_form_submissions",
|
|
553
|
+
"description": "List submissions for a routing form — see how invitees answered routing questions and which event type they were routed to",
|
|
554
|
+
"method": "GET",
|
|
555
|
+
"path": "/routing_form_submissions",
|
|
556
|
+
"input_schema": {
|
|
557
|
+
"type": "object",
|
|
558
|
+
"properties": {
|
|
559
|
+
"form": {
|
|
560
|
+
"type": "string",
|
|
561
|
+
"description": "Routing form URI (full URL)"
|
|
562
|
+
},
|
|
563
|
+
"count": {
|
|
564
|
+
"type": "integer",
|
|
565
|
+
"description": "Results per page"
|
|
566
|
+
},
|
|
567
|
+
"page_token": {
|
|
568
|
+
"type": "string",
|
|
569
|
+
"description": "Token for next page"
|
|
570
|
+
}
|
|
571
|
+
},
|
|
572
|
+
"required": [
|
|
573
|
+
"form"
|
|
574
|
+
]
|
|
575
|
+
}
|
|
576
|
+
}
|
|
577
|
+
]
|
|
578
|
+
}
|