# Common Issues

## Connection issues

<details>

<summary>Data flow runs forever with no output</summary>

If your data flow hangs indefinitely without returning data, try the following:

1. Cancel the run and check that you've selected a valid calendar in the source settings
2. Confirm your Google account authorization is still active — disconnect and reconnect your account if needed
3. Narrow your date range and try running again
4. If the issue persists, contact Coupler.io support with your data flow ID

</details>

<details>

<summary>Error when connecting to a shared or team calendar</summary>

Make sure the Google account you authorized has at least **Reader** access to the calendar. If you're pulling from a shared calendar (e.g., a team or resource calendar), the account owner may need to grant you explicit access in Google Calendar settings before Coupler.io can read it.

</details>

## Missing data

<details>

<summary>Future events are not showing up</summary>

If only past or today's events appear, check your **End date** setting. The end date must be set to a future date to include upcoming events. Use the date picker to set it as far forward as needed — Coupler.io supports future date ranges.

</details>

<details>

<summary>Events older than 4 weeks are missing</summary>

This is a hard limit from the Google Calendar API. **You cannot pull events from more than 4 weeks ago** in a single run.

As a workaround, use the **Append** mode in your destination settings so each scheduled run adds new rows rather than overwriting existing ones. This lets you build a historical archive over time.

</details>

<details>

<summary>Recurring events show the wrong date</summary>

Recurring events can show the original creation date instead of the actual occurrence date within your selected date range. This is a known behavior. To work around it, use the **Updated since** parameter to filter for recently updated events, or verify results against your calendar directly. This is one of the most commonly reported issues — if your use case depends on accurate recurring event dates, test carefully before relying on this data.

</details>

<details>

<summary>Blank or empty rows in the export</summary>

Blank rows typically appear when some events have missing fields (such as no description or location). To remove them, apply an advanced filter in Coupler.io to exclude rows where a required field — like `summary` — is empty.

</details>

<details>

<summary>Fewer rows than expected (import seems truncated)</summary>

If you're on a free plan, row limits apply and your data may be truncated. Try narrowing your date range to reduce the dataset size. If you need more rows, consider upgrading your plan or splitting the export into multiple date windows using separate data flows.

</details>

## Permission errors

<details>

<summary>"Got an unexpected keyword argument" error with advanced filters</summary>

This error can occur when using certain field names (like `attendees`) in advanced filters. Not all event fields support direct filtering through the advanced filter interface. If you need to filter on attendee data, export the full dataset and apply filtering in your destination (e.g., using Google Sheets formulas or BigQuery queries).

</details>

## Data discrepancies

<details>

<summary>Times are off by one hour compared to Google Calendar</summary>

This is usually caused by a **daylight saving time (DST) mismatch**. The `start.dateTime` field includes timezone information, but conversions in your destination may not account for DST correctly. Check that your destination's timezone settings match your calendar's timezone. If using Google Sheets, verify any `DATETIME` conversion formulas explicitly handle the correct UTC offset for your region.

</details>

<details>

<summary>Event data in Coupler.io doesn't match what's in Google Calendar</summary>

If you see fewer events than expected, confirm:

* The correct calendar is selected as the source
* Your date range covers the period you're checking
* The events were created by (or shared with) the authorized Google account
* Cancelled events may be filtered out by default — check if the missing events have a cancelled status in Google Calendar

</details>
