Connect Google Calendar
Link Google Calendar once so scheduled classes are added automatically to your dedicated Zion English calendar.
# Why connect Google Calendar?
One-time setup that adds scheduled classes to your Google Calendar automatically.
- Connect your Google account from My Profile.
- The admin tool creates a dedicated Zion English calendar in your Google account on first connect.
- When you schedule a class with a start time, a calendar event is created or updated automatically.
# Before you start
You need a Google account you can sign into.
- Use the Google account where you want class events to appear.
- Sign in with the same email you use for Google Calendar.
# Connect your account
Authorize the admin tool from your profile page.
- Open My Profile from the dashboard or navigation.
- Scroll to Integrations and click Connect next to Google Calendar.
- Sign in to Google if prompted and approve access.
- Return to the profile page and confirm the Google Calendar badge shows Connected.
- Open Google Calendar and confirm a Zion English calendar was created.
# Schedule a class with Google Calendar
Calendar events appear on class cards after scheduling.
- Open Class Schedule and add a class with a start time.
- A calendar icon appears on the class card after scheduling when sync succeeds.
- Click the calendar icon to open the event in Google Calendar.
# Disconnect or reconnect
Manage your Google Calendar connection from My Profile.
- Click Disconnect Google Calendar in Integrations if you need to remove access.
- Existing calendar events are not removed automatically when you disconnect.
- Reconnect if you switch Google accounts.
# Troubleshooting
Common issues when connecting or scheduling with Google Calendar.
- If Connect Google Calendar is missing, ask your administrator to configure Google Calendar for the system.
- If connection fails, confirm Google Calendar shows Connected on your profile.
- If your Google account is not on the OAuth test user list, ask your administrator to add your email in Google Cloud Console while the app is in Testing mode.
- If sync fails for a class, confirm the class has a start time set.
# Administrator: Google Cloud Console setup
Required so teachers on their own Google accounts can connect.
- In Google Cloud Console, create a project or select an existing one.
- Enable the Google Calendar API under APIs and Services, Library.
- Configure the OAuth consent screen: External user type (unless all teachers are in your Google Workspace), app name Zion English Admin, support email, and authorized domains for production.
- Add scopes https://www.googleapis.com/auth/calendar and https://www.googleapis.com/auth/userinfo.email.
- Set Privacy Policy, Terms, Support URL (/support), and Documentation URL (/docs/connect-google-calendar).
- Create an OAuth client ID (Web application). Add authorized JavaScript origins and redirect URIs for local and production, e.g. https://your-domain/zion-english-admin/profile/google-calendar/callback.
- Copy Client ID and Client Secret into server GOOGLE_CALENDAR_CLIENT_ID and GOOGLE_CALENDAR_CLIENT_SECRET.
- Set GOOGLE_CALENDAR_REDIRECT_URI to the exact production callback URL registered in Google Cloud Console: https scheme, no trailing slash, same host and path the browser uses after Google redirects (check server logs if unsure).
- While Testing: add teacher Google emails as test users (up to 100). For production use beyond test users, submit the app for Google verification.
- Deploy updated environment variables and restart the server. Verify by connecting from Profile and scheduling a class with a start time.