# Form within form

**URL:** <https://community.glideapps.com/t/form-within-form/80309>\
**Category:** Ask for Help\
**Created:** [February 25, 2025, 1:13am UTC](https://community.glideapps.com/t/form-within-form/80309 "2025-02-25T01:13:59Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Mikaeldorval](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/mikaeldorval/32/67405_2.png) [@Mikaeldorval](https://community.glideapps.com/u/Mikaeldorval)\
**Post date:** [February 25, 2025, 1:13am UTC](https://community.glideapps.com/t/form-within-form/80309/1 "2025-02-25T01:13:59Z")

</div>

Is there a way to have a user complete a form (in a form container) within another form, and have the result of this container form only added if the main form is completed?

Use case:

- Filling form questions while adding a new calendar event. Once created, the event would have a completed form linked to it.

---

<div class="post-metadata">

**Author:** ![MaximeBaker](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/maximebaker/32/80877_2.png) [@MaximeBaker](https://community.glideapps.com/u/MaximeBaker)\
**Post date:** [February 25, 2025, 2:35am UTC](https://community.glideapps.com/t/form-within-form/80309/2 "2025-02-25T02:35:41Z")

</div>

Yes! Use a helper table for your main form. Then, use the form container onsubmit action to set a column value in your current row (helper table).

If you need further help, just let me know!

---

<div class="post-metadata">

**Author:** ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)\
**Post date:** [February 26, 2025, 12:20am UTC](https://community.glideapps.com/t/form-within-form/80309/3 "2025-02-26T00:20:04Z")

</div>

So you mean the “children” entity should only be added to your “children” table if the main form is submitted? And you can add multiple “children” within your “parent” entity?

---

<div class="post-metadata">

**Author:** ![Mikaeldorval](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/mikaeldorval/32/67405_2.png) [@Mikaeldorval](https://community.glideapps.com/u/Mikaeldorval)\
**Post date:** [February 26, 2025, 12:28pm UTC](https://community.glideapps.com/t/form-within-form/80309/4 "2025-02-26T12:28:27Z")

</div>

Exactly!

---

<div class="post-metadata">

**Author:** ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)\
**Post date:** [February 27, 2025, 1:14am UTC](https://community.glideapps.com/t/form-within-form/80309/5 "2025-02-27T01:14:56Z")

</div>

That’s tricky. I think you would want to add a “temporary table” to your app.

Then, add rows to that table, and on submission of the actual form, run a webhook workflow to add those rows to your actual children table. Then delete the temporary rows.

Make sure you also add a timestamp to those temporary rows, if they’re left there for like 5-7 days, maybe you can run another scheduled workflow to delete them.
