[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)

# Bokadirekt API and MCP server: Let your AI agent run your Bokadirekt diary.

> Bokadirekt has a Merchant API that reads bookings, customers, sales, staff and services, but it cannot create, move or cancel a booking (checked 31 Oct 2026). It costs 399 kr per month excl. VAT and Bokadirekt support switches it on. There is no official MCP server. Cotlet runs 13 Bokadirekt tools hosted, over MCP for agents and REST for scripts.

Bookings, free times, customers, the waitlist and messages for your Bokadirekt salon. 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/bokadirekt-api-mcp-server.md#connect)
[REST API guide](https://cotlet.dev/integrations/bokadirekt-api-mcp-server.md#rest-api)

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

## What can you automate in Bokadirekt?

- Move a day of bookings when staff are out
- Text tomorrow's customers a custom note
- Fill cancelled slots from the waitlist
- Follow up no-shows and late cancellations
- Count bookings and new customers per week
- Book a customer who asks by chat

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

- Bokadirekt's own help article: the API cannot create or change a booking, customer, product or user. The only update is the stock of a product.
- Webhooks send booking events: created, changed, cancelled, no-show and payment. The API package includes them; the standalone module is 199 kr per month.
- Zapier and n8n list no Bokadirekt app. No open-source Bokadirekt MCP server turned up on GitHub.

| What you need | Merchant API | By hand in the portal | Cotlet |
|---|---|---|---|
| Read bookings, customers and staff | Yes, 399 kr a month | Yes | Yes |
| Create a booking | No | Yes | Yes, after your OK |
| Move or cancel a booking | No | Yes | Yes, after your OK |
| Text a booked customer | No | Yes | Yes, after your OK |
| Runs by itself on a schedule | Reads, if you write code | No | Yes |
| Allowed by Bokadirekt's terms | Yes, official | Yes | Uses the web portal, see Terms |

Checked 31 Oct 2026. Sources: [Bokadirekt Merchant API reference](https://external.api.portal.bokadirekt.se/swagger/v1/swagger.json), [Bokadirekt help: Bokadirekts API](https://help.bokadirekt.se/sv/articles/12818041-bokadirekts-api), [Bokadirekt: API & Webhooks](https://business.bokadirekt.se/funktioner/api-webhooks), [Bokadirekt: Webhooks](https://business.bokadirekt.se/funktioner/webhooks)

## How does Cotlet connect to Bokadirekt?

1. **Sign in to Bokadirekt.** 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 Bokadirekt password, and no move, cancellation or message reaches a customer until you approve it.

## Connect Bokadirekt 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 Bokadirekt for agents.** Sign up, log in to Bokadirekt 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 Bokadirekt next to your other apps. If you enable Bokadirekt 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-bokadirekt \
  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-bokadirekt": {
      "url": "https://cotlet.dev/mcp/v1",
      "headers": { "Authorization": "Bearer ${env:COTLET_API_KEY}" }
    }
  }
}
```

Codex:

```
# ~/.codex/config.toml
[mcp_servers.cotlet-bokadirekt]
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: bokadirekt_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: bokadirekt_write
```

## How to use the Bokadirekt REST API

### Create your Cotlet API key

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

Connect Bokadirekt in Cotlet and enable it for agents. Account access: Your own Bokadirekt business user (what it can do depends on the permissions your account owner gave it).

### Make your first Bokadirekt API request

REST:

```
curl "https://cotlet.dev/api/v1/bokadirekt/bookings?from=2026-11-06&to=2026-11-06&type=all" \
  -H "Authorization: Bearer $COTLET_API_KEY"
```

### Read bookings and keep their ids

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": "bokadirekt",
  "tool": "list_bookings",
  "result": {
    "bookings": [
      {
        "booking_id": "bk_5501",
        "customer": "Anna Ek",
        "service": "Klippning dam",
        "staff": "Elin Berg",
        "start": "2026-11-06T09:00:00+01:00",
        "price": 595,
        "status": "booked",
        "source": "bokadirekt.se"
      },
      {
        "booking_id": "bk_5502",
        "customer": "Maja Holm",
        "service": "Färg och klipp",
        "staff": "Elin Berg",
        "start": "2026-11-06T11:00:00+01:00",
        "price": 1490,
        "status": "booked",
        "source": "internal"
      }
    ]
  }
}
```

Returns the bookings the Lista view shows for the dates you pick, in start order, with cancelled ones marked `cancelled`.

Pass `type` to narrow the list the way the portal's Filter panel does: `cancelled`, `no_show`, `new_customer`, `last_minute`, `internal` or `online`.

Keep each `booking_id`. `get_booking`, `move_booking` and `cancel_booking` take it.

Compare changed values as well as ids when refreshing your destination: a booking can be moved to another time or staff member.

### Bokadirekt workflows for agents and automations

