Before you start
Use an authorized workspace and a CSV with a header. Preserve a stable source ID for every row. This guide uses names and company domains for a work-email batch. Other Plays can require different columns.1. Inspect the file and contract
first_name, last_name, and domain inputs. Its default header
aliases are uppercase. The run below maps lowercase headers explicitly.
A check validates the Play without calling providers. It does not establish
that the file contains the correct people or acceptable business data.
2. Select representative CSV records
Choose existing zero-based data-row indexes from the file summary and preview. Include easy, typical, and difficult cases. Do not split records withhead
or awk: a quoted CSV field can contain a newline.
This Python example selects rows 0, 6, and 12. Change the indexes to three
existing representative records before running it:
The pilot retains the source header and the three selected records. Embedded
commas, quotes, and newlines remain CSV data rather than extra rows.
3. Run only the pilot
This command starts provider-backed work and can incur usage:--dataset.
Do not start another run to recover an export.
4. Decide whether the pilot passed
Reconcile input IDs with accepted, unresolved, and failed outcomes. Check person identity, returned email, source, validation, and usage. Do not count completed requests as accepted contacts. Workspace balance changes can include other work. Use scoped billing evidence, not a balance subtraction, to attribute the pilot’s usage. Pending amounts are not final charges.5. Expand the same reviewed contract
Use the same mappings with--csv leads.csv only after the pilot passes.
A changed Play or acceptance rule needs another representative check.
For custom file logic, use Write Plays.
Ask your agent to explain missing row IDs or unexpected fields before scaling.