Audience: All users — customers and CS/support teams
Applies to: All ProcessFlows using FTP/SFTP file nodes (List Directory, Upload File, Move Files)
Last reviewed: July 2026
Many integrations exchange files over FTP or SFTP — inventory files, shipment/ASN files, purchase orders. This article covers the three most common file-node errors, how to tell whether your business data was affected, and how to fix each one.
How to use this article: find your error message in the table below, then jump to the matching section.
| Error message | Failing node | Was business data affected? | Section |
|---|---|---|---|
| File Moved Failed | Move Files | No — data synced; only file archiving failed | 1 |
| Illegal characters in path | Upload File | Yes — the file was not delivered | 2 |
| No files or directories found in the specified path | List Directory | No — there was simply nothing to process | 3 |
Symptoms: The Snapshot shows Failed, but the main data push (e.g., Update Inventory, Shipment Post) completed successfully. The Move Files activity log shows the backup path was found, followed by File Moved Failed (Error).
What it means: Your data synced correctly. The failure is only in the post-processing step that archives the processed file to a backup folder (for example Inventory_Synced/ or Shipment_Synced/). The problem is on the FTP server side — not in your source data, mapping, or the destination API.
Resolution — check in this order:
Do I need to resync? No. Because the data push succeeded before the archive step failed, no data resync is needed — fixing the FTP folder is enough to stop the failed snapshots.
TIP: If two or more flows archive to sibling folders on the same FTP server and all started failing at the same time, it is almost always one shared permission or path change. Fix it once and all affected flows clear together.
Symptoms: The Snapshot shows Failed on Upload File (Webhook, Splitter and Mapper completed fine). The activity log shows the evaluated filename expression containing raw fragments such as &, < or > before Operation failed — Illegal characters in path.
What it means: The filename or path is built dynamically from your data (for example, an item or shipment name). When a data value contains characters that are illegal in file paths — most commonly & in product names — the generated path is invalid and the upload fails. The file was not delivered, so this one does need action. The issue is in the filename expression, not in the source system data validity or the FTP server.
Resolution:
WARNING: When re-running with a Runtime Filter, use the correct ID type. If the failed transaction Source ID is a shipment ID but the source app API fetches by order ID, filtering on the shipment ID returns 404 Not Found. Copy the order ID from the webhook payload of the failed transaction instead.
Symptoms: A polling flow (for example, purchase-order import) fails at its very first node, every run, with No files or directories found in the specified path. No iterations, no Source IDs, no transaction files are generated.
What it means: The flow polled its source folder (for example /PO) and found it empty. This is an empty-source condition — no data existed to process, so nothing was lost. However, the node treats it as an Error, so every empty poll flags a Failed snapshot, creating noise that can hide real failures.
Resolution:
Do I need to resync? No. Nothing was fetched, so there is nothing to recover.
| Error message | Likely cause | Fix |
|---|---|---|
| File Moved Failed | Backup folder missing, no write/rename permission, or duplicate filename | Fix folder/permissions on FTP server; no resync needed |
| Illegal characters in path | Data value with &, <, > etc. used in filename expression | Sanitise filename expression; re-run failed records by order ID |
| No files or directories found in the specified path | Source folder empty at poll time | Verify upstream file producer, or configure node to skip empty polls |
| 404 Not Found (on manual re-run) | Runtime filter used the wrong ID type (e.g., shipment ID instead of order ID) | Use the order-level ID from the webhook payload |
Escalate to APPSeCONNECT support via support.appseconnect.com if the FTP folder and permissions are confirmed correct but "File Moved Failed" persists, if you cannot edit the filename expression yourself, or if you need the adapter empty-poll behaviour changed. Include the ProcessFlow name, the snapshot timestamp, and the exact activity-log lines — this typically halves resolution time.
Related articles: APPSeCONNECT Troubleshooting Guide · Setting Up Your First ProcessFlow · Managing Environments and Agents