navarre.ai

ClarisTalk AI · the FileMaker AI podcast

Dimitris Kokoutsidis announces ai2fm.com - a new way to write FileMaker scripts in an IDE.

April 23, 2026 · 67 min · Matt Navarre and Cris Ippolite

Matt and Dimitris talk about a new tool for the community that allows coding FileMaker scripts in an IDE. It's a totally different dev environment, and also completely familiar.

Apple PodcastsSpotifyYouTubeAll episodes

Transcript

Transcribed by machine (whisper, large model), 12,019 words. Names and product terms are sometimes misheard; the audio is the record.

Welcome to Clara's Talk AI. So FileMaker since the beginning of time, which is a long time ago now, its power has been in the script workspace by whatever name over the years. It's been a great tool. It's really where most of the power of the application is. It's got the nice guardrails, super easy to get your script steps. They're all very easy to configure. Each one that does different things has all the correct settings. But guess what? Now we live in the land of AI, and AI does not work with that. AI is text, text, text. How do we solve that problem? Our guest today, Dimitris Kokotsidis. Welcome, sir. Welcome. How are you? I'm very glad to be here and I'm very glad to show to the rest of our fellow FileMaker developers and users, how we solve this problem that you just described.

Because it is extremely, extremely painful for a lot of people trying to get their script outside of the very good FileMaker script workspace, which is indeed, Clarisse did a great job building it over the years, and enhancing it again and again. But it is a closed box. No AI at the moment can get inside that script work. Well, yes and no. So, AI, it's XML, and if you have the MBS plug-in, you get the one direction, right? You can copy the script steps to the clipboard, go into an AI tool and paste it, and it will actually see it as FileMaker and give you the stuff to do, but you cannot paste it back. That's the problem. Not with anywhere near 100 percent. Exactly. What Christian from MBS plug-ins did is extraordinarily good.

But. There are some peculiarities that that ability of MBS FileMaker plug-in does not catch correctly. Because we don't have a standard grammar and a standard syntax of what FileMaker as script text should look like. Nobody has created a standard for that. There is no official FM script language that everybody can use, and everybody can write, and everybody, meaning also our AI agents can deliver, read and deliver in that specific grammar and syntax. Right. Which is really part of it. So, let's dive into what you got. I know you had just a couple of slides with the graphic, and I want to see this. In action. I've seen it a little bit, which is why I invited you to the podcast, because this is a transformational thing.

Oh, thank you. First of all, for the people that don't know me, let me share my screen and very, very briefly say who I am and what I have done. Yeah, I didn't do much of that in the intro. Sorry, Dimitri. That's fine. That's perfectly okay. So, we're here today to talk about ai.fm.com. AI2FM, actually, means AI now. Hold on for a second. For those listening, that's AI and the number two, fm.com. Okay. Yeah. But I read it as AI2FM. All right? I just want to make sure people don't think it's T-O-2, so. Yeah, yeah, yeah, yeah. You're absolutely correct on that. So, if we go to the next slides, who am I? I started many, many years ago with a Bachelor of Science in Civil Engineering.

I have done more of 25 years of file maker and IT. All over. In Greece, UK, Europe, Tunisia, Saudi Arabia, and USA. Pretty impressive, the cybersecurity certification there. Yeah. I haven't thought about all that. I am certified as a file maker, obviously, developer. And I have certifications from the University of Athens in cyber security. And I have a certificate from the University of Athens in cyber security. I am certified as a file maker, obviously, developer. And I have certifications from the University of Athens in cyber security. And I have certifications from the University of Athens in cyber security. And I have certifications from the University of Athens in cyber security.

And I have certifications from the University of Athens in cyber security. And I have certifications from the University of Athens in cyber security. And I have certifications from the University of Athens in cyber security. And I have certifications from the University of Athens in cyber security. certified as a file maker, obviously developer, and I have certifications from the University of Athens in cybersecurity. I'm a certified advanced IT security technician from TUV Nord. And I'm also certified by ISC squared and Cisco. So, I gave a very, very exciting speech two years ago in ROM FileMaker, which wrote at his site that Dimitris made the room sliver from fear from what we saw.

