# FIELD synthetic inquiry handoff

Original portfolio demonstration, built and executed in n8n 2.9.4. Import field-workflow.json into a sandbox instance. The sample is inactive and contains no credentials.

## Reproduce the test
Install n8n 2.9.4 from its official package. Unzip workflow-source.zip. From its root run `node build/workflow.cjs` to import the workflow into an isolated n8n user folder, start local fixture endpoints and execute all four scenarios. The fixture server is also available with `node build/workflow.cjs --serve`. Use the Manual Trigger for a test. Local URLs target 127.0.0.1:8791 and will not work from a cloud n8n instance until replaced with reachable sandbox endpoints.

## Logic
Read synthetic inquiry → check email is nonempty → create/find CRM record → inspect response. A missing email or non-200 response goes to the review endpoint. The mock CRM keys records by inquiry ID, so retrying returns the existing record. Production deduplication requires a real idempotency key or lookup supported by the selected CRM; this is not supplied automatically by n8n.

## Tests
Four successful local executions: normal, duplicate, missing-email and synthetic 503 failure. See workflow-test-evidence.json. The website animation is a separate browser simulation, not a hosted n8n execution. Email syntax, authentication, real alerts, provider rate limits and production retry policy must be configured for the client scope. This sample only checks nonempty email.

## Client handoff
Replace the manual/fixture input with the agreed trigger. Replace the local application URLs and add credentials through n8n Credentials. Map approved fields, confirm the destination and test with a synthetic record. Review normal, invalid-input, duplicate and provider-error behavior before activation. Keep a rollback export. Never put tokens in the exported JSON.
