Limit # of forms submitted

Hey Coda Community, I need your help solving a tooling challenge.

I am helping a nonprofit that enables young people to grow their skills and leadership via community service/projects. For one of their workflows:

  • Youth can submit the service work (hours) they completed, with the name and email of someone who can verify these hours.
  • The nonprofit then reaches out to this contact and verifies the hour data.
  • The frontend is a volunteer management system, and we have a pack that creates sync tables between the key datasets.

Currently, I have these databases:

  • Youth database (Sync Table)
  • Hour database (multiple entries per person) (Two-way sync table)
  • Verified hour database (Coda Table)

In my current workflow:

  1. Hour database: There is a ‘Send for Verification’ button that sends a link to a form, which adds a row to the verified hour database . The link retrieves submitted hour data (hour number, start date, end date) and pre-populates it in the form.
  2. The contact gets this email, they open the link with pre-filled data, they can make edits and submit it.
  3. This adds a row in the Verified hour database .
  4. This, in turn, triggers automations to update data in the main hour database (updating the main data with what the verifier submitted).

Challenge:

We want to limit the verfied data forms people can submit for each original hour entry to one.

I’m having trouble finding a reasonable way to do this in Coda. Please note, we are willing to integrate with a form tool if that would make this possible.

Help :folded_hands:t4:

PS: would share a doc, but it has confidential data

1 Like

:waving_hand: @Astha_Parmar

Without having to spend time building out your doc to test… does the “Submit Again” function not work for your use case instance/workflow?

Cheers!
Mel

2 Likes

Hi, actually integrating another tool would make it more difficult, as you have to check in your database if the user has already submitted a response.

You can just use the ‘Validation’ function in Coda forms to check if the user filling out the form has already made other submissions and if so show an error message and prevent the user from sending it. Make sure that you enable the option to ‘share tables’ (or similar, I’m on my phone and can’t check the actual name) in the form options or it won’t work.

Let us know if you have any issues setting it up!

Pablo

2 Likes

Hi @Melanie_Teh – thank you so much for the quick response!! I honestly missed the ‘submit again’ part of the form design. That certainly helps with one part of the equation – thank you!!

Our challenge is that a Verifier might get multiple verification emails for separate hour entries. So it’s actually them accidentally re-clicking on the link that is included in the automated email for an hour they already verfied that is resulting in the repeat submissions.

hi again @Astha_Parmar

you’re welcome! and for the other part - i would second what @Pablo_DV has suggested and the option he is referring to is “Include referenced tables”

cheers!
Mel

1 Like

@Melanie_Teh and @Pablo_DV – thank you for your help in thinking this through.

Is there absolutely any way to do this without sharing the table? I am worried about exposing personal data. And do we know if it exposes the entire linked table or just the specific linked row(s)?

Essentially, there is an original hour entry (Hour Table) → with a form link that passes pre-filled values sent via email → that then creates a row in a verification table. We want one verification per hour entry.

Here is what we are passing to the Verification Table form via the link from the Hour Table right now:
Concatenate(
https://coda.io/form/YCS-DoService-Hour-Verification_dq-rK4Id4Hd","?”,
“Matched-ID=”,thisRow.[Matched-ID].EncodeForUrl(),“&”,
“Volunteer-Name=”,thisRow.[Linked Volunteer Name].EncodeForUrl(),“&”,
“No-of-Hours=”,thisRow.[No. of Hours].EncodeForUrl(),“&”,
“Start-Date=”,thisRow.[Start Date].EncodeForUrl(),“&”,
“End-Date=”,thisRow.[End Date].EncodeForUrl(),“&”,
“Form-Message-Input=”,thisRow.[Form Message Conditional].EncodeForUrl()

).Hyperlink()

So, essentially, some way to display a conditional instruction on the form based on whether a verification on it already exists.

Again, so appreciate the community’s help!!

Without seeing your system or knowing the deeper issue being caused by the multiple submissions (multiple verifications are adding additional hours to the system, verifications are coming back with different information etc), my suggestion would be to add an automation to add a reference number to your hours database that you could pull through to the verification form.

From there, depending on the deeper issue:

  • You can use that number to make all entries only update a single line in the hour database.
  • This would also make it easier to connect the tables to see how many times the hours were verified and look at the submissions.
  • You could add a status to the hours table that is set to verified once updated by the verification and use an if statement in your automation to not write over that data if it has already been verified
  • If you want to clear out the duplicates from the verification table, you could set up an automation to delete submissions for reference numbers that already exist