calendly-api-2-event-types
Sub-skill of calendly-api: 2. Event Types.
Best use case
calendly-api-2-event-types is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Sub-skill of calendly-api: 2. Event Types.
Teams using calendly-api-2-event-types should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/2-event-types/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How calendly-api-2-event-types Compares
| Feature / Agent | calendly-api-2-event-types | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Sub-skill of calendly-api: 2. Event Types.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# 2. Event Types
## 2. Event Types
```python
# event_types.py
# ABOUTME: Event type management
# ABOUTME: Create, list, and configure event types
from client import client
from typing import Optional, List
def list_event_types(
user_uri: str = None,
organization_uri: str = None,
active: bool = True,
) -> list:
"""List all event types for a user or organization"""
params = {}
if user_uri:
params["user"] = user_uri
elif organization_uri:
params["organization"] = organization_uri
else:
params["user"] = client.user_uri
if active is not None:
params["active"] = str(active).lower()
return client.paginate("/event_types", params=params)
def get_event_type(event_type_uri: str) -> dict:
"""Get event type details"""
uuid = event_type_uri.split("/")[-1]
response = client.get(f"/event_types/{uuid}")
return response.get("resource", {})
def get_event_type_by_slug(slug: str, user_uri: str = None) -> Optional[dict]:
"""Find event type by slug"""
event_types = list_event_types(user_uri=user_uri)
for et in event_types:
if et.get("slug") == slug:
return et
return None
def get_available_times(
event_type_uri: str,
start_time: str,
end_time: str,
) -> list:
"""Get available time slots for an event type
Times should be ISO 8601 format: 2026-01-17T00:00:00Z
"""
params = {
"event_type": event_type_uri,
"start_time": start_time,
"end_time": end_time,
}
response = client.get("/event_type_available_times", params=params)
return response.get("collection", [])
def format_event_type_summary(event_type: dict) -> dict:
"""Format event type for display"""
return {
"name": event_type.get("name"),
"slug": event_type.get("slug"),
"duration": event_type.get("duration"),
"scheduling_url": event_type.get("scheduling_url"),
"type": event_type.get("type"), # StandardEventType, AdhocEventType
"kind": event_type.get("kind"), # solo, round_robin, collective
"active": event_type.get("active"),
"description": event_type.get("description_plain"),
}
def list_event_types_summary(user_uri: str = None) -> list:
"""Get summarized list of event types"""
event_types = list_event_types(user_uri=user_uri)
return [format_event_type_summary(et) for et in event_types]
if __name__ == "__main__":
# List all event types
event_types = list_event_types_summary()
print("Available Event Types:")
for et in event_types:
status = "Active" if et["active"] else "Inactive"
print(f" - {et['name']} ({et['duration']} min) [{status}]")
print(f" URL: {et['scheduling_url']}")
# Get available times for an event type
if event_types:
et_uri = event_types[0].get("uri")
from datetime import datetime, timedelta
start = datetime.now().isoformat() + "Z"
end = (datetime.now() + timedelta(days=7)).isoformat() + "Z"
times = get_available_times(et_uri, start, end)
print(f"\nAvailable slots: {len(times)}")
```Related Skills
agent-teams-agent-types-for-common-tasks
Sub-skill of agent-teams: Agent Types for Common Tasks.
raycast-alfred-2-raycast-typescript-extensions
Sub-skill of raycast-alfred: 2. Raycast TypeScript Extensions.
windmill-2-typescriptdeno-scripts
Sub-skill of windmill: 2. TypeScript/Deno Scripts.
orcaflex-file-conversion-orcaflex-file-types
Sub-skill of orcaflex-file-conversion: OrcaFlex File Types (+1).
orcaflex-environment-config-wave-types
Sub-skill of orcaflex-environment-config: Wave Types (+2).
mooring-analysis-1-mooring-types
Sub-skill of mooring-analysis: 1. Mooring Types (+1).
marine-offshore-engineering-1-platform-types
Sub-skill of marine-offshore-engineering: 1. Platform Types (+3).
hydrodynamics-wave-spectrum-types
Sub-skill of hydrodynamics: Wave Spectrum Types.
fe-analyst-bc-types-in-orcaflex
Sub-skill of fe-analyst: BC Types in OrcaFlex (+2).
github-multi-repo-eventually-consistent
Sub-skill of github-multi-repo: Eventually Consistent (+2).
code-reviewer-typescriptjavascript
Sub-skill of code-reviewer: TypeScript/JavaScript (+2).
echarts-typescript-support
Sub-skill of echarts: TypeScript Support.