Outbound lead platform
Outbound that does its homework
NOVI builds the list from hiring signals, a contact search or your CSV. It reads each company's site against criteria you write, drops the misfits, and writes each contact a sequence from what it found.
Your provider keys · your domain · data private per account
412 rows imported
379 kept · 33 removed
341 titles restyled
Reading hkr-cloud.example - 243 of 379
4 emails detected · waits for Research
Unlocks when Generate completes
| Company | Job title | Business model | Infra stack | Hiring for | |
|---|---|---|---|---|---|
| Hakura Cloud | vp of engineering | p.almeida@hkr-cloud.example | Managed hosting | Bare metal, Kubernetes | Platform Engineer |
| Fjord Analytics | head of data platform | l.berg@fjord-an.example | B2B SaaS | AWS, Snowflake | Senior Data Engineer |
| Larkfield Systems | director of operations | c.oyelaran@larkfield.example | Systems integrator | On-prem VMware | Solutions Architect |
| Tessolve Retail | cto | - | Reading site… | - | Site Reliability Engineer |
Hi Pedro,
You're hiring a Platform Engineer while running bare metal next to Kubernetes and Ceph.
That usually means someone is hand-rolling what a managed control plane would give you. Is that the job the new hire walks into?
- 3 ways in
- CSV, contact search or 32 job boards
- 6 stages
- Upload to Export, each one undoable
- 1 prompt
- Researches and qualifies in one pass
- Nothing unapproved
- Automation results wait for you
Why this exists
The list, the research and the writing live in different tools. So the research never happens.
Outbound breaks at the joins. By the time anyone writes, "personalised" means a first name in a template.
Contacts with no angle
A title and a headcount don't tell you why today is the day to write.
Signals watched by hand
Hiring is the clearest sign of a problem, spread across dozens of boards.
An export between every step
Each hop is another CSV and a list nobody trusts.
Personalisation that isn't
Nothing read the website. The merge field changes; the sentence doesn't.
CSV, contact search or job boards
Undeliverables out, titles in one style
Reads the site · fills columns · qualifies the row
A sequence per contact, from the row
CSV for the tool you already send with
Three ways in
Bring a list, build one, or let hiring activity build it for you.
All three land in the same list and run the same pipeline.
Source 01
Your own CSV
Headers map to fields automatically. Anything else stays as a custom field a prompt can read by name.
- No website column? NOVI takes the domain from the email and skips free mailboxes.
- Colliding headers are refused at upload, never silently overwritten.
Source 02
Contact search
Filter by title, seniority, size, industry, HQ and email status. The count updates as you filter, so you learn a segment is 40 people before you spend anything.
- Emails are revealed only when you ask, with the credit cost shown first.
- A suppression list hides everyone already exported, so nobody is bought twice.
| Name | Title | Company | |
|---|---|---|---|
| P. Almeida | VP of Engineering | Hakura Cloud | Reveal |
| L. Berg | Head of Platform | Fjord Analytics | Reveal |
| M. Okonjo | Director of Infrastructure | Larkfield Systems | Reveal |
Source 03
32 job boards
Boards name their filters differently. NOVI reads each board's real options, so every control offers exactly what that board accepts.
- Posting age is re-checked on the way back, because some boards ignore their own date filter.
- Multi-word roles are searched as phrases, so "account executive" stops returning account managers.
Hiring signals
A company hiring a VP of Sales is shopping for sales tooling.
A job post says: here's a problem, and here's the budget to fix it. NOVI turns the posting into a company, the company into the right people, and keeps the role attached to every contact it produced.
-
Step 01
Search the boards
Several boards and roles, plus keywords that search the whole posting.
-
Step 02
Filter the titles
A model judges each title before anything is charged per company.
-
Step 03
Collapse to companies
Two openings at one employer become one row.
-
Step 04
Find the people
Each size band gets its own titles.
-
Step 05
Approve, then push
The run stops and waits. Filter it first, so you buy contacts only at the survivors.
Build the chain once. Run it every morning.
Keywords search the whole posting
"AWS" also finds the Security Architect Lead whose title never says it.
The role follows the contact
Into the list and the email prompt. A contact from a company you didn't search gets an empty cell, never another company's role.
Runs explain themselves
Each run records what it searched, matched and skipped. A schedule never stacks, so the same companies are never bought twice.
Indeed, Glassdoor · 2 roles, 1 keyword
48 passed · 14 filtered out
109 companies · 100 websites · 91 sized
3 size rules · 112 contacts
To a list · waits for approval
Step 1 of 5 - Job board
Every board is its own search and its own chargeThe pipeline
Six stages, in order, each one undoable.
Every stage reports what it did, in the words of the thing it did it to.
412 rows from a CSV
379 will deliver
One house style
Sites read and classified
4 emails per prospect
- 01 Upload & map
- Columns matched to fields; the rest kept as custom fields.
- 02 Verify
- Undeliverables removed. Catch-alls are kept, since a server that accepts everything can't answer per mailbox. A LinkedIn mode keeps every contact.
- 03 Normalize
- Names and titles in one house style, originals kept. Invented values are rejected.
- 04 Research
- Reads each site against your prompt. JavaScript sites go to a real browser. A bot-check page is never sent to the model as the website.
- 05 Generate
- Runs your prompt file once per prospect, one column per email.
- 06 Export
- A CSV your sending tool already maps. Removed rows export separately.
Company intelligence
One prompt decides what you learn and who survives.
You write what to find out. Every field the prompt declares becomes a column and a filter, so research and qualification are one pass.
Read once, not once per list
Overlapping lists don't pay to read a site again.
A research tab of its own
Drop in domains, write a prompt, get a table back.
- 316
- analysed
- 29
- read by a real browser
- 18
- site not available
- 13
- reused from an earlier list
Personalised outreach
The sequence is written from the row, not from a first name.
Your prompt runs once per prospect and reads every column: research fields, the posted role, any custom CSV column. So the specific sentence has something specific to be about.
Hi Pedro,
You're hiring a Platform Engineer while running bare metal next to Kubernetes and Ceph.
That usually means someone is hand-rolling what a managed control plane would give you. Is that the job the new hire walks into?
Teams running Ceph on their own hardware usually spend a new Platform Engineer on storage, not on the product.
Email 3 - 14 days · Email 4 - 21 days
Email 3 paraphrases the research
7 of 10The instruction says
"Name the Infra Stack exactly as written."
What came out
"your current infrastructure setup"
The edit to make
A finding only appears when it repeats. One odd email is an off day. The same miss across ten is the prompt.
Control
Automation that asks before it acts.
Nothing an automation finds reaches a list unseen, and every stage can be stepped back.
- Approval gate
- Runs stop at awaiting approval. You filter, check the signal count, then decide.
- Undo, per stage
- Restores the table to before that stage and re-locks everything after it.
- Snapshots
- Download the table as any stage left it.
- Stop and resume
- Change a prompt or model mid-run. Finished rows aren't redone or re-charged.
- Problems-first log
- Failures per row, successes in summary.
Project → Audience → List
Prompts live on the audience, so every list under it is written the same way.
An editable working table
Faceted column filters with live counts, a frozen header, row-level edit and delete. Filtering is hiding - the rows come back in one click.
Your account, your domain
Private per account, your own domain and provider keys.
Who it's for
Built for people who run outbound as a process.
Outbound agencies
A project per client, each client's criteria in its own research prompt.
B2B sales teams
Let research decide which accounts deserve a rep's week.
Founders in a niche
Write down what makes a fit once, and every list is judged by it.
Hiring-signal teams
Get people to write to every morning, not a feed to read.
Questions
What people ask before they start.
Does NOVI send the emails?
No. It exports a CSV your sending tool already maps. Sending, warm-up and replies stay where they are.
Can I define my own research fields?
Yes. Each field in your classification block becomes a column and a filter. Edit the prompt and the next run reads the sites again.
What does verification promise?
That clear undeliverables are removed. It doesn't promise inbox placement; nothing can.
Can I edit the copy or the prompt?
Both. The messaging review tells you which instruction to change, and Regenerate re-runs only those prospects.
How is my data kept?
Private per account. Provider keys never reach the browser. The only shared thing is the suppression list.
What do I need to start?
Your own keys for verification, a model, contact data and job boards. Each is tested on screen before a run.
Get started
Stop exporting between tools. Start reading the companies.
Request access and we'll set up your account. Bring a CSV, or see what this morning's hiring turned up.