diff --git a/packages/app-store/routing-forms/lib/handleResponse.ts b/packages/app-store/routing-forms/lib/handleResponse.ts index 6f8df578d6..bd3edf6395 100644 --- a/packages/app-store/routing-forms/lib/handleResponse.ts +++ b/packages/app-store/routing-forms/lib/handleResponse.ts @@ -177,15 +177,23 @@ const _handleResponse = async ({ } } else { moduleLogger.debug("Dry run mode - Form response not stored and also webhooks and emails not sent"); - // Create a mock response for dry run - dbFormResponse = { - id: 0, - formId: form.id, - response, - chosenRouteId, - createdAt: new Date(), - updatedAt: new Date(), - }; + if (queueFormResponse) { + queuedFormResponse = { + id: "00000000-0000-0000-0000-000000000000", + formId: form.id, + response, + }; + } else { + // Create a mock response for dry run + dbFormResponse = { + id: 0, + formId: form.id, + response, + chosenRouteId, + createdAt: new Date(), + updatedAt: new Date(), + }; + } } return { isPreview: !!isPreview, diff --git a/packages/embeds/embed-core/src/embed-iframe.ts b/packages/embeds/embed-core/src/embed-iframe.ts index 0893358764..68a4b412b9 100644 --- a/packages/embeds/embed-core/src/embed-iframe.ts +++ b/packages/embeds/embed-core/src/embed-iframe.ts @@ -455,7 +455,9 @@ export const methods = { // We now record the response to routingFormResponse and connect that with queuedResponse, as the user actually opened the modal which is confirmed by this connect method call const newlyRecordedResponseId = await recordResponseIfQueued(params); - if (!newlyRecordedResponseId) { + // Allow 0 which is for dry run + // Negative values are not possible + if (typeof newlyRecordedResponseId !== "number") { return; } await ensureRoutingFormResponseIdInUrl({ diff --git a/packages/embeds/embed-core/src/embed-iframe/lib/utils.ts b/packages/embeds/embed-core/src/embed-iframe/lib/utils.ts index 9994123abf..964d28b908 100644 --- a/packages/embeds/embed-core/src/embed-iframe/lib/utils.ts +++ b/packages/embeds/embed-core/src/embed-iframe/lib/utils.ts @@ -39,6 +39,10 @@ export const recordResponseIfQueued = async (params: Record