Configuration

Settings

Connect CallRail and Google accounts, then sync GA4, GSC, and call data to the dashboard.

Step 1: Create a Web application OAuth client in Google Cloud Credentials , add redirect URI https://dash.seanguillermo.com/api/oauth/google/callback, then paste Client ID + Secret below.

Production storage is temporary

Saved credentials reset between visits until persistent storage is configured.

  1. Fastest: run node --env-file=.env scripts/push-vercel-env.mjs to push secrets to Vercel env vars
  2. Best: create a Turso database and set TURSO_DATABASE_URL + TURSO_AUTH_TOKEN on Vercel env

Integrations

Connect your data sources here. You can add multiple Gmail accounts for GA4 and Search Console.

CallRail

API key + account ID for call tracking across your portfolio.

Connected

Configured via deployment environment variables.

Local Dominator

API key for GeoGrid heatmap ranks across your portfolio.

Not connected

Create a key in Local Dominator → Settings → API.

MCP

Connect Claude, Cursor, or ChatGPT to this dashboard with a bearer API key (SEO Gets–style local MCP).

0 keys
Name Prefix Created Last used
No keys yet.

Cursor / Claude Desktop tip

Point an HTTP MCP client at https://dash.seanguillermo.com/api/mcp with header Authorization: Bearer ct_mcp_…. Tools: portfolio_summary, list_sites, get_site_metrics.

Ephemeral storage: keys reset on cold start unless Turso is configured.

Sync

Pull registry, CallRail calls, Google metrics, and Local Dominator GeoGrid ranks into the dashboard.

  • Last job: none

After connecting integrations, click Sync now to discover GA4 properties and GSC sites, then refresh portfolio metrics.

Scheduled sync: npm run sync every 60 min.

Google Analytics & Search Console

Sign in with Google to connect GA4 and GSC. You can link multiple Google accounts.

Setup required

One-time: add OAuth credentials to .env (see below), restart the dev server, then sign in.

One-time admin setup (not in the UI)

Google Sign-In cannot fill in Client ID / Secret for you � every app must register once with Google. Add these to .env (or Vercel env), then restart:

GOOGLE_OAUTH_CLIENT_ID=your-id.apps.googleusercontent.com
GOOGLE_OAUTH_CLIENT_SECRET=your-secret
GOOGLE_OAUTH_REDIRECT_URI=https://dash.seanguillermo.com/api/oauth/google/callback
  1. Create a Web application OAuth client in Google Cloud Credentials
  2. Add redirect URI: https://dash.seanguillermo.com/api/oauth/google/callback
  3. Paste Client ID + Secret into .env and run npm run dev
  4. Production: npm run vercel:env to push env vars to Vercel

Connected Gmail accounts

Complete OAuth app setup above, then sign in with Google.

Dashboard defaults

Applied when opening the portfolio without URL filters.

Sync performance

Recent sync jobs

ID Type Status Finished