Save your OAuth Client ID in Settings first
Admin clicked Connect Google (POST .../gmail/oauth/start) but xoauth2_client_id is empty. API returns 400 with this message.
Why this happens
Start-OAuth only checks the client ID before redirecting to Google. Sibling of OAuth client ID or secret is missing — save in Settings first (code exchange needs both ID and secret).
Diagnose and fix
1. Admin → Settings → Email — paste OAuth Client ID (and secret); Save.
2. Click Connect Google again.
3. Complete Gmail XOAUTH2 setup (redirect URI, consent).
4. If start works but exchange fails, see the client ID/secret missing siblings.