VISTAGE · DENVER
Session 01 · How-to · Read here, no download needed

Build it on the page.

Both setups, on the screen, step by step. Same content as the PDFs, but you can follow it without switching tabs. Every code block is copy-able. We'll click through this together on the call.

Updated  ·  May 5, 2026 Total time  ·  ~25 min You'll need  ·  ChatGPT Plus, your recruiting workbook
Part 1 · The Custom GPT walkthrough

Build your Research Engine

This is the walk-through. Not the high-points tour. Every click, every button name, every field in order. If you've never built a Custom GPT before, follow this line by line and you'll have a working Research Engine inside your ChatGPT account in about 10 minutes. We'll do it together on the call, and then this guide is yours for any time you want to rebuild, tune, or show someone else how it works.

Before you start
  • A ChatGPT Plus, Team, or Enterprise subscription. Custom GPTs are not on the free tier. If you're on free, upgrade at chatgpt.com/subscribe first — it's $20/month.
  • A browser. Chrome or Safari both work. I'd suggest NOT using Edge or Firefox for this first build — some of the GPT editor interactions get glitchy in them.
  • Two companion files from me, in the research engine zip you downloaded (or here on the portal):
    • GPT-INSTRUCTIONS.txt — the instructions you'll paste into your GPT.
    • GPT-STARTERS.txt — the four conversation-starter prompts, one per line.

Part A · Get yourself to the GPT Builder

Step 1
Sign in to ChatGPT

Open chatgpt.com in your browser. If you're already signed in, skip to Step 2.

If you're not signed in: click Log in in the top right. Enter your email and password (the same ones you already use for ChatGPT).

Step 2
Open the GPT editor

You have two ways to get there. Pick whichever feels easier:

Way A (click path):

  1. Look at the left sidebar of ChatGPT.
  2. Near the top, find the entry that says GPTs (sometimes shown as a grid icon with the word "GPTs" next to it).
  3. Click it. You'll land on a page titled "GPTs" with a search bar and some featured GPTs below it.
  4. In the top-right of that page, find the button that says + Create. Click it.

Way B (direct URL):

  1. In your browser's address bar, type: chatgpt.com/gpts/editor
  2. Press Enter. You'll land directly in the editor.

Either way, you should now see a page with two panels:

  • Left panel: a chat that says something like "Hi! I'll help you build a new GPT." This is the conversational builder. We're going to ignore it.
  • Right panel: a preview of the GPT you're about to build. Empty right now.
  • Top of the left panel: two small tabs — Create and Configure.
Step 3 · Important
Click the "Configure" tab

This is the most important click of this entire guide. Do not use the Create tab. That one tries to build your GPT by chatting with you, and it will fight you on the specificity we need.

Click Configure. The left panel will change from a chat to a form with fields like "Name," "Description," "Instructions," and so on. That's where we're working.

Part B · Fill in the Configure form

The Configure tab is one long form, top to bottom. Fill each field in order. Don't skip around.

Step 4 · Optional
Upload a profile picture

At the very top, there's a circle with a camera icon — a profile photo for your GPT. You can click it and upload any image, or let ChatGPT auto-generate one (it'll offer). Or skip entirely. This is cosmetic.

If you want, upload your Vistage headshot or the Local Nerds logo. Otherwise, leave it as the default.

Step 5
Enter the Name

Click in the Name field and type exactly:

Tim's Prospect Research Engine

That's what you'll see in your GPT sidebar later. You can change it any time.

Step 6
Enter the Description

Click in the Description field. Type (or paste):

Researches CEO candidates for my Vistage groups against my criteria — private, never fabricates, writes hooks in my voice.

This is the one-liner that shows under the name. It's not shown to anyone else (your GPT is private), it's just for you.

Step 7 · The big one
Paste the Instructions

