> ## Documentation Index
> Fetch the complete documentation index at: https://learn.workflow.dog/llms.txt
> Use this file to discover all available pages before exploring further.

# Check Availability

> Check whether a Google Calendar has any conflicts during a specific time.

The **Check Availability** action checks one calendar for busy periods between
two times. Use it before scheduling an event, offering an appointment, or
continuing a workflow only when a calendar is free.

## Quick start

<Steps>
  <Step title="Connect Google Calendar">
    Choose the Google account whose calendar you want to check.
  </Step>

  <Step title="Set the time window">
    Provide **Starting At** and **Ending At**, then choose the **Timezone** used
    for the availability request.
  </Step>

  <Step title="Choose a calendar">
    Leave **Calendar ID** empty to check the account's primary calendar, or
    enter another calendar's ID.
  </Step>

  <Step title="Use the result">
    Route **Is Available?** into conditional logic. Inspect **Busy Periods**
    when you need the exact conflicts.
  </Step>
</Steps>

## Inputs

| Input                   | Type            | Required | Description                                            |
| ----------------------- | --------------- | -------- | ------------------------------------------------------ |
| **Third-party account** | Google account  | Yes      | The Google account used to read free/busy information. |
| **Starting At**         | Date            | Yes      | Beginning of the time window to check.                 |
| **Ending At**           | Date            | Yes      | End of the time window to check.                       |
| **Calendar ID**         | String          | No       | Calendar to check. Defaults to `primary`.              |
| **Timezone**            | Timezone string | Yes      | Timezone supplied to Google for the free/busy query.   |

## Outputs

| Output            | Type                 | Description                                                    |
| ----------------- | -------------------- | -------------------------------------------------------------- |
| **Is Available?** | Boolean              | `true` when Google returns no busy periods in the time window. |
| **Busy Periods**  | List of busy periods | Conflicts, each with a **Start** and **End** date.             |

<Note>
  Availability is based on busy periods from the selected calendar. The action
  does not inspect other calendars attached to the account.
</Note>

## Example: guard event creation

Connect the requested start and end times to **Check Availability**, then branch
on **Is Available?**:

* When `true`, create the calendar event.
* When `false`, use **Busy Periods** to prepare a message offering another time.

## Troubleshooting

<AccordionGroup>
  <Accordion title="The wrong calendar was checked">
    **Calendar ID** defaults to the account's primary calendar. Supply the
    intended calendar ID when checking a shared, team, or secondary calendar.
  </Accordion>

  <Accordion title="Google reports a calendar error">
    Confirm that the connected account can access the Calendar ID and that the
    account still has a Calendar free/busy or read scope.
  </Accordion>
</AccordionGroup>
