Building micro SaaS with no-code / low-code – day 7: double opt-in waitlist with Make and Airtable
I reinvented the wheel yesterday and built a mechanism for signing up to a waitlist using the double opt-in model. To successfully sign up, a user must provide an email address and click a unique confirmation link. This will protect my list from spam bots and spam traps.
The solution isn’t perfect because a simple “hacker” could use up all my limits in Make or Airtable with a basic DDoS attack. But it’s a temporary solution, so maybe I’ll be lucky.
The double opt-in waitlist mechanism consists of two Make scenarios.
- After clicking “Join waitlist,” a JS script activates a webhook and sends it the email address.
- The scenario checks if the given address is already in Airtable:
- If YES - return a FOUND response.
- If NO:
- add the address to the database
- send an email with a link containing the ID of the new record in the database
- return a response: ADDED
- The “Thank you” page opens after clicking the confirmation link.
- JS code on the page retrieves the ID from the URL.
- The script sends the retrieved ID to a webhook in Make.
- The scenario checks if the given ID exists:
- If YES - change the record’s status to CONFIRMED and return an OK response.
- If NO - return a NOTFOUND status.