Enrich a Contact List with the CLI
In this tutorial you will upload a contact file, normalize it into a Landbase dataset, run contact enrichment, and download the enriched child dataset. What you will need: Landbase CLI installed and authenticated, plus a CSV or Excel file containing contacts. Rows should include a LinkedIn URL, or a name and company domain.1. Upload the contact file
<uploaded-dataset-id> below.
2. Onboard the dataset
Onboarding normalizes the column names and values so later workflows can use them reliably:output_dataset_id from the completed workflow. Call it <onboarded-dataset-id> below.
3. Start contact enrichment
Run the workflow on the onboarded dataset:--enrich-phone flag selects phone-only opt-in behavior. Use --enrich-email and --enrich-phone together when you want both channels explicitly.
The command returns a workflow run ID. Call it <workflow-run-id> below.
4. Wait for the enriched dataset
output_dataset_id for the enriched child dataset. Missing email or phone values are normal when no matching data is available.
5. Publish and download the results
Publish the enriched dataset to a file format:datasets lineage <onboarded-dataset-id> --direction=children if you need to find the child dataset IDs created by the workflows.
Processing large datasets
Use--row-slice=START:END to process a half-open row range when you need to split a large input into separate runs. Run slices one at a time, then recombine the output datasets with workflow union without dedupe keys. Use --overwrite-existing only when the workflow should replace existing contact values.
What you learned
- Contact enrichment is a dataset workflow, not a raw JSONL submission command.
- Upload and onboard the input before running
workflow contact-enrich. - Contact enrichment creates a child dataset and is asynchronous.
- Use the workflow run ID to recover status and the output dataset ID to continue processing.

