Client account review dashboard for Bullhorn QBR prep

Pick a client and get one screen with open jobs, recent placements, contractors on site, and contact activity, ready for your next review call.

App
BullhornGmailGoogle SheetsSalesOperationsAI ReportsResearch & Monitoring
PromptCreate

Build me a client account review dashboard my account managers open before a quarterly business review or a client check in call, so they stop rebuilding the same spreadsheet by hand every time. It reads everything from Bullhorn, and it is account facing rather than recruiter facing: one client company, one screen, everything the manager needs to walk into the meeting.

The landing view is a client picker. Load the client companies from Bullhorn with Search Entities against ClientCorporation and show them in a searchable list with name and, where available, status and owner. Typing filters the list. Picking a company opens the account screen for that client, and the app should remember the last client each user viewed so reopening the app lands them back where they were.

The account screen has a header strip of headline numbers for that client: open job orders, placements in the last 12 months, contractors currently on assignment, fill rate, and average time to fill. Fill rate is the share of job orders opened for that client in the last 12 months that ended in at least one placement. Average time to fill is the average number of days between a job order being added and the placement start date, over placements in the same 12 month window. Show the raw counts next to each percentage so the manager can defend the number in the room.

Below the header, four sections. Open job orders: title, location, owner, date opened, days open, and the number of job submissions attached, sorted by days open descending. Placements in the last 12 months: candidate name, job title, start date, end date if set, and the recruiter. Contractors currently on site: placements whose start date has passed and whose end date is either empty or in the future, showing candidate, role, start date and end date. Client contacts: name, title, email, phone, and the date of the last logged activity on that contact, sorted so the quietest contacts sit at the top.

Flag the risk cases visually rather than burying them in a column. If no contact at the account has logged activity in the last 30 days, show a clear warning banner at the top of the account screen naming the number of days since the last touch. In the contacts table, mark any contact with no logged activity in 30 days. In the open job orders table, mark any job order open more than 45 days with fewer than three submissions, and surface a count of those stalled roles in the header strip. Use a consistent visual language for the flags so a manager scanning the screen sees the problems in a couple of seconds.

All reads go through Bullhorn Search Entities against ClientCorporation, ClientContact, JobOrder, JobSubmission and Placement, using Lucene queries scoped to the selected client company id. Every read needs an explicit fields parameter, and nested selection where a related record matters, for example fields=id,title,dateAdded,clientCorporation(id,name) on JobOrder and fields=id,candidate(id,firstName,lastName),jobOrder(id,title),dateBegin,dateEnd on Placement. Call Authenticate and Get Session once per handler run and reuse the returned session for every subsequent call in that run, because the session cannot be re-established mid run. Search results page with start and count, and count is capped at 500, so a busy account needs paging until the total is consumed. Bullhorn timestamps are epoch milliseconds, so convert before doing any of the 30 day, 45 day, or 12 month comparisons and before displaying dates.

A Prepare review button on the account screen drafts a short written account summary for the selected client. It should cover what we filled over the period, what is still open and how long it has been open, where the account stalled with the specific roles and reasons visible in the data, the state of the relationship based on contact activity, and three to five suggested talking points for the call. Keep it tight enough to read on the way into a meeting, and ground every claim in the numbers already on screen. Show the draft in a panel where the manager can edit it before doing anything with it.

From that panel, a send action delivers the summary by email using the Gmail Send a Message operation. The manager picks the recipient: themselves, a colleague, or one of the client contacts already loaded on the screen, with the contact email prefilled from the contact record. Let them edit the subject line, and default it to the client name plus account review and the date. Nothing sends without an explicit confirmation.

An Export button appends that account's numbers to a Google Sheets review tracker using the Append Values operation. One row per export, with the date, client name, open job orders, stalled job orders, placements in the last 12 months, contractors on site, fill rate, average time to fill, and days since last client contact. Let the user set the spreadsheet and tab once and remember it per user, so subsequent exports go to the same tracker without re-picking it, and confirm in the interface which sheet the row landed in.

Everything on the screen should be readable at a glance by someone who is not a recruiter, load fresh figures each time a client is selected, and offer a manual refresh. If a section has no records for the account, say so plainly rather than showing an empty table.

What does this prompt do?

  • Choose any client company from your Bullhorn client list and see that whole account on a single screen, with no spreadsheet building beforehand.
  • Shows open roles with how long they have been live and how many candidates you sent, placements made over the last year, contractors currently working on site, and every client contact with the date you last spoke to them.
  • Highlights the accounts and roles that need attention: clients you have not logged contact with in 30 days, and jobs open past 45 days with fewer than three candidates submitted.
  • One button drafts a short written account summary covering what you filled, what is still open, where things stalled, and suggested talking points, which you can email to yourself or the client contact.
  • Another button appends that account's numbers to your shared review tracker in Google Sheets so the history builds up quarter after quarter.

What do I need to use this?

  • A Bullhorn account with access to your client companies, contacts, jobs, submissions and placements
  • A Gmail account to send the account summary from
  • A Google Sheets file to use as your review tracker, with a tab ready to receive rows

How can I customize it?

  • Change the risk thresholds: the 30 day quiet contact rule, the 45 day open job rule, and the minimum submission count
  • Change the lookback window for placements and the fill rate figures from 12 months to whatever your reviews use
  • Adjust the sections and tone of the drafted account summary, and which columns get written to the tracker sheet

FAQs

Do I need anything set up in Bullhorn first?
No. The dashboard reads the client companies, contacts, jobs, submissions and placements that are already in your Bullhorn account. Nothing new gets created, and no records are changed.
Where do the fill rate and time to fill numbers come from?
They are calculated from your own records: fill rate compares jobs opened for that client in the period against the ones that ended in a placement, and average time to fill is the average number of days between a job going live and the placement starting.
Will it email the client automatically?
No. The summary is drafted for you to read first, and nothing goes out until you press send. You can send it to yourself, to a colleague, or to a client contact.
What counts as contact with a client?
The most recent logged activity on each client contact record. If your team logs calls and meetings in Bullhorn, the dates will be accurate. If activity is logged inconsistently, a contact may look quieter than they really are.
Can the whole team use the same dashboard?
Yes. Each account manager opens it, picks the client they are reviewing, and works from the same live figures. Exports from everyone land in the same shared tracker.

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
Influencer campaign roster board with AI creator briefs

Drag creators through Sourced to Wrapped on a board grouped by campaign, with audience stats on every card and a one-click brief for each creator.

HypeAuditor
Google Sheets
Notion
App
Morning repricing console for Shopify with margin-safe rules

Pick a repricing rule, send an assistant out to check competitor pages, then approve the new prices that clear your margin floor.

Hyperbrowser
Shopify
Google Sheets
App
Pre-flight bounce check before you launch a cold email sequence

See the projected bounce rate for any outbound send before it goes out, and keep the launch button locked until the list is clean enough to be safe.

Hunter
Google Sheets
App
Compare every Hireflix candidate for a role side by side

A calibration board that lines up every candidate's answer to the same question, hides names until your panel has scored, and writes the agreed rating back.

Hireflix
Gmail
App
Per-device electricity cost explorer for your smart home

Pick any date range and see what each device in your home actually cost to run, not just how many kilowatt-hours it used.

Home Assistant
Google Sheets
App

Walk into the client review already prepared.

Build the account view your managers keep rebuilding by hand, straight from the records already in Bullhorn.