Scheduly

v1.0.0

A scheduling and booking management platform with Google Calendar integration, event type management, availability rules, and time slot booking capabilities.

0· 102·0 current·0 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for krishnakumarmahadevan-cmd/toolweb-scheduly.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Scheduly" (krishnakumarmahadevan-cmd/toolweb-scheduly) from ClawHub.
Skill page: https://clawhub.ai/krishnakumarmahadevan-cmd/toolweb-scheduly
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install toolweb-scheduly

ClawHub CLI

Package manager switcher

npx clawhub@latest install toolweb-scheduly
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
The name/description (scheduling, event types, availability, Google Calendar sync) matches the SKILL.md examples and the provided OpenAPI paths. There are no unrelated required env vars, binaries, or config paths requested that would contradict the claimed purpose.
Instruction Scope
SKILL.md is instruction-only and documents REST calls to a remote API (https://api.toolweb.in/tools/scheduly) and Google OAuth endpoints. The instructions do not ask the agent to read local files, environment variables, or other system state outside of constructing API requests. They do direct user data (names, emails, booking notes, and OAuth tokens) to an external service, which is expected for a scheduling integration.
Install Mechanism
No install spec or code is included (instruction-only), so nothing is written to disk or installed by the skill. This is the lowest-risk install posture and matches the skill content.
Credentials
The skill requests no environment variables or credentials from the agent. However, it relies on an external OAuth flow (Google) — users will grant the remote service access to their Google Calendar and the service will hold tokens. The SKILL.md also mentions paid actions (500 coins per event-type creation) but does not explain payment credentials or where coins are billed; this is a functional detail to verify with the service provider.
Persistence & Privilege
The skill does not request permanent presence (always flag is false), does not include install-time behaviors, and does not modify other skills or agent-wide settings. Autonomous invocation is allowed by default but is not combined with other concerning privileges here.
Assessment
This skill appears internally consistent for a scheduling API: it will make requests to an external domain (api.toolweb.in) and prompt Google OAuth so that the remote service can access your calendar. Before installing or using it, verify the remote service and privacy policy (there's no homepage/source provided), review the OAuth scopes you'll be granting, and confirm how 'coins' / payments are handled and billed. Avoid sharing unrelated secrets or platform credentials; if you plan to connect a Google account, inspect the consent screen carefully and consider using an account with limited permissions if you have concerns. If you need stronger assurance, ask the publisher for a homepage, source repo, or documentation describing token storage, retention, and billing.

Like a lobster shell, security has layers — review code before you run it.

latestvk97atqp10j3yznx2btebe7awdh83zk39
102downloads
0stars
1versions
Updated 3w ago
v1.0.0
MIT-0

Overview

Scheduly is a comprehensive scheduling API that enables users to create custom event types, manage availability, and handle bookings with built-in Google Calendar synchronization. The platform is designed for professionals and teams who need to streamline their scheduling workflows with flexible availability rules, blocked date management, and automatic renewal capabilities.

Key capabilities include event type creation and management with monthly renewal (500 coins per creation), granular availability scheduling by day and time, public booking pages for guests, and complete booking lifecycle management. Users can connect their Google Calendar accounts, set timezone preferences, and automate renewal processes to ensure continuous availability.

Ideal users include freelancers, consultants, coaches, therapists, and any service provider who needs to offer time slots to clients while maintaining control over their availability and managing calendar integrations seamlessly.

Usage

Create an Event Type

{
  "name": "30-Minute Consultation",
  "description": "One-on-one consultation session",
  "duration_minutes": 30,
  "color": "#3b82f6"
}

Request:

curl -X POST https://api.toolweb.in/tools/scheduly/event-types \
  -H "Content-Type: application/json" \
  -d '{
    "name": "30-Minute Consultation",
    "description": "One-on-one consultation session",
    "duration_minutes": 30,
    "color": "#3b82f6"
  }' \
  -G --data-urlencode "user_id=user123"

Response:

{
  "id": 1,
  "user_id": "user123",
  "name": "30-Minute Consultation",
  "slug": "30-minute-consultation",
  "description": "One-on-one consultation session",
  "duration_minutes": 30,
  "color": "#3b82f6",
  "created_at": "2024-01-15T10:30:00Z",
  "expires_at": "2024-02-15T10:30:00Z",
  "is_expired": false,
  "in_grace_period": false,
  "auto_renewal_enabled": false
}

Create a Booking

{
  "event_type_slug": "30-minute-consultation",
  "guest_name": "John Doe",
  "guest_email": "john@example.com",
  "start_time": "2024-01-20T14:00:00Z",
  "timezone": "America/New_York",
  "notes": "Please call 5 minutes before the meeting"
}

Request:

curl -X POST https://api.toolweb.in/tools/scheduly/bookings \
  -H "Content-Type: application/json" \
  -d '{
    "event_type_slug": "30-minute-consultation",
    "guest_name": "John Doe",
    "guest_email": "john@example.com",
    "start_time": "2024-01-20T14:00:00Z",
    "timezone": "America/New_York",
    "notes": "Please call 5 minutes before the meeting"
  }'

