Skip to main content
Question

How can I create a public marketplace from Airtable where people can reserve quantities of materials?

  • September 21, 2026
  • 7 replies
  • 51 views

Forum|alt.badge.img

Hi everyone,

I’m using Airtable to manage an inventory of reusable construction materials, and I’d like to turn it into a simple public marketplace/catalogue.

Ideally, I’d like to be able to:

  • Share a public link to the marketplace, without requiring users to have an Airtable account.
  • Let people browse the available materials and products, including photos, dimensions, quantities, etc.
  • Allow someone to select a specific quantity of a material/product and submit a reservation request.
  • For example: if there are 50 units available, someone could request to reserve 10 units.
  • Ideally, the available quantity would be updated automatically or the request would be recorded in Airtable.
  • I’d also like to be able to share a direct link to a specific material/product.

What would be the best way to set this up with Airtable?

7 replies

nroshak
Forum|alt.badge.img+11
  • Brainy
  • September 21, 2026

Following! I’m looking forward to learning from others’ solutions to this, as I mainly use Airtable for internal/logged-in users.

The only all-in-Airtable solution that occurs to me would be to have a public shared view (can view without login) & in that view, expose a formula field that you’ve used to create a link to a form (forms can be submitted by non-logged-in users) with pre-populated product and max quantity, which the user can fill out with their email and quantity. This is pretty janky, though. 

-Natalka


squirrella
Forum|alt.badge.img+3
  • Participating Frequently
  • September 21, 2026

@nroshak  I think you're on the right track. One thing I'd add is that instead of a shared view, you could use an interface and share it via Share to the web with access set to Anyone on the web. That gives you the same idea of a public catalog, but with a much nicer experience using gallery views and record detail pages for photos, dimensions, quantities, etc.

Then you could use the same approach you mentioned with a prefilled form link/button on each product to create the reservation request. The underlying structure stays pretty much the same, but the front-end experience is a lot less janky.

And using fillout you would also have a lot of capabilities in pulling in numbers of available capacity for each product and setting conditions of what quantities can be reserved based on product numbers. 


DisraeliGears01
Forum|alt.badge.img+22

As others have mentioned, you end up needing two components to make this work, a shared view (your storefront) which can be a view or an interface page, and a form for the users to fill. From my tinkering, there’s currently no way to combine the two, having a storefront where users “fill their cart” and then submit their order (I tried to build something along these lines in Custom Interfaces, but non-logged in users can’t submit forms in Custom Interfaces ☹️).

The other tough element is letting users submit a unit number, as building that through a form presents a number of hurdles (do users need to submit a new form for each material/product?).

I’ve built out something akin to this workflow with regard to requesting movie rentals, but that’s a more classic 1-1 system, as users can request as many films as they like, but no one requests 5 copies of the same film, so it doesn’t need to handle quantity numbers. 

For your quantity numbers inside the form issue, you end up going 3 routes…

  • Strict 1-1 form: Users can only submit a request/order for 1 product in whatever quantity per form submission.
  • Multi-part form: Users are presented with a linked record box, quantity number box, and a checkbox titled “Add another product to your order” which when checked displays another linked record box, quantity box, and checkbox, etc. You have to hard code all this and figure out where your limit is (3 items, 5, 10?). The more you add the more fields you’re baking into your table and the complexity grows. 
  • Automation: You structure the submission form without linked record fields and use automation to create the linkages (or create junction table records separate from your submission table)

squirrella
Forum|alt.badge.img+3
  • Participating Frequently
  • September 21, 2026

I can definitely see the challenges you're describing, ​@DisraeliGears01. Have you experimented with Fillout for the submission side?

It doesn't give you a true storefront/cart experience, but I think it gets closer than the native form options. Instead of hard-coding multiple Product, Quantity, and "Add another item" fields, I'd model it more like an order system with a Reservations table and a linked Reservation Items (or Quantities) table.

The reservation becomes the parent record, and each product/quantity combination gets its own linked line item record. Using a Fillout subform, users can keep adding products and quantities to the same reservation without having to submit a separate form for each item or predetermine how many fields they'll need.


DisraeliGears01
Forum|alt.badge.img+22

Haha, I’m quite familiar with Fillout ​@squirrella , I was just trying to stay internal to AT for this specific build. I’ve used something similar to the Reservations table/Reservations Items table dichotomy you describe when building user populated event calendars, with an “Event” and a “Dates” table to allow for end users to list multiple dates for an event (2-day conferences and the like).

With regard to OP’s build I haven’t really considered the interplay of those two tables with a “Storefront” table, though I suppose it would work fine to link the reservation items to the “storefront” table (you’d probably need to limit the available selections in items table...)


squirrella
Forum|alt.badge.img+3
  • Participating Frequently
  • September 21, 2026

@DisraeliGears01 I figured, lol, but didn’t want to assume haha. 

OP, I agree on limiting the items. I’ve had quite a bit success in using dynamic filters within a fillout form, so the subform can be aware of previously unselected items and only show those. 
You can also dynamically feed into the subform the max amount still available for an item, so that they can only add an amount that is lower or equal. 


Bkc272_
  • New Participant
  • September 21, 2026

Hi,

This is doable in Airtable, with one limitation I'll cover under point 5. Here's how I'd set it up.

1. Tables

  • Materials: name, photos (attachment field), dimensions, category, and a Total stock number.
  • Reservations: a linked record to Materials, Quantity requested, requester name and email, and a Status single select (Pending / Approved / Rejected / Cancelled).

2. Live availability

Instead of subtracting from stock with an automation, which can drift out of sync, calculate it:

  • In Materials, add a rollup of Reservations → Quantity requested, filtered to Pending and Approved. Call it Reserved.
  • Add a formula field Available = {Total stock} - {Reserved}.

If a request is rejected or cancelled, availability goes back up automatically.

3. Public catalogue (no Airtable account needed)

  • Interface Designer: build a gallery/grid page with a record detail view showing photos, dimensions, and Available, then publish it with a public link. This looks the best, but public interface sharing depends on your plan, so check that first.
  • Shared Gallery view: works on any plan and is simpler. Hide internal fields first, since everything visible in a shared view is public.

4. Reservation requests

Create a shared form on the Reservations table. Then add a formula field in Materials that builds a prefilled form link per item:

"https://airtable.com/YOUR_FORM_ID?prefill_Material=" & ENCODE_URL_COMPONENT({Name}) & "&hide_Material=true"

Set the field to display as a URL or button, and each material gets a "Reserve this item" link that opens the form with the material already selected and hidden. The requester only fills in quantity and contact details, and the submission lands in Reservations.

5. Limitation: over-requests

Forms can't validate against live stock, so someone can request 10 when only 6 are available. An automation can handle it: when a reservation is created, check Quantity requested <= Available. If yes, send a confirmation email. If no, set the status to "Needs review" and notify yourself or the requester. Since these are requests rather than instant purchases, a manual approval step (you flip Pending to Approved) also works well and prevents overselling.

6. Direct links to a specific item

The record detail view in a published interface gives you a shareable link per item. If you use a shared view instead, the prefilled reservation link from step 4 is the practical per-item link.

If you outgrow this

If you want search, filters, a quantity picker showing remaining stock, or clean per-product URLs, tools like Softr, Stacker, or Noloco sit on top of the same base. You wouldn't need to change your data structure to use one.