Michael DeWulf
12/08/2025, 10:35 AMkapa.ai
12/08/2025, 10:36 AMupdatedAt into a “cleaned” field that Python can parse. - Using that cleaned field as the cursor. - Seeing correct values in test output, but “Unknown Error” when enabling incremental sync. The knowledge sources don’t include a step‑by‑step debug guide or specific “Unknown Error” cases for the Builder, so I can only suggest checks grounded in how incremental sync is defined: 1. Verify the cursor field name and level - Confirm the cleaned field is at the root of the record (not nested) at the point where you configure incremental sync. The docs explicitly require a top‑level cursor field and suggest using “Add Field” + “Remove Field” to move it there if needed. [[Incremental builder](https://docs.airbyte.com/platform/connector-development/connector-builder-ui/incremental-sync)] 2. Match the datetime format exactly - In the Incremental Sync config, ensure your cursor field is selected and that the Cursor datetime formats list contains a pattern that exactly matches your cleaned timestamp (e.g. %Y-%m-%dT%H:%M:%SZ, %Y-%m-%d %H:%M:%S, %s for Unix seconds, etc.). [[Incremental builder](https://docs.airbyte.com/platform/next/connector-development/connector-builder-ui/incremental-sync); [UNIX timestamps example](https://discuss.airbyte.io/t/3921)] - If you’re effectively producing a Unix timestamp, make sure you use %s (seconds) or %ms (milliseconds) accordingly. [[Incremental builder](https://docs.airbyte.com/platform/next/connector-development/connector-builder-ui/incremental-sync)] 3. Check for inconsistent values across records Incremental sync relies on parsing every record’s cursor value. If even one record has: - a null/empty cursor, - a value in a different format, - or a malformed date, parsing can fail and surface as a generic error. The docs note that incremental sync assumes a consistent “last changed” timestamp field. [[Incremental builder](https://docs.airbyte.com/platform/connector-development/connector-builder-ui/incremental-sync)] 4. Start/End datetime configuration - Ensure your Start datetime and (if applicable) End datetime formats are compatible with what you configured; they must match their own datetime_format settings, independent of the cursor field format. [[Incremental builder](https://docs.airbyte.com/platform/connector-development/connector-builder-ui/incremental-sync)] 5. Cursor order / limitations Incremental syncing assumes the cursor values are usable for ordered comparison and that later syncs only receive records with cursor values greater than the stored state. If your cleaned field can sometimes go backwards or isn’t updated correctly, that can cause logic issues (though the docs don’t say that specifically leads to an “Unknown Error”). [[Incremental append limits](https://docs.airbyte.com/platform/using-airbyte/core-concepts/sync-modes/incremental-append#known-limitations)] Because the knowledge sources don’t document a specific “Unknown Error” message for this situation, they don’t provide exact log messages or UI screenshots to pinpoint the failure. To move forward, based purely on the docs: - Double‑check the cleaned field is top‑level and consistently present. - Confirm the cursor datetime format list includes a pattern that matches all observed values of that field. - Verify Start/End datetime formats match their config. - If it still fails, try temporarily: - Using a simpler cleaned format (e.g. ISO 8601 without timezone) with a standard pattern like %Y-%m-%dT%H:%M:%SZ. - Or emitting a Unix timestamp and using %s as the cursor datetime format. If you can share the exact cleaned value (example string) and the datetime format you configured, I can help you check whether they align with the supported patterns from the docs.