Skill
deepline-quickstart
"Run a quick Deepline demo recipe to show the user how Deepline works."
# Deepline Quickstart
Run a high-confidence demo recipe to show the user what Deepline can do. Pick the most relevant recipe below, or default to Recipe 1 if no context is given.
**Always prefer the hardcoded recipes below.** `/gtm-meta-skill` is always available as a fallback but should only be used if: (a) a recipe command fails and all fallbacks are exhausted, or (b) the user's ask doesn't match any recipe here. Never invoke it preemptively.
## Execution flow
Follow this pattern for every recipe:
1. **Tell the user what you're about to do** — explain the goal and which data source(s) you'll use, before running anything.
2. **Register a plan** with `deepline session plan --steps '[...]'` matching the recipe steps.
3. **For each step**: mark it running, send a live status message describing what's happening, run the command, then mark it completed (or error on failure).
4. **Register output** with `deepline session output --csv <path> --label "..."` after any CSV is produced.
5. **Tell the user the results** — summarize what came back, where it came from, and what they can do next.
### Session commands reference
```bash
deepline session plan --steps '["Step 1", "Step 2"]'
deepline session plan --update <i> --status running|completed|error|skipped
deepline session status --message "What's happening right now..."
deepline session output --csv <path> --label "Label for the table"
```
---
## Recipe 1 — Find CTOs at NY startups
**Goal:** Find 5 CTOs at startups in New York with verified emails and LinkedIn profiles.
**Data sources:** Dropleads (people search) + waterfall email enrichment via `person_linkedin_only_to_email_waterfall`.
**Steps:**
1. Search Dropleads for CTOs in New York
2. Waterfall enrich emails
3. Display results
### Step 1 — Search
```bash
deepline tools execute dropleads_search_people --payload '{
"filters": {
"jobTitles": ["CTO"],
"personalStates": {"include": ["New York"]},
"employeeRanges": ["1-10", "11-50", "51-200"]
},
"pagination": {"page": 1, "limit": 5}
}'
```
Note the output CSV path from the result.
### Step 2 — Waterfall enrich emails
First, prep the name and LinkedIn columns the play expects:
```bash
deepline enrich --input <csv_from_step_1> --in-place \
--with '{"alias":"first_name","tool":"run_javascript","payload":{"code":"return (row[\"fullName\"]||\"\").trim().split(\" \")[0]||null;"}}' \
--with '{"alias":"last_name","tool":"run_javascript","payload":{"code":"const parts=(row[\"fullName\"]||\"\").trim().split(\" \"); return parts.slice(1).join(\" \")||null;"}}' \
--with '{"alias":"linkedin_url","tool":"run_javascript","payload":{"code":"return row[\"linkedinUrl\"]||null;"}}'
```
Then run the waterfall play:
```bash
deepline enrich --input <csv_from_step_1> --in-place \
--with '{"alias":"email","tool":"person_linkedin_only_to_email_waterfall","payload":{"linkedin_url":"{{linkedin_url}}","first_name":"{{first_name}}","last_name":"{{last_name}}"}}'
```
Register the output CSV after this step.
### Step 3 — Display results
Show a summary table: name, company, email, LinkedIn URL. Tell the user emails were filled via waterfall enrichment across Dropleads, Deepline Native, Crustdata, and PDL. Mention they can go deeper — phone, firmographics, job change signals — with `/gtm-meta-skill`.
### Fallback (if Step 1 errors)
Tell the user, then try Apollo:
```bash
deepline tools execute apollo_search_people_with_match --payload '{
"person_titles": ["CTO", "Chief Technology Officer"],
"person_seniorities": ["c_suite"],
"person_locations": ["New York, New York, United States"],
"organization_num_employees_ranges": ["1,200"],
"include_similar_titles": true,
"per_page": 5,
"page": 1
}'
```
### Last resort
If all commands fail, tell the user, then invoke `/gtm-meta-skill`:
> Find 5 CTOs at startups in New York with their emails and LinkedIn profiles.