And it is there. You can find it in the web if you search it. Because what I demonstrated is real security issues that nobody so far had revealed. And one of that was how FileMaker plugins handle their security and their property, their intellectual property, meaning they cannot trustworthy guarantee that they get the money they should get by deploying the plugins because everybody, not everybody, advanced users can bypass their security. So, because I did that, I built AI to fm.com, taking care of that. So FileMaker, a FileMaker script, will go to my server where the XSLT transformation will happen and return in nanoseconds, milliseconds, actually. But everything will happen in ROM. Nothing is written,

nothing is kept, no logs. But I did it this way because it was the only way to protect my intellectual property and also protect the intellectual property of my customers. Right. So as opposed to just being like someone downloads the whole open source thing and then could, you know, change it and blame me or whatever. Yeah. So let's -- what else you got here? What's the next slide? All right. I run three -- I run three websites. Websites? Axelart.eu, where it is my personal blog where I -- it's a blog. I run three websites, Axelart.eu, where it is my personal blog where I chat about -- Great blog entries, by the way. Thank you, sir. I talk about AI, I talk about fm, I talk about -- sorry. I talk about IT, I talk about all kinds of things, mostly FileMaker and AI. Then we have cyberfm.eu, which is a resource I built for that presentation in ROM FileMaker Week, which I would like to...

Yeah, that's cyber-fm.eu for those listening. Correct. And I actually didn't know about that site. I know about the other two, but I'll be looking at this one. Yeah. It has a tremendous -- it is a tremendous resource in FileMaker security, and everything ever written about FileMaker security is here. Yeah, a lot of people's names I see there, too. If you spoke about FileMaker security, you are here. Well, then I should have known about it then. And I apologize for that. It's not your fault. I haven't really worked on that to promote it. Well, now we are. Yeah, of course. To be honest, I have done a lot, a lot, a lot of work. Chris Moyer has done a lot of work.

Yeah, he's amazing with security lately. Yeah. I'm in a lot of meetings with him. Yeah. So let me get that out of the way. And my new child, that was born this winter, is AI2FM.com, that we will keep talking about. And it's time to really stop talking and start showing actual things. So what's interesting on this -- what you've got here on this one is Claude Chachapiti and Gemini. Yeah, of course. Okay. Because Gemini -- Gemini 3.1 Pro is an equal player in coding with Claude and -- Codex 5.4 from OpenAI? Yeah, yeah, yeah, yeah. Okay. It is particularly useful as a planner, what you're going to plan. Mm-hmm. But it doesn't lack abilities, one given context. And it can deliver --

It can deliver also. And because I am -- I have an unrestricted subscription to Google, I use it very, very much. Yeah. And I use -- my preferred IDE is Google's AdiGravity. Hmm. Okay. It's not VS Code or Codium or Cursor or Kira from Amazon or Windsor. Sure. I use, for my development, Google's AdiGravity. Mm-hmm. Okay. It's not VS Code or Kodium or Cursor or Kira from Amazon or Windsor. Sure. It's not VS Code or Codium or Cursor or Kira from Amazon or Windsor. Sure. It's not VS Code or Codium or Cursor or Kira from Amazon or Windsor. It's not VS Code or Codium or Cursor or Kira from Amazon or Windsor. But that doesn't mean that -- I'm sorry, I -- that doesn't mean that the extension that you're going to see doesn't work on any of the other IDEs. It works on Codium, which is the real open source, not the company-related IDE at all.

Mm-hmm. Not telemetry for Microsoft, not company-related, right? The code is on GitHub. Everybody can see and verify that it is really open source and not -- Yep. -- related to any company. I'm sorry? Well, I just wanted to say, like, on this slide, my favorite thing on here by far is, as we were talking about a minute ago, you can -- you can paste XML from FileMaker into one of these chat engines and wait for a response. So there's -- they have incredible intelligence. They can tell you a lot about it, but they have zero agency. They can't do anything about it. You have to manually do all that stuff. That's exactly the pain point. That copy and paste. And I have created -- I have created here -- here.

