Connect Google
Gmail + Google Calendar require an OAuth client you create in your own Google Cloud project. Ghostdesk doesn't ship a hosted one because that would mean trusting our servers with your inbox.
- 1Create a Google Cloud projectVisit console.cloud.google.com/projectcreate and create a new project named "Ghostdesk".
- 2Enable APIsEnable the Gmail API and Google Calendar API in APIs & Services › Library.
- 3Configure OAuth consent screenSet user type = External, add yourself as a test user. Scopes:
.../auth/gmail.readonlyand.../auth/calendar.readonly. - 4Create OAuth credentialsType = Web application. Authorized redirect URI:
http://localhost:3000/api/auth/callback/google. Copy the Client ID and Client Secret. - 5Add credentials to .env.localCreate
.env.localin the project root:GOOGLE_CLIENT_ID=... GOOGLE_CLIENT_SECRET=... NEXTAUTH_URL=http://localhost:3000 NEXTAUTH_SECRET=run: openssl rand -base64 32
- 6Install NextAuth and restart
npm install next-auth— then the Inbox + Calendar widgets will light up. (The NextAuth route handler is included as a scaffold; seeapp/api/auth/[...nextauth]/route.ts.)
Why this isn't one click: real Gmail/Calendar access means handing OAuth tokens somewhere. Keeping them on your own machine, in your own Google Cloud project, is the safest default for a personal hub.