> For the complete documentation index, see [llms.txt](https://docs.coupler.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.coupler.io/sources/category/time-tracking/cal-com/common-issues.md).

# Common Issues

## Connection issues

<details>

<summary>My API key is rejected when connecting</summary>

Double-check that you copied the full API key from Cal.com — they can be long and easy to truncate. Go to **Settings → Developer → API Keys** in Cal.com and regenerate a new key if needed. Also make sure the key hasn't been manually expired or deleted.

</details>

<details>

<summary>I can connect but get no data back</summary>

This usually means the API key belongs to a user account that has no data for the selected entity. For example, if you select **Bookings** but haven't received any bookings yet, the response will be empty. Try selecting **My profiles** first to confirm the connection is working and returning your user info.

</details>

## Missing data

<details>

<summary>Cancelled bookings are missing from my export</summary>

By default, some API responses filter by status. Coupler.io pulls all bookings regardless of status, so if cancelled bookings aren't appearing, check whether you've applied a filter in your destination (e.g., a Google Sheets filter view). The `status` field in the Bookings entity includes `cancelled` records — make sure you're not filtering them out.

</details>

<details>

<summary>I don't see bookings from my team members, only my own</summary>

Cal.com's API is scoped to the authenticated user. The API key you provide only returns data for that user's account. To pull data for multiple team members, you need to create separate data flows using each member's API key, then use the **Append** transformation in Coupler.io to combine them into one dataset.

</details>

<details>

<summary>Attendee fields are missing or appear as a single concatenated string</summary>

Attendees are returned as a nested array by the Cal.com API. Coupler.io flattens this automatically, but in some destinations the data may appear differently depending on how many attendees a booking has. If attendee emails or names look merged, check the column structure in your destination and consider splitting the field manually.

</details>

## Permission errors

<details>

<summary>I get a 401 Unauthorized error</summary>

This means your API key is invalid or has been revoked. Go to **Settings → Developer → API Keys** in Cal.com and confirm the key is still active. If you recently rotated your key, update it in Coupler.io under the source settings for your data flow.

</details>

<details>

<summary>I get a 403 Forbidden error on certain entities</summary>

Some entities may require specific account types or permissions. If you're on a free Cal.com plan, certain API endpoints may have restricted access. Check Cal.com's documentation for any plan-level API restrictions.

</details>

## Data discrepancies

<details>

<summary>The booking count in Coupler.io doesn't match what I see in Cal.com</summary>

Cal.com's dashboard may show bookings differently depending on whether it includes recurring instances, rescheduled bookings, or pending bookings. In Coupler.io, check the `status` field to make sure you're counting only `accepted` bookings if that's what the Cal.com dashboard is showing. Recurring bookings may also appear as multiple rows.

</details>

## Rate limits

<details>

<summary>My data flow fails with a rate limit error</summary>

Cal.com enforces API rate limits that vary by plan. If you're running large data flows frequently or have multiple data flows hitting the API at the same time, you may hit this limit. Try reducing the frequency of scheduled runs or staggering multiple data flows so they don't all run simultaneously.

</details>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.coupler.io/sources/category/time-tracking/cal-com/common-issues.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
