Remote OpenClaw Blog
OpenClaw + Calendly: Automated Scheduling Workflows
5 min read ·
Remote OpenClaw Blog
5 min read ·
Calendly handles scheduling — but what happens before and after the booking is where most teams lose efficiency. Someone books a sales call, and then the rep spends 15 minutes researching the prospect. A client books a consultation, and the follow-up email goes out 3 days late. Connecting OpenClaw to Calendly automates these surrounding workflows.
Tested in production with a sales team processing 50+ Calendly bookings per week, the integration delivered two major improvements: automated pre-meeting research briefs (pulling prospect data from LinkedIn and the CRM before each call) and instant post-meeting follow-up sequences (triggered the moment a meeting ends).
For meeting recording and transcript processing, pair this with the Zoom integration. For CRM updates triggered by bookings, combine with the HubSpot integration. New to OpenClaw? Start with the beginner setup guide.
In Calendly, go to Settings > Integrations > API & Webhooks and generate a Personal Access Token:
# Store your Calendly token
export CALENDLY_TOKEN="your_personal_access_token"
# Verify the token and get your user URI
curl -s -H "Authorization: Bearer $CALENDLY_TOKEN" \
"https://api.calendly.com/users/me" | jq '{name: .resource.name, uri: .resource.uri}'
# List your event types
curl -s -H "Authorization: Bearer $CALENDLY_TOKEN" \
"https://api.calendly.com/event_types?user=YOUR_USER_URI" | jq '.collection[] | {name: .name, slug: .slug, uri: .uri}'
# ~/.openclaw/config.yaml
integrations:
calendly:
access_token: ${CALENDLY_TOKEN}
user_uri: "https://api.calendly.com/users/YOUR_USER_ID"
webhook_url: "https://your-openclaw-instance.com/webhooks/calendly"
pre_meeting_prep: true
prep_lead_time: 30 # minutes before meeting
skills:
- name: calendly-manager
trigger: "calendly"
actions:
- list_events
- get_event_details
- list_invitees
- create_webhook
- pre_meeting_brief
- post_meeting_followup
# Create a webhook subscription for new bookings
curl -s -X POST "https://api.calendly.com/webhook_subscriptions" \
-H "Authorization: Bearer $CALENDLY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"url": "https://your-openclaw-instance.com/webhooks/calendly",
"events": ["invitee.created", "invitee.canceled"],
"organization": "YOUR_ORG_URI",
"scope": "organization"
}' | jq '.resource.uri'
# Install the Calendly skill
openclaw skill install calendly-manager
# Test listing upcoming events
openclaw run "List all Calendly events scheduled for this week with invitee names and meeting types"
# Test pre-meeting brief
openclaw run "Generate a pre-meeting brief for my next Calendly booking: look up the invitee's company, role, recent news, and any prior interactions in our CRM"
schedule:
pre_meeting_prep:
cron: "*/30 * * * *"
action: "Check Calendly for meetings starting in the next 30 minutes. For each meeting, generate a prep brief: invitee name, company, role, LinkedIn profile summary, recent company news, any existing CRM records, and suggested talking points. Send the brief via Slack or email."
When someone books a Calendly meeting, OpenClaw automatically creates or updates their record in HubSpot with the meeting type, date, and any form responses from Calendly's booking questions:
Marketplace
Free skills and AI personas for OpenClaw — browse the marketplace.
Browse the Marketplace →# Triggered by Calendly webhook
on_event: "invitee.created"
action: "Look up the invitee email in HubSpot. If contact exists, log the meeting and update the deal stage. If new, create a contact with the booking details and assign to the appropriate sales rep based on the event type."
If someone books but does not show up, OpenClaw can detect the no-show (via Zoom integration) and automatically send a rescheduling email with a new Calendly link.
Webhooks require Calendly Professional or Teams plan. If you are on the free plan, webhooks will not be created. Also verify your webhook endpoint is publicly accessible via HTTPS and returns a 200 status code within 10 seconds.
Make sure you are using the correct user_uri parameter. The Calendly API returns events scoped to the authenticated user by default. For organization-wide access, use the organization URI with appropriate permissions.
Personal Access Tokens in Calendly have full access to the account they belong to. If you need to limit access (e.g., for a team member), use OAuth 2.0 with specific scopes instead of a PAT.
For the official Calendly API docs, see developer.calendly.com.
Partially. Calendly's free plan allows API access for reading event types and scheduled events. However, webhooks (which enable real-time automation) require Calendly Professional or higher. For full automation, we recommend Calendly Professional at minimum.
OpenClaw can list existing event types and their scheduling links but cannot create new event types through the API. Event types must be created in the Calendly dashboard. OpenClaw can dynamically select and share the appropriate scheduling link based on context.
OpenClaw receives webhook notifications for cancellations and reschedules. It can automatically update your CRM, notify relevant team members, remove related tasks, and update your daily schedule. You can also configure it to send a follow-up message to the person who cancelled with a new scheduling link.
Calendly already syncs with Google Calendar, Outlook, and iCloud to block time. OpenClaw adds intelligence on top — for example, blocking 15 minutes before each meeting for preparation time, or blocking focus time around high-priority meetings to prevent back-to-back scheduling.