Setup List Mcp Tool
setup_listMap a REACH list's columns to the input fields a job type reads, so `create_job` can run on it.
1. Call without `header_map`; this call changes nothing. When `already_mapped` is true, `header_map` is the list's saved mapping: go to `create_job`. Otherwise `header_map` is REACH's guess, shown with `sample_rows`.
2. Confirm doubtful columns and any unmapped needed field with the user against `sample_rows`, then call again with `header_map` to apply it. The list needs every field of at least one of `required_field_sets`.
3. When `is_valid_for_job_type` is true, call `create_job`, which still checks the list's size, export status and the account's access.
REACH-generated lists keep the mapping their job gave them; only Data Workbench output, lists with a field mapped to several columns, and b2b2c_append accept a new one.Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| list_id | Yes | List to set up, from `list_lists` or `show_list` | |
| job_type | Yes | The `create_job` job_type this list will feed | |
| has_header | No | Applied with `header_map`: whether the file's first row is a header. Defaults to REACH's guess. | |
| header_map | No | Input field name to zero-based column index, e.g. {"first": 0, "email": 3}. Omit to see the guess; pass to apply. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| applied | No | True when this call saved `header_map` to the list; false for a guess | |
| list_id | No | ||
| job_type | No | ||
| has_header | No | ||
| header_map | No | Input field name to zero-based column index: the saved mapping, the guess, or the mapping just applied | |
| sample_rows | No | The file's first rows, positional, including the header row when there is one | |
| allowed_fields | No | ||
| already_mapped | No | True when the list's saved mapping already passes `create_job`'s mapping and data-type checks for job_type; `header_map` is then that mapping | |
| validation_errors | No | ||
| required_field_sets | No | ||
| is_valid_for_job_type | No | Whether the list as saved now passes `create_job`'s mapping and data-type checks for job_type |