Setting Field Types from Import?

I have a whole load of customer onboarding questions, and about 50% of them are choices fields.

I’m using Pages, and the UI tends to bog down a lot and bounce around when making changes like pulling in a new form field, especially when there’s a long list of fields. It gets rather frustrating.

It would be SO much easier if I could put columns in the Google Sheet that the data is being pulled from in a format that Glide knows will be a ‘choices’ field. It figures it out if its Boolean if there’s True/False in the data set - is there a way to force Glide to acknowledge that it’s a choices field? I get that the choices are different, and in this case my choices options are in a different table, but it doesn’t have to know that - Perhaps I can spoof it with fake data, then come in and configure the actual data side afterwards. I’m just looking to change the default from ‘text’ input to ‘choices’ input.

FWIW I’ve tried using the Data Validation from Range in the Sheet, and Glide doesn’t pick up on that - it still treats it as a text input.

There’s about 4 hours of work at stake, so I’m kind of invested :joy:


I think you described the problem yourself here. If Glide tries to be too smart and guess which columns should be “choices” then you might run into problems with users who actually don’t want that as “choices” but as “text”.

Maybe it can some what pickup columns (assuming you already have data in there) that have some strings that are repeated across rows, but then you also have to take into account the source of choices and usually it’s a column in another table. There’s no real easy way to automate it, I think.

1 Like

Yeah, I get the problem and thanks for validating that, at the very least, I wasn’t misunderstanding the problem!

I was wondering if there was something that I wasn’t aware of, especially as the documention when it comes to detail is, well I’ll be generous and call it ‘patchy’. Specifically I was wondering if there was an API function I guess. So far I can tell that the API allows for adding rows and columns amongst other things, but I was wondering if there was a methodology that allowed for what I was describing. Perhaps even building forms or pages in a spreadsheet using tags or similar, and then that being a new build, or partial build, of a tab/screen of some description. Some services I use, for example Appenate, allow this.

It could also be the case that if you build the relationships or data validation in the spreadsheet itself, but do so in a specifc way or use specific tags/names in the columns or choices that it would be able to pick that up.

All of these are absolutely possible, the question is if Glide has that functionality. From your answer, and as a seriously credientialed guy, I’m going to guess not! Would be really handy as a feature though - there’s a lot of very repetitive actions in the builder environment, a lot of ‘unnecessary’ movement from bottom left to top of the screen right, rinse and repeat 100 times, a lot of defaults that you can’t change that could be programatically avoided and speed up the build process. Maybe not entirely ‘automate’ it per se, but certainly take the sting out of the tail. Ultimately I’m all for having tools to make something faster, easier, lower the bar of effort to get the job done, even if the trade off is a bit of a learnng curve - heck, that’s why I’m here in the first place.

I guess I’m losing the will to live a little at the moment with the boring repetition of what I’m having to do just to get a ‘basic’ set of components replicated 50 times. It just requres about 2,500 mouse clicks and, well, stick a fork in me ‘cos I am done!


How about someone sanity checks the thought process here:

Idea: How ‘choices’ could be preset from a Sheet.

Assumptions: This is all Google Sheets based, so Glide picks up the sheets ‘as one’, there aren’t disparate Data Sources.

Sheet 1: Data - This is your regular ‘import’ - it contains your columns of information, or at least the headers if they’re not populated yet.
Sheet 2: Choices - This sheet contains columns of choices. A column is a discreet set of choices - a container for one set of answers. Note Not one set of ‘questions’ or fields.

Sheet 1 - Headers - Contain Text String of the column/field name as per normal. Additionally they contain a tag. For the example I’ll use double curly braces {{}}.

The Header in Sheet 1 that wish to be linked as fields related to a choice are tagged, iin this example as {{GF#}}. G=Glide (cos why not), F=Field (The question the choices answer), # = unique number that links the specific choice and field.

In Sheet 2 the relationship pair is made. Now {{GC#}}, where C=denoting this column is for the choices, and the #=unique number linking the pair.

Now you have linked tags. However one set of choices can be linked to multiple fields as needed.

To ensure that this doesn’t get messy, when uploaded and recognised as having field/choices tags, Glide does NOTHING. However, there is now an option for the column, like ‘set as owner’, but this is ‘set as field’, or ‘set as choice’. Anything in the {{}} is ignored from a text presentation point of view - it isn’t read as text for field labels etc… Or if that’s a problem, then once the ‘set a field/choice’ has been selected then the {{}} are deleted from the header to ensure that they can’t be re’seen’ later.

The relatonships that Glide makes in the ‘source’ and 'write to’ field are already built in the builder, this tag system tells that database that ‘here’s your relationship already’.

I thiiiiiink that’s it.

Somebody please sanity check it? I’m speaking from ignorance here. I know this, but I have to get it ‘out’ of my head and sanity checked. I very much doubt that it’ll interest anyone at Glide HQ, but at least I know if it’s an entirely dumb idea or may have legs. Again, not that it actually matters as it’ll never happen, but I’ll be satisfied to know that I’ve attempted to assist in a problem that I have rather than just ‘whinge and moan like an impotent jerk’ (name that film for 10 points!)

Not entirely a response to what you are asking for, but something that may help speed things up a little bit…

Glide does allow you to copy and paste components. Your options are to copy one component, or copy all components on the screen. If you start out with a blank screen, you can add a single choice component. Then right click on the components in the lower left panel and select ‘Copy All’. Follow that with a right click and ‘Paste’.

If you keep doing that , it will exponentially double the number of components on the screen. Obviously, you will still have to go though and configure each choice component, but at least you will have a large number of components added to the screen quickly.

1 Like

Thanks Jeff, I apprecate the response. In my very annoying specific case I have an awkward mix of number, choices, text, Bool etc. I’m not entirely convinced that deleting the pre-made fields to allow the copy/paste all, then having to re-build them is ‘worth the squeeze’ as they say. It also causes my eyes to bleed and me to have a minor panic attack as all of those copied fields go red as they’re all writing to the same field until they’re changed :face_with_peeking_eye:

FWIW, if anyone from Glide wants to allow options for selecting more than 1, but less than ‘all’, I’d be very appreciative!

I’ve also noticed some rather interestiing copy/paste characteristics: If you have a form screen that you mistakenly had linked to the wrong data source, then copy all the work of field building that you’ve done, change the data source, and then paste all your long winded, annoying, fussy hardworking of field building into the screen after changing the data source… well all the fields paste OK, they’re on the LHS in the components section, but they no longer function/are visible in the UI. It’s not something that can be selected as a user, but there must be some deep Glide link between fields and their datasource. You can change the ‘write to’ field all you want, it’ll never make any of those fields available. None of those precious, annoying, fussy field-building minutes/hours are worth the paper they’re not written on. You gotta start from scratch. Ask me how I know why don’t ya :wink:


I really want to have this. It would help me in a lot of cases.

Thanks for writing out all your thoughts. I would really love if Glide can do that, but at the moment it’s not possible.

I wonder if they can take the “column grouping” into consideration for this. Say if you have Choices/Choice A as a column to write to and you have a Choices/Choice A in another sheet then it would pick it up as the source of values. Obviously still a lot to take into account there, but that’s the easiest pointer I can think of.