A required value is missing

A record failed because the destination marks a field as required and the source row has no value for it; fill it in at the source or make it optional in the destination, then press "Retry all errors".

Last updated: 28 October 2026

What you see

On the Errors tab, under the object that failed, a row titled "A required value is missing". It lists the source record ids that did not import.

When Shuttio could identify the field, the reason names it: "<Field> is required in Attio, but this <record> has no value for it." <record> is the object's noun, such as contact. The next step then names the source field, for example: Fill in <source field> in HubSpot and press "Retry all errors" above. When the field could not be identified, the reason reads "The target attribute is required in Attio, but this row has no value for it." and the next step is: Fill in the missing value in <source> and press "Retry all errors" above.

Why it happens

The attribute is marked required in the destination. Shuttio sent the record, and the row had no value for that attribute. Attio refused the write with a missing-value error that names the attribute only by id. Shuttio then looks up the attribute's title in the object, and the source column mapped onto it, to put the name in the row.

How to fix it

  1. Open the error row and note the field name and the source record ids. "Download CSV" exports every affected item.
  2. Choose one: fill in the missing value on those records in your source, or make the attribute optional in the destination.
  3. If the field is not the one you expected, check how it is mapped on the Fields step.
  4. Press "Retry all errors" on the Errors tab. It runs only the failed items again, matches records that already exist, and is free. How Retry all errors works.

If the row names a field that you are sure has a value in the source, email help@shuttio.com with the migration number from the side rail of the run page.

Not answered here? Email help@shuttio.com.