Welcome
Tempest this week
Loading…
Book by division
Live temp run-rate share, this week
Deals by division
This week
Your division
You this week
Your activity, with the change on last week
My Desk
Open vacancies …
Live reqs (active in the last 60 days). Click Set status to close or update one in Salesforce.
Loading…
Interviews outstanding …
Loading…
Your vacancies — activity …
CVs, interviews and deals to date against each of your reqs (reqs opened or worked in the last 90 days). Click a number to see who. "Last activity" flags what's gone cold.
Loading…
Live bookings …
Placements running now, plus any that ended in the last ~12 weeks (extend/close) or start soon — so this can be more than your live-contractor count above.
Loading…
No tiles yet — pick Start from a preset… for a ready-made layout, or add a tile above. Drag tiles to rearrange, then Save as… to keep your own copy.
Reports
Click any number to see the records behind it.
Leaderboard
Pipeline health — open roles, what's ageing, and a rough forward coverage
Loading…
At a glance
Loading…
Interview schedule
Loading…
Vacancies
Every vacancy in scope with its activity. Click a row for the records behind it. Last 120 days.
Loading…
At a glance
Loading…
Call activity
Only calls that connect to a named consultant are counted (main-line / call-group calls are excluded). Click a column header to sort, or a consultant's name to see the individual calls behind their numbers.
Loading…
Call review
Calls in this window, matched to the candidate or client in Salesforce. Open one for its transcript and an AI summary (needs a transcript scope on the Dialpad key).
Loading…
AI Scorecards
Average call-quality score per consultant, from Dialpad's AI Scorecards. Dialpad has no scorecard API, so this reads the scorecard CSV export (upload it here or auto-email it in once Graph is live).
Loading…
Monthly budgets
— month-by-month per person (growth & seasonality); teams sum their membersFinancial budgets are monthly per person, split into a weekly budget by the billing weeks in each month, so a consultant sees their week's billed margin against that week's budget (e.g. £3,800 billed vs £3,500 → 109%). Import a whole team's year at once (people down the side, months across the top), or edit a person inline. Teams sum their members.
KPI target profiles
Weekly target per KPI for a role (Consultant, Senior, Manager…). Assign one to each person on the Org tab; values auto-scale to month/quarter. Edit a value and it saves.
Resolved targets per person — weekly
Each person's weekly target from their profile. Type in a cell to override just that KPI for that person (bold = overridden); clear it to fall back to the profile.
Teams
Add user
Import the whole team
Load everyone at once from a spreadsheet — columns Name, Email, Team, Manager, Role, Profile (.xlsx or .csv). The Name must match how each person appears as the record owner in Salesforce, so their data attributes to them. "Replace" swaps the whole list (use for the first load); "Merge" adds/updates without removing anyone.
Staff photos
Pull everyone's photo automatically from their Microsoft 365 profile — no uploads. Needs the Microsoft connection from TDM; until then, photos can be set by URL on each person.
Users
KPIs
Create and edit the KPIs the whole tool uses. Changes apply immediately.New KPI
AI Rules & Knowledge
Feed the AI your knowledge of what to look for — what good looks like, thresholds, how to judge performance. This is applied to every analysis and question.
Friday round-up & daily update
…The Friday round-up (top billers, quarter-to-date by group/division/consultant, and top-10 for vacancies, submissions, unique candidates, interviews & deals) and the daily update (those stats, week-to-date, Tue–Fri). Plus each consultant's placement review email on Friday. All read the live board and the combined margin report. Nothing sends until "enabled" is on and emails are switched live.
Daily interview email
…Sends every morning with the day's interviews, split into two tables — Business Support & Secondary + Primary & SEN, and QSW + Exec + RBCH — plus a button through to the Deep Dive. Anything on another desk shows under "Other".
⚠ Heads-up: this and the daily update above both go to the whole floor in the morning. If both are enabled at similar times (default 07:00 and 07:30) people get two emails — stagger the times or turn one off.
Email digests
Scheduled KPI emails (e.g. an end-of-day update). "Per manager" sends each manager their own team's numbers. Preview builds the exact email without sending.
New digest
Preview
Trends & records
Best weeks and months, and the shape over time — for the whole business, each team and each consultant. Access-scoped: consultants see themselves, managers their team.
Trend
Best period — teams
Best period — consultants
The book
— your live temp/contract book, forecast live from Salesforce placements: who's out, the weekly run-rate, who's rolled offLoading…
Weekly run-rate
By division
⚠️ Watch list — rolled off, or placed but not billing
🔎 Missing from the book 0 — billing on the report, no live placement in Salesforce
Contracts ending soon — chase an extension
Margin
The weekly combined margin report (emailed Friday) and any perm that's gone out, loaded in. Temp Margin, Perm Margin and Combined Margin then behave like any other KPI — columns, leaderboards and targets (budget) included. Load the full-year export once to backdate history from August 2025.
Ask AI about margin
Analyses margin for the current window — temp, perm and combined, per consultant — with the recent monthly trend, all scoped to who you're viewing as. Uses your AI Rules.
Automatic margin update
Point this at the mailbox the margin reports land in (your own inbox picks up both the temp and perm reports). It reads the newest matching emails via Microsoft Graph, parses each and loads it — on a schedule, or on demand. Needs Mail.Read on that mailbox (same app registration as the email digests).
Load a margin report
Or load one by hand: the weekly Combined report or the full-year backfill (.xlsx / .csv), or a monthly Perm Margin Report (.pdf — loaded as perm automatically). Re-loading the same report updates rather than duplicates, so it's safe to repeat.
Add perm that's gone out
A quick line for the weekly "perm has gone out" note — adds to Perm & Combined Margin for that consultant.
Loaded sources
Adoption & baseline
— is the tool actually being used, and can we prove it moved the needle?Baselines frozen
—
Most-used views (30d)
—
Freeze a baseline before wide rollout, then compare later to separate Bullseye's effect from the market. Usage is logged as people click around.
Sign-in & passwords
— interim logins, until Microsoft sign-in is switched onGive each tester a password so they sign in as themselves. Passwords are stored hashed; you can reset or revoke any time. Swap to Microsoft sign-in later with nothing lost.
—
Stale vacancies
…Open reqs with no activity for 60+ days. Closing sets their Status in Salesforce (reversible). Admins only.
Deal alerts → Teams
— celebrate on the wall (already live) and ping Teams the moment a deal lands …The wall celebration runs already. To also ping a Teams channel, set it up once — it's a ready-made Teams template, nothing to build by hand:
- In Teams, pick a standard channel for the deals (not a shared channel — a standard one keeps the sender as the flow, never a person).
- Click the ••• next to the channel name → Workflows.
- Choose the template “Post to a channel when a webhook request is received.”
- Confirm the team/channel and name the flow “Bullseye · Deals” — that name is what shows on each message.
- Copy the URL it gives you, and set it as the TEAMS_WEBHOOK app setting in Azure.
- Come back here and hit Send test ping to confirm it lands.
After that the app pushes each new deal automatically (checked every minute). The first check primes quietly, so only deals from that point on are announced — no historical flood. Messages post via Workflows under the flow's name, not a mailbox.
Data coming in …
One row per Salesforce object the tool reads. Confirm records are flowing and fields resolve before building KPIs. On live, connection or field errors show here.