# Prospecting workbench for Findymail lead search and Pipedrive

> Describe your ideal customer in plain English, work the matched companies and contacts in one table, and send the keepers to Pipedrive without touching a spreadsheet.

- Workflow type: app
- Services: Findymail, Pipedrive
- Categories: Sales
- Published: 2026-08-21

## What it does

- Start a lead search by describing your ideal customer in plain English, then watch it fill in while you keep working. Matched companies and contacts land in a sortable, filterable table.
- Keeps every search you have ever run in a sidebar, so you can reopen past results instead of paying to run the same search twice.
- Dismiss a company once and it stays gone from future searches, save the good contacts into a named list, and push the ones you want into Pipedrive as organizations and people without creating duplicates.
- Hit Build account brief on any company and a background researcher figures out what the company does, which two or three people are worth contacting, and which of their addresses are safe to send to.

## What you'll need

- A Findymail account with available finder and verifier credits
- A Pipedrive login with permission to create organizations and people
- A rough idea of the kind of company you sell to, in your own words
- The job titles you usually try to reach, so account briefs surface the right people

## Prompt

Build me a prospecting workbench app where I describe my ideal customer in plain English and then work the results without ever touching a spreadsheet. It runs on Findymail for lead discovery and contact data, and pushes what I keep into Pipedrive. I am a founder or SDR doing account selection, so the whole app should feel like a research surface I open, browse, and act on.

The main screen is a single large search box where I type a description of the companies I want, such as Series A fintech companies in the UK that sell to accountants. Submitting it calls Findymail Start IntelliMatch Lead Search, which is genuinely asynchronous: it returns a hash rather than results. The app must never block on this. Store the hash immediately, show the search in a running or pending state, and let me navigate away and keep using the rest of the app. A handler polls Get IntelliMatch Search Status on an interval until the status comes back completed or failed, and the UI updates itself when it flips. Surface a failed search clearly with the option to retry, rather than leaving it spinning forever.

Once a search completes, page through Get IntelliMatch Search Results using its page-number pagination, continuing while current_page is less than last_page, and persist the fetched rows in the app so they can be re-read later. Render them as a table of matched companies and contacts that I can sort and filter in the browser: company name, domain, industry, size or headcount, location, and the matched contact with job title and email. Sorting and filtering should work on the already-loaded data without re-running the search.

A persistent sidebar lists every search I have ever run, newest first, showing the plain-English query, when I ran it, its status, and how many companies it matched. Clicking one reopens its saved results. This matters a lot: IntelliMatch charges per company matched, so re-running a search costs real money. Reopening history must read from stored results, never silently start a new search. Store the query text, the hash, the status, the timestamp, and the fetched result rows so history survives across sessions.

From any company row I can dismiss a company I never want to see again. Dismissing adds that company's domain to a Findymail exclusion list so it stops appearing in future searches. On first use, call Create Exclusion List to make a single list the app owns, and reuse it afterwards by finding it with List Exclusion Lists rather than creating a new one every time. Add the dismissed domain with Add Excluded Domains. A separate view shows everything I have currently excluded by paging List Excluded Domains, and from there I can lift an exclusion with Remove Excluded Domains by domain ID. Be careful not to confuse those two: Add Excluded Domains is what dismissal uses, and Remove Excluded Domains is only the undo. Dismissed companies should also disappear from the results table I am looking at right away.

I can also save keepers. Selecting contacts from the results and saving them puts them into a Findymail contact list created with Create Contact List, and a Saved contacts view lets me browse them later with List Contacts in a List, which uses DataTables-style offset and length pagination with a maximum page size of 100. Let me name lists so I can keep separate lists per campaign, and let me pick which list I am saving into.

From the results or from a saved list, I can push selected contacts into Pipedrive. Before creating anything, check Pipedrive Search Persons for that person's name or email so I do not create duplicates. If a match already exists, show me that it exists and skip creating it rather than adding a second record. For genuinely new contacts, call Create Organization for the company first if it is not already there, then Create Person linked to that organization, carrying across name, email, and job title. Report back per contact what happened: created, skipped as duplicate, or failed. Pipedrive search endpoints are rate limited to about 10 requests every 2 seconds, so pace bulk pushes rather than firing them all at once.

Every company row gets a Build account brief button that kicks off a background agent for that company. The agent runs Findymail Enrich Company on the domain to learn what the company actually does, then Find Employees at Company for that website filtered to the job titles I care about, then Verify Email on each person it finds to check deliverability. It writes a short brief back into the app, attached to that company, covering what the company does in a couple of sentences, the two or three people most worth contacting and why, and which of their addresses are safe to send to versus risky. While it runs, the row shows a working state, and when it finishes the brief is readable in a panel or drawer on that company without leaving the results table. Briefs persist, so a company I have already researched shows its existing brief instead of re-running and re-spending credits. Let me set the default job titles the agent filters on, and override them for a single run.

The header always shows my current Findymail finder and verifier credit balance from Get Credits Balance, refreshed after any action that spends credits. This is deliberate: IntelliMatch charges per company matched, contact and phone enrichment cost extra on top, and Verify Email charges a verifier credit on every attempt whether or not the address turns out to be deliverable. Before starting a new search or a bulk brief run, I want to see what I have left. If Findymail returns an insufficient credits error, show that plainly rather than as a generic failure.

Overall: this is a browsing and decision surface, not an automation. Nothing runs on a schedule. I open it, I search, I sort and filter, I dismiss what I do not want, I save and research what I do, and I choose what reaches my CRM. In any copy shown in the app, describe the search as a plain-English lead search, never as an asynchronous hash-polling API.

## How to customize

- Change the default job titles the account brief researcher looks for, so briefs match who you actually sell to
- Adjust which columns the results table shows and which one it sorts by first, such as company size, industry, or contact seniority
- Decide whether saving a contact should also create it in Pipedrive right away or keep the two steps separate
- Set how many people each account brief should recommend, and whether it includes addresses that came back as risky

## FAQ

### Do I have to write search filters or pick from dropdowns?

No. You type what you are looking for the way you would explain it to a colleague, such as Series A fintech companies in the UK that sell to accountants. The search reads real website content rather than making you assemble rigid filters, which is why it surfaces companies that filter-based tools miss.

### Will running searches burn through my credits?

Lead search charges per company matched, and contact and phone details cost extra on top. That is exactly why the app keeps every search in a sidebar with its results saved, so reopening an old search costs nothing. Your current finder and verifier balance sits in the header so you always know where you stand before starting a new one.

### How long does a search take?

Searches run in the background rather than making you wait on a loading screen. The app shows the search as pending or running, updates on its own as results arrive, and lets you browse other saved searches in the meantime.

### Will this create duplicate contacts in my Pipedrive?

No. Before adding anyone, the app looks for that person in Pipedrive first. If they already exist it tells you and skips the creation, so pushing the same list twice will not clutter your CRM.

### What happens when I dismiss a company?

Its domain goes onto your exclusion list, so it stops appearing in future searches. The app shows everything you have excluded in one place, and you can lift an exclusion later if you change your mind about an account.

Use this prompt in General Input: https://www.generalinput.com/prompts/prospecting-workbench-for-findymail-lead-search-and-pipedrive