LaunchKit · 2026
Back to Skills

twenty-oauth-mastery

**Author**: Generated from extensive OAuth debugging sessions in OpenCode.

0
780 downloads
by @avirweb

Setup & Installation

openclaw skills install @avirweb/twenty-oauth-mastery

Or with the ClawHub CLI, for registry-managed skill folders outside a full OpenClaw workspace:

npx clawhub install twenty-oauth-mastery

What This Skill Does

OAuth authentication knowledge for Twenty CRM covering implementation patterns, common failure modes, and automatic email/calendar sync setup after login. Focuses on Passport.js strategy configuration, token management, domain allowlists, and the compile-then-deploy workflow Twenty requires for source changes to take effect.

Twenty's OAuth flow has several non-obvious failure points, like needing to rebuild and redeploy compiled JavaScript before source changes take effect, that generic OAuth documentation does not cover.

When to use it

  • Fixing redirect loops after Google OAuth login completes
  • Allowing both .com and .co company domains to authenticate
  • Triggering automatic Gmail and Calendar sync on first OAuth sign-in
  • Debugging token refresh failures in a self-hosted Twenty instance
  • Tracing why the frontend stays on the welcome page instead of redirecting to the dashboard

Example Workflow

Here's how your AI assistant might use this skill in practice.

INPUT

User asks: Why does OAuth login succeed but Gmail sync never starts?

AGENT
  1. 1Check the validate() method in google.auth.strategy.ts to confirm accessToken and refreshToken are included in the return object
  2. 2Verify auth.service.ts calls oauthSyncService.setupSyncForOAuthUser() after a successful login
  3. 3Confirm Google OAuth scopes include gmail.readonly and calendar.events
  4. 4Check that CALENDAR_PROVIDER_GOOGLE_ENABLED and MESSAGING_PROVIDER_GMAIL_ENABLED are set to true in the environment
  5. 5Query the connectedAccount table to confirm tokens were persisted and sync channels exist
OUTPUT

Root cause identified as tokens lost in validate(), fix applied, sync channels created with syncStatus=ONGOING

Requirements

Accounts, API keys, or tools you or your AI assistant may need to set up while using this skill.

Google Cloud Console project with OAuth 2.0 credentials (client ID and client secret)Redirect URIs and authorized origins configured in Google Cloud Console