I’m working on an email system that uses webhook URLs for user responses. When users click buttons in our HTML emails, they get redirected to webhook endpoints that show either blank pages or basic text responses.
The current setup works like this:
- We send HTML emails with action buttons
- Each button links to a different webhook endpoint
- Users click the buttons to make their choice
- They see an empty browser window or plain confirmation
I want to improve the user experience by showing a custom HTML page instead of the blank response. I’ve tried using JavaScript to open multiple URLs at once, but email clients block script execution.
Are there any services that provide webhook URLs with customizable response pages? Or is there a way to make one button trigger multiple actions without JavaScript?
Any suggestions for better user experience would be helpful!
zapier’s a good shout! they have webhook catchers that can customize responses. but hey, just tweak your webhook to return real HTML instead of blank - it’s usually pretty easy. create a basic template for a nice confirmation msg instead of nothing.
Handle this at the webhook level instead of making the email do everything. When your webhook gets the click, process the user’s choice server-side first, then send back a 302 redirect to a thank-you page on your domain. Users get a polished confirmation page instead of a blank webhook response. I’ve done something similar - the webhook logs the action to our database, then instantly redirects to a branded page saying “Thanks for your response! You can close this window now.” The redirect’s so fast users don’t even see the webhook URL. You could also have your webhook return actual HTML content instead of empty responses. Most webhook frameworks let you return formatted HTML with CSS. Just set the content-type header correctly so browsers render it right.
Had this exact issue six months ago with our feedback system. Here’s what worked: build a simple intermediary service that catches the webhook and handles both data processing and UX. When someone clicks the email button, it hits your endpoint, logs their response to the backend, then returns a proper HTML page with your branding and confirmation message. Make sure your webhook endpoint returns the right HTTP headers - set content-type to text/html and include a complete HTML document structure. You don’t need external services. Just modify your existing webhook handlers to return formatted HTML instead of empty responses. We threw in a JavaScript snippet that auto-closes the window after a few seconds. Users love it since they don’t want random browser tabs sitting around after clicking email buttons.