I used send and wait message node (GMail) and after approval I want the button to either disappear or get disable as they are pressed once ( either one is pressed)
@Aarush_Bisht you cant with send-and-wait, an email is static once sent so the buttons cant disappear after a click and the node has no setting for it. doesnt matter functionally though, the first click resumes the workflow so a second click just hits a finished execution and does nothing, no double-approval. if you really need them to SEE a done state, swap send-and-wait for an n8n Form (Form Trigger + Form Ending) where you control the final screen.
Ah…same was in slack also, I was unable to change the state. That form reminder was nice, I almost forgot about it. I will give it a try. Also , I will wait a day to see if by chance anyone has discovered any secret method to show it disable and if not I will mark you comment as solution. Thanks!
Copy and paste this into your n8n canvas. Note: You will need to connect your own Gmail and Google Sheets credentials and create a sheet with columns ID and Status.
In your Gmail node, instead of using the “Send and Wait” operation, use the Send operation and put this in the HTML body:
Google Sheet: Create a sheet with two headers: ID and Status. Add a row with the ID you are testing and set the Status to Pending.
Webhook URL: Replace YOUR_N8N_URL in the email links with the Production URL from your Webhook node.
IDs: Replace YOUR_SHEET_ID and YOUR_CREDENTIAL_ID in the JSON with your actual Google Sheet ID (found in the URL of your browser) and your n8n credential ID.
@Aarush_Bisht its swapping the built-in send-and-wait for a DIY version, your own webhook plus a sheet that tracks whos already responded. the email buttons still wont disappear (nothing can change a sent email), but since you own the handler you can make a second click look up the sheet and show an “already responded” page instead of doing anything, and control the landing screen too. so its basically the manual version of the Form idea, only worth the extra wiring if you specifically need that custom done-state, otherwise send-and-waits harmless second click is simpler.
This is the workflow to replace your “Send and Wait” operation.
If the user goes back to their email and clicks the button a second time, n8n’s built-in logic recognizes that the “Wait” has already been resolved for that specific execution. Instead of allowing them to approve/decline again, it will show a message stating that the response has already been submitted.
@Aarush_Bisht its the id of the thing being approved, not a person, so in your case one id per signature-change request. you set it when the email goes out and write it to the sheet as pending, then that id rides along in the button link, so when someone clicks, the handler uses it to find that exact row and flip it to approved or declined. thats just how it knows which request the click belongs to.
ok. got it. So instead of disabling button we can just tell user that that operation has been done. I think a “note” just above the buttons will do the work. thanks for the effort !