Errors

OAuth client ID or secret is missing — save in Settings first

Gmail Connect callback failed — xoauth2_client_id or secret empty when exchanging code.

OAuth client ID or secret is missing — save in Settings first

Admin started Gmail OAuth consent, but exchanging the authorization code failed because client ID or secret settings are empty (gmail-oauth token exchange).

Why this happens

Connect Google ran before xoauth2_client_id / xoauth2_client_secret were saved. Same credentials family as Gmail OAuth client ID and secret are required (mailer assert/send), but this string is thrown at consent-callback time.

Diagnose and fix

1. Admin → Settings → Email — paste OAuth client ID and secret; Save.

2. Then click Connect Google again and finish consent.

3. Follow Gmail XOAUTH2 for redirect URI and Cloud Console setup.

4. After connect, if send still fails, see Gmail not-authorized siblings.

Related