1. Test environment
- Application and login URL
- https://crm.unitix.pro/
- Production callback
https://crm.unitix.pro/api/google-calendar/callback- Reviewer account
- Use the CRM and Google test credentials supplied privately in the Google verification submission.
This public page contains no password, Client Secret, authorization code, access token, or refresh token.
2. Authorize Google Calendar
- Sign in with the private reviewer CRM account.
- Open Bookings → Settings and select Google Calendar Connect.
- Confirm Google's consent screen requests only
calendar.events.owned,calendar.freebusy, anduserinfo.email. - Select the reviewer Google account and approve access.
- Confirm the callback returns to UNITIX Soft CRM and the card shows Connected with the correct email and no missing permissions.
Expected result
OAuth state is validated, the exact granted scopes are stored for this CRM user, and no token or authorization code appears in the UI or callback error.
3. Free/Busy
- Create a private busy event in the reviewer Google Calendar with a recognizable confidential title.
- Open the reviewer's public Booking Page in a private window.
- Confirm overlapping times are unavailable.
- Confirm the private title, description, attendees, location, exact conflict time, and Google metadata are not displayed.
4. Create an event and Google Meet
- Configure a reviewer Booking Page with Google Meet.
- Create a booking using a reviewer-controlled guest inbox.
- Confirm one owned Google Calendar event is created with the expected time, guest, and Meet link.
- Confirm the guest receives the invitation.
5. Update and recurrence
- Reschedule the test meeting and confirm the same Google event is updated without duplication.
- Create a finite weekly recurring CRM event and confirm the series in Google.
- Edit one occurrence and delete another; confirm the series and exceptions remain correct.
6. Delete or cancel
- Cancel the test booking or delete the test CRM event.
- Confirm the corresponding Google event is removed and attendees receive the cancellation.
- Repeat the cancellation and confirm it is handled safely.
7. Disconnect and reconnect
- Select Google Calendar Disconnect.
- Confirm the card becomes disconnected and Google third-party access shows the grant removed.
- Confirm availability and event operations stop while disconnected.
- Select Connect again, approve the same three scopes, and confirm a fresh connection.
8. Security and expected results
- A second CRM user cannot read or operate the reviewer's Google connection or events.
- An administrator cannot trigger Google operations through another user's credentials.
- Participant identifiers reveal no other user's availability details.
- Expired access tokens refresh server-side without token exposure.
- Disconnect revokes Google access and deletes local credentials.
- Errors and logs redact tokens, secrets, bearer values, and authorization codes.
For troubleshooting, record only the step, timestamp, HTTP status, and safe visible error, then email support@unitixsoft.pro. Never include the callback query string or credentials.