| Tool | Connect through | Example workflow |
|---|---|---|
| n8n | HTTP Request | Read tomorrow's bookings every afternoon. Use `list_bookings` in your configured reminder flow. |
| Make | HTTP > Make a request | Read the waitlist and post it to a channel for your OK. Use `list_waitlist` in your configured scenario. |
| Python or Node.js | REST API | Look up a customer's history before a call. Use `get_customer` in your configured script. |

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

Cotlet reads Bokadirekt; 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/bokadirekt-api-mcp-server.md#tools) lists operations and inputs. The [REST API guide](https://cotlet.dev/docs/api.md) explains authentication, errors and approvals.

## Bokadirekt API endpoints and MCP tools

### Locations, staff and services

Read only. These return the ids the other tools take.

- **List locations** (`list_locations`, read): Locations (platser) of your Bokadirekt account.
- **List staff** (`list_staff`, read): Users (utövare) who take bookings, with the location they work at.
- **List services** (`list_services`, read): Services (tjänster) with duration and price.

### Bookings and free times

Create, move and cancel work as the booking card does. Booking and cancellation margins do not apply to a signed-in business user.

- **Find available times** (`find_available_times`, read): Free times for a service, as the calendar suggests them.
- **List bookings** (`list_bookings`, read): Bookings in a date range from the booking list, with customer, service, staff and status.
- **Get booking** (`get_booking`, read): One booking with its note, customer, service and payment status.
- **Create booking** (`create_booking`, write, asks first): Book a customer on a service at a time, as Ny bokning does.
- **Move booking** (`move_booking`, write, asks first): Change the time or the staff member of a booking.
- **Cancel booking** (`cancel_booking`, write, asks first): Cancel a customer's booking (Avboka).

### Customers, waitlist and messages

Customers appear in the register when they book. An SMS costs extra in Bokadirekt; email is free.

- **List customers** (`list_customers`, read): Customers (kundregister), searchable by name, email or phone.
- **Get customer** (`get_customer`, read): A customer card: details, booking history and notes.
- **List waitlist** (`list_waitlist`, read): Customers on the waitlist (väntelista) with the service and dates they want.
- **Send booking message** (`send_booking_message`, write, asks first): Send an SMS or email to the customer of a booking.

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

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

- **What we store.** Your logged-in Bokadirekt profile, encrypted with AES-256-GCM, in Finland. Not the password.
- **What your agent gets.** The 13 Bokadirekt tools. Never the cookie.
- **What the session sees.** What your user sees: the diary, customers with their contact details and booking history.
- **What no tool touches.** Payments, the point of sale, payouts, subscription, password and deleting.
- **If Bokadirekt asks to sign in.** Your agent gets a link to sign in again. You do it, we never do.
- **How to cut access.** Disable for agents in the console, reset the browser, or change your Bokadirekt password.

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. Customer names, phone numbers and notes pass through your agent, so check that your use is covered by your own privacy notice.

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

