Skip to main content
Start with the job. Drop into the API reference only when you need the exact signature.

I want to pilot one enrichment before scaling

Use a prebuilt play first. Inspect the input contract, run one real record, and review the output before touching a CSV.
deepline plays describe prebuilt/person-linkedin-to-email --json
deepline plays run prebuilt/person-linkedin-to-email \
  --input '{"linkedin_url":"https://www.linkedin.com/in/example-person/"}' \
  --watch

I want to enrich a lead CSV

Use ctx.csv(...) plus ctx.dataset(...).withColumn(...) so every row has a stable identity, progress, retries, and exportable columns.
deepline plays check docs-examples/sdk-v2/lead-email-waterfall.play.ts
deepline plays run docs-examples/sdk-v2/lead-email-waterfall.play.ts \
  --csv leads.csv \
  --watch

I want a workflow to run every morning

Put the schedule in the third definePlay(...) argument. Keep a manual test command beside the publish command so you can prove the logic before waiting for cron.
deepline plays check docs-examples/sdk-v2/nightly-account-refresh.play.ts
deepline plays publish docs-examples/sdk-v2/nightly-account-refresh.play.ts

I want another system to trigger a play

Use a webhook binding for inbound events. Start with a plain webhook only while testing; add HMAC before production when the sender supports it.
deepline plays check docs-examples/sdk-v2/inbound-lead-webhook.play.ts
deepline plays publish docs-examples/sdk-v2/inbound-lead-webhook.play.ts

I want to call Deepline from an app

Use the TypeScript SDK for app code, Python/HTTP for non-TypeScript runtimes, and the CLI for agent-run workflows.