Response:

{
  "id": "booking-001",
  "event_type_id": 1,
  "event_type_name": "30-Minute Consultation",
  "guest_name": "John Doe",
  "guest_email": "john@example.com",
  "start_time": "2024-01-20T14:00:00Z",
  "end_time": "2024-01-20T14:30:00Z",
  "timezone": "America/New_York",
  "notes": "Please call 5 minutes before the meeting",
  "created_at": "2024-01-15T11:00:00Z",
  "status": "confirmed"
}

Endpoints

Root & Health

GET /

Read root endpoint. Returns basic service information.

Parameters: None

Response: Service metadata and status.


GET /health

Health check endpoint. Verify API is running and operational.

Parameters: None

Response: Health status confirmation.


Google OAuth Authentication

GET /google/login

Initiate Google OAuth flow for calendar integration.

Parameters:

  • user_id (string, required): Unique user identifier

Response: OAuth authorization URL and session state.


GET /google/callback

Handle Google OAuth callback after user authorization.

Parameters:

  • code (string, required): Authorization code from Google
  • state (string, required): State parameter for CSRF protection

Response: User profile and calendar connection confirmation.


POST /user/disconnect-google

Disconnect Google Calendar account and revoke tokens.

Parameters:

  • user_id (string, required): Unique user identifier

Response: Confirmation of disconnection.


Event Type Management

POST /event-types

Create a new event type. Costs 500 coins and is valid for 1 month.

Parameters:

  • user_id (string, required): Unique user identifier

