Setup & Installation
Or with the ClawHub CLI, for registry-managed skill folders outside a full OpenClaw workspace:
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.
User asks: Why does OAuth login succeed but Gmail sync never starts?
- 1Check the validate() method in google.auth.strategy.ts to confirm accessToken and refreshToken are included in the return object
- 2Verify auth.service.ts calls oauthSyncService.setupSyncForOAuthUser() after a successful login
- 3Confirm Google OAuth scopes include gmail.readonly and calendar.events
- 4Check that CALENDAR_PROVIDER_GOOGLE_ENABLED and MESSAGING_PROVIDER_GMAIL_ENABLED are set to true in the environment
- 5Query the connectedAccount table to confirm tokens were persisted and sync channels exist
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.