
Choose the right home
Start with a CSV
Use a CSV for a first run: a new ICP, a small list, a one-time research job, or a file someone needs to inspect. It makes input and output concrete before you automate anything.Use Customer DB for working state
Customer DB is the durable staging layer for code running in Deepline. Use it when a process has more than one source, needs a SQL join, must deduplicate records, receives Monitor events, or must remember what happened in an earlier run. Examples:- A Monitor writes job-change events; a Play joins them to existing people and accounts before deciding whether to notify a rep.
- A Play stores enrichment results and avoids paying again for the same lookup.
- A research workflow compares several sources before producing an approved audience or CRM update.
query_customer_db for bounded agent SQL reads and
storage.* tables. Do not use the CRM as a scratch database.
Write the result to your CRM
The CRM is the operating record: what the team owns, works, and reports on. Write a result there after the rule and fields are clear. Before an automated CRM write, define:- The fields the Play may change.
- The evidence or quality gate required for a change.
- The action for an ambiguous row: review, skip, or create a task.
- Whether a person must approve the update in Slack or another review step.
Common questions from office hours
Should I start in Customer DB or a CSV?
Start in a CSV when you are proving a rule or reviewing a small list. Start in Customer DB when the work already needs durable state, volume, joins, or a Monitor. You can import the tested CSV into Customer DB later; do not build a large process around passing files between agents.Does a Monitor replace a job-change check?
No. Use a Monitor when a supported external source pushes ongoing changes into Deepline. Use a job-change check when you want to inspect an existing list now. See Job changes and CRM cleanup and Monitors.What makes matching reliable enough for a CRM update?
Use stable input whenever possible. A LinkedIn URL is stronger than a name and company alone. Treat a company-name mismatch as a lead, not proof; keep the profile or domain evidence with the proposed update.How do I avoid a large, brittle Play?
Make the first Play do one useful job. Add an explicit quality check between source, enrichment, and CRM write. A failed or ambiguous row should have a defined output, rather than falling through to an update.Read Customer DB access
See the supported SQL access paths and the
storage.* write boundary.