Here's your code. Yeah. We are in a project, and I said to Claude, read the instructions, write a typical FileMaker script. Mm-hmm. Claude, because this is -- I have trained Claude to always ask the six whys -- what, where, who, what is the -- what we are doing anyway. Mm-hmm. So it never just blindly goes up, and it will always ask, what should I do? Mm-hmm. And it wrote not just a typical crude FileMaker script. Mm-hmm. It actually wrote an -- wrote an architecture, an architecture. Mm-hmm. Commenting. And starting from create a client site. Create a client site, create a record. Yeah. So what we're looking at looks pretty much exactly like a FileMaker script.

Which is. Yeah. It is a FileMaker script. No, no. I know that. But what I'm saying is the interface, as you scroll down a little bit and pause a little, like all of the script steps have the same -- the dots in the same place, you know, actually a little bit more information on this one, like in a set variable command where you can't really see that in FileMaker, you get to see the whole thing broken out here, which is great. But it's text that is editable. I think that's the huge difference, right? Yes, yes, yes. It's text. And right now, let me finish scrolling. Mm-hmm. We have edit record client side, server side, delete. Right. So there are basic -- your crud operations.

Yeah. Okay. Read. Yeah, yeah. And a universal callback for all of them on success message. Crazy. From one small prompt. Like, give me the typical thing. Yeah. It's not a small prompt because if we go to the -- Oh, yeah, yeah. Your grammar reference. So what I meant is with all the stuff in place, you can get a lot -- well, let's dive in and see -- let's see more. More about how this works. Yeah. So it actually did the callback. And the callback also, because it's using transactions, it tells me which custom errors it used for the error trapping on the error of the transaction. Yeah, you've got your error codes in there. Yeah. Yeah. So let's step back to, like, what the process would look like for a developer who's using this.

Right. Well, let me ask one question. Do we still have the copy and paste issue? Like, if we're -- Of course we do. Because now we have perfectly legal and very nice file maker script that is, as you can see, it has -- It's very good documentation. Yeah. Yeah. I see that. And I -- but we'll get to that. I guess what I'm really talking about is the total crux of this whole thing. And correct me if I'm wrong. And there's -- I know there's deeper parts to it. Is you take an entire script in FileMaker, all of the script steps, copy and paste them into this IDE. All of your editing is done by prompts and direct editing of the text. And then when you're done, Of course.

you copy that to the clipboard. And when you go back to FileMaker and paste it, it 100% works. That is the crux of the whole thing, if I'm not wrong. Yes? Yes, exactly. Okay. That is the promised land that -- Yeah, it really is. I mean, the only step after that would be to have it just completely automated, where your IDE would just show everything. You'd go into GitHub and all your scripts would be there. And then, you know, it would automatically directly connect to the IDE. And then you get all the power and benefit of FileMaker. To be -- there is something more important. We don't have a way for AI to see the full of our solution. We cannot have an AI to see all the scripts of a solution and their connections right now.

Well, kind of. You can take the XML of the file or the -- And that means that if you have 300 long scripts, you're going to have an enormous amount of information in one -- Yes. Larger solutions will definitely exceed the million tokens. But nonetheless, it can be there as a file that can be referenced, an artifact or whatever that can be referenced. And, of course, it's also changing constantly. First of all, think of the cost of it, because you're sending a million of characters, of tokens. It's time you send an XML to a provider that you have to -- the AI in the backend has to read, analyze, spend time computing into understanding what this XML should be as a mini.

