Pre-call research desk that briefs reps before every meeting

Open one screen before every call to see who you are meeting, what your CRM already knows, and a three-minute brief on the company.

App
AirtopHubSpotGoogle CalendarSalesLead EnrichmentMeeting WorkflowsResearch & Monitoring
PromptCreate

I want an internal app that my sales reps open right before their meetings so nobody walks into a call cold. Think of it as a pre-call research desk: the left pane is today's meeting list, the right pane is a one-screen brief on the company they are about to talk to. It is rep facing and on demand, so nothing runs on a schedule. Every rep sees only their own calendar.

The left pane lists today's external meetings for the signed in rep, pulled from Google Calendar with List Events against their primary calendar for the current day, expanding recurring events into individual instances and sorting by start time. Treat a meeting as external when at least one attendee has an email domain that is not our own company domain, and skip events the rep has declined along with events that have no attendees. Each row shows the time, the meeting title, and the external attendees.

Group the external attendees by email domain and match each domain to a company record using HubSpot Search Companies filtered on the company domain property. When there is a match, the row should immediately show what we already know without the rep clicking anything: company name, the record owner, how many open deals there are and their total value, and the date of the last activity on the account. Resolve the owner id to a real person's name with HubSpot List Owners, and get the open deals with HubSpot Search Deals filtered to deals associated with that company whose stage is not closed won or closed lost. Also look up the individual attendee with HubSpot Search Contacts by email address, so the app knows which contact record the meeting is actually with. If a domain has no company match, say so plainly on the row and still let the rep build a brief from the domain alone.

Every meeting row has a Build brief button. Clicking it starts background research in an Airtop cloud browser: Create Session, then Create Window pointed at the company website, then Scrape Page to pull the page down as markdown and Query Page with a structured output schema to extract the specific fields the brief needs. Repeat that for the company's careers or jobs page and for its news or press page, reusing the same session and opening a window per page. Terminate Session when the research finishes or fails, so we are not paying for idle browsers. While it runs, show progress on the row so the rep can see which page is being read.

The brief itself has to fit on one screen and be readable in about three minutes, because the rep is opening it in the last few minutes before a call and needs to hold it in their head for the first ten minutes of the conversation. Keep it to five short sections: a company snapshot covering what they do, rough size, market and headquarters; anything notable from the last 90 days such as funding, launches, partnerships, expansions or press; open roles that hint at where they are investing, grouped by function rather than listed as raw job postings; recent leadership changes; and three suggested discovery questions written specifically for this account rather than generic ones. Prefer short bullets over paragraphs, cap the length of each section so the whole thing stays scannable, and honestly skip a section when the research found nothing instead of padding it with filler.

Every claim in the brief must show which page it came from, as a small source link next to the line. A rep is going to repeat these facts out loud on a live call, so they need to be able to click through and check anything that looks surprising. Never let the brief assert something the crawl did not actually support.

The rep can edit any section inline. They should be able to correct a wrong fact, delete a bullet, or rewrite a discovery question, and have it save in place against that brief.

A Save to CRM button pushes the finished brief back using HubSpot Create Note, associated to both the company record and the meeting contact, so it lands on the CRM timeline for whoever opens the account next. Save the edited version rather than the original generated one, and format the note so it reads well inside HubSpot.

There is also a brief library the rep can browse: past briefs listed by company, with the date each was built and who built it, so the next person on the account never starts from nothing. Default the library to the signed in rep's own brief history with a toggle to see everything the team has built.

Cache briefs per company for a few days, around three or four. When a brief already exists and is still fresh, open it instantly instead of running a new crawl, and show how old it is alongside a Refresh button for the rep who wants a fresh pass anyway. Two reps meeting the same account on the same day should not each trigger their own crawl. The cache lives at the company level and is shared across the workspace, which is the entire point: the cost of researching an account gets paid once.

Handle the unglamorous states properly. A day with no external meetings, a company we cannot find a website for, a crawl that fails or gets blocked, an attendee domain that matches nothing in the CRM. In each case say what happened in plain language and let the rep keep moving, since they are usually opening this with only a few minutes to spare.

What does this prompt do?

  • Lists today's external meetings for the signed in rep and matches each attendee to the right company in your CRM
  • Shows what you already know before you dig: the account owner, open deals, and when someone last touched the account
  • Builds a one-screen brief from the company's website, careers page, and news page covering a snapshot, the last 90 days, hiring signals, leadership changes, and three discovery questions
  • Saves the finished brief back to the CRM and keeps a library of past briefs so the next rep on the account starts warm

What do I need to use this?

  • A Google Calendar account for each rep, connected so the app can read their own schedule
  • A HubSpot login with access to companies, contacts, deals, and notes
  • An Airtop account, which is the cloud browser that reads company websites for you
  • Company records in HubSpot with the website domain filled in, since that is how meetings get matched to accounts

How can I customize it?

  • Change what counts as an external meeting, or widen the list from today to the next few days
  • Adjust the brief sections, for example adding tech stack signals or a one-line fit summary
  • Set how long a brief stays fresh before the app offers to research the company again

FAQs

How long does it take to build a brief?
A couple of minutes. The app reads three pages on the company site in a real browser, so it is slower than a search but far faster than the 30 to 45 minutes most reps spend preparing by hand. You can start it as you walk into a call and read it when it lands.
Will this work on a free HubSpot plan?
Yes. It reads companies, contacts and deals and writes notes, all of which are available on every HubSpot plan including the free CRM.
Can reps see each other's meetings?
No. Each rep sees only their own calendar. The shared part is the brief library, so if a colleague already researched an account you can read their brief instead of starting from scratch.
Does every rep trigger a fresh crawl of the same company?
No. Briefs are cached per company for a few days, so the second rep meeting that account opens the existing brief instantly. Anyone can still force a refresh if they want the latest.
How do I know the brief is accurate?
Every claim shows the page it came from, so you can click through and check anything before you repeat it on a live call. If the research could not confirm something, the brief leaves that section out rather than guessing.
What happens if a company has no website or the pages cannot be read?
The app tells you plainly instead of inventing a brief. You still get the CRM side of the row, showing the owner, open deals and last activity, so the meeting is not a total blank.

Related templates

Prospecting desk that builds account lists from the live web

Stop buying stale lists. Reps run a saved search, work the results like an inbox, and only the accounts they approve ever reach your CRM.

Hyperbrowser
HubSpot
Google Sheets
App
Plan a field sales day around drive time and neglected accounts

Pick a date, a starting point and a radius, then build a sequenced day of customer visits that lands straight on your calendar.

Geolocation
HubSpot
Google Calendar
App
Find ICP accounts, verify the emails, file them in HubSpot

One screen where reps filter for companies that fit, see who is actually reachable at each account, and save only the addresses that verify.

Hunter
HubSpot
App
Short-term rental turnover console for Home Assistant

Open one screen each morning to see every rental's locks, temperature, humidity, and next check-in, then prep the next stay in a single click.

Home Assistant
Google Calendar
Slack Bot
App
Competitive battlecard workspace ranked by open pipeline

See every competitor battlecard next to the number of open deals that name that competitor, so the cards carrying real pipeline get refreshed first.

Guru
HubSpot
Slack Bot
App
Account coverage board that shows where you are single threaded

Score every target account against the buying committee you actually need, see the exact holes, and have an assistant fill them in your CRM.

Hunter
HubSpot
App

Stop walking into calls cold.

Give every rep a three-minute brief on the account they are about to meet, built from the company's own pages and saved back to your CRM.