UPSERT decides whether to Insert or Update a record based on the ID (primary key) field:
If the source provides an ID value that does not exist in the target, Skyvia tries to update a record that isn’t there.
The run completes successfully, but no rows are changed — because there is nothing to update. This is expected behavior, not an error.
Source and target do not share the same IDs
The source should not provide the target’s ID
Records should match by another business identifier (e.g., email, external code, number, etc.)
Instead of mapping the target ID directly, configure it as a Lookup based on another unique field.
In the Lookup settings, enable the Set null when no record found option. Result:
Open the integration task and go to Mapping.
Find the ID (primary key) field in the target.
Change its mapping type to Lookup.
Select the source field(s) that uniquely identify the record.
Enable Set null when no record found.
Save and run the task again.