Back to dashboard

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.

  1. 1
    Create a Google Cloud project
    Visit console.cloud.google.com/projectcreate and create a new project named "Ghostdesk".
  2. 2
    Enable APIs
    Enable the Gmail API and Google Calendar API in APIs & Services › Library.
  3. 3
    Configure OAuth consent screen
    Set user type = External, add yourself as a test user. Scopes: .../auth/gmail.readonly and .../auth/calendar.readonly.
  4. 4
    Create OAuth credentials
    Type = Web application. Authorized redirect URI: http://localhost:3000/api/auth/callback/google. Copy the Client ID and Client Secret.
  5. 5
    Add credentials to .env.local
    Create .env.local in the project root:
    GOOGLE_CLIENT_ID=...
    GOOGLE_CLIENT_SECRET=...
    NEXTAUTH_URL=http://localhost:3000
    NEXTAUTH_SECRET=run: openssl rand -base64 32
  6. 6
    Install NextAuth and restart
    npm install next-auth — then the Inbox + Calendar widgets will light up. (The NextAuth route handler is included as a scaffold; see app/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.