11steps·4providers·SQLyou own

Personal Email CSV Finder

Resolve personal emails for a CSV of contacts.

Shared June 2026

  1. 1

    Install & authenticate

    $ curl -fsSL "https://deepline.com/api/v2/sdk/install" | bash

  2. 2

    Test out this play on my data

What this workflow does

Resolve personal emails for a CSV of contacts.

Personal Email CSV Finder (Deepline play "personal-email-batch", version 1). Resolve personal emails for a CSV of contacts. Pipeline: 11 steps, 4 providers, processes input rows as a dataset. Inputs: csv, columns. Outputs: personal_email, email_source, email_validated, email_found_and_valid, miss_reason.

Inputs you need

Bring these fields

  • csv

Outputs you get

Produced by the run

  • linkedin_public_identifier
  • personal_email_result
  • personal_email
  • email_source
  • email_validated
  • email_found_and_valid
  • miss_reason
  • personal_email_result.contactout_personal
  • personal_email_result.wiza_personal
  • personal_email_result.forager_personal
  • personal_email_result.pdl_personal

How it works

  1. Step 1

    Read input rows

    play entry

  2. Step 2

    Dataset rows

    over linkedin_url, company_name, domain, first_name

Cost/latency when available

This public page does not show cost or latency yet. Deepline only displays those metrics when the published package has safe, comparable run samples, and cost is always shown in Deepline credits.

Common edits

  • Rename the copied play before the first run so it is owned by your workspace.
  • Map your CSV headers into the expected input fields and add status or miss_reason columns.
  • Keep stable step, fetch, dataset, and play-call ids so retries and durable receipts stay useful.
  • Edit the final projection before scale so the output table matches your CRM or campaign import.

Use it when

  • You need data from Contactout, Wiza, Forager and Peopledatalabs in one pass.
  • You want a repeatable pipeline instead of one-off lookups.
  • You want an agent or teammate to run the same workflow on demand.

Related workflows

Run or fork with Deepline CLI

Personal Email CSV Finder is a Deepline play. Inputs: csv. Outputs: linkedin_public_identifier, personal_email_result, personal_email, email_source, email_validated, email_found_and_valid, miss_reason, personal_email_result.contactout_personal, personal_email_result.wiza_personal, personal_email_result.forager_personal, personal_email_result.pdl_personal.

# Inspect the contract

$ deepline plays describe prebuilt/personal-email-batch --json

# Copy to an owned scratchpad

$ deepline plays get prebuilt/personal-email-batch --source --out personal-email-batch-scratchpad.play.ts

# Check before running

$ deepline plays check personal-email-batch-scratchpad.play.ts

# Paste into Claude Code, Cursor, or Codex.

$ Use the deepline-gtm skill's plays recipe to turn the Deepline play "Personal Email CSV Finder" (https://deepline.com/p/deepline/personal-email-batch) into an editable scratchpad play. Inputs: csv. Outputs: linkedin_public_identifier, personal_email_result, personal_email, email_source, email_validated, email_found_and_valid, miss_reason, personal_email_result.contactout_personal, personal_email_result.wiza_personal, personal_email_result.forager_personal, personal_email_result.pdl_personal. The .play.ts file is the source of truth: copy the play, rename it for this user's workflow, encode input mapping/validation/status/output projection in the play, and iterate there instead of doing one-off CSV post-processing. Keep stable dataset names, dataset row keys, and step/fetch/play-call ids across edits. Provider tool calls reuse paid work by play, tool, semantic input, auth scope, provider action version, and cache policy unless you intentionally change those inputs or refresh stale data. # install Deepline if the CLI is missing curl -fsSL "https://deepline.com/api/v2/sdk/install" | bash # inspect the live contract deepline plays describe prebuilt/personal-email-batch --json # copy to an owned scratchpad, then rename the play inside the file before first run deepline plays get prebuilt/personal-email-batch --source --out personal-email-batch-scratchpad.play.ts # edit personal-email-batch-scratchpad.play.ts: set an owned play name, add mappings/validation/status/miss_reason/final columns deepline plays check personal-email-batch-scratchpad.play.ts # run the scratchpad on your data deepline plays run --file personal-email-batch-scratchpad.play.ts --input '{"csv":"<your-file.csv>"}' --watch # only for an exact one-off with no edits or custom output deepline plays run prebuilt/personal-email-batch --input '{"csv":"<your-file.csv>"}' --watch Play spec (JSON): https://deepline.com/api/v2/shared-plays/prebuilt-personal-email-batch

Version

v1 · Shared June 2026 · Unlisted page