> The Customer agrees, among other things, not to: use the Business System for illegal purposes, attempt to gain unauthorized access, use automated tools to extract data, or copy and reproduce parts of the Business System.
>
> [Bokadirekt, terms for the business system, section 3.3 (Swedish original, translated here), checked 31 Oct 2026](https://help.bokadirekt.se/sv/articles/10032382-allmanna-villkor-for-affarssystemet)

The clause does not name AI agents or bots. It does ban automated tools that extract data, and an agent that reads your diary can be read that way. Section 3.4 also says not to hand your login details to a third party; Cotlet never receives your password, you sign in yourself in the Cloud Browser. We found no public case of a Bokadirekt account closed for automation (checked 31 Oct 2026). If you want no risk at all, the official Merchant API reads the same bookings and customers for 399 kr a month, and it is the right choice when you only need reads.

How we keep your account looking like you:

- Your own Bokadirekt user, logged in by you
- One Cloud Browser with its own IP and cookies, so no new-device check on every call
- Moves, cancellations and messages wait for your OK
- No tool deletes a customer or touches payments
- If Bokadirekt objects, we pause the Bokadirekt tools for everyone within 24 h

> Read in short runs and avoid pulling the whole customer register at once. Bokadirekt's API help asks for a reasonable call rate and caching, and the same courtesy applies here.

## What happens when Bokadirekt changes?

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

When Bokadirekt 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 diary.** Bookings, free times and the customer card.
2. **Plans the change.** Which bookings move, to whom and when.
3. **Waits for your OK.** Each move, booking or message shows up in your Cotlet console first.
4. **Reports the result.** Booking ids, new times and which messages went out.

| Action | Undo |
|---|---|
| Create a booking | Cancel it; the customer already got a confirmation |
| Move a booking | Move it back; the customer sees both changes |
| Cancel a booking | Book the time again if it is still free; the customer was told |
| Send an SMS or email | No, the message is out |

4 of 13 tools ask first: create_booking, move_booking, cancel_booking and send_booking_message, the four that change a customer's appointment or message them. The reads run at once. Switch the wait off per tool for a scheduled run.

> An SMS costs extra in Bokadirekt according to your price list, so a daily text job adds to your Bokadirekt bill.

MCP call:

```
{
  "name": "create_booking",
  "arguments": {
    "customer_id": "cu_912",
    "service_id": "sv_21",
    "staff_id": "st_102",
    "start": "2026-11-06T10:00:00+01:00"
  }
}
```

REST:

```
curl -X POST https://cotlet.dev/api/v1/bokadirekt/customers/cu_912/bookings \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"service_id":"sv_21","staff_id":"st_102","start":"2026-11-06T10:00:00+01:00"}'
```

Tool output:

```
{
  "booking_id": "bk_5530",
  "status": "booked",
  "start": "2026-11-06T10:00:00+01:00",
  "customer": "Maja Holm",
  "service": "Klippning dam",
  "staff": "Sara Lind"
}
```

Scripts and cron jobs reach the same tools over REST at `/api/v1/bokadirekt`, with the same key and price. A failed call costs nothing. The tools table lists the REST path of each tool.

## How much does the Bokadirekt MCP server cost?

**About $34 a month** for a small salon running five jobs, 5,800 credits. Your Bokadirekt plan is billed by Bokadirekt as before.

| Job | Calls | Credits |
|---|---|---|
| Text tomorrow's customers, daily | 11 × 22 | 2,420 |
| Fill free slots from the waitlist, daily | 5 × 22 | 1,100 |
| Move a sick day's bookings | 19 × 2 | 380 |
| Follow up no-shows, weekly | 7 × 4 | 280 |
| Weekly bookings report | 3 × 4 | 120 |
| Cloud Browser, 30 days |  | 1,500 |
| Total |  | 5,800 |

- Free 7-day trial, no card
- 10 credits per successful call, MCP or REST
- 50 credits a day for the Cloud Browser
- Works in your own Bokadirekt account

The month is our example: three stylists, about 10 customers texted a day over 22 working days. Bokadirekt publishes no figure for a typical account. Dollars at the $29 pack rate.

## Bokadirekt MCP server, the official API or by hand: which to use

| Option | What it does | Where it stops |
|---|---|---|
| [Bokadirekt Merchant API](https://external.api.portal.bokadirekt.se/swagger/v1/swagger.json) | Official reads of bookings, customers, sales, staff and services, plus webhooks. 399 kr a month excl. VAT. | Read-only, needs a developer, no create, move or cancel. |
| Zapier and n8n | No Bokadirekt app listed on either. | Nothing to connect except the official API by hand. |
| Scrapers of public profiles | Collect public salon pages from Bokadirekt.se. | Your own diary is behind your login, so they do not reach it. |
| By hand in the portal | Everything, with your own clicks. | Every repeat job costs time each day. |

We found no Bokadirekt MCP server on GitHub and no hosted one besides ours. The official API is the safer pick for reports and dashboards. Cotlet is for the jobs it cannot do: rebooking, cancelling, filling gaps and texting customers.

## 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 Bokadirekt tools.

## Bokadirekt API and MCP: questions

### How do I get access?

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

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

Sign up at cotlet.dev, log in to Bokadirekt 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 Bokadirekt account through Cotlet, in their phone apps too.

### What can ChatGPT do in Bokadirekt?

With Cotlet, ChatGPT, Claude and other AI agents handle jobs like these in Bokadirekt: move a day of bookings when staff are out; text tomorrow\; fill cancelled slots from the waitlist. You ask in plain words, and anything that reaches other people waits for your OK first.

### Do I need the paid Bokadirekt API?

No. Cotlet works in your own signed-in portal and does not use the Merchant API, which costs 399 kr per month excl. VAT and is switched on through Bokadirekt support (checked 31 Oct 2026). What your agent can do still depends on the permissions of your own user.

### Can the agent create a customer or change a service?

Not yet. The tools read services, staff and customers and book customers who already exist. New customers appear when a booking is made through the portal or the booking page, and services, prices and opening hours stay in Bokadirekt.

### Does Bokadirekt have webhooks?

Yes, with the API package or as a 199 kr a month module (checked 31 Oct 2026). They push booking events: created, changed, cancelled, no-show and payment. Cotlet does not receive them. Run your agent on a schedule instead, for example a daily list_bookings pass.

### Is the Bokadirekt portal only in Swedish?

The portal and help center are in Swedish. Tool names and inputs are in English, and customer names, services and notes come back as they are in your diary.

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

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

### Is Cotlet affiliated with Bokadirekt?

No. Cotlet is independent and not affiliated with Bokadirekt i Stockholm AB.

### Can I use the Bokadirekt 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.
