14 days left 13/1000 Executions Assistant Overview Personal Chats View all Automatic OTP code autofill Multi-page loan application form Admin Panel Templates Insights Help Settings Continue Thought for 22s The saved draft may differ from what ran. I'll rebuild from the current source and test it. Thought for 14s The draft is saved, but I haven't fixed the failure. Verification was simulated, so it doesn't prove the live form works. What failed: executions 4 and the earlier failed runs stopped at the first node, Loan Application - Page 1. The error was "No Respond to Webhook node found". That version had the form trigger set to respond through a later node, and n8n didn't find one. What I did: I re-saved the workflow from its current source. The saved draft differs from the published version. It doesn't carry that response setting. In a simulated run, all 5 nodes executed (4 form pages plus the completion screen). That run only injected test data. It didn't open the real form. What's unconfirmed: the live form at https://mkopo.app.n8n.cloud/form/loan-application still runs the older published version. That version has the error until you publish the draft. I haven't confirmed the draft behaves differently, because only a real submission can show that. Open the form in your browser and submit all four pages. I'll check the resulting execution and publish the draft if it completes. If it still fails, I'll change the trigger's response setting. Still failed Thought for 10s I published the draft. Execution 7 still failed because it ran the old published version (e34f7bef…), which was set to "respond via Respond to Webhook" but has no such node. The draft doesn't have that setting. I've now made the draft the live version. I haven't confirmed the fix on a real submission. Open https://mkopo.app.n8n.cloud/form/loan-application and submit the first page. If it errors again, tell me and I'll check the new execution. On otp page I need automatic filling up without manual typing the code,,,the format of code to be pick is ,,,You are being registered in Mixx by Yas Super App, use the code Op5KdcxOvsDDnQoIdkT3 to complete registration. Do not share the code with anybody. For more info contact us on 100. DWvV9aXqDR Finished thinking How should the code get into the OTP page? Browser autofill only (autocomplete one-time-code): the user taps the suggestion; works on some phones, not guaranteed for this message format Finished thinking You stopped this run I need when applicants receive that message with those format I need to automatically pick without manual typing then the applicants click there browser to allow them automatically picked Finished thinking I can't make this fully automatic with the n8n Form node. The Form node can't add the autocomplete="one-time-code" attribute that browsers look for. Its tags are blocked in HTML fields, and custom CSS can't add attributes. n8n form pages are also hosted on n8n's domain, so I can't add my own script. What does and doesn't work on your applicants' phones: Web OTP API (automatic pick with a browser permission prompt): the SMS must end with @mkopo.app.n8n.cloud #code. Your message comes from Yas and doesn't have that line, so this won't trigger. It also works only in Android Chrome. Keyboard suggestion: Android and iPhone often show the code above the keyboard when a field looks like an OTP field. The applicant taps it once. I can improve the odds by renaming the field label to "One-time code (OTP)" and adding a placeholder. This isn't guaranteed. Fully automatic: this needs the SMS forwarded to n8n by an SMS-forwarder app or SMS gateway webhook. n8n would pull the code with the pattern use the code (\S+) to complete (it gives Op5KdcxOvsDDnQoIdkT3 from your sample) and pre-fill page 4. I can build it, but it needs the SMS to reach n8n, which you chose against earlier. Do you want me to rename the page 4 field to improve keyboard suggestions? Or should I build the SMS-forwarding route? Fully automatic,,when applicants phone detect format of message like that it's should capture card automatically filled Finished thinking I can't make this fully automatic inside n8n, and I don't want to build something that looks automatic but isn't. Phone detection isn't something n8n controls. The phone's keyboard or browser decides whether to offer an SMS code. n8n form pages don't give it the signals it looks for, and I can't change that. Forwarding the SMS to n8n won't work either. The message goes to the applicant's phone, not to you. n8n would only see it if every applicant installed an SMS-forwarder app, which isn't realistic. The practical route to browser autofill is a custom page for the OTP step. It would use autocomplete="one-time-code" and the Web OTP API. The page would send the code to n8n. Two limits apply: Home for the page: it has to live on a web page you host, not on the n8n form. n8n webhook pages block scripts on many setups, so I can't promise it would work there. SMS format: Web OTP only auto-picks when the SMS ends with a line like @yourdomain #code. Your sender, Yas, controls that wording, so you would need to ask them to add it. Without that wording change, the best option is the one-tap keyboard suggestion. I can improve its chances by renaming the page 4 field to "One-time code (OTP)". Do you want me to make that change? No Understood. I haven't changed anything, and the published form stays as it is. The OTP field still needs manual typing. Automatic pickup needs one of three things: an SMS that ends with @yourdomain #code, SMS forwarding to n8n, or a custom-hosted OTP page. If you want any of these later, tell me which one and I'll build it. I need custom hosted otp page Thought for 31s I've built the new flow as a draft. The published form still has the old OTP page. It needs one value from you before it can work. What changed: Pages 1 to 3: the n8n form keeps pages 1 to 3. After the KRA PIN page, the applicant is redirected to your hosted OTP page. The phone number is added to the URL as ?phone=…. New webhook: POST https://mkopo.app.n8n.cloud/webhook/loan-otp receives { "phone": "...", "code": "..." } from your page and replies { "ok": true }. It accepts requests from any website. At the moment it only confirms receipt. It doesn't check the code or store it. What you need to do: enter the URL of your hosted OTP page in the setup panel, in the Build OTP Page URL field. The URL of the hosted OTP page doesn't exist yet. I haven't built that page. What I haven't verified: only the webhook path was tested, and with simulated input. The form-to-redirect path was not reached. The workflow isn't published, so applicants still see the old form. For your OTP page: Use . Call navigator.credentials.get({ otp: { transport: ['sms'] } }) to pick up the code. POST the code to the webhook above. Web OTP only works in Android Chrome, and the SMS must end with @your-domain #code. Ask Yas to add that line. I can write that OTP page as a single HTML file for you. Do you want it? How to get my URL of my hosted otp page Finished thinking You get that URL by putting an HTML page on a web host. The host gives you the address. I can write the page, but I can't host it for you. Free options that take a few minutes each: Netlify Drop: go to app.netlify.com/drop and drag the HTML file onto the page. You get a URL like https://your-site.netlify.app. Cloudflare Pages: upload the file in the dashboard. You get https://your-site.pages.dev. GitHub Pages: put the file in a repository and turn on Pages. You get https://yourname.github.io/repo. Once the page is online, paste its full address into the Build OTP Page URL field in the setup panel. Use the address of the page itself, for example https://your-site.netlify.app/index.html. Because Web OTP needs the SMS to end with @your-domain #code, the domain in that line must match this host. Ask Yas to add it once you have your final address. Do you want me to write the OTP page as a single HTML file now? It would read the phone number from the link, accept the code, and post it to the n8n webhook. Yes Thought for 9s I wrote the OTP page to otp-page/index.html in the workspace. I haven't tested it in a browser or against the live webhook. What the page does: It reads ?phone= from the link and shows it. The code field uses autocomplete="one-time-code". On Android Chrome it requests the SMS through Web OTP, then fills and submits the code automatically. If someone pastes the whole SMS, it extracts the code with the pattern use the code … to complete. It posts { phone, code } to https://mkopo.app.n8n.cloud/webhook/loan-otp, then shows "Application received." Limits: Webhook not live: that webhook only works after you publish the workflow. The publish step still needs the URL setup below. Automatic fill: Web OTP only fills automatically when the SMS ends with @your-domain #Op5KdcxOvsDDnQoIdkT3. Without that line, applicants type or paste the code. Ask Yas to add it. Nothing stored or checked: the webhook only confirms receipt. It doesn't check the code or store the application. Next steps: Host the file with Netlify Drop and copy the URL. Paste that URL into Build OTP Page URL in the setup panel. Tell me when that's done. I'll test and publish the workflow. I can't attach the file here. If you can't find it in the workspace, tell me and I'll paste the full HTML into the chat. I need my html which I can host on netlify Here is the full file. Save it as index.html, then drag it onto app.netlify.com/drop. Loan Application - Verification Code

