How to limit Webflow form submissions to once per minute using Make automation?

Post author
Marko Guzvic

Hey everyone, need some help with MAKE. I have a form on a CMS template page, and I'd like to limit users from submitting that form more than once per minute.

Does anyone know how to do that? It'd be like if they haven't submitted any forms in the past minute> Do action 1, and if they did> Redirect to a page saying you need to wait 1 minute before submitting another form.

Comments

5 comments

  • Comment author
    Julian Galluzzo

    I would recommend doing this totally front-end instead of make - use local storage to save an item for one minute, and if that item is present in local storage, dont allow form submissions

    0
  • Comment author
    Marko Guzvic

    Okay, time to use ChatGPT and it works perfectly!

    Then 🀣Thank you πŸ™‚

    0
  • Comment author
    Julian Galluzzo

    No problem! Yeah chatgpt will be able to knock that out of the park im sure

    0
  • Comment author
    Shadi null

    ChatGPT does everything nowadays, most of the job applications we receive read like ChatGPT wrote them on its first version πŸ˜‚

    0
  • Comment author
    Memberstack Team
    • Edited

    Instead of trying to build rate limiting in Make.com (which would be complex and require checking timestamps, storing submission history, etc.), Script #202 handles this client-side by disabling the submit button immediately after the first click.

    Here's what #202 does:

    • User clicks submit once β†’ button disabled instantly
    • Prevents any additional clicks while form is processing
    • Re-enables after form submission completes (or fails)

    But you want submission limits, not just double-click prevention...

    If you truly need "1 submission per minute per user" tracking, you'd want to combine two approaches:

    Option 1: Pure Client-Side (Simplest) Modify Script #202 to add a cooldown timer:

    javascript
    // After form submission
    const cooldownTime = 60000; // 1 minute in milliseconds
    const lastSubmit = localStorage.getItem('lastFormSubmit');
    const now = Date.now();
    
    if (lastSubmit && (now - lastSubmit) < cooldownTime) {
      const timeLeft = Math.ceil((cooldownTime - (now - lastSubmit)) / 1000);
      alert(`Please wait ${timeLeft} seconds before submitting again`);
      return false;
    }
    
    localStorage.setItem('lastFormSubmit', now);
    // Allow form submission
    ```
    
    **Problem with this:** Users can bypass by clearing localStorage or using incognito.
    
    **Option 2: Server-Side Validation (More Secure)**
    Keep Script #202 for UX (prevents accidental double-clicks), but add Make.com validation:
    
    1. Form submits β†’ Make.com webhook receives data
    2. Make searches Memberstack Data Tables for recent submissions from this user
    3. If last submission < 1 minute ago β†’ return error + redirect
    4. If > 1 minute β†’ process form + save timestamp to Data Tables
    
    **Make.com Flow:**
    ```
    Webhook β†’ Get Member ID β†’ Search Data Tables (filter: member_id + timestamp > now-60s) 
    β†’ Router:
      - Path A: No recent submissions β†’ Process form
      - Path B: Recent submission found β†’ Return error JSON

    Then handle the error response in Webflow:

    javascript
    fetch('YOUR_MAKE_WEBHOOK', {
      method: 'POST',
      body: formData
    }).then(res => res.json()).then(data => {
      if (data.error === 'rate_limit') {
        window.location.href = '/wait-1-minute';
      }
    });

    My recommendation: Use Script #202 for preventing accidental double-clicks (which is 95% of the problem), then add simple Make.com timestamp checking if you're genuinely worried about spam/abuse.

    Most of the time, people aren't intentionally spamming forms - they're just clicking "Submit" multiple times because the button doesn't give feedback. Script #202 solves that instantly.

    Are you actually seeing spam issues, or just want to prevent accidental duplicates? That'll determine if you need the full Make.com validation layer.

    0

Please sign in to leave a comment.