Google Calendar and iCal Sync
Google Calendar and iCal Sync
SwiftReporter can push your scheduled appointments to Google Calendar and to any calendar app that supports a secret iCal feed (including Apple Calendar). Sync is one-way: appointments you create or update in SwiftReporter appear on your calendar. Changes made only in Google or Apple do not update SwiftReporter.
Manage connections on the web Account page. On mobile, open Settings to see connection status, then use Manage on web to connect or change feeds.
What gets synced
- Appointments where you are the owner, the primary inspector, or an assigned inspector.
- Scheduled, completed, and no-show appointments appear on Google and in the iCal feed.
- Cancelled appointments are removed from Google Calendar and omitted from the iCal feed.
- Event details include the appointment name, times, address, and client display name when available. Internal notes and payment details are never included.
Connect Google Calendar
- Sign in to SwiftReporter on the web.
- Open Account.
- In the Calendar sync section, select Connect Google Calendar.
- Sign in with Google and approve calendar access when prompted.
- You return to Account. When the connection succeeds, your Google account email appears as connected.
After you connect, new and updated appointments sync to your primary Google Calendar. Sync is best-effort; if Google is temporarily unavailable, SwiftReporter retries and may show a last-sync error on Account until the next successful sync.
Subscribe with Apple Calendar or iCal
Use a secret iCal feed for Apple Calendar, Outlook, or other apps that accept a calendar subscription URL.
- On web Account, in Calendar sync, select Enable iCal feed.
- Copy the feed URL (HTTPS) or the
webcal://link when shown. SwiftReporter shows the full secret URL only once after you enable or rotate the feed. - In Apple Calendar: File → New Calendar Subscription, paste the URL, then choose how often to refresh.
- In other apps, add a calendar subscription and paste the same URL.
Treat the feed URL like a password. Anyone with the link can read your appointment schedule for the feed window.
Rotate or disable the iCal feed
- Rotate creates a new secret URL and immediately invalidates the old one. Update every subscribed device with the new URL.
- Disable revokes the feed. Existing subscriptions stop receiving appointments (they typically start failing to refresh).
Disconnect Google Calendar
On web Account, select Disconnect under Google Calendar. SwiftReporter revokes access tokens and stops creating or updating Google events for your account. You can connect again later with the same steps.
Failure modes and troubleshooting
Revoked Google access
If you remove SwiftReporter from your Google account security settings, or Google revokes the grant, sync stops. Account may show an error or revoked status. Reconnect Google Calendar from Account and approve access again.
Rotated or lost iCal URL
After you rotate the feed, the previous URL returns not found. Calendar apps still using the old link will stop updating. Paste the new URL into each subscription. If you lost the URL without rotating, rotate the feed once, copy the new URL, and update your subscriptions.
Timezone mismatches
Each appointment stores an IANA timezone (for example America/New_York). Google and iCal events use that appointment timezone—not your browser or phone timezone. If an event looks shifted on your phone, confirm the appointment timezone in SwiftReporter and that your device calendar is set to the region you expect. Do not assume wall-clock times were converted to local device time inside SwiftReporter.
Disconnect orphans (historical Google events)
Disconnecting Google Calendar stops future sync. Historical events that SwiftReporter already created in Google may remain on your Google Calendar. Delete those leftover events in Google if you no longer want them. Reconnecting does not automatically purge old events from a previous connection.
Appointment missing from the calendar
- Confirm you are connected (Google) or the iCal feed is enabled and your app is using the current URL.
- Confirm you are the owner, primary inspector, or an assigned inspector on that appointment.
- Confirm the appointment is not cancelled.
- Allow a short delay for Google sync or for your calendar app to refresh the iCal feed.
Privacy
- Google refresh tokens are stored encrypted on the server. They are never written to your readable user profile.
- The iCal feed secret is shown once; SwiftReporter stores only a one-way hash of the token.
- Sync does not import events from Google or Apple into SwiftReporter.
