> ## Documentation Index
> Fetch the complete documentation index at: https://help.1nspect.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Calendar Integration

# Calendar Integration

1nspecT integrates with **Google Calendar** to check inspector availability at scheduling time and to auto-create calendar events for confirmed inspections. The integration is OAuth-based, per-inspector — each team member connects their own Google account.

This article covers what the integration does, how to connect it, and how to troubleshoot.

***

## What it does

When connected, the platform:

| Action                 | When it happens                                                                                                         |
| ---------------------- | ----------------------------------------------------------------------------------------------------------------------- |
| **Availability check** | While the operator picks a scheduled time in the [Order Creation Wizard](/1nspect/admin-operator/order-creation-wizard) |
| **Conflict warnings**  | Surface ⚠ Busy or 🔄 Tentative on inspector dropdowns                                                                   |
| **Auto-create event**  | When an order is confirmed, an event is created on the assigned inspector's calendar                                    |
| **Auto-update event**  | When the inspection is rescheduled, the existing event updates                                                          |
| **Auto-cancel event**  | When the order is cancelled, the event is deleted                                                                       |

The platform does NOT read non-1nspecT events from your calendar except for availability — your personal entries are not exposed to other operators.

***

## OAuth scope

The integration requests:

* **calendar.events** — read/write access to create/update/cancel inspection events

The scope is narrow. The platform cannot:

* Read your email
* See contacts
* Access Drive files
* Modify any calendar settings (timezone, default reminders)

The OAuth consent screen shows this scope explicitly — verify before connecting.

***

## Connecting Google Calendar

### Per-tenant or per-inspector?

There are two modes:

| Mode              | Behavior                                                                                                                |
| ----------------- | ----------------------------------------------------------------------------------------------------------------------- |
| **Per-tenant**    | A single Google account at your company is connected. All inspector calendar events are written to this shared account. |
| **Per-inspector** | Each team member connects their own Google account. Events are written to their personal calendar.                      |

Per-inspector is **recommended** for teams — gives each inspector visibility into their own schedule. Per-tenant is simpler for solo operators.

### Connecting

1. **Per-tenant:** in **Settings → Integrations → Google Calendar**, click **Connect**
2. **Per-inspector:** each inspector goes to their User Profile and clicks **Connect Calendar**

The OAuth flow:

1. Click Connect
2. Browser redirects to Google's OAuth consent screen
3. Sign in (or pick) the Google account
4. Review the requested scope (`calendar.events`)
5. Click **Allow**
6. Google redirects back to `/calendar-connected` with the OAuth token
7. The platform stores the token (per-tenant or per-inspector)
8. The integration is live

### Disconnecting

The Disconnect action removes the platform's OAuth token. Future events will not be auto-created. Existing events remain on the Google Calendar — you can manually delete them if needed.

The disconnect does NOT delete the underlying Google account or revoke 1nspecT's OAuth grant at Google's end — to fully revoke, visit [https://myaccount.google.com/permissions](https://myaccount.google.com/permissions) and remove "1nspecT" from the list.

***

## Availability check mechanics

When you assign an inspector + date/time in the [Order Creation Wizard](/1nspect/admin-operator/order-creation-wizard):

1. The platform queries the inspector's connected calendar for events between the proposed start time and proposed end time (start + estimated duration)
2. Events are classified:
   * **Free** — no events overlap → ✅ Available
   * **Busy** — confirmed events overlap → ⚠ Busy
   * **Tentative** — events marked tentative → 🔄 Tentative

The check happens client-side as you change inputs — within a couple of seconds.

If you assign with a conflict, a confirmation alert:

> **Conflict detected**
> \[Inspector] has another event during this window. Assign anyway?
> \[Cancel] \[Confirm]

You can confirm and proceed — the platform doesn't prevent overlapping bookings, only warns.

***

## Auto-event format

The auto-created event on the inspector's calendar:

| Field           | Value                                                                |
| --------------- | -------------------------------------------------------------------- |
| **Title**       | *"1nspecT — \[PropertyAddress] — \[ClientName]"*                     |
| **Start time**  | The scheduled inspection start                                       |
| **End time**    | Start + estimated duration                                           |
| **Description** | A link to the inspection details + key data (client phone, services) |
| **Location**    | The property address                                                 |
| **Reminders**   | 1 hour before (configurable per tenant)                              |

The event includes a deep-link back to [Inspection Details](/1nspect/admin-operator/inspection-details) for the inspector to access from their phone's calendar app.

***

## Multi-phase orders

Each phase of a multi-phase order creates its own calendar event. Phase 1 has one event, Phase 2 has another, etc. The events are linked in their descriptions ("Phase 2 of project X — see Phase 1 at \[link]").

***

## What the integration does NOT do

* **It does not block conflicting bookings.** You can override the conflict warning.
* **It does not create events in clients' calendars.** That's not currently supported — clients receive email reminders only.
* **It does not sync with Microsoft Outlook / Apple Calendar / Calendly.** Google Calendar only.
* **It does not push real-time notifications.** Notifications use email; the calendar event triggers your normal Google reminder.
* **It does not import existing Google events into 1nspecT.** Inspections come from the order flow; the calendar integration is one-way.

***

## Troubleshooting

| Issue                                         | Cause                                                          | Fix                                                             |
| --------------------------------------------- | -------------------------------------------------------------- | --------------------------------------------------------------- |
| **"Calendar not connected"** alert            | OAuth token expired or revoked                                 | Reconnect from Settings                                         |
| **Conflict warning when no real conflict**    | Inspector created a private event without the right visibility | Check the inspector's calendar; tentative entries trigger this  |
| **Event title incorrect**                     | Older auto-events use older title format                       | Reconnect to refresh the integration                            |
| **Cancelled order's event still on calendar** | Network glitch during cancel                                   | Manually delete the event                                       |
| **Multiple events for one inspection**        | Reassignment to a different inspector                          | The old inspector's event isn't auto-deleted; manually clean up |

***

## Future enhancements

Roadmap items mentioned in product discussions:

* Microsoft Outlook / 365 integration
* iCal feed export (read-only feed for any calendar app)
* Two-way sync (clients can RSVP from their calendar)
* Resource calendars (truck, equipment scheduling)

None of these have committed ship dates.

***

## Related articles

* [Order Creation Wizard](/1nspect/admin-operator/order-creation-wizard) — where availability is checked
* [Assigning Inspectors & Handoff](/1nspect/workflows/assigning-and-handoff) — full assignment workflow
* [Company Info](/1nspect/admin-operator/company-and-pricing/company-info) — where OAuth status lives
* [Communications](/1nspect/features/communications) — reminder emails that complement calendar events
