Skip to content
Back to skills

1 User And Organization Management

ASecurity

Sub-skill of calendly-api: 1. User and Organization Management.

  • 17 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added September 9, 2026
businesspythongoapi

Works with

  • cli
  • api

Security analysis

A100/100

Scanned September 9, 2026

npx -y skills add vamseeachanta/workspace-hub --skill 1-user-and-organization-management --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of 1 User And Organization Management?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for 1 User And Organization Management
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vamseeachanta-1-user-and-organization-management/badge)](https://www.skillsdirectory.com/skills/vamseeachanta-1-user-and-organization-management)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: calendly-api-1-user-and-organization-management
description: 'Sub-skill of calendly-api: 1. User and Organization Management.'
version: 1.0.0
category: business
type: reference
scripts_exempt: true
---

# 1. User and Organization Management

## 1. User and Organization Management


```python
# users.py
# ABOUTME: User and organization management
# ABOUTME: Retrieve user profiles, organization info, memberships

from client import client


def get_current_user() -> dict:
    """Get the current authenticated user"""
    response = client.get("/users/me")
    user = response.get("resource", {})

    return {
        "uri": user.get("uri"),
        "name": user.get("name"),
        "email": user.get("email"),
        "slug": user.get("slug"),
        "scheduling_url": user.get("scheduling_url"),
        "timezone": user.get("timezone"),
        "organization": user.get("current_organization"),
    }


def get_user_by_uri(user_uri: str) -> dict:
    """Get a user by their URI"""
    # Extract UUID from URI
    uuid = user_uri.split("/")[-1]
    response = client.get(f"/users/{uuid}")
    return response.get("resource", {})


def get_organization(organization_uri: str = None) -> dict:
    """Get organization details"""
    org_uri = organization_uri or client.organization_uri
    uuid = org_uri.split("/")[-1]
    response = client.get(f"/organizations/{uuid}")
    return response.get("resource", {})


def list_organization_memberships(
    organization_uri: str = None,
    email: str = None,
) -> list:
    """List organization memberships"""
    org_uri = organization_uri or client.organization_uri

    params = {"organization": org_uri}
    if email:
        params["email"] = email

    return client.paginate("/organization_memberships", params=params)


def get_user_availability_schedules(user_uri: str = None) -> list:
    """Get user's availability schedules"""
    user = user_uri or client.user_uri
    params = {"user": user}
    return client.paginate("/user_availability_schedules", params=params)


def get_user_busy_times(
    user_uri: str = None,
    start_time: str = None,
    end_time: str = None,
) -> list:
    """Get user's busy times for a date range

    Times should be ISO 8601 format: 2026-01-17T00:00:00Z
    """
    user = user_uri or client.user_uri
    params = {
        "user": user,
        "start_time": start_time,
        "end_time": end_time,
    }
    response = client.get("/user_busy_times", params=params)
    return response.get("collection", [])


if __name__ == "__main__":
    # Get current user
    user = get_current_user()
    print(f"User: {user['name']} ({user['email']})")
    print(f"Scheduling URL: {user['scheduling_url']}")

    # List memberships
    memberships = list_organization_memberships()
    print(f"\nOrganization has {len(memberships)} members")
```

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.