[Cotlet](https://cotlet.dev/index.md) · [Integrations](https://cotlet.dev/integrations.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Security](https://cotlet.dev/security.md) · [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md) · [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [Contact](https://cotlet.dev/contact.md) · [Pricing](https://cotlet.dev/pricing.md) · [Sign up](https://cotlet.dev/signup)

# Skedda API and MCP server: Let your AI agent run your Skedda bookings.

> Skedda has a read-only API in beta and no MCP server (checked 31 Oct 2026). It lists booking occurrences and spaces, and sends webhooks for new, changed, cancelled and checked-in bookings. It cannot create, update or cancel a booking. Cotlet runs 12 Skedda tools hosted, over MCP for agents and REST for scripts.

Bookings, spaces, booking requests, usage and the activity feed of your Skedda venue. Use it in ChatGPT, Claude or any AI agent over MCP, or in n8n, Make and scripts over REST.

[MCP setup](https://cotlet.dev/integrations/skedda-api-mcp-server.md#connect)
[REST API guide](https://cotlet.dev/integrations/skedda-api-mcp-server.md#rest-api)

- Free 7-day trial, no card
- Unofficial, not affiliated with Skedda
- Page: https://cotlet.dev/integrations/skedda-api-mcp-server

## What can you automate in Skedda?

- List bookings for any date range
- Report space usage each week
- Approve or reject booking requests
- Block spaces for holidays and repairs
- Move or cancel bookings when a room closes
- Find who changed a booking

## Does Skedda have an MCP server or an API?

- The API needs Skedda Premier or AllBooked Advanced. A key from another plan gets a 403.
- Booking requests and the activity feed are not in the API. Zapier has triggers for new bookings and users, and no actions.
- Skedda's help center shows how to have Claude or ChatGPT write a script against the read-only API. The script runs on your computer and cannot change a booking.

| What you need | Official API | Zapier | Cotlet |
|---|---|---|---|
| List bookings and spaces | Yes, Premier plan | New bookings only | Yes |
| Push new bookings as they happen | Webhooks, Premier plan | New bookings, no edits | No, you schedule a run |
| Create, move or cancel a booking | No | No | Yes, after your OK |
| Approve or reject booking requests | No | No | Yes, after your OK |
| Read the activity feed | Not as a log | No | Yes |

Checked 31 Oct 2026. Sources: [Skedda API reference (beta)](https://api.skedda.com/api/v1/docs/), [Skedda Help: Using the API with AI assistants](https://support.skedda.com/en/articles/17312455-using-the-api-with-ai-assistants), [Skedda Help: Zapier trigger options](https://support.skedda.com/en/articles/5955649-zapier-trigger-options-for-skedda-and-allbooked-bookings), [Skedda Help: Webhooks](https://support.skedda.com/en/articles/17675989-webhooks)

## How does Cotlet connect to Skedda?

1. **Sign in to Skedda.** Use your own account in its Cotlet Cloud Browser.
2. **Choose MCP or REST.** Connect your agent or create a Cotlet API key.
3. **Run your workflow.** Ask your agent or send an HTTP request.

We never keep your Skedda password, and nothing that reaches your users happens until you approve it.

## Connect Skedda to your agent or workflow

Use MCP with your AI agent, or HTTP requests in n8n, Make, Zapier and scripts. Follow the MCP setup below or jump to the REST guide.

1. **Enable Skedda for agents.** Sign up, log in to Skedda in its Cloud Browser, then press Enable for agents.
2. **Add the Cotlet address.** Add https://cotlet.dev/mcp/v1 as an MCP server or connector in your agent.
3. **Approve the connection.** Chat apps ask you to sign in to Cotlet. Editors, n8n and scripts use an API key from the console.

One shared address, `https://cotlet.dev/mcp/v1`, also carries Skedda next to your other apps. If you enable Skedda after connecting, refresh the connector so the new tools show up.

Claude:

```
Settings > Connectors > Add custom connector
URL: https://cotlet.dev/mcp/v1/connect

Claude Code:
claude mcp add --transport http cotlet-skedda \
  https://cotlet.dev/mcp/v1 \
  --header "Authorization: Bearer $COTLET_API_KEY"
```

ChatGPT:

```
Settings > Apps & Connectors > Create
MCP server URL: https://cotlet.dev/mcp/v1/connect
Authentication: OAuth
```

Cursor:

```
// ~/.cursor/mcp.json
{
  "mcpServers": {
    "cotlet-skedda": {
      "url": "https://cotlet.dev/mcp/v1",
      "headers": { "Authorization": "Bearer ${env:COTLET_API_KEY}" }
    }
  }
}
```

Codex:

```
# ~/.codex/config.toml
[mcp_servers.cotlet-skedda]
url = "https://cotlet.dev/mcp/v1"
bearer_token_env_var = "COTLET_API_KEY"
```

n8n:

```
MCP Client Tool (inside an AI Agent)
Transport: HTTP Streamable
URL: https://cotlet.dev/mcp/v1
Auth: Bearer, <your key>
Tool: skedda_read
```

Make, Zapier:

```
Make: MCP Client > Call a tool
Zapier: MCP Client by Zapier > Run Tool
Server URL: https://cotlet.dev/mcp/v1
Token: <your key>
Tool: skedda_write
```

## How to use the Skedda REST API

### Create your Cotlet API key

Create a Cotlet API key with access to Skedda and its read operations. Store it as `COTLET_API_KEY` in your environment or automation platform's credential store.

Connect Skedda in Cotlet and enable it for agents. Account access: sign in as an Owner, System Admin or Booking Admin of your venue. Booking requests need a venue on Skedda Premier; the activity feed and users list are for system users.

### Make your first Skedda API request

REST:

```
curl "https://cotlet.dev/api/v1/skedda/bookings?date_from=2026-11-02&date_to=2026-11-08" \
  -H "Authorization: Bearer $COTLET_API_KEY"
```

### Read bookings and apply the date range

A successful REST call puts the tool output in `result`. This illustrative response excerpt omits call IDs, messages and credit details.

Illustrative response excerpt:

```
{
  "status": "success",
  "app": "skedda",
  "tool": "list_bookings",
  "result": {
    "bookings": [
      {
        "booking_id": "bkg_2041",
        "title": "Band rehearsal",
        "type": "User",
        "spaces": [
          "Studio A"
        ],
        "holder": "Jake Miller",
        "start": "2026-11-02T18:00:00+01:00",
        "end": "2026-11-02T21:00:00+01:00",
        "price": 45,
        "payment_status": "Unpaid"
      },
      {
        "booking_id": "bkg_2042",
        "title": "Podcast recording",
        "type": "User",
        "spaces": [
          "Studio B"
        ],
        "holder": "Priya Shah",
        "start": "2026-11-03T10:00:00+01:00",
        "end": "2026-11-03T11:30:00+01:00",
        "price": 30,
        "payment_status": "Paid"
      }
    ]
  }
}
```

Returns the bookings of the List view for the dates you give, with space, holder, type, price and payment status. A booking in several spaces appears once with all its spaces.

Ask for one week or one month at a time. Skedda's own API limits a request to 31 days, and the same window keeps your results small.

Replace the dates with your own range. Narrow the list with `space_id`, `holder_email`, `booking_type` or `search`.

Results include holder names. Some venues book for schools or junior sports, so keep personal details out of any destination that does not need them. Compare changed values such as times and spaces as well as `booking_id` when you refresh a destination.

### Skedda workflows for agents and automations

| Tool | Connect through | Example workflow |
|---|---|---|
| n8n | HTTP Request | Read `list_booking_requests` each morning and post the pending requests to a Slack channel for your booking admins. |
| Make | HTTP > Make a request | Call `get_usage_summary` for last month and add the booking count and hours of usage to a sheet for your board report. |
| Python or Node.js | REST API | Read `get_activity_feed` for the last week with `activity_type` set to `cancel` and save the cancelled bookings to a file. |

Send `Authorization: Bearer <your Cotlet API key>` in request headers. You configure the schedule, destination and record comparisons.

Cotlet reads Skedda; your workflow steps write to your chosen destination. These HTTP workflows do not require a native Cotlet connector or a prebuilt template.

Python and Node.js can use the same HTTP requests without an AI agent. Keep access keys in credentials, outside shared workflow exports.

The [API and MCP reference](https://cotlet.dev/integrations/skedda-api-mcp-server.md#tools) lists operations and inputs. The [REST API guide](https://cotlet.dev/docs/api.md) explains authentication, errors and approvals.

## Skedda API endpoints and MCP tools

### Bookings and spaces

Reads follow the List view. Create and change as a system user, so venue rules do not stop you, but a conflict is always refused.

- **List spaces** (`list_spaces`, read): Spaces of the venue with type, tags and capacity.
- **List bookings** (`list_bookings`, read): Bookings in a date range with space, holder, type, price and payment status.
- **Get booking** (`get_booking`, read): One booking with holder, notes, price, custom fields and repeat rule.
- **Create booking** (`create_booking`, write, asks first): Book one or more spaces for a user, the venue or as unavailable.
- **Update booking** (`update_booking`, write, asks first): Change the time, spaces, title, holder or price of a booking.
- **Cancel booking** (`cancel_booking`, write, asks first): Remove a booking from the schedule.

### Booking requests

Booking approvals exist only on Skedda Premier. Requests do not show on the scheduler.

- **List booking requests** (`list_booking_requests`, read): Pending booking requests waiting for an admin.
- **Approve booking request** (`approve_booking_request`, write, asks first): Approve a pending request and create the booking.
- **Reject booking request** (`reject_booking_request`, write, asks first): Reject a pending request with an optional note.

### Reports, activity and users

Read only. The activity feed and the users list are open to system users.

- **Get usage summary** (`get_usage_summary`, read): Booking count, hours of usage and total price for a period.
- **Get booking activity** (`get_activity_feed`, read): Log of new, updated, cancelled, charged and checked-in bookings.
- **List users** (`list_users`, read): Venue users with email, user tags and system tag.

Inputs, REST path and example response of every tool: https://cotlet.dev/integrations/skedda-api-mcp-server#tools

## Who can see my Skedda session, and how do I revoke it?

- **What we store.** Your logged-in Skedda profile, encrypted with AES-256-GCM, in Finland. Not the password.
- **What your agent gets.** The 12 Skedda tools. Never the cookie.
- **What the session sees.** Your venue: bookings, user names and emails, notes, prices.
- **What no tool touches.** Plan, billing, charging cards, settings, API keys and removing users.
- **If Skedda asks to verify.** You complete any extra sign-in step yourself. We never do.
- **How to cut access.** Disable for agents, reset the browser, or remove the user in Skedda.

Our site scores A+ on Qualys SSL Labs, securityheaders.com and Mozilla Observatory ([live results](https://cotlet.dev/security.md)). There is no SOC 2 report or third-party pentest yet.

## Is it against Skedda's terms? Account safety

> use bots, scripts or other automated means to access them, except through features or interfaces Skedda makes available for that purpose
>
> [Skedda Terms for Venue Users, section 7, 20 Oct 2026](https://support.skedda.com/en/articles/663302-skedda-terms-for-venue-users)

The venue agreement adds that a venue may not place excessive load on Skedda "through automated scripts or bots not permitted in the Documentation" (Terms of Service, section 2.3), and that Skedda may suspend access it believes breaches the terms. Neither text names AI agents. Cotlet works through the Skedda web app, but Skedda could still read it as automation. We found no public case of a Skedda account closed for automation (checked 31 Oct 2026, vendor pages and GitHub only).

How we keep your account looking like you:

- Your own admin account, logged in by you
- One Cloud Browser with its own IP and cookies, so no new-device check every call
- Anything that reaches your users waits for your OK
- No tool removes a user, a space or a setting
- If Skedda objects, we pause the Skedda tools for everyone within 24 h

> Skedda's read-only API is the official route for reading bookings. Use it if all you need is a data feed on Premier.

## What happens when Skedda changes?

- **12 h** between tests of the Skedda reads
- **$0** for a call to a Skedda tool paused for repair

When Skedda moves a button or renames a field, the fix happens on our side and your prompts keep working. [status.cotlet.dev](https://status.cotlet.dev) watches the site, console and API every 3 minutes.

## Approvals, undo and mistakes

1. **Reads the schedule.** The agent lists the bookings and spaces in the way.
2. **Plans the change.** Which booking moves, which is blocked, which is declined.
3. **Waits for your OK.** Each change shows up in your Cotlet console first.
4. **Reports the result.** Booking IDs, new times and anything Skedda refused.

| Action | Undo |
|---|---|
| Create a booking | Cancel it; the holder may already have an email |
| Move or edit a booking | Edit it back; the holder may have been told |
| Cancel a booking | Create it again; a Paid booking cannot be cancelled |
| Approve a request | Cancel the booking; the requester was emailed |
| Reject a request | The requester submits a new request |

All 5 write tools ask first, because each one can email a user or move a space they planned to use. The reads run at once. Switch the wait off per tool for a scheduled run.

> Skedda never allows double bookings, so a change onto a taken time is refused and costs nothing.

MCP call:

```
{
  "name": "create_booking",
  "arguments": {
    "space_ids": [
      "spc_101",
      "spc_102"
    ],
    "start": "2026-12-24T00:00:00+01:00",
    "end": "2026-12-26T23:59:00+01:00",
    "booking_type": "unavailable",
    "title": "Closed for holidays"
  }
}
```

REST:

```
curl -X POST https://cotlet.dev/api/v1/skedda/bookings \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"space_ids":["spc_101","spc_102"],"start":"2026-12-24T00:00:00+01:00","end":"2026-12-26T23:59:00+01:00","booking_type":"unavailable","title":"Closed for holidays"}'
```

Tool output:

```
{
  "booking_id": "bkg_2050",
  "title": "Closed for holidays",
  "type": "Unavailable",
  "spaces": [
    "Studio A",
    "Studio B"
  ],
  "start": "2026-12-24T00:00:00+01:00",
  "end": "2026-12-26T23:59:00+01:00",
  "occurrences": 1
}
```

Scripts and cron jobs reach the same tools over REST at `/api/v1/skedda`, with the same key and price. A REST write waits for your approval and answers with status pending. The tools table lists the REST path of each tool.

## How much does the Skedda MCP server cost?

**About $16 a month** for a venue of about 25 spaces with a daily request pass, 2,760 credits. Your Skedda plan is billed by Skedda as before.

| Job | Calls | Credits |
|---|---|---|
| Weekly usage report | 4 × 4 | 160 |
| Daily booking request pass | 4 × 22 | 880 |
| Block spaces for a closure | 3 × 2 | 60 |
| Move bookings when a room closes | 5 × 2 | 100 |
| Find who changed a booking | 2 × 3 | 60 |
| Cloud Browser, 30 days |  | 1,500 |
| Total |  | 2,760 |

- Free 7-day trial, no card
- 10 credits per successful call, MCP or REST
- 50 credits a day for the Cloud Browser
- No Skedda API plan needed

The month is our example: 22 working days of request passes and a few closures. Skedda's own plans start at 15 to 45 spaces and are billed by Skedda. Dollars at the $29 pack rate.

## Skedda MCP server on GitHub, Zapier or hosted: which to use

| Option | What it does | Where it stops |
|---|---|---|
| [d-wynn/SkeddaBooker](https://github.com/d-wynn/SkeddaBooker) | Books parking, desks and rooms on a schedule with GitHub Actions. 0 stars, last push 21 Nov 2025. | One person's booking script for your own login. No reads, no requests, no MCP. |
| [ryanyz10/skedda_booking_bot](https://github.com/ryanyz10/skedda_booking_bot) | Books tennis courts on Skedda. 5 stars, last push 2 Jun 2021. | Unmaintained since 2021. |
| [Zapier](https://zapier.com/apps/skedda/integrations) | Triggers for new bookings and new users. | No actions: it cannot create, move or cancel a booking. Edits are not sent. |
| Skedda API with an AI assistant | Claude or ChatGPT writes a script that reads bookings, per Skedda's help center. | Read only, Premier plan, and you run and fix the script. |

There is no Skedda MCP server on GitHub and no hosted one besides ours. If you only need to read bookings and you are on Premier, the official API is enough and costs nothing extra. Cotlet adds the changes the API cannot make, and venues on lower plans.

## Who runs Cotlet

Take Group sp. z o.o. runs Cotlet. It is a software company registered in Poland, EU (VAT PL6342984273), working since 2019, founded by Bart Krawczyk (Co-founder, CTO) and Jake Slugocki (Co-founder, SEO, sales and marketing). Write to contact@cotlet.dev with questions about the Skedda tools.

## Skedda API and MCP: questions

### How do I get access?

Create a free account at https://cotlet.dev, open Skedda under Integrations in the console and log in to Skedda in its Cloud Browser. The trial starts with your first app, no card asked.

### How do I connect Skedda to ChatGPT or Claude?

Sign up at cotlet.dev, log in to Skedda once in its Cloud Browser and add Cotlet to ChatGPT or Claude, following the steps in your console. No API key is needed. ChatGPT and Claude then work in your Skedda account through Cotlet, in their phone apps too.

### What can ChatGPT do in Skedda?

With Cotlet, ChatGPT, Claude and other AI agents handle jobs like these in Skedda: report space usage every week; approve booking requests that fit the rules; block out spaces for holidays and maintenance. You ask in plain words, and anything that reaches other people waits for your OK first.

### Which Skedda plan and role does the agent need?

Sign in as an Owner, System Admin or Booking Admin: they can create, edit and cancel bookings for others and open the activity feed (Skedda Help, checked 31 Oct 2026). Booking requests exist only on Skedda Premier. Cotlet does not need the API plan, because it works through the signed-in app.

### Can I read bookings with the official API instead?

Yes, on Skedda Premier or AllBooked Advanced. The read-only beta API lists booking occurrences and spaces, up to 31 days per request, with a key from Integrations > Developer (checked 31 Oct 2026). It cannot change a booking or read booking requests.

### Does Skedda have webhooks?

Yes, in beta on Premier and AllBooked Advanced: booking.created, booking.updated, booking.cancelled and booking_occurrence.checked_in (checked 31 Oct 2026). Cotlet does not receive them. Use them for your own system, and use Cotlet for the changes webhooks cannot make.

### Is the MCP server different from the REST API?

Only the door is different. Both expose the same 12 tools, inputs and answers, with one API key and one price. Agents use MCP; scripts and HTTP steps use REST.

### Is Cotlet affiliated with Skedda?

No. Cotlet is independent and not affiliated with Skedda.

### Can I use the Skedda API without an AI agent?

Yes. Call Cotlet's REST API from a script or an HTTP step in n8n, Make or Zapier with your Cotlet key. MCP is the alternative for AI agents; you do not need to connect an agent to use REST.

---

Give your AI agents your signed-in browser.

**Product:** [Integrations](https://cotlet.dev/integrations.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Pricing](https://cotlet.dev/pricing.md) · [Security](https://cotlet.dev/security.md)

**Resources:** [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [GitHub](https://github.com/cotletdev/cotlet)

**Solutions:** [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md)

**Company:** [About](https://cotlet.dev/about.md) · [AI info: company facts](https://cotlet.dev/ai-info.md) · [Contact](https://cotlet.dev/contact.md)

**Legal:** [Terms of service](https://cotlet.dev/terms) · [Privacy policy](https://cotlet.dev/privacy) · [Refund policy](https://cotlet.dev/refunds) · [Acceptable use](https://cotlet.dev/acceptable-use) · [Cookie policy](https://cotlet.dev/cookies) · [DPA](https://cotlet.dev/dpa) · [Subprocessors](https://cotlet.dev/subprocessors)

**Elsewhere:** [Status page](https://status.cotlet.dev) · [Cotlet on GitHub](https://github.com/cotletdev) · [Cotlet on X](https://x.com/cotletdev) · [Cotlet on LinkedIn](https://www.linkedin.com/company/cotletdev) · [Cotlet on Product Hunt](https://www.producthunt.com/products/cotlet) · [Cotlet on Crunchbase](https://www.crunchbase.com/organization/cotlet) · [Cotlet on SaaSHub](https://www.saashub.com/cotlet)

Cotlet.dev is built by Bart Krawczyk and Jake Slugocki, the founders of Take Group sp. z o.o., ul. Wincentego Janasa 4, 40-855 Katowice, Poland. KRS 0000871398, NIP 6342984273, VAT EU: PL6342984273. [About us](https://cotlet.dev/about.md)

Cotlet is an independent service. It is not affiliated with, endorsed by or sponsored by any of the products listed on this site. Product names are trademarks of their respective owners.