And then understand that, and after it understands that, respond with a file maker script, SFM script. That is a huge spending without -- Yeah, that's for sure. I can see that. So we solved all that. So we're looking at the text of the script here. And what happens if you delete an end if, or make a typo on a field name? Yeah. We haven't gone -- we are not there. We haven't touched the ID yet. But that's a good question. Right. And keep it when we will go there. Because that's another huge key. Yeah, yeah. What I wanted to show is that this, of course, is not limited to cloud code. You can repeat the same process exactly with another project in chat GPT. Yeah, mm-hmm.

Or you can use Gemini. Mm-hmm. Yeah. And you can just connect it to Note -- I'm sorry. To Notebook LM. Yeah. Yeah, yeah. Let me find the exact -- because I haven't -- OData set up. Yeah, that's the one. Cool. And that's it. And then, like, with your Notebook LM, your simple prompt, describe the Notebook. Yeah. So, because Gemini does not have the ability to create projects like Cloud and ChatGPT has, they have given -- they gave us the ability to connect our chats. That's -- to Notebook LM. And what does Notebook LM do for the user? What does it store? What does Notebook LM give you, for those who don't know what it does? Oh, that's -- that's an amazing tool from Google that can create a video that presents everything that you gave in that knowledge base that you added.

Because you can add as many files as you want. Notebook LM will pass them, understand them. And if you want to create, let's say, a mind map or an infograph standard. So, what would you be pasting in here, like, FileMaker scripts or layouts or -- What is the proper human -- The proper human to AI language nowadays, that would be markdown files. Yes, of course. And as you can see, all my documentation is mostly markdown files. Okay. So, right now, it's your -- your Notebook LM is kind of where that is going. And in just in a fraction of a second, it created -- It created a mind map. Yeah, this is cool. Wow. Yeah, I like how -- I see what you mean. You're clicking on the arrows and everything just kind of pops out.

And Gemini now has access to that information also. So, if we go back. Oh, all right. Mm-hmm. Mm-hmm. Well, I don't want to get too -- I don't want to get too -- I don't want to get too -- I don't want to get too deep into this, because I want to really get into the coding. Yeah, yeah. But -- To what the process looks like. What I wanted to say is all that is very, very good and very, very beautiful and very, very helpful. But it is in the past. Nothing of that now matters, because it is the age of the ingenting AI. We cannot -- none of these webchats can use agents. Cannot access your operating system. Cannot create files to your disk. Well, Cloud Cowork does that.

It does. Yeah. I'm talking about the closed environment of webchats. I -- so far I gave you webchats and their limitations. Yeah, definitely. So, we are going away from that. So, and -- you know, so, Cloud Cowork can do things like control the web browser, clean up files, read emails. It cannot do things inside FileMaker. It is not opened to it yet, as far as I know. That would be cool if someone has that working. Because that -- you know what, that could be like a big next step for you, right? It actually can do it, because if you create -- it's like -- remember, early days of FileMaker, we used to have Automator and we would put some kind of calculation in memory and paste it into our -- into our -- into our fields or into our calculations to do some kind of automation.

Right now, the -- what I have created creates unlimited abilities, capabilities. First of all, let's -- let's -- let's go to actually see what is a AI to a firm. All right. So, our website. We are bridging the gap between FileMaker and AI. And how we do that? We have a VS Code extension that is compatible with all VS Code forks. It doesn't matter if you're working on VS Code on Cursor, at the Gravity, Windsor, Amazon Skira, or the open source Kodium. It just works. And it just works on every operating system. Windows, Mac OS, and Linux. Right. There is no -- because those ABEs work everywhere and they are universal.

So pick the one you use and let's take a look at how it works. I want to dive in. I want to see code. Yeah, yeah. But I want to point out that that IDE and that extension is free, totally free, for everybody. Not all of this is free, but that part is. Yeah. Okay. That part is totally free. You can create a demo license into our site. Download the extension, install it into your IDE, and work for it eternally. Okay. You can create scripts. You can use AI to amend your scripts. You can do all sorts of other things. And I'm going to demonstrate that now. It's time. Yeah. Then you've got the other half of it we'll take a look at, too. Yeah. I'm going to open my screen that I'm serving.