This is the big one. The Instructions field is the "brain" of the GPT — everything it knows about how to do its job lives here.

  1. Open the file GPT-INSTRUCTIONS.txt (it's in the research engine zip on the Session 1 page).
  2. Press Cmd+A to select the entire document.
  3. Press Cmd+C to copy.
  4. Come back to ChatGPT.
  5. Click inside the Instructions text box.
  6. Press Cmd+V to paste.

The text box should now have about 70–80 lines of instructions, starting with "You are a research assistant helping Tim Cole..." and ending with "...Tim's building this with you, not using a product."

Double-check: scroll through what you pasted. Make sure nothing got cut off at the top or bottom. If it looks right, move on.
Step 8
Add the Conversation Starters

Below Instructions, find the Conversation starters section. You'll see four rows with plus-signs and text fields.

  1. Open the file GPT-STARTERS.txt.
  2. You'll see four lines in that file. Each one is a different conversation starter.
  3. Copy the first line (the whole thing, including any punctuation).
  4. Paste it into the first Conversation starter field in ChatGPT.
  5. Copy the second line. Paste into the second field.
  6. Repeat for the third and fourth lines.

If any of the four rows has old placeholder text, click the X next to that row to remove it first, then paste.

You should end up with four conversation starters filled in. These will show up as clickable suggestion buttons whenever you open the GPT in a new chat.

Step 9
Leave "Knowledge" empty for now

Below Conversation starters is a section called Knowledge. This is where you'd upload reference files (like your 8-step email cadence or a sample spreadsheet) that the GPT reads on every turn.

Leave this empty for now. We'll add files together in Session 2 once we see how the GPT performs without them. Adding files too early can actually make the GPT worse because it tries to use everything.

Step 10
Set the Capabilities

Scroll down to the Capabilities section. You'll see four checkboxes:

  • Web SearchCHECK THIS. This is how your GPT pulls LinkedIn profiles and recent news. Without it, the GPT can only use its training data, which doesn't include recent posts.
  • Canvas → Leave unchecked. Not useful here.
  • DALL·E Image Generation → Leave unchecked. No images needed.
  • Code Interpreter & Data Analysis → Leave unchecked. No spreadsheets to crunch, no charts to make. We don't want the GPT spending compute on this.
Double-check: only Web Search should have a checkmark.
Step 11
Skip "Actions"

Below Capabilities is a section called Actions with a button that says "Create new action." Do not click this. Actions are for wiring your GPT up to external APIs — way more advanced than we need today. Ignore it completely.

Step 12
Skip "Additional Settings"

Further down may be a section labeled Additional Settings with a toggle for "Use conversation data in your GPT to improve our models." If it's there and checked, uncheck it — this keeps your prospect research out of OpenAI's training data. (Not every account has this toggle; if you don't see it, don't worry about it.)

Part C · Save and set visibility

Step 13
Click the green "Create" button

Look at the top right of the screen. There's a button that says Create, with a small down-arrow next to it.

  1. Click the down-arrow first (not the button itself). A menu drops down with visibility options:
    • Only me ← pick this one
    • Anyone with the link
    • GPT Store
  2. Click Only me. The button text will change to reflect your selection (it may now say "Create (Only me)" or similar).
  3. Now click the Create button itself.

The page will briefly show a saving indicator, then give you a confirmation screen. You've just built your Custom GPT.

Step 14
Click "View GPT" or "Start a new chat"

The confirmation screen will offer a link to open the GPT you just built. Click it. You'll land in a fresh chat with your Research Engine.

You'll know it worked if:
  • The chat header says "Tim's Prospect Research Engine."
  • The four Conversation starter buttons you entered are visible above the message box.
  • The message box placeholder says something like "Message Tim's Prospect Research Engine..."

Part D · Test it with one real name

Before you close this tab, test the GPT on one name so you know the setup is good.

Step 15
Paste a test candidate

In the message box, type (or paste) a real name of someone you're curious about. A good first test is one of the ten prospects already in your pipeline. Try:

Research this person for my Vistage group: Marco Antonio Abarca, CEO of Ready Foods in Denver.

Press Enter.

Step 16
Watch what the GPT does

You should see the GPT say something like "Searching the web..." and start looking up Marco. This takes 20–60 seconds depending on how deep the search goes.

When it's done, the GPT should return a research card in the format you saw in Session 1:

  • Title, Company, Industry, Revenue band
  • LinkedIn URL
  • Recent signal
  • Three Intrigue Hook variants
  • Why they fit
  • Flags

Compare what it returned to the Marco Abarca entry in your pipeline spreadsheet. The hooks may be worded slightly differently — that's expected; there's natural variance. The key question: does it sound like something you'd actually write?

Step 17
Try a second name

For a harder test, try a name the GPT couldn't possibly have in its training data — someone who made the news in the last couple of months. For example:

Research this person for my Vistage group: [someone whose name came up in this week's DBJ].

If the GPT does the web search, pulls real signal, and returns a defensible card, you've got a working Research Engine.

If something looks off — the hooks feel generic, the revenue band is wildly wrong, a LinkedIn URL looks invented — tell me in the chat (you can talk TO the GPT about what it got wrong) and/or flag it for our Session 2 tune-up.

Step 18
Open the GPT from the sidebar

Close the current tab. Go back to your main ChatGPT window.

Look at the left sidebar. At the top, you should see a section that starts with pinned GPTs or recent GPTs. Your new GPT should appear in there, labeled "Tim's Prospect Research Engine."

Click it once to pin it. (Some versions of the UI auto-pin; some don't.) Now it's always one click away.

Part E · The weekly rhythm

Here's how I'd suggest you use it starting this week:

  • Monday morning (15 min). Open the GPT. Paste in the 5 names you want to work this week. Use them one at a time — not all at once; the GPT handles singles better than batches. Copy the hook you like from each card into your pipeline spreadsheet (Intrigue Hook column).
  • Tuesday (10 min). Review what the GPT gave you. Any card where the hook felt flat? Note it on paper. You'll tell me in Session 2, and we'll tune the instructions together.
  • Wednesday (actual outreach). Send your Step 1 cadence with the hooks you selected. The GPT's job is done by now; this is you.
  • Thursday (optional — 10 min). Try the GPT on two names you DON'T already know anything about. See how much of the work it does for you. This is the calibration moment.
  • Friday. Reply to my session recap email with what worked, what didn't, and one thing you'd change about the instructions. That's Session 2's homework.

Part F · Editing the Instructions later

The whole system's power is that you can change its brain in 10 seconds.

  1. Open ChatGPT, click your Custom GPT in the sidebar.
  2. Click the GPT's name at the top of the chat.
  3. In the menu that appears, click Edit GPT.
  4. You're back in the Configure form. Change anything you want. Hit Update (top right).

Common tuning moments:

  • The hook sounds too salesy for an industry. Scroll to the Hook voice rules in Instructions. Add a line like "For [industry], lean toward understated — avoid any language about growth or success metrics."
  • The GPT keeps missing a criterion. Scroll to the six-point filter. Make the criterion sharper or add an example.
  • You added a seventh criterion. Add it to the filter list.
  • You want the card shorter. Edit the format section to drop any field you don't use.

Every edit takes effect immediately, for every new chat. Old chats keep their old instructions.

Part G · When things go sideways

"The GPT fabricated a LinkedIn URL / phone number / revenue number"

This is the most serious failure mode and the one the Instructions specifically try to prevent. If it happens:

  1. In the chat, tell the GPT: "You fabricated [X]. Don't do that. Check your instructions on honesty." It will usually apologize and restate what it actually knows.
  2. Open Edit GPT → Instructions → find the "Honesty rules" section → make it sharper. Add the specific thing it got wrong as a forbidden example.
"The web search returned nothing useful / GPT said 'I don't have info on this person'"

Three possible causes:

  1. Web Search isn't enabled. Go back to Edit GPT → Capabilities → make sure "Web Search" is checked.
  2. The name is too generic. "John Smith in Denver" won't work. Give the GPT a company or LinkedIn URL.
  3. The person really doesn't have a public presence. That's useful information — probably not a great Vistage prospect if they have zero digital footprint.
"The GPT changed the hook format / stopped saying 'intrigued by your X'"

It drifted. Open Edit GPT → Instructions → find the "Hook voice rules" section → add at the top: "This format is non-negotiable: 'intrigued by your [X] and business leadership'. Never deviate." Redeploy (hit Update).

"I accidentally deleted my GPT"

Don't panic. In ChatGPT:

  1. Go to chatgpt.com/gpts/mine (your GPTs page).
  2. If you can find the deleted one in "Recently deleted" (there might be a tab), restore it.
  3. If not, you still have the Instructions, the conversation starters, and this guide — rebuild from scratch in about 5 minutes.
If you get stuck on any step

STOP and email me. Don't fight it. I'd rather unblock you in 30 seconds on a quick email than have you sit on a frustrating bug for 20 minutes. [email protected]

PDF
Custom GPT Walkthrough — printable PDF
same content · for printing or marking up offline
Part 2 · The DBJ scheduled scan

Daily DBJ Morning Scan

Every morning by 6am MT, a scheduled ChatGPT task posts a ready-to-paste list of new Denver Business Journal signals — CEO appointments, acquisitions, expansions — directly into your ChatGPT thread. Each row is pre-enriched with Title, Company, Industry, Revenue Band estimate, a LinkedIn search link, the Recent Signal from the article, and a drafted Intrigue Hook. You open ChatGPT at 6:30, glance at the list, copy-paste into your tracker, claim the good ones in Vistage, and you're in your cadence.

A quick note on architecture

I initially wanted this to write directly into your Excel file while you slept. ChatGPT's current Microsoft connector is read-only and can't append rows to Excel, so the design shifted to "task outputs a paste-ready list at 5:45am, you copy it into your workbook at 6:30am." That's a 30-second paste step per morning, in exchange for a curated shortlist that would have taken you an hour to build by hand. Net win.

Step 1
Add a new tab to your tracker: Prospect Pipeline

Open your recruiting workbook in Excel. Right-click any existing Group tab → Insert → Worksheet. Rename it: Prospect Pipeline.

Paste the following into cell A1 (it's tab-separated — Excel will split it across 15 cells when you paste):

Date	Signal	First	Last	Company	Title	Industry	Est. Revenue Band	City	LinkedIn Search	Recent Signal	Intrigue Hook	Source URL	Status	Notes

If the columns don't split: paste into Word first, select all, Table → Convert Text to Table (tab-separated), then copy the resulting table into Excel. Or use Data → Text to Columns with Tab as the delimiter.

Save the workbook. This tab is the home for all incoming DBJ signals. Your existing Group tabs stay untouched.

Step 2
Update your Custom GPT

Open your existing Custom GPT (the one you built in Part 1, or yesterday's call). Click the GPT's name at the top → Edit GPTConfigure tab.

2a. Add two conversation starters

Scroll down to Conversation starters. Add these two:

Full research [paste a name]
Pull latest DBJ Fastest-Growing list

2b. Append to the Instructions

Scroll up to Instructions. At the very bottom of the existing text, paste this block:

=== DBJ Prospect Research Support (added 2026-04-22) ===

You support two Tim-initiated commands related to the Prospect Pipeline tab in his recruiting workbook:

1. "Full research [name]" or "Full research [name] at [company]"
   - Call the /enrich Action configured in this GPT with {name: "First Last", notes: "[any notes Tim gave]"}
   - Take the returned dossier and format it as a replacement row Tim can paste into his Prospect Pipeline tab
   - Keep the original row structure: Date, Signal (unchanged), First, Last, Company, Title, Industry, Est. Revenue Band, City, LinkedIn Search, Recent Signal (strongest from dossier), Intrigue Hook (strongest single candidate from dossier), Source URL (unchanged), Status = "Researched", Notes (append any flags from the dossier prefixed "Flags:")

2. "Pull latest DBJ Fastest-Growing list"
   - Search the web for "Denver Business Journal Fastest-Growing Companies" for the current year
   - For each company on the list that's a private Denver-area company, produce a row matching the Prospect Pipeline schema
   - Signal = "fastest-growing". Source URL = the list page URL.
   - Output as a tab-separated markdown table Tim can paste into his workbook

INTRIGUE HOOK VOICE (applies everywhere)
- Peer-to-peer, CEO to CEO. Not vendor-to-prospect.
- Anchored to the Recent Signal directly. No generic hooks.
- BANNED words: "impressive", "inspiring", "innovative", "exciting", "amazing", "remarkable"
- Fills this slot: "intrigued by your ___ and business leadership"
- Short. Should flow when read aloud.

LINKEDIN URL RULE
Never invent or guess a LinkedIn profile URL. If you need to provide one, construct a Google search URL of the form:
https://www.google.com/search?q=site%3Alinkedin.com%2Fin+%22First+Last%22+%22Company%22

=== END DBJ Prospect Research Support ===

Click Update (top-right) to save.

Important: the daily scheduled scan does NOT run inside this Custom GPT. ChatGPT's scheduled tasks don't support Custom GPTs yet. The scan is set up separately in Step 3 below and runs in regular ChatGPT with its own self-contained prompt.
Step 3 · The big paste
Create the daily 5:45am scheduled task

In ChatGPT (the web app or desktop), open a regular new chat — NOT inside your Custom GPT. Pick any model (GPT-4o is fine).

Paste this entire message into the chat and send:

Create a scheduled task:

Name: DBJ Morning Scan
Schedule: Every day at 5:45am America/Denver time
Prompt:

Run the Denver Business Journal morning scan. Output a paste-ready markdown table. Do NOT attempt to write to any file.

SOURCE (do not try bizjournals.com directly — it is Cloudflare bot-blocked):
Fetch this Google News RSS URL and parse for recent items:
https://news.google.com/rss/search?q=site%3Abizjournals.com%2Fdenver+%28CEO+OR+President+OR+named+OR+appointed+OR+acquires+OR+acquisition+OR+expands+OR+expansion+OR+headquarters+OR+growing%29&hl=en-US&gl=US&ceid=US:en

Keep items with pubDate within the last 7 days.

SIGNAL TYPES TO KEEP
- new-ceo: CEO, President, Owner, or Managing Partner named or appointed at a private company
- acquisition: company acquired, acquired-by, or made an acquisition
- expansion: expansion, new HQ, new location, significant hiring event
- new-hq: relocating or opening Denver-area headquarters

SIGNAL TYPES TO SKIP
- Funding rounds under $10M (too early-stage)
- 40 Under 40 (over-pitched)
- Denver Inno startup coverage (too early-stage)
- Public-company earnings, government, nonprofit, municipal news

GEOGRAPHIC FILTER (~25 miles of downtown Denver)
KEEP: Denver, Aurora, Centennial, Lakewood, Englewood, Arvada, Littleton, Thornton, Westminster, Wheat Ridge, Commerce City, Greenwood Village, Glendale, Broomfield (south), Parker, Lone Tree, Highlands Ranch, Golden.
SKIP: Colorado Springs, Fort Collins, Boulder, Loveland, Longmont, Greeley, Pueblo, Grand Junction, Vail, Aspen.

LITE ENRICHMENT PER ITEM
For each surviving item, try to fetch the DBJ article page via browsing. If the article page fails to load (Cloudflare block), use the Google News title and snippet only.

Produce these fields per row:
- Date: today's date (YYYY-MM-DD)
- Signal: one of the tags above
- First, Last: the person named (blank if the article is about the company without naming an executive)
- Company: company name
- Title: CEO / President / Founder / Owner / Managing Partner (blank if not stated)
- Industry: 1 to 3 words (e.g., "Logistics", "Healthcare IT", "Commercial Real Estate")
- Est. Revenue Band: $5-10M, $10-25M, $25-50M, $50-100M, $100-250M, $250-500M, or BLANK. Only fill when there is a strong cue (employee count with known industry multiples, stated revenue, acquisition deal size). BIAS STRONGLY TO BLANK. A wrong guess costs Tim a claimed Vistage slot. Blank is better than wrong.
- City: HQ city (from KEEP list only)
- LinkedIn Search: Google search URL of the form https://www.google.com/search?q=site%3Alinkedin.com%2Fin+%22First+Last%22+%22Company%22 — never invent or guess a profile URL
- Recent Signal: one specific sentence from the article (quote or tight paraphrase, not generic)
- Intrigue Hook: best single phrase completing "intrigued by your ___ and business leadership" — anchored to the Recent Signal, peer-to-peer voice, BANNED words: impressive, inspiring, innovative, exciting, amazing
- Source URL: DBJ article URL
- Status: "New"
- Notes: prefix "Hook alts:" then list 2 alternate Intrigue Hook candidates semicolon-separated

OUTPUT FORMAT
Reply with:

Line 1: "5:45am DBJ scan — [N] items, last 7 days. Paste the table below into the Prospect Pipeline tab (Tab key will split columns):"
Line 2: blank
Lines 3+: a tab-separated table with the 15 columns in this order:
Date	Signal	First	Last	Company	Title	Industry	Est. Revenue Band	City	LinkedIn Search	Recent Signal	Intrigue Hook	Source URL	Status	Notes

Use literal TAB characters between columns, one row per line, no markdown pipe characters.

ZERO-HIT CASE
If no items survive filtering: reply "5:45am DBJ scan — no new signals in the last 7 days."

SOURCE-UNREACHABLE CASE
If Google News RSS is unreachable or returns no items: reply "5:45am DBJ scan — Google News unreachable this morning, will retry tomorrow."

DEDUP
Do not attempt to dedup. Tim will eyeball against his existing Prospect Pipeline tab before pasting rows. The Source URL is the dedup key if he wants to remove duplicates later via Excel's Remove Duplicates feature.

Send that whole block. ChatGPT will read it, propose a schedule, and ask you to confirm. Say yes / confirm. A "task" bubble will appear in the chat.

To see and edit your tasks later: click your profile icon (bottom-left) → Tasks.
Step 4
Test the task once manually

In your Tasks list (profile icon → Tasks), find DBJ Morning Scan and click the three-dots menu → Run now (or the equivalent manual-trigger button — OpenAI has moved this around; if you don't see Run, just edit the task, save, and wait for the next trigger, or send yourself a fresh "run DBJ Morning Scan now" message).

Wait 2–5 minutes. A new chat thread should open with the scan output.

Expected output: a line like "5:45am DBJ scan — 3 items, last 7 days. Paste the table below…" followed by a tab-separated table with 3 rows.

If you see that, you're done. Copy the table (everything from the Date header line down), paste into cell A2 of your Prospect Pipeline tab, and you're live.

Step 5
Your daily morning routine
  1. 6:30am. Open ChatGPT. Look for the "DBJ Morning Scan" thread (should have a fresh message from 5:45am).
  2. Scan the table. 1–5 rows most mornings.
  3. Eyeball for duplicates against what's already in your Prospect Pipeline tab. If a Source URL is already there, skip that row.
  4. Copy the table rows you want to keep → paste into the next empty row of your Prospect Pipeline tab. Excel will split columns on the tab characters.
  5. Open Vistage portal, claim the ones you want. Update the row's Status column from New to Claimed.
  6. Grab emails from Lusha or the Vistage CRM.
  7. Copy First, Last, Company, Email from the Prospect Pipeline row into your current Group tab. Update Pipeline Status to Pursuing.
  8. Run your 8-step cadence as today. Email #1 and #3 both reference the Intrigue Hook column from Prospect Pipeline.

Optional upgrade for a specific prospect: in your Custom GPT say "Full research [name]" — the GPT calls the deeper research engine and hands you back a stronger Intrigue Hook and flags. Paste the updated row back over the original in Prospect Pipeline, Status = Researched.

Step 6
How to kill the scan if it misbehaves

Profile icon → Tasks → find DBJ Morning Scan → three-dots menu → Pause (temporarily) or Delete (permanently).

Rows already in your workbook stay. Delete them manually if you want. Re-enabling any time resumes the morning scans.

Step 7
Self-diagnostic prompts if something's off

ChatGPT's task UI has shifted a few times in 2026. If any part of the setup behaves unexpectedly, expand a diagnostic below and paste the matching prompt into a fresh ChatGPT chat. These are written to give ChatGPT the full context in one message so it can help you figure out what's happening, without you needing to know the current menu layout.

Diagnostic A · "The task didn't fire this morning"
I set up a scheduled task in ChatGPT called "DBJ Morning Scan" that should fire at 5:45am America/Denver every day and post a message in its thread. Today I opened ChatGPT at [TIME] and there's no new message from it.

Please walk me through how to:
1. Verify the task is actually active — where exactly is the tasks list in the current ChatGPT UI (desktop web app, as of today)?
2. Check the task's last run status and any error it hit.
3. Manually trigger it now to see if it runs at all.
4. Check whether I'm hitting the 10-active-tasks cap that ChatGPT Plus has.

Tell me the exact clicks in the current UI, and if a screenshot would help, tell me what to capture.
Diagnostic B · "Task ran but produced no table / 'no new signals' for 3+ days"
My scheduled task "DBJ Morning Scan" has been running but for the last 3+ days it has either output "no new signals in the last 7 days" or returned an empty result. I know for a fact that the Denver Business Journal has published CEO appointment and acquisition articles in that window.

The task fetches this URL:
https://news.google.com/rss/search?q=site%3Abizjournals.com%2Fdenver+%28CEO+OR+President+OR+named+OR+appointed+OR+acquires+OR+acquisition+OR+expands+OR+expansion+OR+headquarters+OR+growing%29&hl=en-US&gl=US&ceid=US:en

Please do three things:
1. Fetch that URL right now and tell me how many items are in it with pubDate in the last 7 days, and list the first 5 headlines.
2. If there ARE items there, tell me which of my filters (signal types, geographic filter for Denver metro, exclusions) would be cutting them out.
3. Suggest a loosened version of the filters we could try for one week as a calibration test.
Diagnostic C · "The table has bad rows (wrong regions, wrong industries, not my ICP)"
My scheduled task "DBJ Morning Scan" is producing rows that don't match my ICP. Here are 3 recent bad rows [PASTE THE BAD ROWS HERE].

My ICP is: private-company CEOs/Presidents, $5M-$500M revenue, HQ within 25 miles of downtown Denver. I'm the Vistage chair — I recruit for CEO peer-advisory groups.

Please:
1. Tell me WHY each of these rows got through the filter — which keyword matched, which geographic filter was too loose.
2. Suggest a specific tightening for each bad row that wouldn't also kill good rows.
3. Give me a replacement version of the filter block in my task prompt that I can paste in.
Diagnostic D · "The Custom GPT's 'Full research [name]' command isn't working"
I have a ChatGPT Custom GPT set up by my consultant with an Action that calls a research endpoint. I tried saying "Full research [name]" and one of these things happened: [PICK ONE AND DESCRIBE:
  (a) it didn't call the Action at all, just made up an answer
  (b) the Action returned an error
  (c) the answer came back but not in the row format I expected].

Walk me through:
1. Confirming the Action is still configured — where do I look in the GPT's Configure panel?
2. Testing the Action directly (not through conversation) to see what it returns.
3. If it's making up answers without calling the Action, what's the fix?

This is a ChatGPT Plus account. The GPT was working yesterday.

What I intentionally didn't build yet

  1. Vistage portal automation. You said manual, it stays manual.
  2. LinkedIn Sales Navigator search on your connections. Your other source. Future session.
  3. Auto-scoring hungry/humble/courageous/presence. Not findable in public data; those stay your in-conversation judgment calls.
  4. Automating the 8-step outreach cadence. This is what you named as your real priority. That's Session 2. The Intrigue Hook populated each morning is exactly what email #1 and email #3 will pull from in that work.

Honest trade-offs in this version

  • Copy-paste beats the original write-while-you-sleep plan. ChatGPT's current Microsoft connector can read your workbook but can't write rows to it. Rather than build a Power Automate bridge (more infrastructure you'd inherit), I kept it all in ChatGPT with a 30-second paste step on your side.
  • No automatic dedup across days. If the same article runs twice in Google News's feed, you might see the same row two mornings in a row. Easy to eyeball and skip, or use Excel's Remove Duplicates on the Source URL column weekly.
  • The scan can't use your Custom GPT's Instructions. That's why the task prompt in Step 3 is long — all the DBJ-specific rules are baked in directly. Your Custom GPT still handles "Full research" and "Pull Fastest-Growing list" with its own Instructions.
If anything goes sideways

Text or email me. Screenshots of the ChatGPT thread after the task runs are the most useful. [email protected] · 970.800.1295

PDF
DBJ Scheduled Research Setup — printable PDF
same content · for printing or marking up offline
↑ GPT ↑ DBJ ← Session 1