deepline-quickstart
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:
- Tell the user what you're about to do — explain the goal and which data source(s) you'll use, before running anything.
- Register a plan with
deepline session plan --steps '[...]'matching the recipe steps. - 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).
- Register output with
deepline session output --csv <path> --label "..."after any CSV is produced. - Tell the user the results — summarize what came back, where it came from, and what they can do next.
Session commands reference
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:
- Search Dropleads for CTOs in New York
- Waterfall enrich emails
- Display results
Step 1 — Search
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:
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:
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:
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.