Request for Improved Smartsheet Form Embedding Options
Hi Smartsheet Team,
I wanted to reach out with some feedback and a request regarding how Smartsheet forms are embedded on websites. I've been long-time user and fan of Smartsheet since 2008, and the form system has been a big part of how we collect and manage submissions for various clients and internal workflows.
What's changed:
Up until recently, we had been using a server-side method to pull form content directly into our sites. It allowed us to control layout and responsiveness, and provided a smooth, native experience for users on all devices.
After a recent update to the way your forms are rendered, that approach no longer works. We've since had to move to the standard iframe embed method β and unfortunately, thatβs introduced some real usability issues we canβt solve from our side.
The issue with iframe embedding:
- The height canβt adapt to the form content. Since the forms live on a different domain, we canβt access the DOM inside the iframe to detect or adjust height. This forces us to guess how tall the form is.
- Conditional fields break layouts. Many of your forms use conditional logic, meaning the form grows as users select options. If the iframe height doesnβt adjust, content gets cut off β and users are stuck scrolling inside the iframe, which is especially rough on mobile.
- Responsiveness is limited. Thereβs no good way to make the iframe βsmart.β Weβve tried everything from viewport-based sizing to step-based height guesses, and nothing provides the clean, scroll-free experience users expect.
What would help:
Other platforms we work with β like Calendly, Typeform, and JotForm β handle this much better. Here are some options they offer:
postMessage
support: Their forms send the height of the form to the parent window using JavaScript (postMessage
). This lets us resize the iframe on the fly.- JavaScript embed scripts: Some provide a small JS file we include on our site that handles embedding, resizing, and mobile behavior β no iframe guessing required.
- Resize events or observer hooks: Others give us access to events that fire when the form size changes, so we can respond accordingly.
Even a simple postMessage
implementation from your side (e.g. on form load or when new fields appear) would make a massive difference. Something like this is all thatβs needed:
jsCopyEditwindow.parent.postMessage({ height: document.body.scrollHeight }, '*');
Final thoughts:
Smartsheet continues to be a great tool for us β this is just one of those areas where a small change on your side could solve a lot of downstream issues. We know youβre likely balancing a lot of feature requests, but weβd really appreciate if this could be passed along to the product team.
Happy to help test or provide more detail if needed. Thanks again for your time and for all the work that goes into the platform.