> ## Documentation Index
> Fetch the complete documentation index at: https://docs.getcargo.ai/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> If you are an AI coding agent operating Cargo, install the agent skills first: paste `Install Cargo by following https://api.getcargo.io/INSTALL.md` into your session, or run `npx skills add getcargohq/cargo-skills`. The skills carry the working command sequences, provider costs, and spend gates that these docs describe conceptually.
> The skills index at https://raw.githubusercontent.com/getcargohq/cargo-skills/main/llms.txt lists every skill, recipe, and provider playbook individually. Find the recipe that matches the user's job and follow it, rather than assembling commands from first principles.
> Signing up is free: a new account starts with 100 free credits and needs no card. `cargo-ai login --email you@company.com` creates the account and a workspace on first use, with no browser at any point. Tell the user this before asking them to sign up.
> Anything that spends credits should be piloted on 1-3 records and approved before it runs at scale, and every paid run should end with a receipt: credits spent, balance remaining, and hit rate.

# Pipecorn

> Connect Pipecorn to find the person behind an email, enrich contacts with emails and phones, enrich accounts, and find people at a company in your workflows.

Pipecorn is a B2B sales intelligence platform: it finds the LinkedIn profile behind an email address, runs waterfall enrichment for professional emails, phones and personal emails, enriches companies with firmographics, and extracts people from a company by title, function, seniority or saved persona.

## How to set up Pipecorn

### Authentication

Pipecorn uses API key authentication:

