booking-notify

Booking Notifications (Dual-Channel)

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "booking-notify" with this command: npx skills add terrylica/cc-skills/terrylica-cc-skills-booking-notify

Booking Notifications (Dual-Channel)

Automated booking notifications via two channels:

Channel Delivery Format Use Case

Telegram Scheduled HTML Interactive commands, daily digest, search

Pushover Real-time Plain text Emergency alerts with custom sound (dune)

Mandatory Preflight

Step 1: Check Sync Script Exists

ls -la "$HOME/.claude/plugins/marketplaces/cc-skills/plugins/calcom-commander/scripts/sync.ts" 2>/dev/null || echo "SCRIPT_NOT_FOUND"

Step 2: Verify Environment (Required)

echo "CALCOM_OP_UUID: ${CALCOM_OP_UUID:-NOT_SET}" echo "TELEGRAM_BOT_TOKEN: ${TELEGRAM_BOT_TOKEN:+SET}" echo "TELEGRAM_CHAT_ID: ${TELEGRAM_CHAT_ID:-NOT_SET}" echo "HAIKU_MODEL: ${HAIKU_MODEL:-NOT_SET}"

All must be SET. If any are NOT_SET, run the setup command first.

Step 3: Verify Pushover (Optional)

echo "PUSHOVER_APP_TOKEN: ${PUSHOVER_APP_TOKEN:+SET}" echo "PUSHOVER_USER_KEY: ${PUSHOVER_USER_KEY:+SET}" echo "PUSHOVER_SOUND: ${PUSHOVER_SOUND:-dune}" echo "WEBHOOK_RELAY_URL: ${WEBHOOK_RELAY_URL:-NOT_SET}"

If NOT_SET: Pushover is optional. Telegram-only operation still works. To enable, see pushover-setup.md.

Step 4: Verify Cal.com CLI Binary

ls -la "$HOME/.claude/plugins/marketplaces/cc-skills/plugins/calcom-commander/scripts/calcom-cli/calcom" 2>/dev/null || echo "BINARY_NOT_FOUND"

If BINARY_NOT_FOUND: Build it:

cd "$HOME/.claude/plugins/marketplaces/cc-skills/plugins/calcom-commander/scripts/calcom-cli" && bun install && bun run build

Notification Channels

Telegram (Scheduled Sync)

6h polling via launchd. Sends HTML-formatted messages for:

Category Examples

NEW BOOKING New interview scheduled, new consultation booked

CANCELLATION Booking cancelled by attendee, host cancelled

UPCOMING Booking starting in 1 hour, today's schedule

RESCHEDULED Booking moved to new time, date changed

Pushover (Real-Time Webhook)

Instant notifications via Cloud Run webhook relay:

Event Priority Sound Must Acknowledge?

New booking 2 (Emergency) dune Yes

Rescheduled 2 (Emergency) dune Yes

Cancelled 0 (Normal) dune No

Webhook Relay

The webhook relay is a lightweight Cloud Run service that bridges Cal.com webhooks to Pushover. See webhook-relay.md for deployment.

Running Manually

cd ~/own/amonic && bun run "$HOME/.claude/plugins/marketplaces/cc-skills/plugins/calcom-commander/scripts/sync.ts"

Sync Behavior

  • Fetches bookings from Cal.com API (last 6h window)

  • Compares against last-known state (file-based)

  • Detects new bookings, cancellations, and reschedules

  • Sends Telegram notification (HTML) for each change

  • Sends Pushover notification (plain text) if credentials configured

  • Updates state file for next sync cycle

  • Circuit breaker prevents cascade failures on API errors

mise Configuration (Agnostic Wiring)

Any repository can adopt these notifications by adding to .mise.local.toml :

[env]

Required (Telegram)

CALCOM_OP_UUID = "<1password-uuid>" TELEGRAM_BOT_TOKEN = "<bot-token>" TELEGRAM_CHAT_ID = "<chat-id>"

Optional (Pushover dual-channel)

PUSHOVER_APP_TOKEN = "<pushover-app-token>" PUSHOVER_USER_KEY = "<pushover-user-key>" PUSHOVER_SOUND = "dune" WEBHOOK_RELAY_URL = "https://calcom-pushover-webhook-XXXXX.us-central1.run.app/"

References

  • notification-templates.md — Dual-channel message templates

  • pushover-setup.md — Pushover credential setup guide

  • webhook-relay.md — Webhook relay deployment + management

  • sync-config.md — Sync interval and state management

Post-Change Checklist

  • YAML frontmatter valid (no colons in description)

  • Trigger keywords current

  • Path patterns use $HOME not hardcoded paths

  • Pushover graceful degradation verified (works without Pushover creds)

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

pandoc-pdf-generation

No summary provided by upstream source.

Repository SourceNeeds Review
General

mql5-indicator-patterns

No summary provided by upstream source.

Repository SourceNeeds Review
General

mise-tasks

No summary provided by upstream source.

Repository SourceNeeds Review
General

semantic-release

No summary provided by upstream source.

Repository SourceNeeds Review