Come to think of it, a Power Automate cloud flow with an HTTP trigger and a response action is not that different from a web page for the outside world.
Just look at this:
If I had contact id passed to this flow as a query parameter, I could use Dataverse connector to set “do not allow bulk email” to “yes”, and, then, I could return some HTML back to the use to confirm that they’ve been removed from the mailing list.
Alright then… Here we go.
Here is how contactid is extracted from the query parameters (my flow http trigger is set up to use “Get” method by the way):
Contact update action is pretty straightforward:
And here is the response action:
Here is HTML source code for the response:
<!DOCTYPE html>
<html>
<head>
<style>
body{
background-color: #dddddd;
}
.centered {
position: fixed;
width: 400px;
height: 200px;
background-color: white;
font-size: 20px;
top: 50%;
left: 50%;
padding-top:25px;
padding-left: 20px;
padding-right: 20px;
padding-bottom: 5px;
color: #555555;
/* bring your own prefixes */
transform: translate(-50%, -50%);
}
H1{
margin-top: 0px;
}
.footer{
font-size: 12px;
padding-top: 30px;
}
</style>
<title>Unsubscribe confirmation</title>
</head>
<body>
<div class=centered>
<H1>Thank you</H1>
You have been successfully removed from our email list.
<div class="footer">Any questions - please reach out to [email protected]</div>
</div>
</body>
</html>
Now all I need to do is add http trigger url to the emails, add contactid query parameter to that url (which will be different for each email), and, once email recipient clicks that url, their information in Dataverse will be updated, and they’ll see a confirmation screen:
And I’ll write up another post to show how to set it all up with “Simple Marketing” a bit later.