And here we are. Now what I did is -- This looks like FileMaker, but this is not FileMaker. Right? So you have a bunch of documents -- Each of those is a script, right? Yeah. .fm script file. Let me actually enlarge. What I opened is the open source column, the one that has no affiliation, it's open source. Yeah. So it's a text editor. Right now, right? It's a text editor. But it's not a text editor. It's an integrated development environment. Okay. It's an integrated development environment. Okay. It's a text editor. It's a text editor. It's a text editor. It's a text editor. It's a text editor. It's a text editor. It's a text editor. It's a text editor. It's a text editor.

It's a text editor. It's not a text editor. It's an integrated development environment. It's an integrated development environment. It has a lot, a lot more capabilities than a simple text editor. Of course. I misspoke. And as you can see, it already has GitHub enabled, and it can -- it tells me you have four new files that are not pushed already in your GitHub. Right? So it's the code. It can be stored in GitHub, then. Yeah. Of course. Okay. So you sort of have parallel code of your FileMaker scripts in GitHub and in FileMaker. In your disk and in your GitHub. All right? Okay. And... And then how -- like, what's the workflow, then, of -- I don't know if you want to start with creating a script or editing a script or -- What we're seeing right now -- yeah, yeah.

What we see right now is just black and white text, correct? For your viewers of the broadcast, it's just black and white text. There is no color coding. There is nothing. Nope. And that is why -- because the single most important step is download the extension, go to the -- your ID, go to your extensions, and install it. Clipboard bridge. Okay. And after you install it, and you enable it. You go back to your files. And... And now it looks more like FileMaker with all the color coding. Yeah. Now you have not just FileMaker. You have a lot more than FileMaker script workspace can do. Because you have color coding. You also have -- Well, yeah. We're in an IDE. So obviously it's a whole different deal.

Yeah. I see how you can compress. Like if you have a loop or an if or whatever, you can -- there's a better -- you can click the triangle or whatever and compress it all in so you don't have to read the whole entire thing. Yeah. And also, if you -- you can see that every nested structure has a different color. This if has a different color from the next one. So you can visually see where an if starts and where an if stops. Yep. The same is true for loops. The same is true for transactions. Yeah. It looks pretty clean. All right. So let's get to some editing. All right. So... The first thing to do is that create a new file. All right? And that will be a new file. All right.

And it will be a new file. It will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file.

And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file.

And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file.

And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file.

And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file.

And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file.

And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file.

And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file.

And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file.

And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file.

And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file.

And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file.

And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file.

And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file.

And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file.

And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file.

And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file.

And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file.

And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file.

And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file.

And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file.

And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file.

And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file.

And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file.

And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file.

And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file.

And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file.

And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that will be a new file. And that huge script is now in my IDE stack. Right. With all of the normal formatting and commenting and indenting and everything.

OK. No, the indenting is not there. Well, anyway, let's not get stuck on that. Format documents and indenting. Got it. OK. Well, I saw some. OK, so now let's talk about the AI part. I would like to show that what I just did is the forward part. But the hard part, the hardest part of all, is the reverse part. Doing a simple edit, like what would be. Yeah. Disable that value here. OK. Yeah. So make one tiny change to the code. All right. OK. And again, select everything. Yep. Option command F. So not just command C? No. OK. It is option command F. Now I have put it into FileMaker clipboard. And that specific combination of keys sent that text into the server and already compiled

that into. So into the server, not into the local copy of FileMaker? Yeah. So yeah, we're running FileMaker locally. Well, it could be a hosted application. OK. So you created a new script and you paste it. This is it, right? This is exactly what I wanted to get to. You took a text from an IDE and you pasted it into a script and 183 lines of code and with no errors. Exactly. No errors. Now I see a couple of warnings in there. What's line 108? Yeah. That is a future, not a bug. A future? It is a future. Because it says go check your references. Yeah. And if you have some errors, fix them. Yeah. Because of course you could. You could make all kinds of errors in the raw text, right?

