Implementing Response-Based Status Update in Emails

I'm currently working on a feature in my application where I want to send out an email to users whenever there is a status change. This email will include two buttons: "Accept" and "Deny". My goal is to capture the user's response from these buttons and update the status in my system accordingly. Additionally, if there is no response from the user, the status should be updated to reflect this.

At present, I'm using Retool's built-in mail logic for sending emails. However, I'm unsure how to implement the logic for capturing the button responses and updating the status based on these actions or inaction.

Could anyone guide me on:

  1. How to track and capture the user's response (Accept/Deny) from the email?
  2. Best practices for updating the status in the system based on the user's response or lack thereof.
  3. Any specific considerations or configurations needed within Retool to achieve this functionality?

Any insights, code snippets, or pointers to relevant documentation would be greatly appreciated.

Thank you in advance for your help!

Hey @henspens, welcome to the community!

Unfortunately there isn't really a good way to do this in the email itself. I believe that any JS scripts sent in the html of the email are stripped, so triggering actions that way is not possible. You could send a link which would trigger a workflow, but it's not a great UX and exposes the workflow URL. You could send a link to a Retool Form, a new product in beta for cloud users. The responses would be tracked in a Retool DB table and you could use a workflow or manual process in an app to move / update information elsewhere based off of those responses.