Description Transcript
AI Build Week #2: Day 4 of 4
Today, Alexis Ego, Enterprise Solutions Engineer at Retool, will walk through:
Using effective prompts to guide the new Retool feature in building apps
Connecting defined and secured data sources into your builds
Managing permissions and governance to keep every build safe and compliant
01:40 Welcome & Introduction
03:21 The impact of Generative AI on software
04:29 The advantages of Retool's AI AppGen capabilities
05:55 What are we building?
07:31 What to know when using Assist
08:14 The basics of Retool
08:42 How to create an application in Retool
09:44 Prompting a customer license application on Snowflake data
11:20 How to configure resources in Retool
15:01 How does Retool's AI build applications?
16:29 Configuring permissions in Retool
21:13 Validating queries in Retool
22:56 How Retool ensures vibe coded apps are high quality
27:35 Testing out your Retool application
29:35 How to edit your Retool application
30:21 You can tag anything inside of Retool
31:28 Multi-modal app development in Retool
36:13 Adding dashboard functionality in Retool
37:05 Changing the theme of your Retool application
39:39 How Retool can help you understand your application
41:59 Looking at our Snowflake dashboard
43:13 Retool tips & tricks
45:07 Can you define your own best practices to apply to the agent?
46:42 Can you apply an agent to a Workflow?
48:09 Can you make your Retool app public?
48:50 Can Retool Agents search the web?
49:26 Can Retool scan and learn your database setup?
50:44 Can I use production data when vibe coding in Retool?
52:08 How are credits allocated in Retool?
52:51 Is Assist available via API?
53:24 Do you have plans to implement with Figma or documents?
54:56 Can Retool read my OpenAPI docs and learn how to reference?
Useful Resources: https://docs.google.com/document/d/1b6jMrrsT2nCteBaKltx25c1aMkfJpDP4w_Ii-i537ro/edit?usp=sharing
🔗 Read more about enterprise AppGen and AI-assisted development:
https://retool.com/blog/introducing-enterprise-appgen?utm_source=youtube&utm_medium=organic&utm_campaign=copilot&rcid=701Qo000014HQL7IAO
📘 Retool Assist Documentation: http://docs.retool.com/apps/guides/assist
💬 Retool Community Forum: https://community.retool.com/
Read more 1:48 Welcome to this webinar on Building
with AppGen. This is the final one of 1:55 the AI Build Week. I am joined today
by my fantastic colleague, Alexis. 2:02 But before I started properly. we start this 2:05 properly. I wanted to post
some questions in the poll. 2:08 So, firstly. How many of you have used
vibe coding tools, like Lovable or Bolt? 2:13 And then secondly, how many of you would trust the
applications built there to put into production? 2:18 And maybe I'll just give everyone a
little bit of time to answer these. 2:37 So, in terms of what we'll
be covering today, and please 2:40 continue to answer the poll whilst I'm speaking. 2:43 What we'll be doing is we'll start
by covering what AppGen actually is. 2:46 And then the majority of the time will
actually spend building alongside Alexis. 2:51 So, hopefully all of you will have received an
invitation to the Retool instance. If you haven't. 2:59 I posted a link to the channel for how
you can join, and he's also posted a 3:04 link to the Google Doc, so please make
sure that you click on the Google Doc. 3:08 And please make sure that
you can join the instance. 3:10 If, for whatever reason,
you aren't in the instance, 3:13 if you just post your email in,
we'll be able to add you in. 3:18 Um, and then we'll end
briefly with some kind of Q&A. 3:22 So, what actually is AppGen,
and why do we need it? 3:27 The core reason… is… okay, so we can
actually see the results. So actually, 3:33 most of you still have never actually
vibecoded an application before, 3:36 but actually we're seeing about
30% have, which is interesting. 3:39 I'll be interested to the answer
to the next question as well. So, 3:43 you know, I think the core
reason why we need AppGen. 3:46 is pretty well explained in this slide. So,
AI tools… whether those are kind of… like, 3:53 code generation tools, like Claude Code or Cursor. 3:55 or at Generation tools like Lovable or Bolt, 3:58 so tools that let you go from
basically writing plain English. 4:02 to building an application for you,
has significantly sped up the process 4:05 of building applications, as well as
enabling new types of people to build. 4:10 But what they haven't necessarily done is speed up
the time to shipping applications into production. 4:15 And this is the fundamental
reason why we need AppGen. 4:18 Retool is the first platform that actually
lets you go from natural language prompt. 4:23 to fully deployed, secure production
application. But how do we actually do this? 4:29 It's essentially down to three things.
So, firstly, we sit on top of your data. 4:35 At Retool, we spent years building secure
connections to the most commonly used resources. 4:40 Whether that's internal APIs,
or popular ones like Stripe. 4:44 All your data warehouses, like
Snowflake or Databricks. We let 4:48 you build applications directly on top of
these, rather than simply using mock data. 4:54 Secondly, we handle deployment for you. So
once you've set up Retool, each application 4:59 is automatically available for your end users.
So either you can use our multi-tenant cloud. 5:04 Or you can deploy Retool inside of your VPC. 5:08 And finally, and potentially most
importantly. Resale is secure by 5:12 default. You can set things up, like SSO
and role-based access control centrally, 5:17 and have it apply to all of your applications. 5:19 permissions from Snowflake and Databricks
can be inherited inside the application. 5:24 you know, likewise, audit logs are included
out of the box on all applications. 5:28 You can also build in dev environments and enforce
rules for how it gets moved into production. 5:34 Essentially, our ambition is to make creating
software as easy as writing a document. 5:39 All whilst enforcing guardrails on governance.
This means you can go from idea to a working 5:44 application today, rather than waiting
weeks, or potentially never having what you. 5:48 E1. And with this, I'd like to hand over to Alexi. 5:51 who can actually show you how to do all of this. 5:55 Hello everybody, I'm Alexi, and I'm super
happy today to run this build-along. 6:00 What we're going to do today is build
a customer license application that's 6:04 going to allow us to track and
manage all of our customers. 6:07 This is going to be built on top of Snowflake. 6:09 And my goal today is to make you
much more comfortable when it 6:13 comes to building and vibecoding
applications into production. 6:17 There are 3 main things that we're
going to focus on. The first one 6:20 is around how can you create and
edit application using prompts. 6:24 The second part is all about understanding
the ecosystem. How do you secure, govern, 6:30 and connect to the different data sources
that you want for your entire applications? 6:33 Which is really exactly what
Ben just covered when it comes 6:36 to how we differentiate from a lot of
different vibe coding tools out there. 6:40 And finally, we're also going to explore other
ways that you can use our. which is called ASSIST, 6:47 which allows you to build and create applications,
using it to explain facts about retool, to debug, 6:52 or to just… understand more fully
what the context of an application is, 6:56 which are things that are very useful when
you're trying to maintain applications. 7:00 Now, I do have a quick disclaimer for
all of you. So if you can just go to 7:05 the next slide. We're building with
AI, and with vibecoding in general. 7:09 Now, I'm… For those of you who are familiar
with these kind of tools. We're all going 7:12 to put the same input in the same chart.
We're not all going to get the same output. 7:17 So, I am going to take a bit of time to make
sure that we can explore the different options, 7:21 and you can get to something
that's relatively close to mine. 7:24 So, uh, bear with me in that case, 7:26 and I'll make sure that quite a few of you
can follow along when we're going like this. 7:32 All this being said, I think
it's time for us to go into 7:34 the tool. I'll keep that one for later, Ben. 7:36 And if you don't mind, I'll just share my screen. 7:41 So, if I'm not mistaken, quite
a few of you should have by now, 7:44 so this is the document the
ASSIST webinar instructions. 7:47 If you don't have access
to this document, I think, 7:50 um, Amoveher is putting it in the chat right now. 7:53 This will really cover most of what
you need, and everything that you want. 7:57 to open the instance that we want, it's the
first link that you can find right here, 8:01 which is the EMEA agents, and as I
said, if you have any login issues, 8:05 please don't hesitate. Ask Amavir, and he will
be more than glad to add you to the instance. 8:11 So, I'll just open this up. And when we
open the instance, you should arrive to 8:17 something that's quite similar to this. You
probably won't have all the recent drafts, 8:21 that's… this is my work, so this should be
empty for you, but this is the basics of Retool. 8:25 I'm not going to go into what everything
happens here, we're directly going to the 8:29 prompting part. I'm just going to give you, um,
10 seconds to make sure that you can all log in. 8:34 And give you a bit of time for that. 8:41 Perfect. So, the way to create an application, 8:44 you can click on this button that's right
here, so the blue button, and create. 8:48 up. When you do this, it's going to open a canvas. 8:53 Some of you may have panels that are open,
so arrive on a page that looks like this, 8:57 or just a blank canvas. In any
case, you can collapse all of 9:00 them by using the little crosses that
you have on the top right-hand side. 9:05 So don't hesitate to use them
to get onto a blank campus. 9:09 Now, I suppose most of you are aware, in 2025, we
don't really start from blank canvases anymore. 9:14 We want to start with either templates or either
prompts, and this is exactly what we're gonna do. 9:20 To open up our prompt interface, you want
to go on the bottom left of the application, 9:25 and you can see right here, it's called Assist. 9:27 It's still a product in beta, so, 9:29 um, by the end of this, I will ask
you to add some feedback, if possible. 9:33 And, uh, you can open the different chat panel. 9:35 Here you have four different
prompts that are pre-built ones, 9:38 if you want to try this out on other use cases. 9:40 But what we're going to do today is
work on our customer license one. 9:45 To find the prompt, you can go back
to the instructions, and so you have 9:50 all the instructions on how to build the
application, and here right now, it's the, 9:53 uh, write a prompt in the chat interface,
so this is the one that you want to select. 9:57 And I'm gonna put it into the
chat. Do not present to right now, 10:01 because there's a bit of a caveat,
and I'll get into this just now. 10:04 The prompt is, let's create a customer
license application using Snowflake, 10:08 display a table with customer details, 10:10 include filters to find customers by customer
name and number of licenses, min and max. 10:15 Add actions to update and create
customers. So, as we can see, it's really, 10:19 um, a CRUD application, allowing us to
really see and edit all of our customers. 10:24 There's one thing, though. Here, as you can see, 10:27 the at Snowflake is written in normal text,
and that's not something that we want. 10:31 So, I'm going to ask you to
remove that, enter type, at. 10:36 This is the first thing that's quite different
from a lot of other Vibe coding tools that 10:39 you're probably aware of, is you have access
to all of the resources we've pre-configured. 10:44 Now, this is super powerful, because it
means that we're capable of giving our chat. 10:51 awareness around what the resources are
inside our ecosystem. And in this case, 10:55 the one we're going to use is the
Snowflake one that you can find right here. 10:59 And I'm gonna deep dive a bit
more into what resources are, 11:02 so you really understand what we're
doing when we're running this. 11:05 Now, I'm actually going to run this
script twice. This is just for me. 11:09 keep to the EMEA agents instance. I'll also
run it in my own instance, just in case. 11:14 Uh, as you can imagine, we're quite a few, 11:16 so uh… that there is a small chance
that I switch between quite a few taps. 11:21 When it comes to resources in general, this is
something that you can configure inside RETOR. 11:25 So the first part that I want to
look at is how do you get there? 11:29 If you click on the retool logo
that's on the top left-hand side, 11:33 the… in the drop-down, you'll find resources. 11:35 You can open this link, and
open… this is in a new tab. 11:39 This will be better, because otherwise the
chat could be interrupted if you don't do this. 11:44 And when you open the Resources tab, it's…
One of the main core aspects of our platform, 11:49 Retall allows you to connect to any and all
data. So, today we're connecting to Snowflake, 11:54 but let's say that I wanted to connect
to another data lake or another resource, 11:57 I could create this quite simply. 11:59 By clicking on Create New in the top right. 12:02 Clicking on resource, and here I have a
list of all the integrations that we have. 12:07 So, if you're using things like an API or Google
Sheets, or Postgres, that's something that you 12:12 can do. And in this case, we're talking about
data lakes. We have quite a few of them, like. 12:17 Databricks or BigQuery, or Snowflake
in our case. So you can pre… you can 12:21 pre-configure this, and as you
can see, in this build-along. 12:25 you're all using one that I've already configured, 12:28 which is Snowflake, which means that
that's the first thing that we can do, is. 12:31 reuse a pre-configured connection, 12:33 and we don't have to recreate this every
single time we're creating a new application. 12:38 This means that the connection that our
Vibe coding tool is making is always the 12:42 same one, and it adds a lot of
consistency to what we're doing. 12:45 Now, I'm going to show to you quite quickly
what the resource is directly. This one, 12:50 so it's this Snowflake instance that we're using. 12:52 Do not worry, the password is encrypted,
so you cannot access the Snowflake one. 12:57 Essentially, what is interesting about this is…
so, for those of you who aren't aware, Snowflake 13:03 is a data warehouse where you can store a lot of
data in different tables and different schemas. 13:08 What's interesting is that in our configuration, 13:11 we have something called
user roles inside Snowflake. 13:14 And essentially how a role works is you
can grant permissions to any given user, 13:20 so in this case to this user role, 13:21 so that he can only do certain actions inside
the data warehouse and the database layer. 13:26 In this case, we're using something called
Retool-write role, and as you can imagine, 13:30 this means that, um, well, our
connection is allowed to read, 13:34 but also write back data to our Snowflake
instance. This is very interesting, 13:39 because let's say that I was configuring
this tool so that anybody that was vibe 13:42 coding inside Retool would only allow it to read
data, I could configure a user role to do this. 13:47 Um, in Snowflake, call it read-only, for example, 13:50 and in that case, nobody would
be able to write back data. 13:53 It's a very good way of securing all
of your connections and making sure 13:57 that whatever you're building on top of these. 14:00 you have control over what's happening.
If I actually wanted to go even further, 14:04 here we're using a user role which is the same
for all of us, because it's in the configuration. 14:09 We could actually go one step further
in terms of authentication. Here, 14:12 it's basic authentication, we're all using the
same one. But I could also use things like. 14:17 co-auth, which is a per-user authentication. What
this means is, let's imagine that I was in the 14:22 marketing team, and you were in the financial
team. Well, I would only be allowed to see. 14:28 marketing data in my case, and you would
only be allowed to see financial data, 14:32 and this would be linked to
your own Snowflake account. 14:35 This is very powerful, because it
means that whatever you're building, 14:38 you'd be building on top of your specific user
interactions with the different resources. 14:42 And I've upgraded into inherits of this, which
really gives you a lot of control in Gironality, 14:48 and a lot of security around how you're building. 14:52 I'll make a quick stop here, and…
I think we've covered resources, 14:56 so what I'm gonna do is I'm going to go back
to the building part and see where we're at. 15:02 Now, there's quite a few things that we can see. 15:05 First of all, you can see that it's streaming
in live, and actually you can see this live as 15:10 I'm talking, that things are happening on our
screen. So there's quite a lot of information 15:13 that's going on, and I'm gonna try and
give you a better way to navigate this. 15:18 The first thing is, our assist tool works
in two phases. The first route is around. 15:24 planning, so creating a plan
about how it's going to answer 15:27 to the prompt that we've done. And the
second part is around implementing it. 15:31 So, as we can see, the plan right now that
it's created, and you probably have something 15:35 that's quite similar, is it's going to
explore the Snowflake database schema, 15:38 then it's going to design the application
layout and define the data flow independencies. 15:43 So essentially, what it's doing is that
it's first looking at the data we have. 15:47 Then, scaffolding the application to make
a layout that makes sense linked to this, 15:51 and then adding all of the logic and
business queries that we would want. 15:55 to make these applications work. So, in this case, 15:58 what I can see is that exploring the Snowflake
schema, it's found a table with customers. 16:04 It's found fields, things like
name, licenses, active licenses, 16:08 platform, revenue, industry. So, this is. 16:11 well, I mean, it's pretty good in the
sense that we're building a licensing app, 16:15 so at least it knows that it's going
to be able to go into that direction. 16:19 And then I can see, um, by toggling
down all on the different steps, 16:23 a bit more information around
what it's going to build. 16:27 Now, I find this actually very interesting, 16:29 because it's giving me a summary of
what it wants to build in Scaffold. 16:32 And if I'm trying to debug an application
or understand what's going on, 16:35 it's giving me a lot of information around that. 16:38 So what I can see, for example, on
the main page is that the first thing 16:42 that it wants to show me is text called
app title customer license management. 16:46 And if I go into my canvas, I can see that,
for now, I have something called app title, 16:50 and it probably, at some point will
change to Customer License Management. 16:54 At least, this is exactly what I'm
expecting from what I'm reading. 16:57 So this is the first way that you can sort
of navigate and understand what's going on, 17:01 is the interface will give you a lot of insight
around what's going on and what's happening. 17:05 It's the same thing when it comes to the technical
specifications. I won't get into the details, 17:10 but if you want to take 10-20 seconds to sort of
read this through to understand what's going on, 17:15 I think it's good for you to sort
of see… to see this in action. 17:18 There are a few things here, for example, that I
can see. I'm seeing actions like create customer 17:23 modal, so I'm expecting at some point to have
a modal in the workflows that I'm looking at. 17:27 And these are the kind of
things where I'm looking into. 17:31 Now, the second part that it's
doing is the implementation plan. 17:35 Everything about setting the app
theme, the containers, the modals, 17:38 the UI, and then getting into configuration
when it comes to the different components. 17:43 So, I'm going to scroll a bit down. There are
a few things that are interesting that we'll 17:47 get in. I can see that there's a mention of an
app theme, so I'll show you theming a bit later. 17:52 It's added quite a few UI components, 17:55 and right now it's configuring
component properties and labels. 17:58 So essentially what it's doing is going
over what we saw in the first part, in the. 18:04 Uh, in the themes and colors, and making sure
that everything is named in the right way. 18:09 What I am going to do is just check to see
if this one is a bit further down the line. 18:14 No, it isn't. Do not worry if it takes
a bit of time. I know that we're quite 18:17 a few building at the same time, which means
that… which generally doesn't happen this way, 18:21 where we're 30 people building
on top of the same instance. 18:24 So, it may take a bit of time, but
bear with me, we'll be more than fine. 18:30 By the way, what I can see right now is
that the app title has just been changed, 18:33 and now it's been Customer License Management. 18:37 What I'm gonna do right now is show you a bit more
of the configuration, because we've talked about. 18:43 resources in general, and how we can connect to
those part of the application and secure them. 18:48 But there's also something to see around, well, 18:51 permissions in general. Let's say that
I want to build an application where 18:54 there are certain parts where I want some
users to have access to, and others not. 18:58 Well, that's not directly linked to my
database layer, it's more linked to, um, 19:03 well, permissions in general in groups.
This is also something we can configure, 19:07 and I think it's a good time
for us to look at it right now. 19:10 If you wanted to do this, what you would do is, 19:12 though, you can click on the
Retool logo on the top left. 19:15 And you want to go to the settings. Now, 19:20 I believe right now, when it comes to the
settings that we have for EMEA agents. 19:24 quite a lot of you are not administrators
of the instance, of course, because we, 19:28 as you can imagine, I didn't want all of
you to be deleting all of the data and all 19:32 of the setups that we had. So, for this, I
think you have to watch this on my screen, 19:36 but if you want to afterwards look into
this on your own, if you set up an instance, 19:41 you'll be automatically admin
and have access to most of this. 19:45 So, when it comes to groups and permissions, 19:48 we can set up groups that have access
to different parts of our application, 19:51 and our vibe coding tool will inherit of a lot
of the security features that we're putting on. 19:57 So one example that I could give you is, 19:58 let's say that we wanted to create
this no snow snowflake group. 20:02 If I click on this, what I can see is. 20:05 all of the applications that are being built,
and I can decide if my users are going to have. 20:10 Uh, well, the granularity that
I want to give them access to, 20:12 if they're allowed to only use
the applications, edit them, 20:15 or if they own them entirely, which means
that they're also capable of deleting them. 20:19 The same goes for resources. In
our case, what I could do is… Um, 20:24 if we had two people from the marketing team,
but one of them was, like, a higher-end manager, 20:28 and the other one was somebody that
was quite down low in the organization. 20:31 Potentially, I wouldn't want them to
have access to the same marketing info, 20:34 but I would both want them to still be able
to read and write back from a database. 20:39 Well, in that case, what I could do is I
could set up on Snowflake different types of. 20:44 Uh, granularity as to what they're able to
see. So some of them would be able to use 20:48 and see Snowflake, whereas others wouldn't
even be allowed to see the Snowflake data. 20:53 So this is exactly how you would do this,
and if you want to know more about this, 20:57 feel free to ask me questions at the end. 20:59 There's going to be a Q&A session I can go
a bit deeper into this. But essentially, 21:02 you can create any group you want, set
permissions on application, resources, 21:07 and anything inside the retool environment,
which is going to allow us to go a bit further. 21:13 This being said, I'm going to
go back to what it's building. 21:18 What I can see right now is that it's actually
started building quite a few things, and I hope 21:22 for you too. I'm at a stage where it's asking
me to validate and run queries upon my data. 21:30 This is super important, because
essentially what I don't want is. 21:33 to run… well, this vibe
coding tool to run rampant, 21:36 and run any kind of query against my database. 21:39 And so right now, what I have is a preview of
this, and what I can see reading it is that, 21:44 essentially, this is a query that gets
data inside my inside my database. that 21:49 comes from my snowflake instance, and
it's applying a few of the filters. 21:53 I can even see that a few of the filters are
named, so I'm going to be able to re-find them 21:58 in my application afterwards. You have to
run these queries. You can run them… so I'm 22:02 gonna ask it to always run the queries,
so it's always gonna be prompted to me. 22:06 If you want to not have to, if you want it to
auto-accept, you can do this and auto-approve 22:11 all of the queries. I'm… with the prompt that I've
done, I'm expecting it to be two to three queries, 22:18 one to get the data, one to create a new
customer, and one to update a customer. 22:23 So, um, what we can see, by the way, is that
every single time that it's running something, 22:28 it's going to change slightly the
UI, tell you if it's worked or not, 22:31 and carry on to the next step of the execution. 22:34 I'll do the same thing on the
other end, as you can see. 22:37 both of them are kind of in sync.
It's also going to be interesting 22:42 to see the differences between
both of them later on the line. 22:46 And, uh, as I said, so please do
not forget to run them. You can 22:49 also decide to auto-approve them
if you think that that's, um. 22:53 the way to go for you. While this is running,
I want to bring your attention to another part 23:00 that's very interesting when
it comes to vibe coding, is… 23:04 One thing that's very complicated is to
have a good quality and output quality, 23:08 and have vibe coding tools follow best practices
when it comes to building applications. 23:14 The first thing that we can see is that
everything that I have in my canvas, 23:18 so if you look at the canvas on the
right-hand side, is named correctly. 23:21 I have things like. filter
container, like app title, 23:24 like, customers table. This is very good,
so it's… it's a very good best practice, 23:29 but what it's trying to do is follow
the best practices all of the time. 23:33 Another thing that's very interesting when
it comes to best practices is, generally, 23:37 this is something that you have when you, for
example, want to rebuild the same thing twice. 23:42 It's not using the exact same table. So if
you have a very big application with multiple 23:46 table components. Nuro is not always using
the same one. Because Retool historically, 23:53 it comes from the visual interface world, 23:55 where we have a design system and a lot of
different components. Everything that it's 23:59 building is also following the best practices
of our own library that we've created. 24:03 If you want to see this library, you can click
on the top left on this button, which is called 24:07 Add UI, and here you have all of the different
components that exist inside the retool library. 24:14 By the way, you can extend this by using
code if you really want very custom-made 24:18 components. And everything is creating right
now, so this customer table, for example, 24:23 is an exact representation of
the table that you see here. 24:26 So, it is a table with all of the configuration
panel on the right. And I'll get back to this. 24:31 Slightly after. Right now,
in terms of best practices, 24:36 so what we can see is that it's a step
10, it's binding the query to the data. 24:40 So essentially what it's doing is making sure that
our customer table will show the right things. 24:46 what I'm gonna do right now, since it's
taking a bit of time, is also look into. 24:51 the low-code aspect interface
of the editor. As you can see, 24:55 everything that we're building
is being shown on the canvas, 24:58 but I also have access to all of
these elements around across the 25:01 board. So I can click on them, I can
look in the inspector what's going on. 25:06 And this is very interesting
to me, because it means that I 25:08 have different levels of appreciation of
how I can see that things are going on. 25:13 Right now, for example, in this case, I can see
that it tells me that it's got no rows found, 25:17 and this is what I'm a bit interested by, because
I'm wondering why I don't see any customers. 25:22 Now, it tells me that the
data source, the getCustomers, 25:24 is empty. If I look at it when I open the
configuration panel. So if you have the same 25:29 thing as me and you want to see this,
you can click on the customers table. 25:32 Open the inspector, and potentially you'll
have this which says the selected data 25:36 source is empty. What I'm going to
do then is look at that data source. 25:40 So on the left-hand side, if I go down to
the fourth one, which is the code editor. 25:45 I'm going to see that I have a get customers query
right here, which is pre-populated with data. 25:51 By the way, this is exactly the
same script that you saw in the chat 25:55 interface. We've made sure that we always
have consistency when it comes to this. 26:00 So, I'm going to run this again to make
sure that there's no results returned, 26:04 and first of all, this is sort of
reassuring to me, because it means 26:07 that it isn't a problem between the connection
that I have from my query to my data source. 26:12 Now, when I look at this, the
first thing that I'm thinking 26:15 is that it's probably the filters
that aren't working as expected. 26:18 So I'm just going to remove the filters for now, 26:20 to make sure that nobody's
deleted the entire database. 26:24 So let me just test it out
and see if we can see things. 26:28 Okay, so my intuition was right on this case. As 26:32 we can see on the right-hand
side, I have access to the. 26:36 customers table, and in this case,
I can see that I've got data. 26:40 Now, I've more than certainly broken the
filters, so I'm not expecting this to work, 26:43 because I've removed them from the query. 26:45 But at least we know what the source is, 26:46 and it's gonna be a great use case for
when we start editing applications. 26:52 Next thing I'm going to do is just see if the…
So, the initial build is finished, as you can see. 26:57 Right now, the last step, generally,
is an explanation of what's been done. 27:01 So, what I'm going to do is I'm
just going to read this out, 27:04 and I'm also going to give
you 20 to 20 seconds-ish. 27:07 to make sure that you also have time to finish 27:09 your applications for those of
them who are building with me. 27:12 So what is it saying? It's saying that I built a
customer license management app using Snowflake, 27:17 I include… it includes a main table of customer
details, name, and min-max license filters. 27:22 Create and update customer flows, event handling
to refresh data, and close modals on success. 27:28 And so, essentially, it's telling me
that I've got an interface where I can. 27:33 Filter, create, and edit. So, let's test this out, 27:36 even though I do know that
the filter is not gonna work. 27:39 Now, if you want to look at the application
when it comes to, um, what it looks like. 27:44 The first thing that we're going to do
is we're going to click on this button. 27:47 You can view the application in edit mode, 27:49 I just feel as though it's a bit… it's a bit
nicer to use, as though you were an end user. 27:54 Now, for one, I can see that it's got the 50
results that I have. It's got a few tags for 27:59 iOS that I find kind of nice. I would have
liked to have them for the industry too. 28:04 It's… I've got to create customer modal, 28:07 so this is pretty good. I would have probably
wanted it to add a title here quite quickly. 28:11 Um, this looks pretty good. There's one thing
that I find a bit weird when I look at this, 28:17 is I don't see an ID field, so I'm
not going to try this right now, 28:20 but I am going to try and look
at what the edit part looks like. 28:23 So let's say that I want to edit this one. 28:26 And I'm just gonna call this…
Um, yeah, just add Enterprise, 28:32 for example, to this name, and change
the licenses. If I update the customer. 28:36 Is this working? Perfect. So the edit
model works. As you can see in my table, 28:42 I've got something that's already
working when it comes to editing it. 28:45 aerospace parts, uh, Enterprise has been added,
and I can take it away and go back to it. 28:52 So let me just update the customer. Um… By the
way, we're all using the same data source, so 28:57 it isn't impossible that a few of you, if you're
adding things, creating things, deleting things, 29:02 that my interface will also show. As I can
see, I've got 51 results, so one of you has. 29:06 probably added, uh, something
somewhere. So, if you see things 29:10 that are evolving that you haven't done,
it's completely normal. It's because, 29:13 well, we're all on the same instance,
and we're all using the same resource. 29:16 So that's actually extremely
good that I see one result more. 29:20 So, thanks to that builder who's doing
that, and if I've refresh this, you can 29:23 see 50… 50, and I should get to 51, because
somebody's… added a new instance to this. 29:31 So, what I want to do right now is take
a bit of a step back. What have we done? 29:36 We've done a one-shot prompt, which 29:38 essentially means that in a one-shot prompt,
we've got it to understand our connections. 29:43 to reuse the security that's linked to it.
We've got it to create custom fields or 29:49 filter fields that don't necessarily
work, but we're going to get there. 29:52 Create the different modals, and
view everything that we want to view. 29:55 So now, I'm going to go into, well… How do I edit
this? And what's the best way of editing this? 30:01 Now, the first thing that I want to say is that. 30:03 We can actually repeat the same process when
it comes to editing applications. So here, 30:08 what I want to do is actually say, well. 30:10 maybe the first thing that I want
to do is make the filters work, 30:13 and so that's what I'm going to try right
now, and this would be how I would do it 30:17 if I was building this application. I would
first try using it through the interface. 30:21 And when I used the first ad. I mentioned
resources, but there's another thing 30:26 that you can tag. You can actually tag
anything inside Retool. So my query name, 30:30 I'm going to refine the query name.
So to do this, I'm going to go on the. 30:33 Fourth tab and open this up. It's
called, uh, Get Customers Query. 30:38 And I'm gonna tag that resource… well, that
query specifically. So it's called… Create 30:44 customer query, and I'm gonna say… Can you, um…
can you please… change this so the filters apply. 30:54 And while I'm gonna run this, uh,
what I'm gonna do is that I'm going to 30:59 show you other ways that I can modify
things inside the Retool platform. 31:03 I'm actually also going to
just run this one in case, 31:06 so that we have… a better… another
example where I can run other threads on. 31:11 This is something that we do quite a lot
when you want to have threads in parallel, 31:14 just to show you a lot of the capabilities that
we have. So I'm going to auto-approve this, 31:18 save this so that this goes through.
Now, let me just get back to where I am. 31:24 So, we're going to go back to this.
Right now, what I can say is that. 31:28 We've seen that you can modify and edit
things through the chat interface. You 31:32 can also do this using the
no-code tools that we have. 31:35 So, for example, I don't think it makes a
lot of sense to have the create customer 31:39 button be right here, because it's in
the same… it's in a filter container, 31:42 and I don't think it should be there. I should
think it… I think it should be at the bottom. 31:47 When I'm doing these kind of things, generally, 31:49 vibe coding tools only allow you to
do things through the chat interface, 31:52 and so if you want to move a button, like,
20 pixels to the right or to the left. 31:57 you can't just do it in drag and dropping, 31:59 but this is something that we
can do. So to do this, you can. 32:03 simply take the button itself, drag and
drop it, and I'm going to put it downwards. 32:08 Now, is this the best UI ever? I don't know, 32:11 but I don't want things… I want
to separate things a bit more. 32:14 Also, as I mentioned, I thought
it would be a bit better if. 32:18 in the industry part, we saw tags instead of,
um, just, well, just classic text as we see here. 32:25 So what I'm gonna do, too, 32:27 is I'm going to click on the Customers
table, and go to the Inspector phase. 32:31 And right now, what I see here is all of the
configuration panel when it comes to a table. 32:36 And this is very powerful, because it's allowing
me to do what we call multimodal, chat, but also. 32:42 visual interface modifying. So let's say
that for some reason I wanted to show the 32:46 ID. If you click on the three buttons
on the right, you can show this column, 32:49 you can then re-re-hide it if you want
to. But what I want to do is change the 32:54 type of the industry column. So
I'm going to click on industry. 32:58 And here we see the format as a string, 33:00 and I'm going to change this
to… attack. Perfect. It works. 33:06 So this is sort of how I think when I'm going
through things. For very mind-changes where 33:11 I don't… where I can see it quite quickly, you
want to use, uh, directly the visual interface. 33:16 For more complex problems, or things where
it comes to logic, you can ask Assist. 33:20 And what I'm going to do is see what it's told me. 33:24 So… It's telling me, oh, I tagged the wrong
resource. Well, there you go. So that's why 33:31 it's… so this is… this is great. What
is it telling me? It's telling me that. 33:34 He wants to update the create customer query, 33:37 but it's an insert query. So what I'm trying to
do doesn't make sense, and he's completely right. 33:41 Right now, what's happening is that I don't
want… why would I add a filter to creating a 33:45 new resource? This doesn't make sense. So, the one
that I should have tagged is the getCustomerQuery. 33:51 Uh, for practical reasons, I'm then
gonna… I'm just gonna import this from 33:54 an application that I've already built that
listens a lot… well, resembles a lot to this. 33:59 Um, and I'm just gonna import that
in the code. This is actually the 34:03 last way of modifying things, so my
bad for tagging the wrong resource. 34:07 Um, it's actually using code directly. We know
that for certain use cases, we have customers that 34:12 really need to get very specific when it comes
to business logic or things that are going on. 34:16 And we allow… we allow you to do this
in the platform. So I've copy-pasted 34:21 this. There's just one thing that I need to check, 34:22 is that the naming of the components are
the same from that application to this one. 34:27 So, the filter customer name seems to be the same. 34:30 Same for licenses, and same for max licenses. 34:33 This is actually a pretty good tell that,
well, as I was talking about best practices, 34:38 it's actually using the same naming
conventions from application to application. 34:43 So this is super powerful when it
comes to me, if I want to maintain 34:46 multiple applications at the same time. It's
building in a way that's super consistent, 34:51 reusing my elements, reusing my
names. So I'll just save and run this. 34:55 Uh, hoping that it works. And we can
actually try the filters themselves. 35:00 Since I've added this, and this might
be a problem, I'm just gonna add this. 35:03 In case you need it, into the… Assist webinar
feature, I'll just add this at the bottom. 35:09 If you do… if you have the same output
as me, this will be useful to you. 35:13 The only thing that you need to be wary of is. 35:16 is the name of my components the same
one as on the page? And as I told you, 35:20 the filter customer name, you can see it. 35:22 If you hover the different elements on the page. 35:24 Now, I'm going to try the filter out. So I'm going
to re-go into navigation mode, because I think 35:28 it's the… It's the… it's the better one, and type
arrow. And boom! Here we have it. It's working. 35:36 So, um, this is… I think this is really good,
because it really shows how you can quickly 35:40 get things set up, and if you need to go into
more granularity, you can, so you don't end up 35:45 in that infinite loop of always prompting
without really knowing where you're going. 35:49 I'm also going to make sure that the
minimum to maximum licenses is also working, 35:53 so let's set this to 4 and this to 20. 35:57 And… I think that's… I need to… oh, you need
to click out of the 20 for it to actually 36:04 register. So here, as I can see, all of the
licenses seem to be between 4 and 20. So… 36:09 I'm… honestly, I'm super happy about
this. going forwards, there are a few 36:16 things that I would also want to do, and that
I wanted to show you. Now, the first one is… I 36:22 think that if I was a manager that
was doing customer license management, 36:25 I'd love to have a bit of a dashboard
aspect to this, to sort of see the 36:30 number of. the number of customers I have,
the number of licenses, what's going on. 36:34 So that's one thing that I'm going
to prompt it, to go a bit further, 36:37 and to really see how this works. So I'm
going to ask it. Can you add… actually, 36:41 I think I've put this in the instructions,
so I'll have… use the exact same one as you. 36:47 Can you add metric to this around
customers with a dashboard-like experience? 36:51 So I'm going to ask it to
do that in this instance. 36:54 On one end. So this is one thing that I would
want to do. So to add a bit more interaction, 36:58 a bit more… well, a bit more to this application. 37:00 And so I'm hoping that in this case,
it's going to get queries still based 37:04 on top of my Snowflake instance.
And on the other end, for example, 37:07 I would love to change the
theme of this application. 37:10 I don't know for you, I'm a huge fan of dark mode,
so I'm actually going to want to change the UI. 37:17 Now, since this thread is running, I'm going
to be running this in a parallel thread, 37:21 so in one, for example, in
this one, if it's completed. 37:24 Just to show you how this could interact,
and how we can interact with theming. 37:28 On this, so what I'm going to
do is, uh, change the theme. 37:33 And I'm gonna use, for example,
Netflix theme, to the Netflix team, 37:40 change the theme to the Netflix one, if… possible. 37:45 Sometimes it's good to be a bit
nice to your chat interface. 37:49 So, what am I doing here, essentially?
I'm asking it to change a lot of the UI, 37:53 a lot of the components when it
comes to theme, but as you can see, 37:56 I mentioned Netflix that I misspelled,
but luckily it's more intelligent than me. 38:00 And… very nice, so I think this
is… This is probably the red and 38:04 the black from Netflix that we all know and love. 38:07 And this is very interesting, because
what we've just realized is that, um. 38:12 Our chat interface is also aware of things
on the outside, and so it found the Netflix 38:16 theme. At no moment did I have to tell it, oh,
do you know what Netflix is, what's going on? 38:21 And this is actually very powerful, because it
can integrate much more than just the platform 38:27 itself, and answer questions. that are very
specific to different things on the platform. 38:31 By the way, it set the app theme directly, and
that's another thing that we have in terms of 38:36 governance, and in the same vein, making sure that
you build applications that are consistent across 38:41 everything that you're building. It's
setting something called the app theme, 38:45 and if you want to look at what the app theme is. 38:47 You can click on the app settings, which
is the last one on the left-hand side 38:51 panel. You can then go to the app theme
right here, and if you click on Edit. 38:57 you will see that all of the colors
that it's inputted right now. come 39:02 from our agent. And so, Agent,
which is a chat interface, um. 39:06 It's an agent behind the scene if you… if you 39:08 want to know more a bit about
how this works under the hood. 39:11 So this is very, very interesting, because
it means that also ASSIST can help us 39:16 create our application more globally, and
really configure this at a global level. 39:21 So we've done this with the theme. And that's
great. And it can also answer more questions. 39:26 Initially, in the first thing that we told
you, we also think that it's very important 39:29 for our customers to have vibe coding
tools that are useful in their cloud, 39:35 on their data, and so that's actually one
thing that I could ask this interface. 39:39 Do you know how I can host. a retool application. 39:46 This is a great question
to ask, in the sense that. 39:49 If you're trying to find information about Retool, 39:51 it's also an assistant that can help you
at any point while doing this. And so we 39:55 find this extremely powerful when
it comes to having also a sort of. 39:59 retool docs when it comes to this. And if I
look at the response that it's going to give me, 40:04 it's telling me, uh, the simplest
option is using Retool Cloud, 40:07 which is what we're all on today, but
you can also do self-hosted deployments. 40:11 And it's linking me links where if I open
them, it's going directly to our documentation. 40:16 So you also have an assistant that's aware of. 40:19 the ecosystem that it's in, and
that can find information from 40:23 the internet and other places and other sources. 40:25 So don't hesitate to test this out.
Very useful when you're building. 40:29 In the same vein, one thing that
we've realized many people… well, 40:34 it's a bit of a hurdle that
we all have at some point, is. 40:37 what happens when I arrive on the
application, I don't know what's going on, 40:41 I don't have any documentation, and
I want to know what's happening. 40:44 Well, since ASSIST is aware of the
structure of all of our application, 40:48 it's capable of telling you what's going on. 40:50 So what I'm going to do is ask it,
can you… explain this application. 40:55 To me, and I'm expecting it to
be able to tell me exactly what's 40:59 happening and what's going on. And what we see is. 41:02 When you have people that are coming
and leaving, that are vibe coding, 41:05 it's a great thing to have a way to
document your applications by default, 41:09 and to be able to have them be, well,
understood and explained to you. 41:13 So, don't hesitate to run these
prompts as you're going with me, 41:16 and you'll see what's going on
and how it can help us do that. 41:21 So, what it's telling me right now, 41:23 and I'll just… because I probably have
a query to validate on the other end. 41:27 Oh, actually, I don't, perfect. So
what… what this answer is filtering, 41:31 we're going to quickly look into what it does. 41:33 It's telling me you have… you've got a
customer license data with full CRUD, 41:37 create, read, update, delete. 41:39 It's giving me the different
fields, the different features, 41:42 everything that I need to understand
what's going on with the different queries. 41:46 So there you go in terms
of explaining applications. 41:49 Super powerful. And I'll just wrap this up
in terms of build-along. by going back to 41:55 our initial build and seeing the dashboard
metrics that we wanted to put into place. 41:59 What I can see right now is that
it's been able of creating this. Now, 42:02 it's put this below the UI just above. 42:05 We can see that we have the total number
of customers, the amount of licenses, 42:08 active licenses, and this seems to be
connected in real time to our… to our table. 42:13 As I can see, I've got 54 results here,
54 customers here. So what I'm going to 42:18 do is I'm just gonna edit and change
the number of licenses by one more. 42:21 And I'm expecting the total licenses and
active licenses to be updated with this. 42:26 So, just running that. And…
perfect! It's been updated by 1. 42:32 So this is exactly the strategy that
we want more and more people to do, 42:36 is use our Vibe coding tool on top of your data. 42:40 To secure them using the. at resources
that you've already configured, 42:45 their permissions. We mentioned also other
things that I haven't gone over, things like. 42:49 SSO, things like role-based access control, 42:52 things like having just-in-time integration when
it comes to adding new people to the platform. 42:57 And all of this is… culminates in a product, 43:01 and that you're going to be able to
vibe code and secure at the same time. 43:06 So, what I'm going to do is… quickly
go back to what we've seen today. So, 43:11 what to keep an eye out for building from now on? 43:14 There are 3 main things that I want you to keep
an eye out when you're building more. The first 43:17 one is you can at-mention resources, and you
can actually go further than that, as we saw, 43:21 because you can also mention queries,
elements on the canvas, whatever you want. 43:27 Also be aware that ASSIST has
full context over what's going on, 43:30 so it has knowledge around components,
queries. It can also do things like explain 43:35 what Snowflake is to you, or explain
what was in the Snowflake instance. 43:39 We could have… that's something that
we could have prompted to understand 43:41 what was in that database and what was going on. 43:43 So it's really a way for you to understand
everything that's going on when you're 43:47 building and make this much simpler and
accessible to a lot more builders. And 43:52 you can add guardrails on every single one
of your queries and more, like, themes. 43:56 The idea here is that. It will… well, first
of all, there's the human-in-the-loop part, 44:00 where you accept all of the queries,
that's what we saw when we were building. 44:03 We had to run the queries manually. And there's
also all the configuration that we do around this. 44:08 As I just mentioned, to make sure that you're
building enterprise-grade applications. So this 44:14 is the end of the build-along part. What I'm
going to do right now is go into the Q&A phase. 44:21 I don't know if there's anything
I need to address just before, 44:24 um, Amavir, if I have no answer in
10 seconds, I'll just move to Q&A. 44:35 Perfect, so I suppose this means that we're going
into this, so let me just… I'll just have a quick 44:41 scan through the questions, and I'll try and
answer as many as I can in the remaining time. 44:46 So, uh, will we have access after this webinar
to try this build later with the recording? Yes, 44:51 you will. We'll be posting this on our
YouTube channel, so you can find it there. 44:56 And I think there may be an email
that we send to everybody that 44:59 applied with the YouTube link. So, in any case,
you can find it. If you type Retool on YouTube, 45:04 and it may go directly into your mails. 45:07 The second question is, can you
define your own best practices to 45:10 apply to the agent? That's a great
question. So… you can do this. 45:15 Right now, um… I think you… so I don't
know where this comes from. If you're 45:19 using other tools like Cursor, for
example, you can actually write, 45:23 uh, markdown files directly, where you define
the best practices that the agent will apply. 45:29 This is something that we're
building in right now into 45:33 the agent itself. It's something that
we're looking at quite deeply. The best 45:37 practice is today that it's using
by default are the ones around. 45:41 Um, using, well, our pre-existing
resources, the naming conventions, 45:45 and a lot of things that we've put into
place into our system prompt. What you 45:49 can do in any case is you can, in the prompt
for every single application at the beginning. 45:54 tell it the best practices that we want to reuse, 45:56 but that is something that we would like to
govern at a more global level, and that's coming. 46:00 As I said, it's, it's, um… It's still
a beta… it's still a product in beta, 46:05 so we're really working on this to
try and make it as good as possible. 46:09 Before answering another question, actually,
I've just realized I've forgotten one thing. 46:13 In the building process, you have feedback
that you could put right here, uh, if you can, 46:18 I would be more than happy to… for you
to share the feedback with the team. 46:22 It's something that's super valuable
for us, and will allow us to, well. 46:26 understand more what you're
doing, what you're working, 46:28 how you're working, and how you
would like to see this evolve. 46:31 So, if you want to share feedback with
us, please do it through this. It's the 46:35 best way to get into touch with
our product and engineering team, 46:38 and we'd love to have more of your
feedback on the assist directly. 46:42 Going back to the Q&A, so… I'll just switch this
to the answered part. Will we have access to after 46:50 this webinar to try… sorry, I've already
answered that one, so I won't answer that one. 46:53 Can I apply agent to the workflow, and if I
can also make my Retool app public? If yes, 46:58 what of security? Okay, so… I… making sure
that I've interpreted the question right. 47:07 I think you're doing a reference
to our retool workflows product. 47:11 So, this is our automation,
our backend automation tool. 47:14 For those of you who aren't familiar
with this, I'll very quickly show, um. 47:18 what our workflows product looks like.
So I'll just create a new workflows. 47:23 If you want to find this, you click on the
logo, you can go to all the workflows tab. 47:27 Create new workflow. And essentially, it's
our backend automation tool, where you can 47:34 add different scripts, components, and link
to resources to everything that you're doing. 47:38 Right now, we don't have…
the agent doesn't work on, 47:42 uh, workflows. It's something that the
engineering is working on right now. 47:46 We want to make sure that everything that you're
building, be it the front-end application, 47:50 the workflows, or even the authentic part that
I haven't mentioned today. will be able to be 47:55 built using ASSIST, and ASSIST will know, as we
said before, everything that we've configured to. 48:01 for whichever product that we
have. So, for the time being, 48:04 it's not something that we can do, but
it's coming extremely soon in our roadmap. 48:09 The second question was, can
I make my app reader public? 48:13 So, yes, you can make it public, and there
are sort of different ways of doing this. 48:18 You can either embed the application into
another one, or just make it directly public. 48:23 What happens in terms of security? This will
depend on the configuration that you've set 48:27 up inside the tool. If you make it go through a
certain authentication flow, then you will have. 48:33 the same, um, groups and permissions as
you saw in that part, in that aspect. So 48:38 if you go towards that tab, and you define
that, the app is public or not public, 48:43 it doesn't change anything when it comes
to what is applied in terms of security, 48:47 so you can define that exactly the same way.
Is the AI agent capable of searching the web? 48:54 So… Right now, the AI agent is capable of
searching the web. But it is something that we 48:58 are limiting, in a sense, as we don't want this to
be used as if it was, like, a chat GPT or to-do. 49:06 many more things than Building Retool. So,
it will only… it will mainly find information 49:10 that's useful if it thinks that it's relevant
to building, editing applications inside Retool. 49:15 This is also a way to protect
ourselves from whatever could 49:18 happen if it was starting to search on
the web. So, there are some capabilities, 49:21 but we've limited them to make sure that it's
still relevant to what we're doing today. 49:27 Now, when it comes to our production SQL database. 49:30 How can I have… Rita know what the
tables and references between them are. 49:34 Currently, I have taught ChatGPT this manually, 49:37 explaining the database can
retool, scan, and learn my setup. 49:40 That's a great question, and the answer is
yes, and I think that's the main thing, um. 49:45 That's the main thing today, and the main
reason why people are coming to Retool to 49:49 vibe code, is that it will be able to
understand what joined queries are. 49:54 We… part of the… as a part of this AI Build Week, 49:57 we had one yesterday with Keanan on the US
side, who looked into that specifically. 50:03 It might be good for us to… I don't know if,
Daniel, you have the link to that, but I'm pretty 50:08 sure in that one, he goes into the, um. into a
production SQL database, into how join works. 50:14 It is true that here there was just
one table, but it understands this, 50:16 because when you scan the database, you can
also know what the joins are, what the different 50:21 foreign keys are that you've set up, and so it
is context-aware of how your database is set up. 50:27 And what will happen is. As you saw
when I was building the first spot, 50:30 was it scanning the schema? 50:32 In this case, there was only one
table that I had given access to, 50:35 because we didn't want to give it access
to our entire snowflake, but in your case, 50:38 it will scan the entire SQL database,
and that will work, that will work. 50:44 Can I use production data when vibe coding
with Retool? I think in terms of general 50:51 practice. I would never advise you to directly
use production data while you're vibe coding. 50:59 If you're modifying things, and. I
think the beauty of our own retool 51:03 is that you can actually reproduce your
SDLC pipeline, and so what I would do is. 51:09 As if you were doing more traditional
engineering. If you have a production 51:12 database and a replica of this
which is staging, for example, 51:15 I would set up that in staging, so
that when you're building applications, 51:19 you're not, for example, removing the
entire production database by error. 51:23 Um, these are more linked to how
we work as engineering in general, 51:27 more than being a specific problem to Vivecoding. 51:30 The goal, of course, is in production, you
can have it talk to your production database, 51:34 and that's exactly what we're aiming for.
When it comes to. building and vibecoding, 51:39 I would advise you, if you're trying to do
enterprise, to have a staging environment 51:43 that is very close to your production
environment, but with fake data on this, 51:46 so that you can do as you would in traditional
engineering, which is create all the features, 51:51 test it out with a lot of different data,
and this will actually allow you to go 51:54 faster with less fear when you're building of
interacting directly with your production data, 52:00 because otherwise you are doing that. So
when I was editing, for example, a customer, 52:04 it would have edited a customer
in your true production database. 52:09 The next one are, how are credits
allocated? If I ask a simple request 52:12 versus a more complex one, are the credits
assigned differently in those situations? 52:16 That's a great question, um, to be completely
fair, actually, I'm gonna have to skip that one, 52:20 because I'm not sure of how credit works
and allocation. I do know that for now, 52:25 you can use this for free until December. 52:27 That it will be a, um… it will
be a usage-based, um, allocation, 52:32 so there will be… there will be something
around the number of tokens, so of course, 52:36 more simple requests will have less allocation. 52:39 If I had to give you exact numbers, it's not
something that I could give you right now, 52:43 but it's a very good question.
If you ask this to me afterwards, 52:46 I can look it up with the product
team who's in head of pricing. 52:52 Is the assistant accessible via API? So,
that is one of the things that we want to 52:57 build out. I think that's… so that's still a
great question. Right now, it's not the case. 53:02 We actually had a hackathon internally last
week. It's one of the things that was, uh, 53:07 looked at, because we think it has a lot, a lot
of value, and we're definitely looking to do this. 53:12 So I've seen the premises of this
last week. We had a few engineers 53:15 try this out. I would expect this to
come at some point on the roadmap, 53:18 but today it isn't accessible. So, just
checking time, I still have a bit of time. 53:25 So the next question is, do
you have plans to implement 53:28 a feature that I can attach
a document or Figma design? 53:31 Great question. So, yes, I
haven't talked about the roadmap, 53:34 but there are quite a few
things that are coming up. 53:37 The first thing that you saw is that. Where,
right now, we did everything in a single page, 53:41 and what we're looking to do is extend
that to multiple-page applications. 53:45 You can already do this in traditional
retool, it's just that the feature 53:49 generation doesn't work when you have multiple
pages today, and that's coming very, very soon. 53:55 When it comes to inputs. We're looking
at attaching things like documents and 54:00 also voice notes if you want to add them, 54:03 so adding quite a few in videos too.
So this is something that's coming up. 54:06 very shortly, and you can expect that.
When it comes to Figma design, it's… one 54:12 of the top priorities that we have today, we're
seeing more and more clients come to us saying, 54:16 well, we just want to reproduce this Figma 54:17 directly, so it's something that
we're working on super actively. 54:22 Thank you for that question, that was a great one. 54:24 The next one is, can Retool Assist scan and
reference other apps I use within Retool? 54:30 That's a great question. Um, I haven't
tested this, so… This might be something 54:35 that I could test out live, and I'll just
see if it's capable of… I don't know. 54:39 Are you context-aware? of other applications. on 54:45 this instance. My gut feeling tells
me. tells me that it's not the case. 54:50 But I actually don't know, so that's a
great question. While this is turning, 54:53 I'll answer the next one and come back to this. 54:56 the Q&A doc is here. Can it read my OpenAPI
doc and learn how to reference it when needed? 55:02 Great question. 100% it can. So,
if I go back to the Resources tab, 55:08 so… for those of you who
want to see how you do that. 55:11 You go to the logo on the top
left into Resources. One of 55:15 the resources that we have is the OpenAPI spec. 55:25 It works extremely well when you're using,
let's say, create a new one, a new resource. 55:30 It works actually super well when using an
OpenAPI, as you can imagine, because of the 55:35 specification of the OpenAPI, it's very, very
good at knowing what's happening and what to use. 55:40 So, if I remember correctly, we were using
Stripe, and it's something that you can actually 55:43 see in action, where it's… It's going directly
into the OpenAPI configuration of the Stripe, 55:50 and it's capable of building an entire
application linked to monetization. 55:55 and a finance app built on top of Stripe. 55:57 Definitely something that you can do, 55:58 and what I would say is that today
it's optimized for using OpenAPI and. 56:04 any SQL kind, um, application using
CRAD. So let me just go back to the Q&A. 56:11 And… the last one that I want to
know, so is the… the question that 56:15 I haven't answered yet around scanning
of references, so let's look at this. 56:19 can read all Assist scan
references? Which one is it? 56:24 No, so as you can see right now, so my gut feeling
was right. It isn't context-aware, so it's only 56:29 context-aware of the current application and
not the other parts of your organization. 56:34 What's good, actually, is that it's
giving me more info on retool layers, 56:38 which also shows how good, actually, ASSIST is
at knowing the retool ecosystem and how it works. 56:43 It's really a great hand-in-hand editor to
be with. works super well on that end. So, 56:48 the answer to that one would be no. 56:52 Now, I think we're all done
for questions. Um, Amavir, 56:56 if there are any that I've missed that you…
that you see, please don't hesitate to tell me. 57:01 Other than that, I think we're good to go. So…
I don't think there are any more questions, 57:10 so thank you very much, everybody, for
coming to the… well, coming to this session. 57:15 Uh, we're super happy. This is actually the
last webinar that we're doing, part of our AI 57:19 Build Week. I hope you really appreciated
it. I've referenced a few talks before, 57:24 the ones with the Stripe API and the
one before using join tables on SQL. 57:29 Please don't hesitate to look at this.
If you, um… if there's another session 57:34 that we're going to run in one month
that's going to be done by Amavi himself. 57:38 Which is going to be around governance, security
across your applications, workflow, and agents. 57:43 Please don't hesitate to come to this. We're
also going to run a poll on this webinar itself. 57:48 Hoping that you really liked the session, 57:49 and that it got you more comfortable building
with read-to-wall and Vibe coding inside Retool. 57:55 So I'm very happy to have done
this, and thank you, everyone. 58:02 And Daniel, I'm gonna send it back to you, because
I think you're the one who takes over by now.