Yeah. Yeah. But the point is the grammar is correct. The grammar is correct. Yeah. The grammar is correct. Yeah. That's the key. That's key, key, key. Yeah. And of course, the tiny change that I made, that I changed the value to zero. Yeah. And that's there. Of course. It's there. All right. And so what else? So let's go back. And now, let's go back. Yeah. Let's go back. Yeah. Yeah. Let's go back. Yeah. Yeah. Yeah. Yeah. Yeah. Yeah. Let's create an error. Well, let's not. Let's actually start using AI. Well, you actually, no, no. I do want to see how it handles an error. Okay. So yeah, you've got an if statement. You put a space in the middle or something that's definitely not allowed, right?

Yeah. Like a typical typo. You know, kind of the reason that FileMaker is not, doesn't all this time have a text window for script debugger is it puts those, it gives us all those things to, so that a huge number of mistakes can't be made. Okay. Anyway. This is now how you can use AI because AI now took over. I saw a warning there. So I did, did you attack type a prompt? I see it's actually working on something. Yep. And saying it can't edit a file that doesn't exist, which is, oh, I have to save the file. Oh yeah. That makes sense. Yeah. That's right. You created a new file in here. So. And we might have another snappy there too, that I saw being potentially out of credits.

Yeah, yeah. It's okay. Oh, that's so nice. The dropdown has multiple models. Yeah. That is cool. Easy to check. So now we're in Sonnet 4.6. I'm going to go ahead and do a little bit of a test. I'm going to go ahead and do a little bit of a test. I'm going to go ahead and do a little bit of a test. I'm going to go ahead and do a little bit of a test. I'm going to go ahead and do a little bit of a test. I'm going to go ahead and do a little bit of a test. I'm going to go ahead and do a little bit of a test. I'm going to go ahead and do a little bit of a test. I'm going to go ahead and do a little bit of a test. I'm going to go ahead and do a little bit of a test.

I'm going to go ahead and do a little bit of a test. I'm going to go ahead and do a little bit of a test. I'm going to go ahead and do a little bit of a test. I'm going to go ahead and do a little bit of a test. I'm going to go ahead and do a little bit of a test. Yep. I just saw it spotted the error. So it found the error. And the tells us we have a rogue space. Do you want to fix it? Nice. Okay. So it's going to find all those things in there. How do -- let's go beyond that. Because I definitely wanted to see that part. Okay. So it's going to find all those things in there. How do -- let's go beyond that. Because I definitely wanted to see that part. If you wanted to do -- let's not even talk about writing a script from scratch.

If you wanted to do -- let's not even talk about writing a script from scratch. Let's talk about adding a whole big section into this one or changing a section in here. All right. Let's talk about adding a whole big section into this one or changing a section in here. All right. That's really mostly what we have time for. That's really mostly what we have time for. Okay. Because I've got another commitment coming up right now. All right. Because I've got another commitment coming up right now. All right. Because I've got another commitment coming up right now. All right. Because I've got another commitment coming up right now. All right. Because I've got another commitment coming up right now.

All right. All right. You typed the command "fix it." Yeah. I don't know if that would fix just that one thing, maybe. I don't know if that would fix just that one thing, maybe. Of course, you could have a whole bunch of errors. Of course, you could have a whole bunch of errors. Of course, you could have a whole bunch of errors. You might have been working with this script for a long time You might have been working with this script for a long time You might have been working with this script for a long time and have all kinds of errors. and have all kinds of errors. You might have been working with this script for a long time and have all kinds of errors. And I don't know if that would fix just that one thing, maybe.

And I don't know if that would fix just that one thing, maybe. And I don't know if that would fix just that one thing, maybe. And I don't know if that would fix just that one thing, maybe. And I don't know if that would fix just that one thing, maybe. But of course, you could have a whole bunch of errors. But of course, you could have a whole bunch of errors. But of course, you could have a whole bunch of errors. But of course, you could have a whole bunch of errors. You might have been working with this script for a long time You might have been working with this script for a long time and have all kinds of typos in it. and have all kinds of typos in it.

