Trawls 12 search terms across Seek AU. Results push straight to your Feed tab and Sheets.
Estimated time shown above. Start it, switch to another tab, come back when it's done.
Running…
Running in background — you can switch tabs. This modal stays open.
0 of 0 entries
0 selected
×
No API key set. Go to Setup → Claude AI and paste your Anthropic API key to enable screenshot parsing.
0 selected
PJ Radar
Outreach templates
Use tokens: {{name}}{{company}}{{title}}{{incumbent}}
New template
How to find prospects
New here? Start with this. It explains every tool in the Prospects tab and the fastest ways to fill your pipeline.
The two approaches
Bulk (fastest)
Apollo.io / Seek RSS. Fill 50–200 prospects in minutes. You vet them later, at contact time.
Manual (targeted)
Google X-Ray + LinkedIn. Use when you already know exactly who you want.
Start with bulk to fill the funnel. Switch to manual when you want a specific person at a specific company.
Find prospects panel (this tab)
Go to the Prospects tab → click Find prospects to open the panel.
Type a job title (e.g. "Marketing Manager") and a city (e.g. "Melbourne").
Hit Generate. You get 7 clickable links — open them one at a time.
Google X-Ray 1 & 2 → shows LinkedIn profiles on Google. Click a result → open the profile → copy the top section → come back here and click Paste LinkedIn bio to auto-fill the form.
Seek URL / RSS → shows companies actively hiring that role right now. That's a signal — they're investing in exactly the function you help with.
LinkedIn people → browse profiles directly on LinkedIn. Hit Connect with a short note.
Google Alert → sets up an ongoing email alert so Google emails you whenever a new match appears.
Apollo.io — fastest way to get 50+ prospects
Apollo has a database of 275M+ contacts. Free tier = ~10 exports/month. Search by job title + location + company size, select names, export CSV, then use the Import button in Prospects to add them all at once. Duplicates are auto-skipped.
See the Apollo.io bulk import card below for step-by-step.
Seek RSS → automatic job-signal alerts
When a company posts a job ad for a Marketing Manager, they're actively investing in that function — that's your signal. Connect Seek RSS to Make.com and new job listings auto-post as prospects while you sleep.
See the Seek RSS → Make.com card below for step-by-step.
Phantombuster — LinkedIn scraping
Phantombuster runs a LinkedIn search automatically and exports names, titles, companies and profile URLs as a CSV. Free tier = ~2 hours/month of run time. Good when Apollo doesn't have someone. Export CSV → Import here.
Don't vet at import time. Add everyone who looks plausible, then do a 30-second skim before you actually reach out. The Prospects tab is a queue — your job is to keep it full.
Follow-up notifications
Get a browser notification when follow-ups are due. Grant permission once and it checks each time you open the tool.
Google Sheets sync
Paste your deployed Apps Script URL. The tool will read from Sheets on load and write back on every change — works across devices.
Use these on first setup, after redeploying the script, or to sync from a device that was offline.
Hunter.io email lookup
Paste your free Hunter.io API key to enable one-click email lookup on prospect cards. Free tier: 25 lookups/month. Get your key at hunter.io/api-keys.
Claude AI — LinkedIn screenshot parser
Screenshot paste is active. Open Add Entry, expand "Paste LinkedIn profile", and paste a screenshot (Ctrl+V) — Claude reads it and fills the form automatically.
✓ Connected via cloud proxy — no API key needed here.
Apollo.io bulk import
Export a prospect CSV from Apollo.io's free tier and import it directly into the Prospects tab.
Go to apollo.io and create a free account (no credit card required).
Click Search → People in the left sidebar.
Use the Title filter to add job titles (e.g. "Marketing Manager", "Head of Marketing").
Click Location and type "Melbourne, Australia", then select from the dropdown.
Optionally add # Employees and Industry filters, then click Apply Filters.
Select up to 25 contacts using the checkboxes, then click Save to List.
Go to Lists, find your list, and click Export → Export to CSV.
In the Prospects tab, click Import and select your downloaded CSV file.
Apollo's free tier gives ~50 contact exports/month. Each CSV export maps directly to the Prospects import — use the Import button in the Prospects tab.
Seek RSS → Make.com automation
Automatically add new Seek job listings as prospects by connecting a Seek RSS feed to your webhook via Make.com.
Log in to make.com, click Create a new scenario, and name it (e.g. "Seek Job Leads to Webhook").
Click the + circle, search for RSS, and choose Watch RSS Feed Items. Paste your Seek RSS URL and set max items to 5. On first run, choose "From now on".
Click the clock icon and set the polling interval (e.g. every 1 hour or 1 day).
Click + after the RSS module, search for HTTP, and choose Make a request.
Set URL to your Google Apps Script deployment URL, Method to POST, Body type to Raw, and Content type to JSON.
In the Request content field, enter the JSON payload below — use the dynamic field picker to map RSS values.
Toggle the scenario ON. Click Run once to test and confirm a 200 response before going live.
Use the Seek RSS feed URL from the Find prospects panel above — search for your target role and location, then copy the RSS link from the results.
How to connect Google Sheets
1
Create a Google Sheet
Name the first sheet tab Leads. Add these headers exactly in row 1 (the script manages them automatically after first sync): id, dateAdded, type, company, contactName, title, email, phone, linkedin, source, signal, priority, notes, status, lastContacted, followUpBy, tags, activities
2
Open Apps Script
In your Sheet: Extensions → Apps Script. Delete any existing code.
3
Paste the script below
Copy the code in the section below and paste it into the Apps Script editor. Save (Cmd/Ctrl+S).
4
Deploy as a web app
Click Deploy → New Deployment. Set Type to "Web app". Execute as: Me. Who has access: Anyone. Click Deploy and authorise when prompted.
5
Paste the URL above and save
Copy the web app URL from the deployment dialog. Paste it in the webhook field above and click Save.
6
Automate Seek RSS feeds (optional — Make.com)
In Make.com: add an RSS module, paste a Seek RSS URL from the Search tab. Connect to an HTTP POST module pointing at your webhook URL. New matching jobs will land in your Sheet automatically.
Apps Script
var SHEET_NAME = 'Leads';
var PROSPECTS_SHEET = 'Prospects';
var COLS = ['id','dateAdded','type','company','contactName','title','email',
'phone','linkedin','website','source','signal','priority','notes','status',
'lastContacted','followUpBy','tags','activities',
'dealValue','incumbent','contactRole','photo'];
var PROSPECT_COLS = ['id','dateAdded','company','contactName','title',
'email','linkedin','website','source','signal','notes','status',
'jobTitle','jobUrl','photo'];
function doGet(e) {
try {
var ss = SpreadsheetApp.getActiveSpreadsheet();
// ── Leads ──
var leadsSheet = ss.getSheetByName(SHEET_NAME);
var leads = [];
if (leadsSheet && leadsSheet.getLastRow() > 1) {
var rows = leadsSheet.getRange(2, 1, leadsSheet.getLastRow() - 1, COLS.length).getValues();
leads = rows.map(function(row) {
var lead = {};
COLS.forEach(function(h, i) {
if (h === 'tags' || h === 'activities') {
try { lead[h] = JSON.parse(row[i] || '[]'); } catch(x) { lead[h] = []; }
} else { lead[h] = row[i]; }
});
lead.id = Number(lead.id);
return lead;
});
}
// ── Prospects ──
var pSheet = ss.getSheetByName(PROSPECTS_SHEET);
var prospects = [];
if (pSheet && pSheet.getLastRow() > 1) {
var pRows = pSheet.getRange(2, 1, pSheet.getLastRow() - 1, PROSPECT_COLS.length).getValues();
prospects = pRows.map(function(row) {
var p = {};
PROSPECT_COLS.forEach(function(h, i) { p[h] = row[i]; });
p.id = Number(p.id);
return p;
});
}
return json({ leads: leads, prospects: prospects });
} catch(e) { return json({ error: e.message }); }
}
function doPost(e) {
try {
var data = JSON.parse(e.postData.contents);
var ss = SpreadsheetApp.getActiveSpreadsheet();
if (data.action === 'save_all') {
var sheet = ss.getSheetByName(SHEET_NAME);
if (!sheet) return json({ error: 'Sheet "Leads" not found' });
if (sheet.getLastRow() > 1) sheet.deleteRows(2, sheet.getLastRow() - 1);
var leads = data.leads || [];
if (leads.length > 0) {
var rows = leads.map(function(lead) {
return COLS.map(function(h) {
if (h === 'tags' || h === 'activities') return JSON.stringify(lead[h] || []);
return lead[h] !== undefined ? lead[h] : '';
});
});
sheet.getRange(2, 1, rows.length, COLS.length).setValues(rows);
}
return json({ ok: true, count: leads.length });
}
if (data.action === 'save_prospects') {
var pSheet = ss.getSheetByName(PROSPECTS_SHEET);
if (!pSheet) {
pSheet = ss.insertSheet(PROSPECTS_SHEET);
pSheet.getRange(1, 1, 1, PROSPECT_COLS.length).setValues([PROSPECT_COLS]);
}
if (pSheet.getLastRow() > 1) pSheet.deleteRows(2, pSheet.getLastRow() - 1);
var precs = data.prospects || [];
if (precs.length > 0) {
var pRows = precs.map(function(p) {
return PROSPECT_COLS.map(function(h) { return p[h] !== undefined ? p[h] : ''; });
});
pSheet.getRange(2, 1, pRows.length, PROSPECT_COLS.length).setValues(pRows);
}
return json({ ok: true, count: precs.length });
}
if (data.action === 'add_prospect') {
var pSheet = ss.getSheetByName(PROSPECTS_SHEET);
if (!pSheet) {
pSheet = ss.insertSheet(PROSPECTS_SHEET);
pSheet.getRange(1, 1, 1, PROSPECT_COLS.length).setValues([PROSPECT_COLS]);
}
var p = data.prospect || {};
if (!p.id) p.id = new Date().getTime();
if (!p.dateAdded) p.dateAdded = new Date().toISOString().split('T')[0];
if (!p.status) p.status = 'new';
var row = PROSPECT_COLS.map(function(h) { return p[h] !== undefined ? p[h] : ''; });
pSheet.appendRow(row);
return json({ ok: true, id: p.id });
}
return json({ error: 'Unknown action' });
} catch(e) { return json({ error: e.message }); }
}
function json(data) {
return ContentService.createTextOutput(JSON.stringify(data))
.setMimeType(ContentService.MimeType.JSON);
}
Automation webhook (Zapier / Make / n8n)
Send prospects straight into this tool from any automation platform — no CSV, no manual steps. Use your Apps Script URL as the webhook endpoint.
The prospect lands in your Prospects sheet tab. Refresh the tool to pull it in — or it'll appear next time you open it.
Valid source values: linkedin, google-xray, apollo, seek, sales-navigator, google-alerts, referral, other
Custom tags
Edit the tags available on pipeline entries. Comma-separated. Changes apply immediately.
📡 PJ Radar — RSS pipeline setup
PJ Radar polls Seek, Indeed, and Google Alerts every morning at 6am and delivers scored job ad leads to your Feed tab. Every Monday at 7am, Claude analyses the week's haul and writes a sales briefing to your Dashboard.
One-time setup (do these in order)
Open your Google Sheet → Extensions → Apps Script
Select setupSheetTabs → click ▶ Run Creates Feed, Config, Summary, RunLog tabs and seeds 23 search URLs.
In Apps Script → Project Settings (gear icon, left sidebar) → Script Properties
Add property: Name = CLAUDE_API_KEY, Value = your sk-ant-... key Used by the Monday summary engine to call Claude.
Select installDailyPollTrigger → click ▶ Run Polls all active RSS feeds every day at 6am AEST.
Select installWeeklySummaryTrigger → click ▶ Run Runs the Claude sales briefing every Monday at 7am AEST.
Set up Google Alerts at google.com/alerts
Suggested terms: AI content strategy AU · AI workshop marketing · generative AI content agency
Set Deliver to: RSS feed → copy the feed URL → paste into the matching row in the Config sheet → change active to Yes
Test it now
Run pollRSSFeeds manually to pull today's ads immediately. Then click the Feed tab → Refresh to see them in the tool.
Run runWeeklySummary manually to generate a test briefing — it'll appear on your Dashboard under This Week's Signal.
The Config sheet is yours to edit — add new RSS URLs, change tiers, flip active to No to pause any feed. No code changes needed.
Daily backup → Google Drive
Every night at 2am, the Apps Script saves a full JSON snapshot of all leads and prospects to a PJ Leads Backups folder in your Google Drive. The last 30 days are kept; older files are auto-deleted.
One-time setup
Open your Google Sheet → Extensions → Apps Script
In the function dropdown at the top, select installDailyBackupTrigger
Click ▶ Run — authorise if prompted
Done. Check Triggers (clock icon, left sidebar) to confirm it's set.
To restore from a backup
Go to Google Drive → find the PJ Leads Backups folder
Download the pj-backup-YYYY-MM-DD.json file you want
Come back here → Backup & Restore card below → Import that file
You only need to run installDailyBackupTrigger once — the trigger persists forever. To test immediately, run dailyBackup directly and check your Drive.
Backup & Restore
Download a complete backup of all your data (leads, prospects, and interaction history). Use it to restore everything in one click if something goes wrong.
Restore from backup
Import a .json backup file (restores everything including interactions) or a .csv file (restores contact info only — no interaction history).
Importing replaces all current data.
Import prospects
Apollo export, or any CSV with company / name / email columns
Seek / LinkedIn trawler output — attaches the triggering job role + ad link to each matched prospect
Import from LinkedIn
Select the top section of a profile, copy it, paste below
Tip: also paste the profile URL anywhere in the text and it'll be captured too.