Migrate a Make webhook-to-Google-Sheets scenario to AI Flowi Workflow

To migrate your Make webhook-to-Google-Sheets scenario, rebuild its field mapping, validation and caller responses in AI Flowi; Make blueprints 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.

By Ai Flowi · Published · Updated

Full build steps: webhook to Google Sheets tutorial. Download the sanitised, validated workflow JSON ZIP.

Make blueprint JSON is not an import format for AI Flowi: this migration is a manual rebuild. Use the blueprint as a reference; importing the supplied AI Flowi JSON starts from our tested recipe. Matching JSON syntax does not establish compatibility. Make blueprint format: documented, not tested by Ai Flowi; checked 9 October 2026. See AI Flowi as a Make alternative.

Before you start

  • Record your Make input fields, transformations, filters, column order, destination, authentication, caller response, error handlers and duplicate-delivery policy.

Make-to-AI Flowi node mapping

For the unchanged recipe, send {"name":"Demo Name","email":"demo@example.com","request":"Synthetic enquiry"} as the POST body. If your Make scenario uses different field names, change the sender’s mapping or test a revised validator. Do not add a body wrapper; Universal Webhook supplies it.

Related: Migrate an n8n webhook-to-Google-Sheets workflow to AI Flowi Workflow.

Make details: documented, not tested by Ai Flowi; checked 9 October 2026
Make moduleAI Flowi componentNotes
Custom webhookUniversal WebhookReplace the sender URL; configure POST and authentication. Make webhooks.
Router / filtersJSON Operations (JQ) + Verification RouterRebuild validation conditions; this verified/rejected split does not reproduce arbitrary routes. Make router and filters.
Google Sheets: Add a RowAppend RowsMap name/email/request to columns A/B/C. Make Sheets modules.
Webhook responseWebhook Response 200 / 422Make also documents custom status and body; reproduce your caller contract. Make response module.
Google connection (OAuth 2.0)Google ConnectionRe-authorise in AI Flowi; connections do not transfer. Make Google connection.

What to rebuild manually

Re-authorise your destination account through AI Flowi Google Connection. Make blueprints omit connections, which must be recreated even after a Make import (documented, not tested by Ai Flowi; checked 9 October 2026). Inspect exports for secrets before sharing. The public AI Flowi JSON is sanitised; ordinary bulk exports can retain account labels, connection identifiers, spreadsheet IDs and endpoint URLs.

What does not carry over

  • No native import: Make blueprint JSON does not import into AI Flowi. Manually rebuild the behaviour; the supplied AI Flowi JSON does not convert a Make scenario.
  • Features without a tested equivalent in this recipe: arbitrary Make router/filter routes and Skip, Retry, Resume, Commit and Rollback error handlers are outside the tested verified/rejected split. These source-platform features are documented (official source, checked 9 October 2026), not tested by Ai Flowi: Make router and filters and Make error handlers. Rebuild and test required behaviour separately; input rejection does not catch Sheets failures or provide transaction rollback.
  • Credentials: recreate the Google connection and webhook authentication in AI Flowi. Make blueprints omit connections (documented (official source, checked 9 October 2026), not tested by Ai Flowi); re-authorise the destination account.
  • Webhook URL and history: the sender must use the new AI Flowi Production Endpoint after acceptance checks. Keep the old Make URL and required historical logs 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 Make scenario. Rebuild your own field mapping, credentials and destination, then verify both the caller response and the written sheet before switching the sender.

Production results to reproduce with synthetic inputs
CaseRecorded HTTP resultRecorded destination result
Valid body and platform key200, with append resultOne row added in name/email/request order
Missing field, wrong type or invalid email422, with field reasonsNo row added
Malformed JSON422, with object-body errorNo row added
Missing or invalid platform key403, before flow executionNo row added
Bad spreadsheet ID, original flow only404, raw Google component errorTest sheet unchanged
Identical valid event delivered twice200 for each deliveryTwo 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.

Known limits

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.

Record the behaviour of any Make Skip, Retry, Resume, Commit and Rollback error handlers that your scenario depends on (documented, not tested by Ai Flowi; checked 9 October 2026). Rebuild and test required error handling before cutover. The tested rejection branch validates input before writing; it does not catch Sheets failures or provide retry, recovery or transaction rollback.

Keep required historical logs separately. Caller responses, retry policies and access rules require behaviour checks even when module names look similar.

Cutover checklist

Use these steps for your rebuilt Make scenario. They are an operating checklist, not evidence that this cross-platform cutover has been tested.

  1. 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.
  2. 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.
  3. Test duplicate deliveries: the append version writes two rows for two identical valid deliveries. With the duplicate-protection version, send the same event_id sequentially: expect 200 with {"status":"inserted"}, then 200 with {"status":"duplicate"} and no extra row. Simultaneous deliveries can still both insert.
  4. Run both systems in parallel against a test sheet: send the same synthetic inputs to Make 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.
  5. Switch the sender URL: record the old URL and cutover time, then replace the Make webhook URL with the AI Flowi Production Endpoint and configure the sender’s AI Flowi authentication.
  6. 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.
  7. Keep a rollback window: disable the old Make scenario after switching. Keep it disabled, not deleted, with its URL and configuration available until your chosen rollback window ends.

Rollback plan

  1. Restore delivery: point the sender back to the recorded Make webhook URL, restore its original authentication, and re-enable the old scenario. Verify a request and the destination row, then disable the AI Flowi replacement.
  2. Reconcile the cutover window: when the duplicate-protection version is used, compare rows written during the window with sender records by event_id before 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 scenario does not store event_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