Migrate an n8n webhook-to-Google-Sheets workflow to AI Flowi Workflow
To migrate your n8n webhook-to-Google-Sheets workflow, rebuild its field mapping, validation and caller responses in AI Flowi; n8n workflow exports do not import directly. Re-authorise Google and test your destination. The AI Flowi recipe was production-tested on 8 October 2026: valid requests returned 200; validation and key rejects wrote no row.
Full build steps: webhook to Google Sheets tutorial. Download the sanitised, validated workflow JSON ZIP.
n8n workflow JSON is not an import format for AI Flowi: migration means manual rebuilding. Start with the sanitised AI Flowi JSON above; use your n8n export only as a reference. Matching file extensions do not establish compatibility. No direct n8n export import or conversion was tested. n8n documents its workflow JSON format; documented, not tested by Ai Flowi, checked 9 October 2026.
Before you start
- Record your existing n8n input fields, transformations, column order, destination, authentication, caller response and duplicate-delivery policy.
n8n-to-AI Flowi node mapping
Record the actual payload paths, field expressions and caller contract from your workflow. Rebuild their behaviour using the table below. The n8n entries are documented, not tested by Ai Flowi; linked official sources checked 9 October 2026.
| n8n node | AI Flowi component | Notes |
|---|---|---|
| Webhook | Universal Webhook | Use POST and From Flow responses in this recipe. Reconfigure the endpoint and authentication; do not copy access rules blindly. |
| IF / Filter | JSON Operations (JQ) + Verification Router | Rebuild required-field checks. The tested design returns validation reasons on Rejected. |
| Google Sheets: Append Row | Append Rows | Map name, email and request to A, B and C. This is append, not Append or Update Row. |
| Respond to Webhook (custom response code) | Webhook Response 200 / 422 | n8n documents configurable response code, headers and body. Rebuild the caller contract; these AI Flowi branches return the append result or validation reasons. |
| Google credentials: OAuth2 / Service Account | AI Flowi Google Connection | Re-authorise an account with destination access. n8n credentials are not transferred by the AI Flowi import. |
Use the AI Flowi Workflow vs n8n comparison as a separate reference; rebuild and test your workflow’s input contract, Google connection and destination.
What to rebuild manually
Create or re-authorise your account under Settings → Google Connections, then select it in Append Rows. Existing n8n OAuth2 or Service Account credentials must be replaced with this connection. Inspect exports before sharing: n8n documents credential names and IDs in workflow exports (documented, not tested by Ai Flowi; checked 9 October 2026). The supplied AI Flowi JSON is sanitised; an ordinary bulk export can retain account labels, connection identifiers, spreadsheet IDs and endpoint URLs.
What does not carry over
- No native import: n8n workflow JSON does not import into AI Flowi. Manually rebuild the behaviour; an n8n export is a reference, not a compatible AI Flowi workflow file.
- Features without a tested equivalent in this recipe: n8n’s configurable webhook response code, headers and body require caller-contract checks (documented (official source, checked 9 October 2026), not tested by Ai Flowi). The known limits in this guide also exclude custom code, other nodes, binary or streaming responses, error workflows, retries and execution history from this starting recipe. Rebuild and test required behaviour separately; preserve required historical records.
- Credentials: recreate the Google connection and webhook authentication in AI Flowi. n8n OAuth2 / Service Account credentials do not transfer; credential names and IDs in an export are not an authorised AI Flowi connection (documented (official source, checked 9 October 2026), not tested by Ai Flowi).
- Webhook URL: the sender must use the new AI Flowi Production Endpoint after acceptance checks. Keep the old n8n URL for rollback.
Tested AI Flowi results (8 October 2026)
The AI Flowi design passed production and clean-import tests on 8 October 2026. The recorded results below cover that recipe, not your migrated n8n workflow. Rebuild your own field mapping, credentials and destination, then verify both the caller response and the written sheet before switching the sender.
| Case | Recorded HTTP result | Recorded destination result |
|---|---|---|
| Valid body and platform key | 200, with append result | One row added in name/email/request order |
| Missing field, wrong type or invalid email | 422, with field reasons | No row added |
| Malformed JSON | 422, with object-body error | No row added |
| Missing or invalid platform key | 403, before flow execution | No row added |
| Bad spreadsheet ID, original flow only | 404, raw Google component error | Test sheet unchanged |
| Identical valid event delivered twice | 200 for each delivery | Two rows added; no deduplication |
The clean imported copy reproduced success, validation rejects, key rejects and duplicate behaviour. The bad-ID test was covered on the original design only. Compare response bodies and read back the actual sheet after each case; a canvas or successful import alone does not prove a write.
Related: Compare.
Known limits and unsupported migration features
Repeated deliveries each added a row in the 8 October 2026 append test. For retrying senders, the duplicate-protection version, production-tested on 9 October 2026, uses event_id and Upsert Row; simultaneous deliveries can still both insert. The original bad-ID test returned raw Google error details, including the spreadsheet ID; this recipe has no in-flow catch.
This starting recipe covers one JSON object and one three-column append. It does not rebuild custom code, other nodes, binary or streaming responses, error workflows, retries or execution history. Preserve any required historical records separately. Rebuild and test additional behaviour before cutover; node-name similarity does not establish equivalent responses or access rules.
Cutover checklist
Use these steps for your rebuilt n8n workflow. They are an operating checklist, not evidence that this cross-platform cutover has been tested.
- Build and configure: follow the base tutorial setup, or its duplicate-protection setup for retrying senders. Recreate the Google connection; check the Spreadsheet ID, tab, column order, field mapping, POST method, Platform API Key authentication and From Flow response mode. Keep JQ fields visible.
- Run acceptance tests on AI Flowi: valid authenticated input must return 200 and write one row; missing fields, wrong types, invalid email and malformed JSON must return 422 without a row; missing and invalid keys must return 403 without a row. Read back the sheet after each case.
- Test duplicate deliveries: the append version writes two rows for two identical valid deliveries. With the duplicate-protection version, send the same
event_idsequentially: expect 200 with{"status":"inserted"}, then 200 with{"status":"duplicate"}and no extra row. Simultaneous deliveries can still both insert. - Run both systems in parallel against a test sheet: send the same synthetic inputs to n8n and AI Flowi, using separate tabs in the test spreadsheet so writes can be compared. Compare mapped values, column order, HTTP responses and duplicate behaviour with your recorded caller contract. Resolve differences before changing the production sender.
- Switch the sender URL: record the old URL and cutover time, then replace the n8n webhook URL with the AI Flowi Production Endpoint and configure the sender’s AI Flowi authentication.
- Monitor the first requests: check caller status/body and actual destination rows for missing or duplicate writes. A Sheets failure can return a raw platform error; the tested recipe has no in-flow catch. Use the rollback plan if the rebuilt behaviour fails your checks.
- Keep a rollback window: disable the old n8n workflow after switching. Keep it disabled, not deleted, with its URL and configuration available until your chosen rollback window ends.
Rollback plan
- Restore delivery: point the sender back to the recorded n8n webhook URL, restore its original authentication, and re-enable the old workflow. Verify a request and the destination row, then disable the AI Flowi replacement.
- Reconcile the cutover window: when the duplicate-protection version is used, compare rows written during the window with sender records by
event_idbefore replaying missing events. Keep the same identifier for a retry. Upsert Row updates an existing matching row; it does not merge existing duplicate rows, and its key scope is one worksheet. If the old workflow does not storeevent_id, retain it in the sender records for manual reconciliation. The append version has no event_id duplicate protection, so review its window rows manually before replaying.
Switching back does not undo sheet writes. This is a manual operational rollback; the tested duplicate-protection limits still apply, including possible simultaneous inserts.
Sources and evidence scope
- Webhook-to-Google-Sheets tutorial and sanitised workflow JSON ZIP. AI Flowi recipe, exact JQ, responses and limits: production and clean-import report dated 8 October 2026. Ports match the sanitised import.
- Google Connection and AI Flowi workflow import/export.
- n8n official documentation is linked beside each mapping and export fact above. Official sources checked 9 October 2026: documented, not tested by Ai Flowi. No n8n workflow or cross-platform import was executed.