 Hello. So this is going to be our gravity forms session with Tom Woodward and Jim. We are just getting everything set up right now. Hey guys. And we're set up. It's noon. And I am pretty sure that this will be a Tom Woodward tour de force of examples of gravity forms and what we can do. So Tom, I just wanted to give a bit of a brief introduction for those of you who may or may not know Tom Woodward. Tom Woodward is an educational technologist who works at Middlebury College. Previously, he was behind rampages at Virginia Commonwealth University. I work with him briefly at University of Richmond. Brief but very sweet. And it's been a collaboration. We've been working together on various things. One of the things I'm super interested in he's been doing over many years now is building these cool creative tools using gravity forms. So not only are you going to be able to get a peek inside his thinking in the various examples of those gravity forms in this session, but if this is something that piques your interest, there's going to be a month-long flex course where Tom Woodward will be using the Wonder Twins from the super friends to give us an in-depth look at the things you can do form of awesome as we're calling it. So I'm very excited about that next month, but without further ado, Tom, thanks for joining us and we look forward to hearing about all we can do with gravity forms. Awesome. Thank you. What a smooth introduction. All right, so what I'm going to try and do in 45 minutes is give you a little bit of a feel for what like making stuff in gravity forms looks like feels like what the options are and then show you some examples of how some of those things become practical. I've used a couple of different form builders over time. Certainly used Google Forms and Google Scripts to do all sorts of weird things. So what I'm going to try to show you is how gravity forms is of WordPress and how it uses the things in WordPress to do some neat tricks. And it's changed quite a bit recently in terms of like how you're able to kind of visually build in kind of more of a Gutenberg way. So right now I'm just in a form that I made. It has one field. I'm asking for your social security number. You should definitely give it to me. Right? I didn't record it right now. So we have just a bunch of different stuff over here. We have regular fields. We have advanced fields. Sometimes it's not apparent that these exist and then down here we have post fields because one of the key differentiators to me is that gravity forms let you build posts with these elements. And we'll look at that in a minute, but I just want to show you kind of how some of this stuff works. So if I click on it, there it is. One nice thing that's possible now is you can drag it up and have fields be parallel. You can put up to four fields on the same line, but that can make a form feel a lot less busy, a lot less kind of top heavy. And anything you can do to make forms easier and feel more fun to fill out is generally a good idea. But let's just take a look at what happens when you have a field. We can name these things. We'll call this one first pet. So I'm going to get all your information. And then what you can do is if you wanted to do an input mask, like they have some built-in ones, like I put one here for Social Security. One of the input masks is Social Security numbers, like a built-in one. You can select from existing ones to kind of help people fill it out. What it means is it kind of like verifies it. Or you can write your own with Regex, which is a world unto itself. I'm not going to get into that. But it's a way to do information validation. Another thing you can do is for appearance, you can put in placeholder information. Bingo, about the pet name, right? You can decide where the information is going to show up that's a little bit more specific. Like there's my description. You see, it shows up by default. They put it underneath that. I don't like that. So I always switch it to be above the inputs. And now it's up there. Because to me, that makes more sense. And you can set that at the field, at the whole form level, whatever. You can add custom CSS classes. You can say that this doesn't need to be very large, because it's just like one word. Again, it's about giving that perception of how much effort it is to fill out this form. The other thing you can do is, in this advanced field, you can set default values, things like this right here, which has a bunch of built-in pieces like the date or the post ID that it came from or the title or the URL, other information about the person filling it out. You can log all that stuff invisibly. Sounds kind of creepy, but I can show you some ways in which it is not. For instance, just to show you a quick example, here's a little feedback thing that we have on our D-Link page. I put it here in a similar way. It's just like, was this page useful? Is how we have it on our D-Link documentation page? If you say yes, you just have to submit it. If you say no, a little conditional logic says, like, why? What's wrong with this? This person hates me. They're going to submit it. Then we have a little custom responder with an image in there, but let's look at what that looks like. I'm going to leave that. You get the idea, like, making forms is pretty easy. This is the feedback form I just used. We got, was it super? Which is a radio button one. We have a paragraph text for this. Then remember I said we could hide these things. This is just a text field that's hidden. You can see that right here under advanced. I used my little secret code things here to use the embed URL. When we look at our entries, which feel free to submit them, what it's doing is it's telling me automatically what page that feedback came from as well as what was said. That's a tiny little example of how hidden fields like that work and where it might be useful. Then you can fill it in with lots of different things. In that case, I'm just gathering a little bit of extra data rather than asking the person to say, like, what URL is this? Again, for me, it's always about what's the least amount of work I can create for people and get the most amount or whatever it is that I'm trying to figure out. You can see that in action here. Let's see. We have it set up, excuse me, down here on our documentation pages. You've probably seen that in lots of places. We could also make this a smiley face if we wanted to, but same idea, same thing going on. You feel free to fill it out here. It'd be a different confirmation in that case, but you get the idea. This also shows you this is how the data ends up stored. A lot of people are like, where does this form entries go? They go under entries and you can navigate between the different forms up here. Sometimes that doesn't feel that intuitive, but it's pretty sophisticated what you can do in this area. If I wanted to add different pieces to what's visible in my preview thing, I can drag them over, rearrange them, hit save, and now I can see a whole other level of stuff. If what's showing up in the preview thing isn't what you need to make decisions, just change how it's set. When we go into these individual pieces, do note that there's a bunch of stuff you can do here. You can add notes, you can retrigger notifications, you can print stuff, and all of this, I will further say, you can export as CSVs. Now, if you wanted to, you could also tie it into Google Sheets or whatever you want. That's another option, but this data is highly structured, highly portable. If you're into APIs, Gravity Forms has an API, so you can interact with all this stuff within WordPress. All right. I'm going relatively fast, but this is just meant to show you a bunch of stuff. I think the pacing's good, though. Okay. All right, because I get nervous, so y'all help me out with feedback. Absolutely. One of the things that I wanted to mention too that I realize that we haven't mentioned maybe today is that if your domains uses a request form right now, it is likely already using Gravity Forms. This is all applicable there for customizing, not only making new forms, but customizing your request form. If you have an older domains instance that uses a different forms plugin, we can switch over to that. Just giving you a second to catch your breath, Tom. No, I appreciate that. I always like to reset sanity every so often. I don't know. There's an amazing amount of stuff you can do here. You can see some of the examples we're having some fun with. Here's a quiz. What you'll note is that I did each quiz item as a page, so you'll have a nice progression bar. Again, that idea of how do we help people understand how much work they have to do and make it feel manageable? I think it's good to just see the interoperability of pieces and media and something like this. You can do certain things here. In this case, I let it show the answer when you select the wrong one, which is the following was not a super friend's villain. It was not good for those effort-eliminating computer. That was a villain. It was the crypto bros. I can also display a little bit of information to help people learn. In this case, I just threw a little bit of CSS on top of it to help people better see things. It's highly customizable for things like that. If we followed this through the end, it would be scored. Let's take a quick look at how it's set up. I'm going to put the super friend's trivia link into the discord so folks can play it. That'd be awesome. Thank you, Jim. You can see I've just added page breaks around each question. Some of them I added extra HTML places just to add images or to do some things like that. The nice thing is you can cut and paste from a WordPress post, post the HTML in here if you're not comfortable writing it from scratch or from wherever you write HTML stuff. That way you can take advantage of the WYSIWYG editors and that sort of thing. You can see that we can put our answers here. We could shuffle them around. We can do all sorts of things. We just click the check box to indicate the right one. Then if we enable answer explanation, we can write our stuff in there. If we had bulk choices, we can add it like in mass. I think that kind of stuff is pretty solid. There are lots of pieces like this. Everything you can do in normal forms, think about what you can do here. But you can also do some extra things like if we wanted to create content. We have one example here that's going to let you create content. It's the Wonder Twins conundrum. If you're not fresh on your Wonder Twins, there's a nice video here to remind you that they can turn, who is it? Zan can assume water of any form and Jaina can turn into any animal. It's impressive. Just so you know the rules. We just did a dumb example here. Zan and Jaina get cornered by cryptoburrows in a dark alley. Then you can submit two different images and a rationale for how you think they'll deal with that. If we look, we can see what people have submitted. Right? There we go. It gives us two images, the activate power and our rationale. Unfortunately, I started it by making fun of Elon Musk's hairline, which was probably rude and inappropriate of me, but it's what I did. These are just posts being created. If I wanted to, I could link to them directly, but I just did a summary page. Let's look at how that works. For this Wonder Twins solution, I'm using advanced fields. These are image uploads. I've restricted them to particular file types and I just have two of them. Then I've got a hidden post title. I got our rationale thing. Now, you can build it all just with the post fields down here. I didn't because we have the super advanced magical plug-in thingamajiggy set up here. That lets us do a little bit more sophistication on post-creation. Let's look at what that looks like. This is available through the license that Gravity Forms has purchased under for reclaim, I believe, but it's the elite. We might as well use the fancy stuff. It's pretty awesome because I used to have to hand code all this stuff if I ever wanted to do password protected or things like that, but now it's built all in. You could password protect the individual post. You could make it be a custom post type. Again, you have the option to have it go live or to go to different places. I have no idea why you would want it to go directly to trash. It's like a troll form. We really want your feedback. You can see you can even apply the formats which no one uses for virtually anything anymore, but those things still exist and are in there. You can associate the author with the logged-in user or you can set somebody specific. That can be useful sometimes depending on what you want to do. This is super nice too. You can decide to allow comments or trackbacks as the thing is created. There's an amazing amount of power just right there that literally I used to have to hand code. That's beautiful. Then we get back to these things. If you mouse over it, it says these are merge tags, which is the official name. What's cool is from your form, since this is essentially like a mail merge from the form submission, you have all the stuff that your form is submitting that you can work in here. What I did is, since I wasn't going to make somebody come up with a unique title, I just said defeating the crypto brother's plan number, and then I did entry ID. Each entry ID is going to be unique and go upwards in number, so we'll get our plan number 49 or whatever, 50. That's a variable and a simple one. Then down in the body, we have the ability again to merge these things in. I can put the rationale and it's ugly, but it's not code. It takes a second to look at it and parse it, but it's just curly bracket, whatever you made the question, colon, and the ID of the question, and then the curly bracket closes. You don't have to know how to code to do this, but you do have to feel like paying attention to it and get into it. It does require some attention. Yes. I mean, it's details and it's annoying, but before I could do any coding, this is what I did without questions, this and spreadsheet formulas. I couldn't code anything and I was still able to do quite a bit of stuff. The days of non-programmistan when you're still with us. I feel like there's a lot of spreadsheet formulas that are significantly more difficult than programming. Well, it's the same idea is what I try and get people to believe. It's just start to think logically, take your time. If it doesn't work, it's probably a small thing. You're not stupid. It's just like a colon or something or a curly bracket didn't close. I have to tell myself this every day, so hopefully I'm not being condescending. It's like, don't assume you're a moron and give up on life because that is a way I feel sometimes. I thought I understood anything and now all my hopes and dreams are dashed. And then I realize like, oh, you just forgot this. We're renaming this session therapy with gravity form. You need a shoulder to cry on. I'm a good person to talk to. So I'm getting a little fancy here, right? Because you can do these things, which are ugly, but they're super nice when you're building things when you give people options. So what I realized is some people weren't putting in rationals. And so I decided, well, what should I have it right if there's no rationale present? And that's what this does. It's just a short code. It's conditional. It says, hey, if this merge tag, what's your rational is value is empty. So there's just nothing there. Then show this stuff. So what will happen is if you don't put in a rationale for your crypto brothers, it will just say, sadly, the Wonder Twins were defeated on this day. And then I just used another merge tag for the date because you could not be bothered to give a rationale. And then I'm being funny about for use and blah, blah, blah, crypto island. But you get the idea is that you can make this only show up when it has something or when something doesn't exist. And that can be really nice when you're asking for a bunch of stuff from people, but they're not going to fill all of it out. Like say you asked for three different social media URLs, but a lot of people are going to be one, two or none. You can have the right structure show up based on what actually ends up getting submitted. That way you don't have weird empty spots with like a label for social media and nothing is underneath it. So this is inherently valuable, useful, and powerful, but it is annoying to type in. And every time I do this, I have to go back to the post I wrote about it and go like, what in the hell was gravity forms conditional short code? It's interesting, Tom, too, because there's like the curly brackets, right? Just logical, like here's what your rationale is. Here's the number of the idea of it. But then the gravity forms, a lot of folks who've worked at all with WordPress, you know, a short code is not a surprise to them, right? Like they can kind of parse out a short code to get a sense of what's happening. So it does make this a lot more approachable. Yes, absolutely. And I think that's the cool thing to me, too, is that this is a gravity form short code in here, but it doesn't have to be. It can be any short code. And then you can think like, can I use form entry things in combination with short codes to do interesting tricks? And absolutely you can. Like for instance, if I submit an audio history interview in a particular category, I could put a short code to show all other audio history category posts of that same combination at the bottom of the post. So almost inventing related context for your viewer. Exactly. Exactly. And so you can just do a million different tricks like that, as long as you kind of like keep your head open and go like, all right, how would I do this in another scenario? And I'm just like an author, only I'm a guided author. And that's that's that's the key element here. It's like, this is exciting to me because it lets people have as much structures they want or need for somebody without having to give them too much stuff or more than you want. And it helps you structure their thinking and their authoring in a way that's controllable when you want that control. Sometimes you want people to do whatever they want. But a lot of times you want consistent thinking, consistent process, consistent product. So, you know, that's that's what I find these stuff helping. And one of the things I really like about it too, and why I'm excited about the workshop next month is, you know, the spots are great for users to get in there, submit for faculty and students. But like, I love gravity forms and what you're building here as these are the ed techs who are building out these custom examples or get approached by faculty with what I really need is or what I really want, or groups or researchers. And I think it makes a big difference to feel empowered to say, okay, that's not crazy to do, right? Like that's possible. And here's how I love that. Right. And that's the thing. Splots and the work that Alan's done, amazing and beautiful. And if they do what you want, just use that because it's done. But for this like amorphous space in between where you might need some more advanced customization, or you really need X and Y, like to me, gravity forms as a tool to help you build tools. And it gets you some plays really fast. And then if you see like 20 people have asked for this thing, then I might harden that into a one off tool. Yeah. And so that's that's the process we've we've engaged with. And then down here, I'll just really quick note that you can do, you can set featured images from the the files that get uploaded. You can set custom fields to have particular values and do stuff there. And then you'll note that I am assigning it to a category automatically. And I could sign it. This is the nice thing here too, is I could sign assign it to any number of categories that are even looked at in different, different questions in the form. I can do tags. I could do custom taxonomies. So I like that opens up the box to just a million different things. And all this. Yeah, go ahead. No, I just think one of the things that I was interested in, and we have talked about this before. And so I'm going to loop back a little bit on it is one of the things I've seen forms like this. And I don't know if it was gravity forms, I'd have to ask Martha and Tim. But like, I believe that early on when we were doing Domain of One Zone at UMW, there was some form collecting data about what the student's department was, what class they were doing it for. And it allowed us to create a contextual map in some ways of who was doing what where so kind of like a beautiful corollary to the community site. But that stuff could be picked up at the point of them creating a site. So do you see like gravity forms as also another tool for maybe making more more robust data collection about what people are doing with this optional but still useful? Absolutely. So like if you're doing point of registration data gathering about the person or site creation type of stuff, you can gather that you can display it in particular ways, you can log it in particular places like what we did at Rambage is in the end too is like we altered the JSON at the core of the sites. So like we could do an API request across all our sites and gather chunks of information that was then in the JSON there. So like that sounds I don't know boring, dumb or complex, but it's not that hard and it can be part of this process. And I'll show you an example too because you can do user registration through this. Yeah. So I'll show an example of that here. So right now if you wanted to register for this site you can. It's right there. So go ahead go crazy register if you want it just gets you a subscriber piece. It's nothing exciting or cool. It is worth no money but and I'm just asking for again the minimal details but I could ask for more and I could structure that. Are you a student? Are you a faculty member? Are you you know what year are you? You know any questions that I want and I could build that into the user profile. I could just leave it in the gravity forms back in. I could do any number of things. I can create a post off of it. That is more than a user profile that is in a particular category. So that kind of fluidity and flexibility is there and let's take a look at what the form looks like because it's you know really easy. So I've got one advanced field called name. If I wanted to add things like prefix middle suffix like I don't know why anyone would ever want these things but I could add them. I can make it required. I set up my email my username now that I have that under settings I have the user registration again turned on. Let's take a look at what that looks like. So what I did is I set a create new user and notice the other option here is update a user. So you can do a lot of stuff again with this and you're just matching up the pieces from your form again. It's showing you what's there and you just line them up. Simple Simon not not complex at all and I can set my role right here now. No like user meta there's the built in stuff. There's the ability to add meta keys here and then they'd be available like if you went to that effort either through a plugin or through your own code you could then map all this stuff up and then you can do the crazy stuff down the line of being able to look at users either within this site or across a multi site and lots of different ways. Well it does like it really strikes a chord for me because you have obviously where you log in to get access to a single sign on but then you could have the page where you're doing terms of service but also like hey quick couple of questions how are you using this you know you know least invasive as possible and hopefully you know informative and not creepy collection of data but like getting to that point where it can actually be useful like you said to abstract it out and show who's using what and this is almost as much for reporting and talking about how your domains is being used which we'll talk about in a later session as it is maybe collecting to show off right show and tell so there's a lot of real great potential with this that I love and do you mind if I ask another question Tom I don't want to interrupt you um one of the things I've been intrigued by the work you will have done with gravity forms and then I know you and Ed Beck have been talking back and forth on this a little bit with um uh collecting feeds one of the things that we have people using still I guess people still blog and people still maybe even think of things like mother blogs right and collecting or syndicating stuff could someone create a gravity form where they could not only collect some basic information about where that site lives but maybe pull that feed into something like a mother blog are there tools now to make this seamless yeah I think I built one for you as an example the other day damn it that's right you did it's trying to stop it but it's not working um so yes I guess it was a good segway yes that was a good segway I mean like that's the cool thing is like this form takes stuff in and then you know there's there's the stuff that gravity forms is going to let you do out of the box which is kind of what I'm trying to show here but then there's like that next step which means like sky's limit whatever you want to do if you understand how to make that next step and like it's not going to happen magically for you if you don't know how to code like initially but like it's the kind of thing where you can start to see the pattern and I've done it enough times like you know like I can make most of this stuff happen pretty fast if I understand gravity forms does this and spits the data here and we just need that data to do this next trick and showing people that maybe you know if what we'll see kind of like who who does the workshop but that that could easily be week four or you know life life as you ask questions kind of stuff um because I love it because I think it's so fun it's like Rube Goldberg yeah I like being and let me ask you this we got about I would say close to about 10 minutes left before we wrap up are there examples you want to show off to folks um that you've done that you've seen that highlight some of the possibilities you go crazy because you have about I would say about 10 minutes before we wrap up to really highlight everything okay that's right one in line yeah no I appreciate it so one we do it for contact pieces you'll notice here this is the d-link contact piece the thing that I will say that we've tied up that may make it more exciting is it goes into a particular channel so it then comes in here and request dispatch and you know if it's in certain categories um it emails somebody some other stuff but like the idea that you can bridge between different systems with this uh and do different alerts and format it within slack the way you want like I said you can push you to google sheets if for some reason you wanted to do that like that idea of gravity forms in and then you can send it wherever you want same idea with emails you can customize multiple emails and confirmations um you can redirect people uh either to a particular url or a combination of things based on what they put into the form so if I submitted something on x it could then take me to the page where all of x are are embedded um that sort of stuff is is really useful you know just to show you another example like here we have it in a modal pop-up you know which kind of gives it a different vibe for submitting coverage and adding a story and like if we submitted this thing um I'm gonna do this and I'll have to go erase it but all right so I put in some stuff here and I'll hit submit and there we go and like you can create like a very visual vibe right like and you have a lot of control and a lot of things you can do and like I think that's particularly cool like this one's overdone and it's super old but this is when I was caveman coding this is a dichotomous key like I didn't know what I was doing really but like if you click through this thing it walks you through and then look what happens so what's happening is you see this url it's filling in all sorts of hidden fields on this form and then lets you put the picture up so it's telling us it's tagging it no lobe opposite simple it's putting it in these categories it's giving it a title unknown tree all that stuff is happening at the url level whoops um and being assigned uh you know without the user having to do anything I have an example of that some place on here but I can show it later um I'm sorry that's pretty cool you're actually building out um almost like how would you say conditional almost how would you say branching experience of like a biological you know botany course yeah yeah so it's it's the same way a dichotomous key works when you make choice a it then leads you to a choice here that's conditional on a and it walks you through a simple logic thing and the url is being built you know based on what you chose and automatically filling the form and I would do that in a much smarter way now but like the fact that I could do that then what like I don't know six or eight years ago now like it doesn't require sophistication and coding it just required a little bit of stubbornness and was that being imagined in some ways is almost like a dynamic oer where like you would yeah that's very cool like in some ways doing some of the work that h5p does yeah it becomes like this giant database of log plants for the james river park system and that's that's what this is I don't know how much is in there now I think it got bogged down in interdepartmental politics but there are several thousand um entries in this thing and they're all kind of submitted that way um so you could say just show me this particular area that is a picture of a fine and because we set the structure that way this is what we're able to see and then we can see poise knife and was it pretty mobile ready so that you could do the fieldwork and kind of run with it entirely yeah that was the goal was to be able to do it on a phone super easy like it looks stupid on the desktop because again I didn't really know what I was doing back then I don't have a reason to redo it but like we could have made it much much cooler looking nowadays but that's that is exactly what's going on now and this is like a simple example of it you can do those dynamic populations this one's by shortcode so you can see this is what that shortcode that automatically fills in that field looks like but at the same time if I made a url like this it's gonna overcome it and change what's in there to talking to fish and that's what I was doing with that so I made this one visible um but I could make this field invisible and collect information that way with with no problem so go through that again again for me because I'm slow how does that work so when you're what yeah what let me show you the form all right dynamic population is what it's called yeah just sounds awesome already done I'm dynamically populated with anticipation so under advance there's a little check box that says allow field to be populated dynamically it sounds a bit like superheroes right and so you give it a name and it can be any name you want in this case I named it magic I really should name it super power yeah um and so by default here I put it in with a shortcode this one form and the shortcode is right here where it says field values equals magic equals truth lasso and that's why it says truth lasso right up here got it right and so you can embed it with a form um you know with your shortcode but you can also control it right here via the url parameters see we have magic equals and then in this case I wrote talking to fish and that's why it says that here now rather than truth lasso gotcha so it's another one of those things where like this seems maybe a bit complex or like dumb like when when I use this but I I I'm telling you you can do some really cool stuff with this um when you think through like oh if somebody clicked on this what would I like to know automatically about what they've just done or how do I add these things over time to create something like the dichotomous key elements for a leaf like you can walk people through this without it being filling out a form it can be feel very visual yeah and I like the fact that like with the um I think the surveillance site you know you create it where that form is just in the middle right like and you can it's almost like a a strip down the middle that looks like a dynamic yeah it's it's very elegant in that regard you got roughly about two more minutes anything else you'd like to show us well maybe maybe a question are there are there any questions or things I you know you'd rather see yeah are you asking me or you well there is there is some minds being blown I think there is that um M just put that up so um I I mean I personally uh I'd like to see um how they're being used as examples like so I love to see the ones like with how you're taking you know a form and then distributing it into slack or stuff like that I know that gets higher end but I really dig the fact that you know a form that's being submitted that a group you know let's say a distributed group needs to know what's happening when that's submitted like it goes into a common work area like slack or wherever you're commonly working I think those are super elegant well yeah and I think that that's the coolest part to me um the one thing I haven't shown you that's that's a little bit too much to get into at the moment but I have a video of it that I made this morning so that people would be able to see it later um and that is what it does like when you get super fancy it's like um what it'll let you do is you register a user it creates two different posts one for like the real profile one for like a sudo profile so that they can do this like get to know you game where they try and match the like alias profile to the real people so it makes two posts with totally different information and then when the professor comes back through and assigns them to a team by by filling out a field in gravity forms and then hitting update it creates a site on the multi site named after the team and adds that particular user all subsequent users in the same team get added to that multi site um any new teams it automatically creates a multi site so like you can do some really bizarre stuff down the road if you have the want for it and this is something somebody wanted so I just made it and I thought it's funny um you have to link that blog post because you do document that and that is a really cool one we actually have a question Tom yeah and the question is from Ed and he asks um there are a ton of plugins that extend gravity forms are there things that are red flags to stay away from what are you trusted or who are your trusted creators well right off the bat if you've got the elite license you've got a huge chunk of things um that you can just do from within the gravity form kind of trusted umbrella so that's that's step one is if I can't find it there then you know that that leads to like do I want free do I want paid do I want to write my own yeah gravity wiz is super solid um for you know it's it's a kind of a paid thing some of their stuff is free uh what's the other one there's a gravity forms like field viewer thing that like is pretty complex if you want to go that route but like the sad answer is most of the time now I just write my own stuff based on what I want it to be um which is not a good answer but I mean not sad for you yeah yeah I mean like what I what I would note is like there's make sure you go back here or you go to wherever we're keeping all these things and you see what the options are because look at this yeah this is not an insubstantial amount of things and that's there's so much here and you need to come back to it because more stuff gets put out there and I think actually that's a really good spot to stop because that's if you are interested in gravity forms and you won't do want to dig deeper in we highly recommend you join us next month where time's going to take us through this more I am actually looking forward to that I'm going to dive deep and I want to stop building some stuff and it will get me back in that mindset so I appreciate the overview here Tom I appreciate your time sharing with us and I think at this point we're going to spin down this session and uh we're going to take a break am I right everybody it's next is a 30 minute break and then we'll reconvene and we'll bring Tom back after the break bring Tom we can't get enough time over that's always the case I'm sorry thanks Tom yep