URL: /code/apps/prospecting · Id: `page:/code/apps/prospecting`

# Prospecting

> People who have never engaged, found from a sentence, checked for a working address, and saved with the reason each one fits.

[People](https://startupbuilder.dev/business/nouns/person) who have never engaged, found from a sentence, checked for a working address, and saved with the reason each one fits.

- **System:** [Prospecting](https://startupbuilder.dev/systems/prospecting)
- **Nouns:** 3
- **Verbs:** 4
- **Events:** 4

## Nouns
| Noun | What it is |
| --- | --- |
| [Prospect](https://startupbuilder.dev/business/nouns/prospect) | A Prospect is a person or Organization a startup found but who has never engaged. |
| [ICP](https://startupbuilder.dev/business/nouns/icp) | An ICP is the ideal customer profile a startup is built to win: who they are and what they do. |
| [Audience](https://startupbuilder.dev/business/nouns/audience) | An Audience is a saved query over Visitors, leads, Prospects, or customers, used to target Ads and Messages. |

## Properties
The hub defines each Noun’s core Properties; Prospecting adds the ones a sale needs.

### Prospect
| Property | Type | What it holds | Defined by |
| --- | --- | --- | --- |
| `foundIn` | `string` | Where the startup found them. | The hub |
| `reason` | `string` | Why this person fits, from your sentence: a quote, a role rank or a post they engaged with. | Prospecting |
| `emails` | `{ address: string; result: EmailResult }[]` | Addresses found and checked, written by `Prospect.verify`. | Prospecting |
| `reachable` | `boolean` | True once one address checks `deliverable`. | Prospecting |

### ICP
| Property | Type | What it holds | Defined by |
| --- | --- | --- | --- |
| `description` | `text` | Who they are and what they do. | The hub |
| `persona` | `Persona` | The role you write to first, with the titles that stand for it. | Prospecting |
| `where` | [`OrganizationFilter`](/code/data/types#organizationfilter) | The company filters every count and list reads, so they describe the same companies. | Prospecting |

### Audience
| Property | Type | What it holds | Defined by |
| --- | --- | --- | --- |
| `size` | `integer` | How many people match. | The hub |
| `query` | `string` | The saved query, re-run on read, so the Audience never goes stale. | Prospecting |
| `verified` | `integer` | Members with a `deliverable` address. | Prospecting |

## Verbs
| Verb | What it does | Approval | On each site |
| --- | --- | --- | --- |
| [`Prospect.engage`](https://startupbuilder.dev/business/nouns/prospect/engage) | Records a Prospect’s first reply or raised hand and makes them a lead that keeps where they came from. | Runs on its own | Gmail |
| [`Prospect.create`](https://startupbuilder.dev/business/nouns/prospect/create) | Saves a person you found as a Prospect, with where you found them and the basis to write to them. | Runs on its own | None. |
| [`Prospect.update`](https://startupbuilder.dev/business/nouns/prospect/update) | Changes a saved Prospect’s fields, such as a new title or an address found later. | Runs on its own | None. |
| [`ICP.create`](https://startupbuilder.dev/business/nouns/icp/create) | Saves your customer in one sentence, with the Persona and the filters every list call reads. | Runs on its own | None. |

## Reads the market
A Data Verb reads the market and returns a reading. A Software Verb changes your records and emits an Event. Prospecting saves what these Data Verbs return; they are not its own Verbs.

[`Organization.count`](/code/data/organizations/count) · [`Organization.find`](/code/data/organizations/find) · [`Prospect.count`](/code/data/people/count) · [`Prospect.find`](/code/data/people/find) · [`Prospect.verify`](/code/data/people/verify) · [`ContactPoint.findEmail`](/code/data/people/find-email) · [`ContactPoint.verifyEmail`](/code/data/people/verify-email)

## Events
| Event | Emitted by |
| --- | --- |
| `Prospect.created` | [`Prospect.create`](https://startupbuilder.dev/business/nouns/prospect/create) |
| `Prospect.updated` | [`Prospect.update`](https://startupbuilder.dev/business/nouns/prospect/update) |
| `Prospect.engaged` | [`Prospect.engage`](https://startupbuilder.dev/business/nouns/prospect/engage) |
| `ICP.created` | [`ICP.create`](https://startupbuilder.dev/business/nouns/icp/create) |

A [Trigger](https://startupbuilder.dev/business/nouns/trigger) can start a Workflow on any of them, and a Watch delivers each to your endpoint, signed ([Events and webhooks](/code/events)).

## Who operates it
| Part | Prospecting |
| --- | --- |
| Accountable | [Prospector](https://startupbuilder.dev/agents/sales/prospector) |
| Also calls its Verbs | [Partner Manager](https://startupbuilder.dev/agents/sales/partner-manager) |
| Seat | An agent holds each seat until you seat a person in it. |
| Asks you first | None of its Verbs: each runs within its seat’s Limits |

## Integrations
[LinkedIn](/code/integrations/linkedin)

## Import and export
| Direction | What | How |
| --- | --- | --- |
| Import | A list you bought or built elsewhere | `Prospect.create` for each row, with `foundIn` and `basis`; every row is checked against your Suppressions first |
| Import | People who engaged with a post | `Prospect.find` with `kind: engager`, then `Prospect.create` for the ones you keep |
| Export | An Audience, to an ad account | `Audience.create` on the account, every email hashed first |
| Export | Any list, as a file | `Collection.export` |

## Example
**Fifty heads of operations, saved with a reason each.**

1. `ICP.create` saves “US residential property managers with 100 to 1,000 units” with the head of operations as the Persona.
2. `Prospect.count` sizes four queries for free; the closest matches 882 people.
3. `Prospect.find` lists 150 of them; screening against the sentence keeps 62.
4. `Prospect.verify` finds and checks each work email; 50 come back deliverable.
5. `Prospect.create` saves the 50 with their reasons, and the first reply later turns one into a lead through `Prospect.engage`.