Request Body:

  • name (string, required): Event type name
  • description (string, optional): Event description
  • duration_minutes (integer, required): Duration in minutes
  • color (string, optional, default: #3b82f6): Hex color code for UI display

Response: Created event type with slug, expiry date, and renewal status.


GET /event-types

Get all event types for a user with expiry status, grace period, and auto-renewal info.

Parameters:

  • user_id (string, required): Unique user identifier

Response: Array of event types with:

  • id: Event type ID
  • name: Event type name
  • slug: URL-friendly identifier
  • duration_minutes: Booking duration
  • is_expired: Boolean indicating expiry status
  • in_grace_period: Boolean indicating grace period
  • auto_renewal_enabled: Boolean for auto-renewal status
  • expires_at: Expiration timestamp

GET /event-types/{slug}

Get a specific event type by slug.

Parameters:

  • slug (string, required, path): Event type slug
  • user_id (string, required): Unique user identifier

Response: Single event type object with full details.


DELETE /event-types/{event_id}

Delete an event type.

Parameters:

  • event_id (integer, required, path): Event type ID
  • user_id (string, required): Unique user identifier

Response: Deletion confirmation.


POST /event-types/{event_id}/renew

Renew an expired event type. Costs 500 coins and extends for 1 month.

Parameters:

  • event_id (integer, required, path): Event type ID
  • user_id (string, required): Unique user identifier

Response: Updated event type with new expiration date.


POST /event-types/{event_id}/toggle-auto-renewal

Enable or disable auto-renewal for an event type.

Parameters:

  • event_id (integer, required, path): Event type ID
  • user_id (string, required): Unique user identifier
  • enabled (boolean, required): Auto-renewal state (true/false)

Response: Updated event type with auto-renewal status.


Availability Management

POST /availability

Set availability rules for scheduling.

Parameters:

  • user_id (string, required): Unique user identifier

Request Body: Array of availability rules:

  • day_of_week (integer, required): Day 0=Monday to 6=Sunday
  • start_time (string, required): Start time in HH:MM format
  • end_time (string, required): End time in HH:MM format

Response: Confirmation of availability rules saved.


GET /availability

Get all availability rules for a user.

Parameters:

  • user_id (string, required): Unique user identifier

Response: Array of availability rules with day, start time, and end time.


GET /available-slots

Get time slots with availability status for a specific date.

Parameters:

  • user_id (string, required): Unique user identifier
  • event_type_slug (string, required): Event type slug
  • date (string, required): Date in YYYY-MM-DD format

Response: Array of available time slots with:

  • time: Slot time in HH:MM format
  • available: Boolean availability status
  • booked_by: Guest name if booked

Booking Management

POST /bookings

Create a new booking.

Parameters: None

Request Body:

  • event_type_slug (string, required): Event type slug
  • guest_name (string, required): Guest's full name
  • guest_email (string, required): Guest's email address
  • start_time (string, required): Booking start time in ISO 8601 format
  • timezone (string, required): Guest's timezone (e.g., America/New_York)
  • notes (string, optional): Additional booking notes

Response: Created booking object with confirmation details.


GET /bookings

Get all bookings for a user.

Parameters:

  • user_id (string, required): Unique user identifier

Response: Array of bookings with guest info, times, and status.


DELETE /bookings/{booking_id}

Cancel a booking.

Parameters:

  • booking_id (string, required, path): Booking ID
  • user_id (string, required): Unique user identifier

Response: Cancellation confirmation.


User Management

GET /user/info

Get user information and profile details.

Parameters:

  • user_id (string, required): Unique user identifier

Response: User object with name, email, timezone, and account status.


POST /user/timezone

Update user's timezone setting.

Parameters:

  • user_id (string, required): Unique user identifier

Request Body:

  • timezone (string, required): Timezone identifier (e.g., America/Los_Angeles)

Response: Updated user profile with new timezone.


POST /user/sync-wordpress-name

Fetch and sync WordPress user's display name.

Parameters:

  • user_id (string, required): Unique user identifier

Response: Updated user profile with synced display name.


POST /user/init

Initialize a user without Google OAuth (standalone mode).

Parameters:

  • user_id (string, required): Unique user identifier
  • name (string, optional): User's display name
  • email (string, optional): User's email address

Response: Initialized user profile with account created timestamp.


Blocked Dates Management

GET /blocked-dates

Get all blocked dates for a user.

Parameters:

  • user_id (string, required): Unique user identifier

Response: Array of blocked dates with:

  • id: Blocked date ID
  • date: Blocked date in YYYY-MM-DD format
  • reason: Optional reason for blocking

POST /blocked-dates

Add a blocked date.

Parameters:

  • user_id (string, required): Unique user identifier
  • date_str (string, required): Date in YYYY-MM-DD format
  • reason (string, optional): Reason for blocking

Response: Created blocked date object.


DELETE /blocked-dates/{blocked_id}

Remove a blocked date.

Parameters:

  • blocked_id (integer, required, path): Blocked date ID
  • user_id (string, required): Unique user identifier

Response: Deletion confirmation.


Public Booking Page

GET /public/{user_id}/{slug}

Get public booking page information without authentication.

Parameters:

  • user_id (string, required, path): User identifier
  • slug (string, required, path): Event type slug

Response: Public event type details with available slots for booking.


Scheduler

POST /scheduler/process-expirations

Process all expiring events, auto-renewals, and send notifications.

Note: This endpoint should be called daily by a cron job.

Parameters: None

Response: Processing summary with count of processed expirations and renewals.


Pricing

PlanCalls/DayCalls/MonthPrice
Free550Free
Developer20500$39/mo
Professional2005,000$99/mo
Enterprise100,0001,000,000$299/mo

About

ToolWeb.in - 200+ security APIs, CISSP & CISM, platforms: Pay-per-run, API Gateway, MCP Server, OpenClaw, RapidAPI, YouTube.

References

Comments

Loading comments...