Yeah. Yeah. my typing is really fast but ridden with errors much more than i used to make because i trust it to just ignore them i don't know if other people have found that same thing um i don't know i don't know oh yeah i saw another little error there for something from ai because that's the law of demos right um so show me how like if i wanted to uh you've got steps in the script if i didn't start and if is back uh so yeah let's add something in like a prompt another step you've got step seven we're looking at that does the script does well explaining the script assembly we have right now but what i um but what i want to see is changing code writing a block of code and having that go back into filemaker um um because like right now in ai if you copy and paste the script from the um from the plugin you get it can actually understand and explain it because it knows

enough about filemaker to do that this is a better explanation clearly because it knows about all the grammar so what if we wanted to add step eight and have it do something ask it do or what do you want it to do um uh i wanted to create a loop that checks invoice line items and if there's any that are missing a quantity uh to default to default to one you said ask i don't know i'm coming up with something that's that's realistic yeah but that is this one is a template script that actually uh uh does crude for um using sql in filemaker okay well i mean you should be able to still add some code right yeah yeah all right yeah so like um you know like go to related line item records i don't know type something no let's find another bear um a script that more realistically has stuff like that yeah yeah yeah yeah because i see i see um that particular one wasn't a really good example

for adding code it was a good example for fixing grammar actually um please create a script a crypt a script i know but i you started typing crypt and i'm thinking crypt with the y that would have been a good that's the right kind of typo right there that uh counts invoice line items well come on let's do it more than that and what uh and uh creates a record in the note table um for any invoice that has more than five line items creates a record in the notes table in the uh a notes table and of course i don't know i at this point if we're referring to something that doesn't exist it's gonna kind of have to assume what your naming convention is for notes unless it has your whole graph but even then it has to determine which table is the notes table anyway i'm dying to see what this does

let's see yeah and it's waiting the best demo is always something that's not pre-prepared and so you can see um the the wild things that will happen uh cheers this is my greek coffee so yeah had you made a file i think that's the other script we're looking at there no this is it oh there we go oh my god it did it put so much awesome documentation and i thought we were looking at the other one right okay okay um so it tells us exactly what it does what the transaction patterns are the script the creator um interesting so you're using sql in here so you clearly have some preferences um yeah scroll scroll down you've got initializing by putting plugins in yeah and then a sql statement that counts them i guess i was thinking it would do a loop but

right one of the things about ai that's delightful is you get to discover things but uh my frameworks use fm sql it is a custom function wrapper that uses any of the sql enabled plugins right and uh you don't have to specifically say i want to use this or that plugin to keep scrolling down because you've got a you've got a whole wrapper you've got a transaction which is unneeded for something that just counts things um no no no the count is here yeah yeah yeah well the transaction is also not really needed to create a record in a notes table it's you know not terrible uh and so you've got more this is a matter of preferences but i'm always on the safe side okay well i have to tell you this this this script is 10 lines of code in filemaker and we're already looking at 140 150. and it has full um error holding okay why is this 200 lines of code instead of 10. is there is there some settings and preferences for how the user wants to

it compliant to my scripting that's exactly what i was saying yeah yeah so it's using your mechanisms your error checking your yeah yeah exactly everything uh here uh my scripts are always transactional my scripts are always um server side when uh we are going for code and we have we initiate from the client side go to the server perform the script return with a result i get that i mean it's completely unnecessary when you're making a record in the note table um it's the proper way for anything that's like a real system or you know for banking or whatever like that but i mean so if you wanted to work in really really simple regular filemaker like you know have it write 10 lines of code rather than 200 where's in 10 lines of code now we're talking um yeah and then it should after this actually while it's running because it should take it should take a little bit of time um

