# Best practice for forms within forms

**URL:** <https://community.glideapps.com/t/best-practice-for-forms-within-forms/86005>\
**Category:** Ask for Help\
**Created:** [January 12, 2026, 11:29pm UTC](https://community.glideapps.com/t/best-practice-for-forms-within-forms/86005 "2026-01-12T23:29:11Z")\
**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:** [January 12, 2026, 11:29pm UTC](https://community.glideapps.com/t/best-practice-for-forms-within-forms/86005/1 "2026-01-12T23:29:12Z")

</div>

Hi Gliders

I was wondering how do you handle scenarios like this as far as design and structure goes:

For a CRM, I have a table for contacts, another for phone numbers and another for emails.

I would like the user to be able to add a contact via a form, and while adding the contact, be able to add multiple phone numbers or email addresses.

Easiest way is to add the contact first, and then add phone numbers or emails but I find this approach a bit clunky.

I thought about having a form inside the contact form and setting up a helper table to temporarily log the phone numbers and emails and then add these via a a workflow or api call when submitted. But then I would need a recurring workflow like once a month that goes trough the helper table to check and delete unprocessed rows that were abandoned if a user stopped filling the form before submitting it.

I also thought about trying an AI component that could create a temporary json with an array of phone numbers or emails and then process that JSON via a workflow to add these numbers to the created contact.

What are your workarounds for this type of situation?

---

<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:** [January 13, 2026, 12:58am UTC](https://community.glideapps.com/t/best-practice-for-forms-within-forms/86005/2 "2026-01-13T00:58:49Z")

</div>

JSON would be the cleanest imo, and phone numbers/email addresses might not go under much more transformation down the line so it’s ok to store it like that.

> [@Mikaeldorval](#):
>
> Easiest way is to add the contact first, and then add phone numbers or emails but I find this approach a bit clunky.

I agree it’s a bit clunky to do it like this but it’s the best way if you don’t want to touch JSON/AI Components.

---

<div class="post-metadata">

**Author:** ![nathanaelb](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/nathanaelb/32/43079_2.png) [@nathanaelb](https://community.glideapps.com/u/nathanaelb)\
**Post date:** [January 14, 2026, 1:56pm UTC](https://community.glideapps.com/t/best-practice-for-forms-within-forms/86005/3 "2026-01-14T13:56:13Z")

</div>

> [@Mikaeldorval](#):
>
> For a CRM, I have a table for contacts, another for phone numbers and another for emails.

What’s the reason for having 3 tables instead of 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:** [January 14, 2026, 2:04pm UTC](https://community.glideapps.com/t/best-practice-for-forms-within-forms/86005/4 "2026-01-14T14:04:28Z")

</div>

Contacts can have multiple phone numbers and email adresses.

---

<div class="post-metadata">

**Author:** ![nathanaelb](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/nathanaelb/32/43079_2.png) [@nathanaelb](https://community.glideapps.com/u/nathanaelb)\
**Post date:** [January 14, 2026, 2:13pm UTC](https://community.glideapps.com/t/best-practice-for-forms-within-forms/86005/5 "2026-01-14T14:13:20Z")

</div>

Makes sense. And the list of e-mails and phone numbers for a given contact is ever evolving? In theory I understand a table for emails and a table for phone numbers, but in practice I wonder if 10 (or 50) email columns and 10 (or 50) phone columns wouldn’t be good enough.
