Full Transcript
[Music] Welcome to the Solspace Podcast. Thanks for listening.
Mitchell:
Hey everybody, welcome back to The Solspace Podcast. This is Mitchell Kimbrough, your host, founder of Solspace. Joining me again is Kelsey Martens, who runs the product side of Solspace, and he's rejoined because we're doing a quick podcast to announce the release of a big new version of Freeform, our plugin for CraftCMS. It's Freeform 5.12 now, and it includes some brand new AI integrations that I'm pretty excited about. It turns out they're working quite well. We're surprised how effective these tools ended up being in the context of a form handling tool like Freeform for Craft. And Kelsey's going to help walk through the different aspects of that, but there's also some other features that are pretty powerful for the users who are accustomed to using Freeform for more complex business tasks and website challenges and integrations and that kind of thing.
So we'll get into that. So Kelsey, first on the list of things that are part of this 5.12 release is a big new migration from Formie. So Formie is our direct competitor in the CraftCMS space as far as form managing plugins are concerned.
And, you know, we just go head to head against these guys every day. And now customers who want to move over to Freeform and take advantage of some of the, you know, more advanced features, they can more easily do that with a migration to help them migrate from a Formie install to Freeform. Maybe tell me a little bit about what's involved in that.
Kelsey:
It basically works very similar to importing and exporting forms, which is a feature we added maybe about a year ago. But basically, if you have Formie installed, Freeform will detect that and you can visit the import export page and there will be a page for importing from Formie. You can then choose which forms you want and which submissions you want in just a several set of checkboxes and then hit import.
It's very straightforward.
Mitchell:
Sounds great. Makes it easy. What did people have to do before?
Just manage without it or what?
Kelsey:
Yeah, there was no real option before this, unfortunately.
Mitchell:
Yeah, excellent. We'll ramp up the competition a little bit that way. You've also got a release where I mean, the integrations that are built into Freeform where, as a matter of fact, we're deploying that for a client right now where we inherited a website that another developer built.
It was on Craft, they already had Freeform Pro installed. And the client said, I want to connect this website to Salesforce, how hard is that? So pretty easy because you're running Freeform.
It's already built in and it's basically there. We just have to configure it and map the fields over. But you've added some capabilities to that integration sort of stack that we have in Freeform where you can have conditional rules that conditionally send submissions into these integrations.
What's going on there?
Kelsey:
Well, yeah, you basically said it there. Obviously, the use case here would be if you wanted to only send, let's say, US based customers to the CRM or whatever, you could do that. You could potentially have some portion of your customers submissions going to one CRM and some other ones going to another CRM based on geography or whatever.
But you can basically set the conditional rules to determine that.
Mitchell:
We have some clients who they'll have one website, but that'll serve multiple regions. So maybe they have a sort of an EU UK region and they have a US region and they have a Latin America region. And sometimes those CRM integrations are totally different platforms.
Maybe US will use Salesforce and maybe Latin America will use HubSpot and maybe the EU will use Zoho CRM or something like that. So this conditional capability is a really smart little add-on to support those teams who have divisions of a company. You have to have that capability.
This is a smart move. You guys also overhauled the sort of integrations area in Freeform. What did you do there?
Kelsey:
Before it used to be that there were sort of categories of sections and you would have to go in each and click to add a new integration and choose the one from there. Now it's a simplified unified interface where it lists all of the available integrations and you can just click on one and fill it out and save it and you have it ready to go. It's a lot smoother and more intuitive to use now.
Mitchell:
That sounds better. Form Monitor is more visible inside that now, isn't it?
Kelsey:
Yes.
Mitchell:
That's something I was pressuring you guys to do to stop hiding that awesome tool. I'm mentioning Form Monitor because we encountered a client just Friday when we were doing a kickoff call where they told me a story about how they lost two weeks worth of leads. They didn't realize their form wasn't working.
It didn't occur to them. They were busy doing other stuff. When you don't get emails coming into your inbox, you don't necessarily notice it immediately.
So Form Monitor is a solve for that and it's available on Freeform and it's part of this integration package. So I'm continue to be excited about that product as we roll it out. In my list here, cards field type.
What's a cards field type? What is this whole field type idea on Freeform in the first place and what's a cards field type?
Kelsey:
So the cards field type allows you to take your radios or checkboxes fields to the next level. So rather than just saying choose an option and you have a couple words as your options, you can now intuitively from the form builder, you can create richer options so you can include images or icons. You can include a description and you can basically make this a much more visual presentation to the user on the front end.
And additionally, we have options for custom metadata where you can include anything you want. You just provide a JSON string.
Mitchell:
I was placing an order. When was this? This was last week with a local Indian restaurant.
You know, when we run out of time and don't have something ready for dinner on the way home, I'll just place an order. I'll go to their website. The website remembers my previous order.
I'm clicking on pictures of menu items and it's adding into the cart and it's not a radio button. It's an actual menu item. It's a component on the website on the web page.
And this is what you're talking about, right? I mean, this is how you select things in a form, but the thing you're selecting is more than just text. It's more than just, hey, do you want to add this item?
Do you want to add? You're actually seeing whatever your web developer can dream up that belongs in that card. That's what a selection can be here.
Kelsey:
Yeah, probably a very common use case would be a product menu. It could also be a different service level, you know, basic, premium, whatever. And you could have icon representations for each one and a description explaining the difference.
So yeah, there's a lot of ways you can use this.
Mitchell:
We're always trying to reduce friction in all the work that we do at Solspace and that includes our products. So the fact that we built this ability in, as you're trying to get a customer to convert, as you're trying to get them to respond to the call to action, you reduce friction when you make it so much more obvious what their choices are and what they're getting. Like you just kind of shorten that distance between those two points.
So that's a sweet, sweet new add-on. I love it when we add features into our products that are extensible, that are creative, that are imaginative. Like somebody can run with this idea and do all sorts of stuff.
You can build a configurator for a manufacturing website using this capability. So this is smart. URL parameter tracking is in my list.
What's going on with that? Why does that matter?
Kelsey:
So commonly people are using these tracking parameters to determine where the visitor is coming from.
Mitchell:
Like UTM codes, Google UTM codes, that kind of thing?
Kelsey:
Yes, absolutely. And basically we've created this integration that you can specify which URL tracking parameters that are to be expected. You've just got to create it once and then you can apply it to all your forms.
You can add form-specific tracking parameters and Freeform will then store that automatically. It'll automatically retrieve that from the URL and display it in your submission data in the control panel or email notifications or whatever.
Mitchell:
So instead of having to go over to Google Analytics and track down the conversion and match it up, it's available there in Freeform as well.
Kelsey:
Yeah, and basically what it does is it replaces the idea of in the past people would have to create hidden fields in the form and use template overrides to set these fields values dynamically and all that. And this just eliminates all of that process and turns it from an hours long project to literally seconds.
Mitchell:
That's great. And now we come to AI. So we've built AI capabilities into Freeform.
Did we do it because it's trendy? I mean, I'm always rejecting stuff that just feels like it's in vogue or trendy or whatever. I'm using AI daily now in my work.
I'm using it as a companion to help me write code. It's not writing all my code for me. I still need to own it in my brain, but it's writing chunks of code and it's faster than I am and it has fewer syntax errors than I have.
The other thing I'm doing with AI is I'm building it into websites. I'm making it a tool. I'm making it agentic.
There's a podcast coming out about that. I've got a demo that people can go to. And that's what we did here with Freeform.
So we built AI into Freeform so that it has agency. It can do work for people in their forms as submissions come through. Tell me what's going on there.
Kelsey:
Yeah, you mentioned something very important. We didn't want this to just be, oh, it's Freeform with AI and it's sort of like this fluff, useless feature. This is something that we gave a lot of careful thought to and came up with ways to have it actually benefit you.
So one of the features is that after you connect your favorite AI model, that could be OpenAI, Gemini, Anthropic, etc. After you configure one of those to your website, you now have a AI field type that you can add to your form. And for that form, you could do anything.
You could have it provide a summary of what that form submission is about. You could have it categorize the form submission. So you could say, is this a sales related submission or is this a support related one?
Is this spam? And further to that, we also have AI spam analysis. So this is sort of like a CAPTCHA integration where AI will review the form submission and it will determine if it's spam or not.
If it determines it's spam, it'll flag it as spam and it'll go on the spam folder just like it would if it failed a honeypot or a reCAPTCHA. And it'll also provide a reason why. It'll tell you exactly why it believed that that was spam and then its confidence in that as well.
Mitchell:
This is something I've been using when I'm working with generative AI is to look at the reasoning. So all these AI LLMs, when they return a result based on you telling it to do something, it'll come back and it'll have the reasoning as part of the response. And it's really interesting to read that.
Like I was working on something yesterday. Well, part of the prompt that I gave the AI was be succinct, be brief. Don't be all verbose with this user in this use case.
So the reasoning came through and that you could see the AI struggling with wanting to come back to the user to get more information about their request. But my directive in the prompt said be brief, be concise. And it was like, all right, well, I'm just going to make my best guess.
Really fascinating to see that in the context of spam, in the context of watching AI handle form submissions as they come through, seeing that reasoning capability is pretty powerful. It actually teaches the owners of the website how to optimize the website for better conversions and better spam avoidance and all that sort of stuff. So it's a powerful tool.
And I like that we're making a real use of it instead of just bolting it on and slapping a sticker on.
Kelsey:
Right. And in each one of these features, you have your own system prompt that you can choose to tell it and instruct it whatever you want to. And you can choose which fields that it analyzes as well.
In one case here, we received a spam message. And this is probably human entered. So it would fool your typical CAPTCHAs.
But this AI spam analysis says this message contains promotional content offering SEO services and includes a request for response, typical of spam emails, confidence, definitely spam, 9 out of 10. And the other interesting thing is if you for some reason were dealing with a form that was likely to legitimately discuss SEO, you could instruct the system prompt for the AI to say exactly that so that it doesn't falsely flag things as well.
Mitchell:
Yeah. Yeah, exactly. So we've built in the capability for the developer running the website on behalf of a client to choose the LLM to use.
So not only the specific model, but the provider of the model. So whether that's OpenAI, Grok, Hugging Face, Anthropic you mentioned, Google, the developer can choose the provider and the model. Based on the testing that you guys did in the process of the build, how did you guys decide which models to go with, which service providers to go with to support stuff like spam or categorization?
You have to weigh factors like speed. Some AIs are slow. Some are super fast.
The responses are not as good, but they're much faster. It sort of matters how all those kind of things shake out. Cost as well.
How does a developer on behalf of their client decide which of these to plug into Freeform?
Kelsey:
So by default, we include a recommended model, which is basically what we would consider the sweet spot in terms of speed and cost. But you're right. Sometimes it's better to get a faster response than a less thorough one.
Yeah, but that's definitely something to consider because the form processing can be delayed by an extra second or two if you have too thorough of a AI review of the submission or whatever. So that's something to consider. And then, of course, cost.
Obviously, certain models might cost more in their processing.
Mitchell:
Yeah. There's a marked difference in how these models are optimized. Like I'm finishing a website for a local artist who makes mosaic artwork.
For people's walls and public places and company buildings and so forth. And she's going to use this tool to generate mosaic artwork on the webpage as part of the lead gen, like the lead magnet kind of a webpage. Speed is what mattered.
We wanted these images, the people interacting with this tool to generate mosaic images really fast. It's fun just to have a good time. The accuracy was not that important.
The quality of... If I say I want a picture of an elephant, in a mosaic form, did I get back a perfect rendering that I would hang on my wall? Probably not.
But I did have fun and it made me laugh. And I submitted the form and I contacted the mosaic artist and now she has business. So there's all these trade-offs that you make as you use these AI models.
And in this context, the speed will matter. And for some, the accuracy will be more important.
Kelsey:
Yeah, exactly.
Mitchell:
Cool. So 5.12. What's next? What are you guys cooking up next?
How are we going to use AI later? Is that all secret right now?
Kelsey:
I guess you could say it's somewhat secret. I mean, what we want to do is explore other meaningful ways to use it. We don't want to just drop a whole bunch of useless fluff in there either.
But we are adding more AI services and we're also working on a PayPal integration.
Mitchell:
Oh, PayPal integration. Excellent. So you're going to build more e-commerce capabilities into Freeform?
Exactly, yeah.
Kelsey:
It'll be another payment processor for Freeform.
Mitchell:
All right, Kelsey. Well, thanks for taking a minute. And I guess we just did a podcast version of the readme notes for a new release.
So there we have it.
Kelsey:
Pretty much, yeah.
Mitchell:
Good work. All right. Talk to you next time.
Thanks, everybody.
[Music] You've been listening to the Solspace Podcast.