Overview
Schedly's API & Developer Tools enable developers to seamlessly integrate Schedly's scheduling capabilities into their own applications. This powerful API supports the creation and management of events, integration with external systems, and real-time updates via webhooks, enhancing scheduling efficiency and customization.
Prerequisites
- A valid Schedly account
- Access to Schedly API keys, available only to users on the Enterprise Plan
- Knowledge of RESTful APIs and webhooks
Step-by-Step Instructions
Authenticating via the API
-
Obtain your API key from the Settings > Developer Tools section in your Schedly dashboard.
- Note: API keys are available only to Enterprise Plan users.
-
Pass the API key in the header of your RESTful API requests with the key name "Authorization".
{ "Authorization": "Bearer YOUR_API_KEY" }
-
Test your API connection using the endpoint:
GET /api/v1/statusto verify your authentication and API availability.
Creating and Managing Events through the API
-
To Create an Event:
- Send a
POSTrequest to/api/v1/eventswith the required fields:
{ "name": "Event Name", "description": "Event Description", "duration": 60, "seats": 20, "hidden": false }
- Ensure the duration is between 15 and 120 minutes.
- Send a
-
To Edit an Event:
- Use
PUT /api/v1/events/{eventId}to modify event details. - Update fields as needed, ensuring both name and duration fields are kept within valid parameters.
- Use
-
To Delete an Event:
- Send
DELETE /api/v1/events/{eventId}to remove an event permanently.
- Send
Integrating Schedly with External Systems
- Set up your external system to communicate with Schedly using webhooks.
- Configure your external system to send event data to and receive updates from Schedly's API at specified endpoints.
- Use Schedly's supported payload structure to ensure compatibility.
Using Webhooks for Real-Time Updates
- Go to Settings > Webhooks in your Schedly dashboard.
- Click Add Webhook and enter the URL endpoint for your application that will handle webhook payloads.
- Select the events you want to trigger your webhook, such as "Event Created" or "Event Canceled."
- Click Save to activate your webhook.
- Ensure your application handles incoming webhook requests promptly to maintain real-time integration.
Key Details & Limits
- API access requires an Enterprise Plan.
- Rate limits: 1,000 requests per hour.
- Event duration must be set between 15 and 120 minutes.
- Webhook setup is essential for real-time operations.
Frequently Asked Questions
- How do I get access to API features on the Enterprise Plan?
- Upgrade to the Enterprise Plan and navigate to Settings > Developer Tools for API key access.
- What are valid time limits for event durations?
- You can set event durations from 15 to 120 minutes.
- Can I create multiple events at once?
- Bulk event creation supported by sending multiple payloads in one
POSTrequest batch.
- Bulk event creation supported by sending multiple payloads in one
- Why isn't my webhook triggering?
- Ensure your endpoint URL is correct and your server is set to receive webhook payloads in the expected format.
- Are there methods to test my webhooks outside of production?
- Yes, use Schedly's sandbox environment to safely test and validate your webhook setup.
Troubleshooting
- Authentication Failed: Ensure your API key is correct and active. Check under Settings > Developer Tools.
- Event Creation Error: Verify all required fields are included, and values meet defined constraints (e.g., duration limits).
- Webhook Not Activating: Confirm the endpoint URL is accessible and correctly configured in the Webhooks section.
Related Topics
- Integrating Schedly with Google Calendar: Learn how to sync Schedly data with Google Calendar.
- Managing Schedly Teams via API: Guide to automating team management and assigning roles through Schedly's API.
- Configuring SSO with SAML/OIDC: A tutorial for setting up secure single sign-on integrations with Schedly.
- Using Schedly Insights for Analytics: Understand how to leverage Schedly analytics tools alongside custom integrations.