Loan Application

Page 4 of 4: enter the code sent to .

After Netlify gives you the address, paste it into Build OTP Page URL in the setup panel. Then tell me, and I'll test and publish the workflow. I haven't tested this page in a browser or against the live webhook. It will only reach n8n once the workflow is published. Site that I can run these html Use Netlify Drop. It's the quickest option, and it needs no coding. Open a text editor, such as Notepad. Paste the HTML from my last message and save it as index.html. Pick "All files" as the type so it isn't saved as index.html.txt. Put index.html in a new empty folder. Go to https://app.netlify.com/drop and sign up for free if asked. Drag the folder onto the page. After a few seconds you get an address like https://random-name.netlify.app. Open that address on your phone. You should see the "Loan Application" card. Add ?phone=0712345678 to the end of the address to see the phone number show up. Copy the address and paste it into Build OTP Page URL in the setup panel. Use the plain address, for example https://random-name.netlify.app, without ?phone=. Two alternatives if Netlify doesn't work for you: Cloudflare Pages (pages.cloudflare.com, "Direct Upload") and GitHub Pages. Both are free. Tell me when the URL is in the setup panel. I'll then test the workflow and, if you agree, publish it. I upload using cloudflare but I can't see where to get that url Finished thinking In Cloudflare, the URL is on your project's page. Log in at dash.cloudflare.com. In the left menu, open Workers & Pages. Click your project name in the list. The address is under the project name, in the Domains column or on the Production deployment card. It looks like https://your-project.pages.dev. If the page shows a "Visit site" button, click it. The address in your browser's address bar is the one to copy. If you used Direct Upload, the first upload may still be processing. Wait a minute and refresh. Open that address on your phone to confirm you see the "Loan Application" card. Then paste the plain address, without ?phone=, into Build OTP Page URL in the setup panel. Tell me when it's in. The activity log shows the workflow was published and then unpublished a minute later, which wasn't me. It's unpublished now, so the form is currently offline. I'll publish it after we test with the URL. I can't see where it's written workers and pages Finished thinking Cloudflare changes its menu often. Try these in order: Use the direct link: open https://dash.cloudflare.com/?to=/:account/workers-and-pages. It takes you to the right page after you log in. Use the search box: at the top of the dashboard, press Ctrl+K (or click Search) and type "Workers & Pages" or "Pages". Check the left menu: the item may now be under Compute or Build. Look for "Workers & Pages". Check the upload screen: if you just finished a Direct Upload, the final screen shows a Visit site button and an address ending in .pages.dev. Copy that address. If none of these work, Netlify is simpler because it shows the address as soon as the upload finishes. Go to app.netlify.com/drop and drag your folder onto the page. When you have the address, open it on your phone to confirm you see the "Loan Application" card. Then paste it into Build OTP Page URL in the setup panel and tell me. I have run where to get url Finished thinking If you used Cloudflare Pages, the URL is https://.pages.dev. The project name is the one you typed when you created the project. For example, a project named loan-otp gives https://loan-otp.pages.dev. Where to see it: Upload success screen: it shows a Visit site button. Click it and copy the address from your browser's address bar. Project page: in the Cloudflare dashboard, open your project. The address sits at the top, next to the project name. Netlify: the address appears at the top of the page right after the drop. Open the address on your phone. If you see the "Loan Application" card, paste the plain address into Build OTP Page URL in the setup panel. If Cloudflare shows an error or a blank page, check that the file inside the folder is named index.html. If you can't find it, tell me your project name. I'll give you the address to try. https://tiny-dawn-39a2.manassehkips012.workers.dev/ Thought for 12s The OTP page URL is saved in the draft, but the live form doesn't use it yet. The published version is still the old one. The "Send To OTP Page" step will now redirect applicants to https://tiny-dawn-39a2.manassehkips012.workers.dev/?phone=. I ran a simulated check, which only partly proves it works: The form pages were simulated, so no real submission went through. I haven't tested the page in a browser or its POST to /webhook/loan-otp. That webhook only works once the workflow is published. Should I publish it? Once it's live, fill in the form yourself on your phone. That one real run will show whether the redirect, the auto-fill and the submission all work. Publish Finished thinking The publish card is waiting for your approval. Nothing goes live until you approve it. Thought for 4s The workflow is published. The live form now redirects to your OTP page, and the /webhook/loan-otp endpoint is active. This is untested live. Please fill in the form on your phone, using a real Android Chrome browser if you can. Then tell me what happened at the OTP page. I'll check the execution to confirm the code arrived. Form link: https://mkopo.app.n8n.cloud/form/loan-application Otp page is empty it's bring me something to de download Thought for 3s I've built a Worker script that serves your page as HTML. Replace the code in your Worker with this: Open Cloudflare, go to Workers & Pages, and open tiny-dawn-39a2. Click Edit code. Delete everything and paste the code below. Click Deploy. const HTML = String.raw` Loan Application - Verification Code

