Compute
Map your data onto workflow parameters
Parameters are the typed knobs a workflow declares. Read the generated schema, map your fields locally, ask only where two mappings are equally plausible, and let unknown fields be refused.
Before you start
You need the workflow's generated parameters_schema and a real sample of your input. The schema is typed, so most mapping questions have one correct answer already in your data.
Resolve what the data settles
Read the schema and your sample together, on your own machine. Local inspection sends nothing and costs nothing.
Most fields resolve without asking you anything. A column with a matching name and a matching type is a match. A field with one supported value in this workflow has no decision in it.
The goal is a request where every declared parameter is filled from evidence, not from a preference nobody checked.
Name the item identifier
The input object carries item_id_field. That field names the column that identifies each item.
Choose one that exists on every row and never repeats. It is how an accepted row, a failure, an abstention and a disagreement all point back to your source record.
Pin the bytes too. The snapshot you supply carries version_id and content_sha256, so the run uses exactly the data you inspected.
Ask only about genuine ambiguity
Ask a question when two mappings are equally plausible and the data cannot decide between them. Two date columns with the same type is a real question. A single obvious column is not.
When you do ask, ask once and offer the named options. A short choice beats a long form, and it beats a silent guess.
Never coerce an unknown field
An unknown or unsupported parameter is refused. It is not dropped quietly, and it is not converted into something the schema does accept.
That refusal is the correct behavior. A coerced field changes the work you are about to pay for without telling you, and the result would look successful.
Every refusal carries a safe reason and a concrete next action, so you always know which field to fix.
What success looks like
Your quote echoes the resolved parameters back to you. Read them against what you intended before you approve anything.
The quote also states the maximum charge and the maximum item count that applies. A quote never authorizes work, so nothing runs until you approve it separately.
If a parameter is refused
Start from the field the refusal names. Correct it against the current schema rather than against your last successful request.
If the schema itself has moved, admission answers REPLAN_REQUIRED. Re-read the descriptor at the version your quote names, rebuild the request, and quote again.
For choosing a stable identifier, see how item identity works. To bound what comes back, see narrowing an output schema.