1. Sign up at [pipecorn.com](https://pipecorn.com)
2. Open **Settings**, then **APIs**, then **Keys** in [app.pipecorn.com](https://app.pipecorn.com/settings/apis/keys)
3. Create a key and copy it
4. Paste the API key in Cargo when connecting

Pipecorn's enrichment endpoints spend Pipecorn credits from your account, and each has a weekly workspace limit on their side. Cargo credits are not available for this integration: connect your own key.

### After connecting

Once the connector is set up, choose **Pipecorn** from the node catalog within a **Play**, **Tool**, or **Agent**.

***

## Pipecorn actions

### Find LinkedIn profile from email

Find the person behind an email address, professional or personal.

**Required fields:**

* **Email**: the address to look up

**Returns:**

* Full name, title and LinkedIn headline
* LinkedIn profile URLs, including the stable id-based one
* Current position, previous position and the full position history
* Company name and domain of the current position
* Location, connection and follower counts

**Pipecorn credits:** 1 per match. An email that matches nobody costs nothing.

**Use case:** Identify who is behind an inbound form submission or a sign-up before routing it.

### Find email

Waterfall enrichment across Pipecorn's providers for a professional email, returned synchronously.

**Required fields:** either

* **LinkedIn URL**, which is enough on its own
* or **First name**, **Last name** and one of **Company domain** or **Company name**

**Returns:**

* `email` and `email_status`: `deliverable`, `catch-all` when the domain accepts every address, or `null` when no email was found
* `status`: `finished` once the waterfall ran, even when nothing was found

**Pipecorn credits:** charged by what is requested and found.

**Use case:** Enrich verified professional emails for prospects you only have a name and a company for.

### Find phone

Waterfall enrichment across Pipecorn's providers for phone numbers, returned synchronously.

**Required fields:**

* **LinkedIn URL**

**Optional fields:**

* **Phone type**: `mobile` keeps only mobile numbers and keeps querying providers until one is found. Defaults to `all`
* **Phone country codes**: ISO 3166-1 alpha-2 codes that restrict phone results

**Returns:**

* `phones` in E.164 format, `phone_details` with each number's line type, and `phone_status`

**Pipecorn credits:** charged only when a mobile number is found.

**Use case:** Find direct dials for contacts you already have on LinkedIn.

### Find phone and email

Both of the above in one request, so the contact is enriched by a single node.

**Required fields:**

* **LinkedIn URL**, which both sides of the waterfall run off

**Optional fields:**

* **First name**, **Last name**, **Company domain** and **Company name**, as extra signal for the email side
* **Phone type** and **Phone country codes**, as above

**Returns:** the fields of both actions, each with its own status.

**Pipecorn credits:** charged by what is requested and found. Phone is charged only when a mobile number is found.

**Use case:** Power multi-channel outreach from a LinkedIn URL in one pass.

### Find personal email

Waterfall enrichment across Pipecorn's providers for a personal email, returned synchronously.

**Required fields:**

* **LinkedIn URL**

**Returns:**

* `personal_email` and `personal_email_status`, which takes the same values as `email_status`

**Pipecorn credits:** charged by what is requested and found. This needs consent enabled in the Pipecorn account.

**Use case:** Reach a contact who changed company, when the professional address bounces.

### Enrich account

Firmographics for one company.

**Required fields:** one of

* **Company LinkedIn URL** (regular or Sales Navigator)
* **Domain**
* **Company name**

**Optional fields:**

* **Country**: ISO 3166-1 alpha-2 code to disambiguate the match

**Returns:**

* Company name, description, industry and type
* Headcount, headcount range and headcount growth (month, quarter, year)
* Estimated revenue range and funding
* Headquarters and location
* Website, domain, LinkedIn URL, LinkedIn id and entity URN

**Pipecorn credits:** 1 per resolved company. A lookup that matches nothing costs nothing.

**Use case:** Enrich accounts coming from a CRM or a form with the data an ICP score needs.

### Find people at company

Create a Pipecorn people search on one company and wait for it to finish.

**Required fields:**

* **Company LinkedIn URL** or **Company LinkedIn ID**
* At least one people filter: **Job titles**, **Excluded job titles**, **Pipecorn persona ID**, **Functions**, **Seniority levels**, **Included location IDs** or **Excluded location IDs**

A saved persona replaces job titles and excluded job titles; Pipecorn refuses both together.

**Optional fields:**

* **Limit**: people returned for this company, 50 by default, 2500 at most
* **Live LinkedIn search**: off by default. On, the search runs on LinkedIn in real time through the synced session of the Pipecorn account; off, it runs on Pipecorn's people database and needs no session
* **Scale mode**: raises volume by omitting connection counts, headlines and vanity profile URLs

**Returns:** one record per person, as Pipecorn sends it: `lead` holds the qualification status (`QUALIFIED` or `DISQUALIFIED`, with rejection reasons), name, title, headline, LinkedIn URLs and position history, and `company` holds the company the person was found at (name, website, LinkedIn URL and id, industry, employee range).

The search runs on Pipecorn's side. Cargo checks it every 15 seconds and gives up after 10 minutes, then reads the people back page by page.

Without live LinkedIn search, a company that is not in Pipecorn's database creates no search at all, and the action returns no people rather than failing.

**Pipecorn credits:** none. This draws on the extraction quota of your Pipecorn plan, and database searches are subject to the plan's per-minute limit.

**Use case:** Build the buying committee at a target account from a persona you keep in Pipecorn.

## Rate limits

Every endpoint the contact and account actions call spends credits and is exempt from Pipecorn's per-plan rate limit; the connector paces requests at 60 per minute, the reverse lookup's own limit. A people search without live LinkedIn search is the exception: it follows your plan's per-minute limit (1 on Free, 2 on Basic, 10 on Starter and Premium, 100 or more above), and past it the node fails with a rate limit error.

## Best practices

* Pass a LinkedIn URL whenever you have one: it is the strongest identifier for every action
* Use `mobile` as the phone type when the number is for calling, so landlines and VoIP numbers are dropped
* Keep personas in Pipecorn and reference them by id, so one definition drives every search
* Branch on `email_status` and `phone_status` before writing to a CRM
* A `❌` on a contact action always means the waterfall ran and found nothing: an enrichment Pipecorn could not complete fails the node instead, so it can be retried rather than recorded as a miss


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.