Import LinkedIn candidates into TalentSearch via the RecruiterOS backend.
npm installCopy .env.development and set your API URL:
VITE_API_BASE=http://localhost:3000For production builds, create .env.production:
VITE_API_BASE=https://your-production-domain.comAlso add your production API origin via VITE_API_BASE — it is injected into
host_permissions at build time. LinkedIn host access is included for profile import.
npm run buildLoad the unpacked extension from the dist folder at chrome://extensions.
Click the RecruiterOS toolbar icon while on a LinkedIn profile to open the side panel (Chrome 114+).
Before the extension works:
- Add Supabase redirect URL:
http://localhost:3000/extension/auth/callback - Register the extension redirect URI from
chrome.identity.getRedirectURL('auth/callback')in your OAuth allowlist - Optionally set
EXTENSION_ALLOWED_ORIGINS=chrome-extension://YOUR_EXTENSION_IDin production
- Sign in with Google via the branded RecruiterOS login page
- Open a LinkedIn profile (
/in/...) - Click Import Candidate in the extension popup
- Review extracted fields, optionally assign a team + job
- Save — on duplicate, confirm Update candidate
- Side panel — UI only; sends messages to the background worker
- Background service worker — PKCE auth, token refresh, all API calls
- executeScript — one-shot read of LinkedIn DOM → markdown on user click
Tokens are stored in chrome.storage.local and never exposed to LinkedIn.