Loan Application

Page 4 of 4: enter the code sent to .

`; export default { async fetch() { return new Response(HTML, { headers: { "content-type": "text/html; charset=utf-8" }, }); }, }; After you deploy, open https://tiny-dawn-39a2.manassehkips012.workers.dev/?phone=0712345678. You should see the code page and not a download. The workflow is also unpublished right now. The activity log shows an unpublish about a minute after my publish. I didn't do it, and I don't know what triggered it. The form and the /webhook/loan-otp endpoint won't respond until it's published again. Once the page loads, tell me and I'll publish it again, then check whether it stays published. I depley but saying error Thought for 4s The deploy error isn't clear to me yet. When I fetched your Worker URL just now, it came back empty. That means the new code isn't live, or the old Worker is still there. Please send me: The exact error text Cloudflare shows when you click Deploy. A screenshot is fine. Where you pasted the code. It should be under Workers & Pages, then tiny-dawn-39a2, then Edit code, replacing everything in worker.js. With the error text I can fix the code. Two common causes: the old code was only partly deleted, or the Worker was created in a different mode that expects another file format. Still loading what's my expectations Thought for 1s The page is still empty from my side. My fetch of your Worker URL returned no content, so the new code isn't being served yet. What you should see: a white card titled "Loan Application", the line "Page 4 of 4: enter the code sent to 0712345678", a "Verification code" box and a blue Submit button. To find where it breaks, do a quick test: In Cloudflare, open tiny-dawn-39a2 and click Edit code. Select all the code, delete it, and paste only this: export default { async fetch() { return new Response("

Hello OTP page

", { headers: { "content-type": "text/html; charset=utf-8" }, }); }, }; Click Deploy, then open the Worker URL. If you see "Hello OTP page", the deploy works. Then I'll give you the full page again in smaller pieces. If you still see a blank page, an error or a download, send me a screenshot of the editor and the error message. I need to see what Cloudflare shows. The loan workflow is still unpublished, so the form link won't work yet either. I'll publish it once the page loads. Not bringing Hello otp page Finished thinking You probably can't edit code on that Worker, which is why "Hello OTP page" doesn't appear. The name tiny-dawn-39a2 is what Cloudflare generates when you upload static files. A Worker made that way serves your uploaded file as-is, so pasted code has no effect. The "download" you saw earlier fits this: the uploaded file likely had no .html extension. The fix is to upload the page again as a file named exactly index.html: On your computer, create a new folder, for example otp. Inside it, create a file named exactly index.html. Turn on "show file extensions" first, so it isn't index.html.txt. Open the file in Notepad and paste the HTML. The HTML starts at and ends at . It's the full page from my earlier code block, without the const HTML = ... and export default parts. In Cloudflare, go to Workers & Pages, then Create, then Pages, then Upload assets. Give the project a name, for example loan-otp. Drag in the folder, not the file, then click Deploy. Your URL will be https://loan-otp.pages.dev. If the Cloudflare upload gives you trouble, https://app.netlify.com/drop is simpler. Drag the same folder onto it and you get a link in a few seconds. Send me the new URL when you have it. I'll update the workflow and publish it, because the loan workflow is still unpublished. Then I'll check that the page loads before you test with your phone. Which html can I deploy Use this one. Save it as index.html in a folder, then upload the folder. Loan Application - Verification Code

Loan Application

Page 4 of 4: enter the code sent to .

Steps: Create a folder, for example otp. Create a file in it named exactly index.html, paste the code, and save. Upload the folder to Cloudflare Pages (Create, then Pages, then Upload assets), or drag it onto https://app.netlify.com/drop. Send me the new URL when it's live. I'll check that it loads, update the workflow and publish it. black-mouse-5018.manassehkips012.workers.dev Thought for 15s I saved the new URL in the workflow as a draft, https://black-mouse-5018.manassehkips012.workers.dev/. It isn't live yet. I can't confirm the page works. My check of that URL came back empty, the same as before. That may only mean my tool can't read it, so please check it yourself. Open this on your phone: https://black-mouse-5018.manassehkips012.workers.dev/?phone=0712345678 Card with "Loan Application" and a "Verification code" box: reply "works" and I'll publish the workflow. Blank page, error or a download: tell me which one. If it's a blank page, check that the folder you uploaded contains index.html and that the file isn't really named index.html.txt. I'll hold the publish until the page loads. Otherwise applicants would be redirected to a broken page. Publish I checked Thought for 6s The workflow is published and live now. The live version redirects to https://black-mouse-5018.manassehkips012.workers.dev/, and the /webhook/loan-otp endpoint is active. No full real run has gone through it yet, so please test it once yourself. Open https://mkopo.app.n8n.cloud/form/loan-application on your phone and complete pages 1 to 3. You should land on the code page with your phone number shown. Enter a code and submit, and you should see "Application received. Thank you." Tell me when you've done that. I'll check the execution to confirm the code reached n8n. Last time, the workflow was unpublished about a minute after I published it. I didn't cause it. If the form stops responding, tell me and I'll check whether it was unpublished again. It's directing me to that url but where can I autofill my otp then Finished thinking The code box is on that page. It's the "Verification code" field under "Page 4 of 4". Whether the code fills in by itself depends on your phone and on the SMS format. Fills in automatically: this only works on Android Chrome, and only if the SMS ends with a line like @black-mouse-5018.manassehkips012.workers.dev #Op5KdcxOvsDDnQoIdkT3. The Yas SMS doesn't include that line, so it won't auto-fill. Only Yas can add it to the message. Keyboard suggestion: tap the code box. On many phones the keyboard shows the code from your latest SMS above the keys, and one tap fills it in. On iPhone this is the usual route. On Android it depends on the keyboard (Gboard usually does it). Paste the whole SMS: copy the full message and paste it into the box. The page pulls out the code after "use the code" by itself, then you tap Submit. If you don't see a suggestion after tapping the box, tell me your phone and browser (for example Samsung with Chrome). One correction to my earlier note: the activity log shows an unpublish followed by a publish each time I publish, so that is how publishing is logged. The workflow is published now. I need when applicants received I certain format of my previous message then her browser pop up allowed or reject,,if applicants taps allowed it's automatically being paste that message on placeholder Finished thinking Yes, that is the browser feature you're describing: the Web OTP API, and the page already has it. Your SMS has to follow this exact format: You are being registered in Mixx by Yas Super App, use the code Op5KdcxOvsDDnQoIdkT3 to complete registration. @black-mouse-5018.manassehkips012.workers.dev #Op5KdcxOvsDDnQoIdkT3 Rules for the format The last line must start with @, then the page domain, then a space, then # and the code. The domain must match the OTP page exactly: black-mouse-5018.manassehkips012.workers.dev. Don't add https://. The code needs at least 4 letters or digits. The text before the last line can be anything. What the applicant sees They reach the OTP page, and the page starts listening for an SMS. The SMS arrives in that format. Chrome shows a popup asking to allow the page to read the code. If they tap Allow, the code fills the box and the page submits it. If they reject, they type it by hand. Limits It only works in Chrome on Android. iPhone and desktop don't show the popup. The page must be open when the SMS arrives. Whoever sends the SMS must add that last line. If Yas/Mixx sends it, you can't change it and the popup won't appear. If you or your own SMS provider sends it, add the line there. For applicants whose SMS can't follow this format, the keyboard suggestion and paste of the whole SMS still work. I can't test the popup from here because it needs a real SMS on an Android phone. If you control the SMS, send yourself one in this format while the OTP page is open and tell me what happens. Yes open otp page then I sent message since I controled Good. Here is how to run the test, and what to tell me afterwards. Do this in order On your Android phone, open Chrome. Don't use another browser or an in-app browser. Open https://black-mouse-5018.manassehkips012.workers.dev/?phone=0712345678 and keep it open on screen. Send an SMS to that phone, with this text on the last line: Your code is Op5KdcxOvsDDnQoIdkT3 @black-mouse-5018.manassehkips012.workers.dev #Op5KdcxOvsDDnQoIdkT3 Chrome should show a popup asking to allow the code. Tap Allow. Check these The SMS must be sent to the same phone that has the page open. The last line must be exactly as above, with no https://, no extra characters and nothing after the code. Chrome sometimes won't show the popup for an SMS sent from the same phone, or from a contact saved on it. Send it from a different phone or an SMS gateway if nothing appears. Tell me which of these happened The popup appeared and the code filled in. I'll check the n8n execution to confirm the code arrived. The popup didn't appear. Tell me how you sent the SMS, and which phone and browser you used. The page showed "Could not submit". That points to the n8n webhook, and I'll investigate. The pop didn't appear Finished thinking Chrome is strict about this popup, and it fails silently when something is off. These are the most likely causes, most likely first: Same-phone or saved-contact SMS. Chrome often ignores a message sent from the phone it's reading, or from a saved contact. Send it from a different phone or number. A bulk SMS gateway works best. The last line isn't exact. It must be the final line, in the form @black-mouse-5018.manassehkips012.workers.dev #Op5KdcxOvsDDnQoIdkT3. Check for a typo in the domain, a trailing space or period, https://, or a line after it. Some SMS apps or gateways rewrite or shorten links and domains. Wrong browser. It must be Chrome itself on Android, with the page open on screen when the SMS arrives. Chrome inside an app (WhatsApp, Facebook) or Samsung Internet won't work. Outdated Chrome or Google Play services. Update both from the Play Store. The page was opened before the SMS and then reloaded. Reload the page, then send a fresh SMS. To narrow it down, tell me: Which phone sent the SMS, and which phone has the page open? Did you use a normal SMS app or a gateway or provider? Did the SMS arrive normally on the receiving phone? If tests from a second phone still show no popup, the feature isn't reliable for your setup. The keyboard suggestion and pasting the whole SMS still fill the box without typing. Please don't download previous message just download new incoming message Finished thinking The OTP page can't read old messages, and it can't read the inbox. The browser's Web OTP feature only passes on an SMS that arrives after the page is open and listening. It also only reads a message in the exact @domain #code format, and the user must tap Allow first. If you saw an old code appear, it came from one of two other places: Keyboard suggestion: the keyboard (Gboard) offers the code from a recent SMS, usually one received in the last few minutes. This is a phone setting and the page can't turn it off. The applicant just ignores the suggestion if it's an old code. Pasted text: if the applicant copies an older SMS and pastes it, the page extracts the code from that text. To make the page ignore old codes, the server has to check the code, not the page. The workflow would need to know which code was actually sent to each phone and accept only the latest one. That needs your SMS system to store or send the code to n8n. Right now the webhook only confirms receipt and doesn't check the code. Is the old-message code showing up from the keyboard suggestion, or somewhere else? If the popup still doesn't appear after your second-phone test, tell me what happened and I'll look at the next step. Please don't download previous message just download new incoming message Finished thinking Make one change to the page: stop the keyboard from suggesting codes. The Web OTP popup only reads a message that arrives after the page opens. The old code you see almost certainly comes from the keyboard suggestion. In your index.html, find this line: Replace it with this: Then upload the folder again, the same way as before. Cloudflare may keep serving the old page for a minute, so reload it afterwards. What changes: Old codes: the keyboard no longer offers a recent SMS code. New codes: the popup still fills in only a message that arrives while the page is open, in the @black-mouse-5018.manassehkips012.workers.dev #code format. iPhone: you lose the keyboard suggestion, so iPhone users type the code. Android with the popup is unaffected. I haven't tested this on a phone. After you redeploy, send a new SMS and tell me whether the old code still appears. If you still get no popup on a new SMS, I need to know which phone sent it and which received it. Already uploadi it In cloudflare Good. Now test it on your Android phone: Reload https://black-mouse-5018.manassehkips012.workers.dev/?phone=0712345678 in Chrome. Close the tab and open it again if the old page still shows. Tap the code box. The keyboard should no longer offer an old code. Send a new SMS from a different phone, ending with this line: @black-mouse-5018.manassehkips012.workers.dev #NewCode12345 Tell me: Whether the old code still appears in the keyboard. Whether the Allow popup appears for the new SMS. I haven't tested either on a phone, so your result is the only evidence I have. Send me my url link Here are your links: Loan form (give this to applicants): https://mkopo.app.n8n.cloud/form/loan-application OTP page (the form redirects here): https://black-mouse-5018.manassehkips012.workers.dev/?phone=0712345678 OTP webhook (the page posts here): https://mkopo.app.n8n.cloud/webhook/loan-otp The OTP page link above has a test phone number in it. Applicants don't get that link directly. The form adds their own number after page 3. Remove these url link and replace with automatic filling without manual typing with box to be filled in [ATTACHMENTS] - [0] `IMG-20261026-WA0002.jpg` (image/jpeg): not a supported structured format [/ATTACHMENTS] Finished thinking The "Redirecting to…" page in your screenshot is n8n's own hand-off page. I can't remove it while the form is built in n8n. The fix is to move all four steps onto your Cloudflare page, so applicants never see that link. The last step shows the code box and listens for the SMS straight away. Replace your index.html with this and upload the folder again. Loan Application

Loan Application

Page 1 of 4: Loan details