Custom form without source

Hi all, I searched the forums, but couldn’t find an answer to my concern.

Is it possible to create a custom form without a source table, that submits form data to a webhook (e.g. linked to Make or Zapier), but doesn’t save the form data in any source table?

Of, perhaps have a form mapped to a dummy/blank table, but have control over form submit behaviour, such that form data can be sent to a webhook and the form can be cancelled/rejected to avoid table insert?

Yes, you can do that.

Just create a Custom Form, and instead of using an Add Row action, trigger a webhook.

1 Like

Thanks Darren. Apparently, settings the form’s ‘after submit action’ to ‘trigger webhook’ sends the form data to the webhook, but also saves the data in the table, which is what I’m trying to avoid.

Sounds like you are using a native form, which will always add a row when submitted.

A custom form is different. You get to choose what happens with the data. Check the link that I gave you.

1 Like

Thanks, but I’m confused as to how to create a “custom form”?

Is there a step-by-step tutorial or video explaining how to create one?

  • Create a table to use as a helper table. You typically only need one row in this table.
  • Add columns to temporarily store your form input values. Ensure that all columns are User Specific (this is critical).
  • Add a Details Screen that uses your Helper Table as it’s source.
  • Add input components to collect your “form” data, and target them at the user specific columns.
  • Add a button to use as a “Submit” button, and set the action on that button to trigger your webhook.

There is a lot more that can be done with a custom form, but that’s essentially the guts of it. The App in the post I liked to earlier is copyable, so you can make a copy of that and study it if you want to learn more.

2 Likes

Great! Thanks so much.

So, if I have one or more “custom forms” (no table saving), then I’ll need a helper table for each form, right?

Yes, no, maybe, it depends :wink:

In theory, you could use a single helper table for an infinite number of custom forms. But because Details Layouts are tied to tables, you would need a “Show New Screen” action for each form (assuming that each needs to be different).

Actually, strictly speaking you don’t even need a helper table. You could build your custom forms on top of any table. But helper tables are encouraged, as they keep things a bit tidier.

My advice would be to just do whatever seems to make sense. There is no hard and fast rule.

1 Like

Does this “custom form” with Details screen apply only to Apps, not to Pages, because I can’t see any such screen style option for a Pages tab :face_with_raised_eyebrow:

The same principle applies equally to both. In Pages, every screen is a details screen (except for native form screens).

Sorry, can’t make it work.

Form still saves multiple rows in the helper table.

How are you getting to the “form”?

It sounds like you are still opening a form screen - “Show Form Screen” or similar.
Don’t do that.
Use either a Show Details Screen or Show New Screen action, with your Helper Table as the source.

Got it to work by creating an action workflow: trigger webhook and then delete row. Data sent, but empty table! This may still incur two data operations: add and delete.

I’ll try the ‘show details screen’ method as per your last comment, to see if it avoids multiple data operations.

And, thanks for sticking with me on this.

yeah, don’t do that. It’s completely not necessary (and probably won’t work reliably).

That’s the correct way to do it.

Ok, so I added new page/tab, with source set to helper table. Then added a button to it, with a ‘show new screen’ action. In the new screen overlay, first I added a Form Container again mapped to helper table, but it saved multiple rows (one for each form submission) to the helper table. I also tried a simple Container with text fields and button, but it doesn’t show the text fields, only the button.

Why is this so hard :blush:

Finally got it to work. Trick was to have one blank row pre-set in the helper table.

Last tiny glitch: previously submitted form values are shown the next time on a ‘show new screen’ or ‘show details screen’ overlay. Any simple way to clear it?

Never mind, had to define a workflow to clear column values before showing new screen.

All good!

because…

As soon as you did that, you were back to a native form, and you were always going to get rows being added.

Anyway, looks like you figured it out :slight_smile:

Yes, you need at least one row. What I normally do is add a RowID column, and that gives you a single row.

2 Likes

This topic was automatically closed 24 hours after the last reply. New replies are no longer allowed.