[Cotlet](https://cotlet.dev/index.md) · [Integrations](https://cotlet.dev/integrations.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Use cases](https://cotlet.dev/use-cases.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)

# Add appointment

> Adds an appointment to the agenda the way you do for a client who books by phone. Input schema, a tools/call example and an example result.

Source: https://cotlet.dev/docs/mcp/planity/create_appointment

Docs sections: [Get started](https://cotlet.dev/docs.md) · [REST API](https://cotlet.dev/docs/api.md) · [MCP](https://cotlet.dev/docs/mcp.md) · [SDKs & CLI](https://cotlet.dev/docs/sdks.md) · [Integrations](https://cotlet.dev/docs/integrations.md)

Adds an appointment to the agenda the way you do for a client who books by phone.

Planity MCP tools: https://cotlet.dev/docs/mcp/planity.md

MCP tool: `planity_write → create_appointment`

Access: write. Confirm: waits for the user's OK before it runs.

Returns the new appointment as the agenda shows it. The end time follows the duration of the service. The help article on adding an appointment does not say whether Planity notifies the client, so the agent reports what Planity shows after saving. By default you confirm each call; you can switch that off for this tool.

## Parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `service_id` | string | yes | Id from list_services. |
| `staff_id` | string | yes | Id from list_staff. |
| `start` | string | yes | Date and start time, ISO 8601, in the salon's local time. |
| `client_id` | string | no | Existing client from list_clients. Leave out to enter a new client with client_name. |
| `client_name` | string | no | Name of a client without a record. Required when client_id is left out. |
| `client_phone` | string | no | Phone of a client without a record. |
| `notes` | string | no | Note on the appointment. |

## tools/call

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "planity_write",
    "arguments": {
      "operation": "create_appointment",
      "arguments": {
        "service_id": "sv_11",
        "staff_id": "st_01",
        "start": "2026-10-27T15:00:00",
        "client_id": "c_1042"
      }
    }
  }
}
```

## Example response

```json
{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "appointment_id": "a_9201",
    "start": "2026-10-27T15:00:00",
    "end": "2026-10-27T16:00:00",
    "client": {
      "client_id": "c_1042",
      "name": "Léa Martin"
    },
    "service": "Coupe femme",
    "staff": {
      "staff_id": "st_01",
      "name": "Amélie"
    },
    "status": "confirmed",
    "source": "salon"
  },
  "isError": false
}
```

Previous: [List no-shows](https://cotlet.dev/docs/mcp/planity/list_no_shows.md)
Next: [Change appointment](https://cotlet.dev/docs/mcp/planity/update_appointment.md)

---

Give your AI agents your signed-in browser.

**Product:** [Integrations](https://cotlet.dev/integrations.md) · [Use cases](https://cotlet.dev/use-cases.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.