tell me where it's uh where that configuration goes for all of the ways i like to work right so it's using your custom function um where is that setting it is here oh it's one of the files yes oh okay it's in my developer compliance okay okay okay yeah so like um i i used the chat gpt thing for my naming conventions and said i always want this way boom um it literally is 10 lines of code and two lines of uh of comments okay so it grabs the invoice id uses a single sql command for the count puts in text about what it made makes a record it didn't actually go to layout though oh wait wait it didn't need to have no it did um yeah it missed it missed one step that would be critical for this that's it yeah but this is great because you immediate context yes yeah and it put in context right it it knows i'm not sure what it would really know at this point

how would it know that your notes table is just called notes in the graph i'm sorry so it put in notes colon colon fk invoice id how does it know that that's the field name because we started this from scratch yeah it assumes oh i see um so but if there's another document um well it assumes it totally correct normal file maker conventioning though to be fair and also it put in you know underscore fk invoice id which is very very common formatting i wouldn't i always just use id for the primary key but i'm betting you that in your um filemaker configures some script over there it all of those settings are are set in there yeah yeah because we have a full error framework yeah i see that okay that was impressive um yeah that was impressive let me let me show you our yeah we have time for one more feature what's the killer next thing you want to show and we have our scripting framework where everything um oh yeah there you go there's

the framework so you have a very very very long description and everything is here yeah and obviously that can be all written by filemaker so if you if you took the script the 10 line of code script that you wrote yeah and tried to paste it back yeah and i actually kind of know what's going to happen it's going to throw what well it's going to say i don't like if you didn't get the the field name right right so if there's if the if the primary key wasn't invoices pk invoice id um well we're going to just see aren't we yeah so control a command option f which is essentially clipboard for the purposes of filemaker control v command b okay so oh i'm in love with this okay okay okay so we knew it was going to throw an error but what it does is it tells you the errors the errors are not from cloud code

the errors are from our extension i know that's what i'm saying yeah that's what i'm saying so when we were in when we were in the ide a minute ago it didn't have any of those warnings and when if you had pasted this script from another database and the context was wrong it would say go to layout unknown and you'd have no freaking idea what what the layout name was in the other file okay you say attention hey there was an unmapped layout and before when we pasted it in it was called notes so now we know exactly how to fix it and of course the fields are are the same yep if you go down it says attention and map fill reference notes fk invoice id and then all you have to do is just go and find fk invoice id and then you have to go and find fk invoice id and then you need to find the default fk invoice id so you would really need to do that okay this is cool cool cool cool all right um i think we're pretty much at time um so tell me about the pricing uh about what the pricing so we should you showed us what the free part but to get the rest of the whole product no no no what i saw here is not the pretty part no i know earlier you showed the free

part no no no what i saw here is not the pretty part no i know earlier you showed the free part and so we know what's in there now we're looking at the part that is paid how much does this cost to to license uh i don't know um well uh i can i can send you some nice greek coffee there's a good store here that's a nice roaster it's just oh yearly dollars for a month yeah 120 a year 10 a month full bi-directional unlimited transformations uh that's cool is there also monthly pricing no okay one price for all and if you go and buy a license it will uh because we are in uh europe we use euro that it will add automatically the right currency and the right uh v80 for the country you're in which thankfully in greece is 24 it's 24 in crete it's 24 in crete but it's 19 in germany how can oh in germany yeah got it so yeah

we could i think i think greece is one of the highest if not the highest uh vat one of the highest in europe and also i'm gonna plain complain that um uh gas is almost ten dollars a gallon equivalent here so people in the us can complain about three or four or whatever but all the cars everybody drives really fuel efficient cars uh by and large um yeah i think our car gets 55 miles to the gallon something like that it's not even a hybrid you know diesel anyway this is cool so 120 a year loving that um i'm really looking forward to diving in i'm sure a lot of people who are listening are going to be uh playing with this because it does really solve a huge problem um so thank you very much for showing this to me to me three i want to thank you very much for having me and i want to to say to the rest of the file maker developers the pain is gone uh nice okay bye alexi