Help

Save the date! Join us on October 16 for our Product Ops launch event. Register here.

Re: Dynamic Form Submit Button Limiter

1227 3
cancel
Showing results for 
Search instead for 
Did you mean: 
PedroCerrano
6 - Interface Innovator
6 - Interface Innovator

I have a very large, dynamic number of opportunities with a dynamic number of positions available in each opportunity. I want to limit the number of Form submissions to the total number of slots, depending on the opportunity. When registration opens, it’s a mad rush because the spots are first-come first-served. 

The number of opportunities are too large to monitor manually, and I don't want to deal with the headache of an automated email that says, "sorry, please try again." Its a potential for too many unhappy customers.

The Form is currently accessed through a button in an Interface, and I'm curious about the Record > Button: Rules > Visibility feature. Thinking I could hide the button to limit the access to the form (that's half of the challenge), but every time I click on the Visibility toggle, Airtable prompts me to upgrade without an explanation of how that would help. I've reached out to Support but haven't heard back. 

The rabbit hole took me to Fillout, which has amazing features, but the conditions were static and only available through URL params.

Can anyone think of any way I might accomplish this? Outside the box is welcome. 

10 Replies 10

Hmm, how do you determine the number of positions currently?  Is it just a number field? 

Could you provide some screenshots of the relevant tables and fields with some example data?

You could do a crazy workaround. If you can generate your form using a formula in your data, you might be able to change the URL using more formulas. Might be able to redirect to a page saying slots are full or something.


Justin Ng
Programme Coordinator at Sistema Aotearoa
https://www.sistemaaotearoa.org.nz/
ScottWorld
18 - Pluto
18 - Pluto

@PedroCerrano 

You can actually do this with Fillout’s advanced forms for Airtable.

All of Fillout’s conditions are dynamic (not static), including hiding/showing the submit button itself.

Fillout can show Airtable lookup fields and rollup fields on a form, and you can either hide those values or show them to your users.

Then, you can just hide or show the submit button itself based on the value in those lookup fields or rollup fields. You can also show or hide customized messages for your users as well to let them know why the submit button is hidden.

The only possible issue is that Fillout will only refresh the “quantity remaining” at the time the user picks the value from the linked record field. Fillout might not refresh it again, but maybe it will refresh it again on a new page you have the form go to an additional page and place the lookup or rollup field there as well.

— ScottWorld, Expert Airtable Consultant 

Each business has an industry and at least one opportunity. When a business registers, I collect that data through a form, split it over the respective tables ("Business" and "Opportunity"), and send them an email that includes a prefilled link to another form for bonus opportunities. The number of Total Positions is determined when an Opportunity record is created (see Opportunities example screenshot).

When a user searches the Opportunity interface, a button on each Record Detail takes them to a new form (the one I'm currently working on). After signup, each user is linked to one Opportunity and only one, while an Opportunity will be linked to as many users up to the Total Count. I track that using a Count field (Filled Positions).

I want to configure the form Submit button to do this: if Count field === Total Positions => hide/disable button. Does that make sense? Is there anything else I may provide to better explain what I'm trying to do?

Best, Pedro

A link to a confirmation page? And I could possibly do the calculation in-between?

#poppaLikes

Nice @ScottWorld! You nailed the issue at hand in your last paragraph. For example: if an Opportunity has 5 total positions, and 20 users click on the link to take them to the form, then there are 15 users that I have to account for.

I could easily write the JavaScript for a mobile app or a website to do what I want. This second page idea is intriguing, but it still might leave a gap. I want a submit button that when I click/tap on it, there would be a real-time calculation that prevents a user from registering for an Opportunity.

From a UI/UX POV, I don't like my users needing to click/tap on too much, you know?

Is there a way to submit a form that does not create a record? Thinking I could automate the second page with a conditional script.

Ah, to answer your question about the visibility thing, you could try creating a formula that checks the "Filled Positions" against the "Total Positions", and use the visibility conditional on that.  In the screenshots below, both opportunities have a max slot value of 2, and so for Opportunity 1 the "Register" button isn't visible

Screenshot 2024-07-31 at 12.01.15 PM.png

Screenshot 2024-07-31 at 12.01.18 PM.png

As you've mentioned, this doesn't handle the case of an Opportunity that has 5 total positions, and 20 users clicking on the link though, and I think we're going to face this problem if we're using an app that doesn't give us a real time calculation to check for this on submit like you said, which leaves us with trying to shorten the window of time for people to click on a button for an opportunity that's completely filled

What if you made it so that the button click ran an automation instead?  That automation would instantly create a new record that would be linked to the opportunity, and then send the user who triggered the automation an email with a form link to update that newly created record.  That way the window of time for people to click on a button for an opportunity that has no more positions is reduced to the time it takes the automation to run and for Airtable to calculate the difference

Not sure if it's worth it though since you'd need to get a Business plan account though!

On Fillout, I reckon I'd set it up so that the next page was just for the user to enter their email and hit submit as that'd be fastest?

I'm blown away from the amazing responses. Thank you all for your help. It seems that there are multiple pieces to this puzzle I need to figure out before landing on a solution. I think we all agree this is, to quote Adam, an attempt "to shorten the window of time for people to click on a button for an opportunity that's completely filled."

Something I need to figure out is how to present the Opportunity data. I will either embed an Interface page or a custom View from the Opportunity table. The latter seems easiest to make Opportunity "disappear" when filled by configuring the View to be filtered by a formula that calculates Filled or Available. I read that embedding a View will update the data live.

Last time this event was done (all manually without Airtable), there were 150+ businesses and around 800 external users who signed up for opportunities. Their only previous interaction with us was from a static website with a link to fill out a Survey Monkey form. If we plan to expand to more clients, this Submit button is close to mission critical. 

Now to go build the new website... that will help determine the next step. I'll get back to you all and mark one of these as Accept as Solution.