Fixing Photo URL Failures in n8n: Troubleshooting Binary Data vs. Production Behavior
A common n8n issue: image URLs appear in test mode but show as 'none' in production emails. This usually stems from differences in how binary data and file URLs are handled between test and live environments-credentials, webhooks, and binary property names are the usual suspects.
The problem you describe-images working in test mode but missing in production-almost always points to an environment or data-handling mismatch rather than a bug in n8n itself. In test mode n8n often preserves in-memory binary data and example payloads; in production the system relies on live webhooks, storage, and the exact property names for binary fields. That means the first things to check are webhook configuration, credential differences between test and production, and whether the Form Fillout integration is sending files as binary attachments or as remote URLs.
Actionable troubleshooting steps: (1) Reproduce the failing transaction and capture the output of the last node (enable full execution logging). Compare the saved JSON in test vs production to see whether the binary property (commonly binary.data or an explicit filename field) exists. (2) Confirm that your webhook in production is publicly accessible and that Form Fillout is configured to POST files rather than returning temporary URLs that require authentication. (3) If you rely on URLs, ensure the URL is downloadable by n8n (no auth or CORS blocking), or use an HTTP Request node to fetch the file into n8n as binary.
Practical config fixes include using the Move Binary Data node to align binary property names expected by downstream nodes, enabling "Download files" in the webhook node if supported, and checking that environment variables (API keys, base URLs) are correct in the production n8n instance. Also verify the workflow's credentials and file-handling settings after deployment-they sometimes differ from the editor context.
If those checks don't reveal the issue, capture the raw inbound request from Form Fillout (e.g., via a publicly available webhook inspector) and compare headers and payloads. With that evidence you can usually identify whether the problem is Form Fillout sending a short-lived URL, a missing credential, or an incorrect binary property name and fix it with a small node reconfiguration.
Original Source
n8n Community
