0:00 um so we're going to talk about building 0:01 applications faster and particularly 0:04 building applications for your external 0:06 customers 0:07 vendors Partners there's a number of 0:09 different types of users that use these 0:11 applications from what we've seen from 0:13 our own 0:14 customers um and the reason why is well 0:18 you know your customers they need access 0:19 to information and tools and their 0:21 expectations are pretty high right they 0:23 want the things quickly they want to 0:25 take action they want to see analytics 0:28 or data um and if you ship products for 0:30 example they want to see the order 0:32 status and delivery tracking or if you 0:34 want to provide a service um your 0:37 customers typically want to check their 0:39 usage billing details and account 0:41 settings or if you're running a SAS 0:43 platform like a lot of our customers um 0:45 your customers want access to their 0:46 subscription status and account 0:48 management 0:49 tools and what happens if they don't 0:51 have these tools or dashboards with the 0:54 information at their fingertips they're 0:56 often pinging your support teams asking 0:58 for data or asking update their email 1:00 for example or they might be complaining 1:03 online about missing functionality and a 1:05 customer portal in this case can make 1:07 your customers a lot happier potentially 1:09 reduce the support tickets that your 1:11 team gets and create a bunch of 1:13 opportunities to find ways to increase 1:16 revenue for your 1:18 business um I think we can all agree 1:21 here I think we'll have a poll going on 1:22 too which we'll love to learn more about 1:24 is you know building these customer 1:26 facing tools and portals can take months 1:28 this is what we hear from a lot of lot 1:30 of our customers before they come on and 1:32 try out retool um the things that 1:34 they're typically dealing with are an 1:36 endless backlog um so your customers and 1:39 businesses uh have a bunch of other 1:42 feature requests that you have to get 1:43 too and your engineering resources are 1:45 stretched then right how do you decide 1:47 what to prioritize how quickly can you 1:50 get um those applications built these 1:52 are all questions that are top of mine 1:54 and what this means is that getting to 1:56 Market testing features launching 1:58 features can take three six or even 2:01 sometimes many more months to build and 2:02 deploy um and every month that you delay 2:05 here is blocking your ability to learn 2:08 figure out what's working Drive revenue 2:10 and retain customers and then what we 2:12 see over the long term is if you're 2:13 building custom applications from 2:15 scratches your teams will start to have 2:17 to manage the technical debt they'll 2:19 have to maintain their applications um 2:22 versus building new ones and so that's 2:24 where retool comes in for those who are 2:26 joining who may be unfamiliar um just 2:29 want to provide context about retool we 2:32 help a lot of companies um some of our 2:34 customers like Amazon Taco Bell open AI 2:36 use retool to build Enterprise grade 2:38 apps they do this a lot faster than 2:41 traditional custom development um and 2:43 these these apps are web and Native 2:45 mobile apps and they are for both 2:48 internal or external users for in for 2:51 external users in this case our 2:53 customers typically build things like 2:54 partner portals analytics dashboards and 2:57 other vendor management tools and the 3:00 reason why they used retool is because 3:02 they can get much faster development 3:03 speeds by dragging and dropping over 100 3:06 of our pre-built react components um 3:08 they can also embed and and import their 3:11 own react custom components if needed uh 3:14 but basically they can whip up intuitive 3:16 uis in minutes and iterate with their 3:18 end users faster to be sure that what 3:20 they're building is actually going to 3:22 drive value for their 3:25 customers and they can connect to nearly 3:27 any database or API to centralize 3:29 information and remove data silos we 3:31 have a number of out of thebox 3:32 Integrations and a rest API for a lot of 3:35 the other data sources that our 3:36 customers connect 3:37 to and what sets retool apart from a lot 3:40 of platforms is that we are built for 3:43 developers we want to give developers 3:45 the tools that they need to build highly 3:48 custom highly flexible applications so 3:51 you know anytime when writing code is 3:53 easier to get the job done or extend 3:54 functionality you can do that in retool 3:57 and then finally what what um a lot of 4:00 devops teams governance teams like about 4:03 retools that comes with the security 4:05 layer out of the box with SSO auditing 4:07 access controls and a lot more and you 4:09 can also fit retool into how you develop 4:12 apps already with you know Integrations 4:14 with your Source control provider 4:16 testing tools debugging tools monitoring 4:18 tools and a lot 4:20 more um well what this all means is you 4:23 know you can create that backlog so 4:24 instead of spending months thinking 4:27 about building applications um you know 4:30 you can start to launch them in weeks 4:32 you can get to Market faster and you can 4:34 reduce those long-term maintenance costs 4:37 and I'm going to show you two examples 4:39 of how our customers do this today um 4:41 the first is Orange Theory I don't know 4:43 if anyone here has attended a Orange 4:45 Theory workout or know someone who has 4:49 um but they're an awesome brand um 4:51 globally they basically operate a 4:54 franchise network of Fitness Studios 4:57 that offer over 1 million members access 5:00 to high-intensity workouts uh coaching 5:02 assistance and tools to like monitor 5:04 their heart rate and a bunch of other 5:06 interesting things so that they can 5:07 analyze their their members success over 5:11 time um and in this case Orange Theory 5:14 needed to enable their Global franchise 5:17 network with better tools to track and 5:19 manage their members report on sales do 5:23 a bunch of other things that needs to be 5:25 done for their franchise around the 5:28 world and when without the tooling the 5:31 studio managers lock the insights to 5:33 understand and optimize what's working 5:35 right how do we drive more members into 5:38 our Studios and see that they're 5:39 actually coming back how do we run 5:41 promos for our members or new members to 5:45 get them excited and and get them to 5:46 start attending more classes there's a 5:48 lot of questions that the team needed to 5:50 to get to and answer um but what was 5:54 happening is that early on at orang 5:56 Theory a team of around 30 Engineers had 5:58 spent several years is actually building 6:00 a CRM inhouse to support their needs 6:03 this was a monolithic Tech stack made it 6:05 very difficult to launch new features 6:08 and iterate as they started growing to 6:10 new territories across the the 6:13 world so one of their goals was hey 6:16 let's move away from building large 6:19 traditional applications and let's try 6:21 to replace some of the CRM functionality 6:24 that we had built in house with a suite 6:26 of purpose built apps that's where they 6:28 came to retool um what they did was 6:30 pretty cool they Ed retool to rapidly 6:32 develop and deploy critical internal and 6:36 external apps um one of the apps is a 6:38 lead and member management app which 6:40 basically allows Studio owners to uh 6:43 report on leads for the business and 6:45 also when members are joined and signed 6:47 up they're able to do a bunch of admin 6:50 stuff to manage their members and make 6:51 sure that they have success and they 6:53 have um the best experience possible 6:55 with the brand um and they developed uh 6:58 a number of other apps that the 6:59 franchises use today to get you know 7:02 their work 7:03 done um and the way they did this was 7:05 they started by embeded embedding some 7:07 of their retool apps into their existing 7:09 portals then eventually migrated to 7:11 building an endtoend wh labeled portal 7:13 in retool um basically what this all 7:16 means is that their 7:18 franchisees can now self-serve their own 7:20 performance data generate promo codes 7:23 run campaigns reach out to customers 7:26 basically they have the tools they need 7:27 to um make sure that their own business 7:29 business is is a success so at the end 7:31 of the day they're driving Revenue um 7:33 and what's really cool is that they were 7:35 able to build reportedly uh there these 7:37 applications in a tenth of the time 7:39 compared to traditional methods um and 7:42 in this case they only were working with 7:44 two developers uh when they first 7:46 started using retool and built out these 7:48 applications so this supports a number 7:50 of Studios across the world for Orange 7:52 Theory and super excited about their 7:54 story with 7:57 retool the the second example is with 7:59 teachable teachable is an online 8:00 learning platform that enables creators 8:02 to host and sell online courses so 8:05 imagine you're an Enterprise customer of 8:07 teachable you want to know are your 8:10 course to drive Revenue um you know and 8:12 split that by certain segments start to 8:15 get those details around how am I doing 8:18 with my courses how can I do better how 8:21 can I optimize these are the questions 8:22 that their customers were asking um and 8:24 in order to build analytics features for 8:27 their Enterprise customers they actually 8:28 estimated a six month timeline when we 8:30 were talking to their VP of engineering 8:32 he was mentioning that um one of the 8:35 things they considered was throwing more 8:36 engineers at the problem but um what 8:39 they realize is that that only creates 8:40 more bottlenecks so it's helpful in 8:42 their case to have a smaller team that's 8:44 focused on building helpful 8:46 applications with retool they were able 8:49 to test building this application live 8:52 with their Enterprise customers they 8:54 worked for with a handful of beta 8:55 customers um to quickly assemble via 8:58 drag and drop the interface um show the 9:01 data display the data get feedback on 9:03 live calls and start to iterate towards 9:05 building an actual useful app one of the 9:07 things that they saw was with retool 9:08 they were achieving really fast 9:09 development Cycles um they were able to 9:12 launch their Enterprise analytics 9:13 dashboard to Beta customers within four 9:16 weeks um and then after that they scaled 9:19 to over a thousand customers by the 9:22 second month and at the end of the day 9:25 what they noticed is that they were able 9:26 to unlock additional opportunities for 9:27 Revenue um which basically came from 9:30 their ability to now upsell customers 9:31 into Enterprise because this was a 9:33 highly requested feature even from other 9:35 customers that were using teachable and 9:38 also for their existing Enterprise 9:39 customers they notice a lot of uh 9:42 customers just writing in about how 9:43 happy they were with these tools which 9:45 means you know have your customers 9:47 retain customers good for the business 9:50 and we're really excited that teachable 9:52 is using retool to power these features 9:55 for their 9:56 customers um I want to dive into the 9:58 demo Lucas will show you the demo and um 10:02 basically the demo is going to cover how 10:03 to externalize a retail app um and in 10:06 this case we're going to be building a 10:08 login screen and several other 10:09 components in the Q&A at the end we'll 10:12 go back into the live build and actually 10:13 build live if you have questions 10:15 pertaining to any of the parts of 10:17 building so definitely keep your 10:18 questions coming in the in the Q&A chat 10:21 and we'll get to those in the live build 10:23 session so with that I will stop sharing 10:26 and we'll jump into the 10:30 recording hi my name is Lucas I'm a 10:33 Solutions engineer here at rol and I've 10:35 worked with and helped customers design 10:36 and architect external apps that are 10:38 used by tens of thousands of users and 10:40 today I'm excited to share a demo with 10:42 you all that shows how to launch 10:43 customer facing apps in hours not months 10:46 let's say we're a fintech company that 10:48 offers streamlined and modernized 10:49 financial services for our customers as 10:51 part of our promise we're focused on 10:53 delivering an exceptional user 10:54 experience in all aspects of our 10:56 customer interactions our new focus is 10:58 on reimagining the lending experience 11:00 making loan applications and document 11:02 management simpler faster and more 11:04 transparent previously the loan 11:06 management process would involve 11:08 extensive manual work from the 11:09 operations team and a lot of disjointed 11:11 back and forth with our customers over 11:12 email which resulted in longer approval 11:15 processes lowered cat scores and 11:17 increased customer turn all of which 11:19 have affected our bottom line to provide 11:21 more transparency for our customers and 11:22 reduce our operational overhead we 11:24 decided to build a portal that would 11:25 allow our customers to manage their loan 11:27 applications and submitted documents all 11:29 from the central user interface the main 11:32 focus of today's demo is going to be on 11:33 how you can externalize your reto apps 11:35 bundle and brand them into a customer 11:36 portal and then create custom login and 11:38 sign up experiences for your users as a 11:41 sneak peek let's take a look at what the 11:42 final loan management portal looks like 11:44 in retool as a customer I can navigate 11:46 to a custom domain that houses my login 11:48 and signup screen that matches our 11:50 company's branding with no indication 11:52 that the underlying portal was built in 11:53 retool it's worth noting here that 11:56 Although our domain mentions retool we 11:58 support setting custom domains for your 11:59 instance and we can remove any 12:01 references of retool in the URL here we 12:04 see the login screen that we've 12:05 configured with standard username and 12:06 password but rol also supports different 12:09 authentication methods including SSO 12:11 users can also sign up for Access 12:13 through this screen as well which is 12:14 what I want to do in this 12:16 case here I'll go ahead and input my 12:18 email click sign up and in a few seconds 12:20 I should receive a sign up 12:24 email as you can see here I've received 12:26 my email invite for account creation 12:28 where I can then create username and 12:29 password for subsequent logins now 12:32 imagine a customer is logging back into 12:33 this portal using the credentials they 12:35 created after being prompted to sign up 12:36 earlier when I'm ready to begin the loan 12:38 application process review update or add 12:40 new supporting documentation I can log 12:43 into the 12:51 portal once I log in I met with this 12:53 loan application screen where I can 12:55 review the statuses of my submitted loan 12:57 applications as you can see here 13:00 create new applications by moving 13:01 through a stepped 13:04 workflow and I can also view the status 13:07 of my existing loan applications so here 13:10 for example I can see the loan status 13:12 visualized I can see any Associated 13:14 timelines with the loan and I can also 13:17 see some metadata associated with the 13:18 application method I can also navigate 13:21 to the document Center where I can get 13:22 insights into whether my supporting 13:24 documentation meets all underwriting 13:25 standards or I can opt to upload a new 13:28 document 13:32 let's go under the hood and see how we 13:33 built this ENT flow for our customers 13:36 great now we're in the underlying retool 13:38 instance where we can apply some 13:39 configurations to support our external 13:41 portal let's also assume that we have 13:43 the core applications built out for our 13:45 portal and our main goal is to 13:47 externalize these apps for our customers 13:49 the first thing that we're going to want 13:50 to do is to create a dedicated space in 13:52 our retal instance for our external apps 13:54 and users this will help us organize and 13:56 separate our internal use cases from our 13:58 customer facing on to do that we can use 14:00 retool spaces or an organizational 14:02 feature that allows you to create 14:04 multiple isolated retool organizations 14:06 on the same underline retool instance 14:08 allowing us to have a multi-tenant 14:09 experience on a single retool cloud or 14:11 self-hosted instance each space has its 14:14 own subdomain SSO configuration Source 14:16 control configuration user accounts and 14:18 permission groups along with unique 14:20 elements like folders apps workflows 14:22 modules queries and 14:24 resources as an admin of this instance I 14:26 can navigate to my instance's settings 14:30 or I'll be able to manage spaces under 14:32 the organization 14:34 settings from here I can create a new 14:36 space which I'll call 14:38 external I can give it a short 14:43 description and then I'm prompted to 14:44 give it a subdomain which I'll want to 14:46 give it the name external. demos. 14:49 ral.com for the purposes of this demo 14:52 I've already created a dedicated space 14:53 for my external users which I've given 14:55 the same subdomain external. demos. 14:57 ral.com as you can see 15:00 but just as a reminder despite the fact 15:02 that we do have to give it a subdomain 15:03 we can always set a custom domain for 15:05 each individual space which we'll touch 15:07 on later I can then optionally choose to 15:10 copy the SSO and branding settings from 15:12 my current organization or current space 15:14 to my newly created space but I'll leave 15:16 those unchecked for 15:18 now lastly in the parent space or the 15:21 admin space we'll want to find our loan 15:23 management application that we've 15:25 already built 15:27 out and then we'll want to click this 15:29 drop- down menu where we can select copy 15:32 to space with the destination space 15:34 being the space that we just created 15:36 we'll then go ahead and copy the app and 15:38 its 15:39 dependencies and now we've transferred 15:41 the app to that space it's worth calling 15:44 out here that there are several ways to 15:45 transfer apps resource configurations 15:47 and other elements across spaces you can 15:49 either do it manually as seen here or 15:51 you can do it via the retool admin API 15:53 which we'll touch on later in this demo 15:55 and finally you can also sync these 15:57 elements from space to space using your 15:59 preferred git-based Source control 16:00 provider if we navigate now to our newly 16:02 created external space the first step 16:05 that we're going to want to take is to 16:06 enable external apps for our space to do 16:09 that we'll want to navigate to settings 16:13 again and then under 16:16 customization we can access external 16:18 apps from here we'll want to click 16:20 enable external apps we're then prompted 16:23 by retool to specify an internal domain 16:25 list users whose email domains are 16:27 outside of this list will automat 16:28 automatically be placed in the external 16:30 users permission Group which is the 16:32 default permission group that ret spins 16:34 up for us once we've enabled external 16:36 apps the external users permission group 16:38 is also the source of Truth for how rle 16:40 differentiates external users from 16:42 internal users here we'll just leave the 16:44 internal domain list as ral.com from 16:47 there retal prompts us to configure our 16:49 organization such that it follows best 16:51 practices for externalizing apps to 16:53 quickly read through this list rle 16:55 prompts us to Brand our organization as 16:57 we see fit by removing references to 16:59 retool build custom apps to swap out 17:01 default product pages like the login and 17:03 reset password screens and add a default 17:05 theme we'll get to those in a second 17:08 we're also prompted to create a landing 17:10 page a landing page is a designated 17:12 retool app that users in the external 17:13 users permission group will 17:15 automatically be routed to when they log 17:16 in in this case I'll want to set our 17:18 loan management app as the landing page 17:21 because that's the application that 17:22 houses our loan and document management 17:24 screens that I showed earlier let's 17:26 double click into the external user 17:27 permission group to take a closer look 17:30 at permissions and how they relate to 17:32 external use cases as you can see I can 17:34 Define app access resource or data 17:37 source access and so on if I click 17:40 additional I can also confirm that the 17:42 loan management application is correctly 17:44 set as my landing page it's also worth 17:47 noting that you can also create other 17:48 permission groups to further control the 17:50 level of access external users 17:52 have navigating back to the settings 17:55 page The Next Step I want to take here 17:57 is configuring brand in for my external 18:00 space under customization and branding I 18:04 can configure a variety of different 18:05 branding settings including uploading a 18:07 logo and favicon removing references to 18:11 retool and I can configure a custom 18:13 domain for my space to replace the 18:16 existing subdomain but reta's branding 18:18 goes beyond just swapping out logos and 18:20 removing references in The Branding 18:22 settings we can also build custom reto 18:24 apps to replace login reset password 18:27 invitation and error pages 18:31 here we'll want to start with a custom 18:32 login page we can see a preview of the 18:34 default login page below that comes out 18:36 of the box and when I click manage I'm 18:40 then prompted to select an existing 18:41 public app that I can set as my new 18:43 login page in place of the default one 18:45 in this case I don't have one so go 18:47 ahead and select create a new app we'll 18:51 then give it a simple URL path segment 18:57 login from here our goal is to recreate 18:59 the login page that I showed earlier 19:01 focusing first on the UI portion of the 19:03 login screen we're now in the reto 19:05 editing interface where Builders can 19:06 quickly build uis with our drag and drop 19:08 Builder and over 100 pre-build 19:10 components editors can also write 19:12 queries against their data sources here 19:14 and extend their application logic with 19:15 JavaScript and SQL all from within the 19:17 same editing interface since I created 19:20 this login app from The Branding 19:21 settings retto also generated an outof 19:23 the Box login form to quickly get me 19:24 started the first thing I want to do 19:26 here is give our app a name here log 19:28 screen feels the most 19:33 intuitive then we can navigate to the 19:35 settings tab on the left hand side where 19:37 we can set some app wide configurations 19:40 we've already given our app a shortened 19:41 custom URL so that's all set the next 19:44 thing we can do is set an app Theme here 19:46 I've already defined a fintech theme so 19:48 let me go ahead and select that we 19:51 already use this theme for our loan 19:52 management application so that feels 19:54 appropriate for continuity themes are 19:56 built at the instance or Space level and 19:58 can be applied selectively within your 20:00 applications once applied your app will 20:02 inherit the color palette Design 20:04 Elements and typography that you've 20:05 defined in the theme 20:07 settings from here I'll want to tweak 20:09 this form and add some functionality to 20:11 match the login screen that I showed 20:13 earlier we can start by rearranging our 20:15 components using the drag and drop 20:17 interface in our original login screen 20:19 we had the sign in with Google button 20:20 located at the bottom and similarly our 20:22 divider was also between the signin and 20:24 Google sign on buttons let's rearrange 20:27 our components accordingly 20:35 from here we'll want to add a link 20:37 button that redirects users in case they 20:39 forgot their password to do so let's 20:41 navigate over to the left hand side and 20:42 the component creation tab specifically 20:44 to grab a new link button 20:52 component once we've dragged our new 20:54 component onto the canvas you can see 20:56 that the component inspection panel 20:57 opens up on the right hand side here we 21:00 can give our component a readable 21:01 [Music] 21:03 name and Target all of its values and 21:05 properties for example let's change the 21:07 text value to forgot 21:12 password once we've completed this login 21:15 screen our next step might be to build a 21:17 custom reset password screen similar to 21:19 this custom login screen and have this 21:21 link button redirect our users there for 21:23 now we'll leave this component as is and 21:26 for the sake of time let's fast forward 21:27 through the rest of the U build to get 21:29 it a parody with the login screen that I 21:30 showed 21:37 earlier great now our user interface is 21:39 in a good spot I've set up a tab 21:41 container allowing my users to tab over 21:43 from the signin form to the signup flow 21:45 with 21:47 ease the next step is going to be 21:48 configuring our queries such that users 21:51 can either authenticate through the 21:52 login form or receive an invite through 21:53 the signup form we can start with 21:55 authentication we can navigate to the 21:57 left hand side of the editor where we 21:59 can find our query panel this is where 22:01 we can write queries that can read and 22:03 write data back to all of our data 22:04 sources if I navigate to the sample 22:06 query I can specify a resource type tied 22:09 to each individual query and as a 22:12 reminder rle can connect to all of these 22:14 different data sources from relational 22:16 databases to nosql databases and a 22:19 variety of different thirdparty services 22:21 and if you don't see your integration 22:22 reflected here there's a good chance we 22:24 can connect to it via our generic rest 22:26 graphql and open API connectors 22:29 you can also write queries here using 22:31 the outof thebox resources that rle 22:33 provides one of these outof thebox 22:35 resources are user actions you might 22:37 notice that this login query here came 22:39 out of the box when I generated this 22:41 login application similar to the UI 22:43 form if I click into this query you'll 22:46 see that the resource type is a user 22:48 action the user action resource allows 22:50 me to write queries in custom product 22:52 Page Apps that enable users to perform 22:54 actions tied to the retool instance 22:56 itself including authenticating res 22:58 setting their password or claiming an 23:00 invitation the user action resource can 23:02 also retrieve a list of apps and folders 23:04 for which the user has access to as you 23:05 can see here under 23:07 action here we'll want to keep login as 23:10 the action of choice we'll also want to 23:12 keep email and password as the method 23:14 but we could optionally create a 23:15 different user action that supports 23:16 Google SSO or any saml or oidc SSO 23:21 provider under the input Fields you'll 23:23 see that we reference both email input 23:25 and password input in double curly 23:26 braces in ret everything inside double 23:29 curly braces evaluates to javascripts 23:31 you can write these JavaScript Snippets 23:32 anywhere including in query bodies as 23:34 you see here in the component inspector 23:37 and so on and just as a quick aside rol 23:40 also supports writing larger blocks of 23:41 JavaScript code via a JavaScript 23:43 Transformer or a JavaScript 23:45 query in this case these double curly 23:47 brace statements are referencing the 23:49 input components specifically the email 23:50 and password inputs from my login form 23:53 here everything looks good so we can now 23:55 configure a few optional settings for 23:56 our query under run Behavior I want to 23:58 keep this as manual so that it only runs 24:00 when triggered by an event in this case 24:02 the event will be a button click and 24:04 then I can also Define a few event 24:05 handlers that will fire upon a 24:07 successful or failed query execution 24:10 here I can modify this event handler 24:11 such that on success it will actually 24:13 redirect me to the loan management 24:14 application so I can set an action here 24:18 as go to app and then the app in 24:20 question will be the loan management 24:23 application great I'll hit save there 24:26 this is actually not a required step 24:28 because as you might remember we set a 24:29 landing page for the external user 24:31 permission group where external users 24:32 will land after authenticating but the 24:35 reason I'm setting this here is because 24:36 my particular email is on the internal 24:38 domain list so I need it for testing 24:40 purposes let's exit out of the query 24:42 editor and the final step here is going 24:44 to be tying this signin button over to 24:47 the query that we just edited I can 24:49 click into the form button open the 24:51 inspector and then you can see that Reta 24:53 was inted that we want this signin 24:55 button to trigger the login query that 24:57 we just wrote I can click into this 24:59 event handler so that you can see that 25:01 on submission or on click of this button 25:03 we control a query specifically the 25:05 login query that we just 25:07 wrote that about wraps up the user 25:10 authentication portion of the flow now 25:11 let's handle sending invites to new 25:13 signups to send invites and create a 25:15 user invitation in my retool space I'm 25:17 going to rely on the ret API let's 25:20 navigate over to the signup form for a 25:22 visual the ret admin API is another 25:25 outof thebox resource that allows 25:26 Builders and admins to program 25:28 automatically manage different aspects 25:29 of your reto instances and spaces using 25:31 API endpoints as you can see from our 25:33 API reference we can manage everything 25:35 from users permission groups spaces 25:38 resources and so on and the API serves a 25:42 dual purpose on the one hand it allows 25:44 for more programmatic management of your 25:45 instance but it also allows you to open 25:47 up functionality such that your end user 25:49 can hit these endpoints with guard rails 25:51 that you define for example in our case 25:54 we want to hit the user invite endpoint 25:56 when an end user clicks signup 25:58 specifically this will effectively allow 26:00 our users to selfs serve their own 26:01 signup flow without needing any manual 26:03 intervention from our side you can see 26:05 from the API reference that the create a 26:08 new user invite endpoint accepts two key 26:10 parameters the email of the invite T an 26:13 array of group IDs that correspond to 26:14 the IDS of the permission groups that 26:16 you want to assign to set user if we 26:18 navigate back to the application we can 26:20 write a query that hits the user invites 26:22 endpoint of our 26:24 API here we can navigate over to the 26:26 query editor again and then we you can 26:28 select create a new resource query and 26:30 then we'll specify the reso API as our 26:33 resource of choice from there we can 26:35 Define the Operation as hitting the user 26:37 invites endpoint specifically a post 26:39 request the user invites endpoint under 26:42 the email parameter we can reference 26:44 again using our JavaScript syntax the 26:46 sign up email 26:47 value and then we can add a parameter in 26:50 this case the default group IDs and then 26:52 here we're going to want to specify a 26:54 single item array that references our 26:56 external users permission group we can 26:58 navigate to the permission settings to 27:00 find our external users permission group 27:02 and then we can select the drop down 27:03 here copy the group ID and then paste it 27:07 into the 27:08 query lastly we can just give our query 27:10 an intuitive name like send 27:13 invite and then we can go ahead and save 27:15 the query and then similar to the signin 27:16 flow our last step is going to be tying 27:18 the signup button to the query we just 27:20 wrote we can navigate to the signup 27:23 button open up the component 27:26 inspector and then configure an event 27:28 Handler here such that on submission 27:31 we're going to control a query 27:32 specifically the query that we just 27:34 wrote to the reto API the send invite 27:36 query now user should be able to selfs 27:38 serve a signup through the portal you 27:40 might recall earlier in the demo that 27:42 when I self- served my own email 27:43 invitation I received an email that 27:45 looked something like this it's fairly 27:47 basic and it suits our needs but what if 27:49 we could take it a step further by 27:51 creating a custom email invitation 27:53 similar to custom product pages rol 27:55 allows us to customize these events 27:56 further via the branding settings of our 27:58 space if we navigate to The Branding 28:00 settings of our space we can get a quick 28:02 preview of the work that we've 28:03 accomplished as it relates to the login 28:05 screen as you can see our custom login 28:07 page is now reflected in the settings UI 28:10 but beyond custom product pages we can 28:12 also modify email invites and events 28:14 that originate from our retool space 28:17 here for example I can preview what 28:18 email invites will look like by 28:20 selecting user invite you can see here 28:22 that it matches the invite I received if 28:25 we want to take this a step further I 28:26 can create what's called a reto of event 28:28 that will allow me to customize the user 28:30 invite email for some context retail 28:32 events rely on retail workflows to make 28:34 the platform more scriptable and 28:36 powerful and you can use these events to 28:38 override built-in retool functionality 28:40 like emails in this case essentially 28:42 retool events allow admins to build 28:44 custom automations in response to 28:45 actions taken in retool here under user 28:48 invite I can select 28:50 manage and then from there I want to hit 28:52 add 28:55 workflow from there we'll land in the 28:57 workflows editor where ret has 28:59 pre-generated a user invite retal event 29:01 that I can tweak as I see fit first in 29:03 background context ret workflows is the 29:05 automation layer of the reto platform it 29:07 allows you to create backend processes 29:08 that can be initialized as needed or run 29:10 automatically on a schedule enabling you 29:12 to delegate complex business logic to 29:14 the back end common use cases include 29:16 process automation monitoring and 29:18 alerting data integration and backend as 29:20 a service in this case we're going to 29:22 rely on the workflows platform to run my 29:24 user invite retool event here this 29:26 workflow will automatically be triggered 29:28 whenever a user is invited to your 29:29 instance whether manually or through the 29:31 API rle also passes some context of the 29:34 invite like their email and ID to the 29:36 workflow and then you can configure the 29:38 rest of the control flow as you see fit 29:40 The Logical next step is to send an 29:42 email to the invite either using retools 29:44 managed email service or your own you 29:47 can fully customize the body and design 29:48 of the email using HTML or markdown and 29:51 you can remove references to retool we 29:53 also recommend setting up appropriate 29:54 alerts as error handlers which we 29:56 started doing here in case something 29:58 goes wrong right now our user invite 30:00 flow is sufficient so we'll focus our 30:02 efforts on other areas of the portal but 30:04 we always have retool events in our back 30:06 pocket to customize not only the user 30:07 invite email but also the password reset 30:09 and a few other emails as well let's go 30:12 back to our login screen to test what 30:14 the end10 flow would be like for our 30:16 customers we can swap out the editing 30:18 URL with the public facing one and then 30:20 go through the 30:21 flow I'll input an email here so I can 30:23 receive a signup link 30:28 after receiving the email and setting my 30:29 username and password behind the scenes 30:31 I can then opt to log into the portal 30:34 I'll give this page a quick refresh to 30:35 land on the login screen again and then 30:37 I can input my credentials as if I were 30:39 a customer logging in to manage my loan 30:41 applications and 30:49 documents and there you have it after 30:52 authenticating we're met with our loan 30:53 management application and I can start 30:55 moving through the functionality 30:56 afforded to me through the portal so in 30:58 about 20 or so minutes we as retool 31:00 Builders and admins successfully 31:01 externalized our loan and document 31:03 management application bundling it into 31:05 a customer facing portal we started by 31:07 spinning up an external space acting as 31:10 a dedicated suborganization of my retail 31:11 instance for my external users and apps 31:14 we then configured the external users 31:15 permission group and its landing page so 31:17 that I can easily govern my external 31:19 users we then applied some custom 31:20 branding and theming such that the n10 31:22 flow was fully white labeled had no 31:24 references to retool and matched my 31:26 company's brand image we then built out 31:28 one of the many custom product pages 31:30 that you can build specifically the 31:32 login and sign up page giving me a lot 31:34 more control over the user journey and 31:36 finally we touched on how retool events 31:37 can be used to customize brand and 31:39 override built-in retool functionality 31:41 like user invites there's a lot more 31:43 functionality that we were only able to 31:44 Breeze over like other custom product 31:46 pages other ret events and integrating 31:49 SSO into your instance to manage users 31:51 that scale but all of this put together 31:53 can really help you ship customer facing 31:55 apps and portals in a fraction of the 31:56 time so we're really excited to see what 31:58 you build jump into the Q&A portion now 32:01 we've invited Anthony Bella who's a 32:03 product manager on external apps um and 32:06 I think one of the top questions we were 32:08 getting were was around pricing and so 32:10 Anthony would love for you to cover you 32:12 know pricing and packaging how should 32:14 people think about this especially when 32:16 considering scaling to users scaling to 32:19 hundreds of users for 32:20 example yeah uh thanks Nate thanks 32:23 everyone for bearing with us on on the 32:24 recording um we have a lot of resources 32:27 on on YouTube actually already over the 32:29 last couple years that we can share out 32:30 around kind of these build belongs and 32:32 and some of the evolution of um how 32:34 external applications have uh support 32:36 our customers over the last couple years 32:38 um including reto um so let me touch on 32:41 pricing uh you can build customer facing 32:43 applications on the business plan today 32:45 um folks were asking about um spaces and 32:50 uh the retool API so spaces is an 32:52 Enterprise only feature but it is not a 32:53 requirement for you to build a customer 32:55 facing portal uh you can just do so on 32:57 the business plan today today um you 32:58 could set a custom domain and the retool 33:01 uh API specifically the user invite 33:04 scope is available on business uh so you 33:07 are able to kind of white label uh your 33:09 invitations those custom login screens 33:12 um all on the business plan today um 33:14 regarding pricing so um an external user 33:18 uh retool is someone that doesn't match 33:20 the email domain of the user signing up 33:23 um or creating the account so you're 33:24 able to modify the internal domain list 33:26 for your organization and then any user 33:28 who joins is going to be built as an 33:30 external user um so there's a question 33:33 you know if you signed up with the Gmail 33:34 domain um you know will and someone else 33:37 from your company uh or outside of your 33:40 company is uh using G Gmail domain they 33:42 will be considered an internal user so 33:43 you need to have uh a different domain 33:46 for your external users um the way that 33:48 pricing works today on the business plan 33:51 is uh it is a tiered pricing model for 33:54 external users so if you go on our 33:56 website um or even on retail.com 33:59 external apps um you'll be able to see 34:02 that the pricing is tiered up to 500 34:03 users on the business plan and then past 34:06 500 users you don't pay a cent for 34:08 additional users so um this is to kind 34:11 of give you predictability around uh 34:13 pricing as you scale um and if you're 34:15 kind of thinking about you know building 34:17 your startup on retool or getting to 34:19 product Market fit we also have a retool 34:21 for startups program that lets you get 34:23 up to 60k in credits um to go ahead and 34:26 and kind of build your application so 34:27 that should cover kind of the total cost 34:29 of um you know using retool basically 34:32 for these use 34:33 cases um happy to touch a little bit 34:36 more on the structure uh for Enterprise 34:38 as well so really the differences right 34:41 when you're kind of thinking about 34:42 Enterprise pricing is um you have all 34:45 the features needed to kind of take your 34:47 applications to production so the 34:48 business plan is really for you all to 34:49 get a sense of how to build uh external 34:51 facing applications the Enterprise plan 34:53 is really when you're kind of trying to 34:54 take it truly to production with Source 34:56 control with SSO 34:58 um and kind of the workflows and white 35:00 labeled emails as Lucas demonstrated in 35:02 the demo um so we can kind of talk 35:05 through more that we can reach out to 35:06 you directly for folks who are asking 35:08 around 35:09 Enterprise awesome thank you Anthony um 35:12 if you have any more questions on that 35:13 yeah feel free to post in the chat um 35:16 this question is about building and this 35:18 question is for Lucas regarding 35:20 authentication methods is what are the 35:22 available user authentication methods 35:24 for customer portals and is there any 35:27 role management for the external users 35:29 too yeah great questions so in the demo 35:32 we primarily covered username and 35:34 password of the authentication method 35:35 which is a valid one but we've gotten a 35:37 lot of questions in the chat around 35:39 using SSO different SSO providers like 35:41 enter ID and ozero all of those can be 35:44 used as well um any samare IDC SSO 35:47 provider is supported in retool and then 35:49 to the question around like how do you 35:51 actually Implement that in the login 35:52 screen one of the methods that comes 35:55 with the user action to log the user in 35:57 is saml or oidc SSO 36:01 providers awesome um and and the next 36:05 one is Also regarding building is there 36:07 a way to embed spatial view data in 36:10 retool if yes how do you go about doing 36:12 that yeah also a good question so likely 36:16 yes um we don't have a spatial view 36:17 component out of the box but we do 36:19 support bringing your own custom 36:21 component into retool where you 36:22 essentially develop your own react 36:24 component locally and then you can bring 36:25 it into your retool instance and drag 36:27 drop the component as if it were any of 36:29 the sort of out of the box components 36:31 that come in the component 36:33 Library sweet and I know one of the 36:36 questions around adding custom domains 36:39 you know we get a lot of these requests 36:41 from customers wanting to why label the 36:43 entire experience can you touch on that 36:44 a bit Lucas around you know how to add 36:48 custom domains um is it possible to have 36:51 portal subdomains without retool in the 36:53 URL yes we do support that and let me 36:56 actually just go ahead and share my 36:58 screen so I can provide a visual here so 37:02 as I'm sharing my screen here if you 37:03 navigate to The Branding settings of 37:05 your instance or your space under 37:07 branding you can see domain name is 37:09 something that we can Target there we 37:11 can set a custom domain for the space 37:14 effectively white labeling it removing 37:16 any references to retool in the domain 37:18 itself we didn't do that because we are 37:20 retool ourselves but you absolutely can 37:22 change 37:23 that 37:25 sweet cool um great questions keep them 37:28 coming in if you have any more we we 37:30 have a lot to cover here um so this 37:32 person's asking you know we don't have 37:34 reto right now but we're interested in 37:36 using retool to create partner portal of 37:40 current pages is that possible yeah I 37:43 can answer that one um so actually we 37:45 have a YouTube video of uh how retool 37:48 built its partner portal uh using retool 37:51 applications uh so all the applications 37:53 and the demos that Lucas gave um all of 37:56 those features that enable our customers 37:58 to build customer facing application 37:59 retool actually uses it um ourselves so 38:02 we have our partner portal and our 38:03 support portal actually both built in 38:05 retool as well as retool University so 38:08 um if you want to sign up for those and 38:09 check those out and sort sort of 38:11 understand the quality of that software 38:13 um that's all built in retool uh we have 38:15 a YouTube link that we can share out as 38:16 well for how it was built basically the 38:19 same as as Lucas's demo as 38:22 well awesome yeah let's uh definitely 38:24 get those sent over in this follow-up 38:27 com you should also be getting those 38:29 recordings after this presentation as 38:31 well um this person is asking what do we 38:34 do if we want to develop external Pages 38:36 for multiple clients would we need 38:39 spaces for each of those clients and 38:43 would they be 38:44 required so spaces are an option if you 38:47 have multiple clients but it's not a 38:48 necessity um it kind of depends on what 38:50 kind of application you want to serve to 38:52 these clients if it's the same 38:54 application but just with conditional 38:55 data we oftentimes don't necessarily 38:57 recommend spaces rather we recommend 38:59 using permission groups that represent 39:00 those clients from there you can always 39:03 reference the currently authenticated 39:04 user using the current user object using 39:06 a JavaScript snippet in your apps and 39:09 from there you can Implement like role 39:10 security and pull in conditional data 39:12 within the same application spaces is 39:14 going to be great if you have net new 39:16 applications for each of your clients 39:17 and you want to keep them nicely 39:19 separated and 39:21 organized great um and then this 39:23 question Lucas this one might be for you 39:25 this person is asking you know we have 39:26 reto app applications can we migrate our 39:29 current APP setups into the new external 39:32 app so I think this person is asking you 39:34 know we have an internal retool 39:35 application is there a way to make that 39:38 into an external application and if if 39:40 so can you provide some of that that 39:42 process as as sort of we we covered in 39:44 the recording as well yeah absolutely so 39:47 this is a really common pattern we see 39:48 where um our customers want to expose 39:50 some functionality of maybe their 39:52 internal tools or some of their current 39:53 tooling to their customers or they just 39:55 want to build a a portal that allows 39:56 their C customers to selfs serve certain 39:58 actions um you absolutely can take an 40:01 existing application and externalize it 40:03 typically what we see right and this is 40:04 what the demo primarily covered was you 40:06 might want to spin up a space for those 40:08 external users and then you'll want to 40:09 enable external apps and Define that 40:11 internal domain list such that anyone 40:14 with a separate domain is kind of 40:15 registered as that external user is then 40:17 placed into the external user permission 40:19 group and then you can build those 40:20 permissions out from there and then 40:22 we'll start building things like um 40:23 custom product pages so like a custom 40:25 login screen custom reset password 40:27 screen error Pages Etc giving your 40:30 customers that very custom endtoend 40:32 experience basically what we're doing is 40:34 we're building a permission model such 40:36 that customers go from login screen to 40:38 the intended applications without ever 40:40 seeing any references to retool during 40:42 the 40:44 process 40:46 awesome um is there a way to give 40:48 external agents view access to specific 40:52 apps and have them not count for the 40:54 number of licenses available to our 40:55 pricing I think this was touched on in 40:57 our pricing response but Anthony 41:00 anything to add to that yeah so um 41:04 anyone who has a login or who is 41:05 authenticated and has access to 41:07 privileged data so if you you know sign 41:09 in with an email and that email is used 41:12 to fetch information specific to you um 41:14 you will be build as a user a retto has 41:17 a feature called public applications on 41:19 the business plan where you can enable 41:21 uh sharable links that are you know 41:24 ideally meant to be used for a public 41:27 use case where you know it's just public 41:29 data that's available online so our 41:31 customers have built uh applications 41:34 that show you fire stations on a map or 41:38 um form submissions for uh textbook 41:41 uploads or things like that um so really 41:43 meant to be you know unauthenticated uh 41:46 so if you have that use case public apps 41:47 are great you're authenticating users 41:49 you should use retal 41:51 portals great um this question is 41:54 regarding design right businesses want 41:57 to match the brand of any application 41:59 that they're building match the design 42:01 to their brand fonts colors padding so 42:05 this person is asking like what's the 42:06 level of customization I can have with 42:07 the apps that I build with retool um is 42:10 custom CSS 42:13 possible yeah good question so um it is 42:16 possible we always recommend using the 42:18 outof the boox theming as the first step 42:20 where you define a theme with a font 42:21 families or multiple fonts and color 42:23 pets and and other specific design 42:27 aspects in the theme itself and then 42:28 apply it to the application um we 42:31 actually also recently launched more of 42:32 an advanced theming experience that 42:34 allows you to more granularly control 42:36 things like component level font weights 42:38 um expanded typography controls and 42:40 things like that but if theming doesn't 42:43 meet your needs for any specific aspect 42:45 of your design you can always override 42:47 the um styling properties of the 42:49 components and the reto editor using 42:52 custom CSS as 42:54 well great uh good question on Design 42:59 This one is about setting specific 43:02 alerts um so is there a way to set 43:04 alerts for specific values that we 43:07 receive through the data source if so 43:10 what options do we have can we send an 43:12 email for 43:15 example yeah good question this is going 43:17 to be a little bit custom depending on 43:19 the specific use case um but typically 43:22 when we see some sort of like automation 43:24 layer orchestration layer that sends say 43:26 an email notification based off of like 43:28 a change in one of your data sources or 43:31 a user action from a ret application we 43:33 can use retal workflows which is what we 43:35 showed in the sort of back half of the 43:37 demo there which is again that 43:38 orchestration layer where you can build 43:40 control flows for your retal 43:43 instance great we're going to keep 43:45 continuing on the the questions there's 43:47 a number of questions we have still 43:49 remaining so we're going to be going to 43:50 the hour probably answering some of 43:52 these um the next question is regarding 43:55 authentication um so Lucas in the demo 43:57 recording you you had built some 43:59 authentication screens and login screens 44:01 for example um are those templates this 44:04 person's asking you know do we not have 44:06 to build those from scratch like what's 44:07 the level of effort I need to build 44:09 these login screens and add 44:12 authentication yeah when you create a 44:13 custom product page rual does generate 44:16 um a login form uh like a basic login 44:20 form and then a user action tied to that 44:22 login form out of the box and this is 44:23 true for the other custom product pages 44:25 as well from there we 44:27 keep the door open for whatever 44:28 customization you all want whether it's 44:30 making a split pan like we had or taking 44:32 that login form and slotting it into 44:34 some other UI form uh so there is a 44:37 degree of it being templatized but a lot 44:39 of it is also up to you and how you want 44:41 to style 44:42 it awesome um and maybe this was in the 44:47 application that you built Lucas this 44:48 person's asking how did you set up 44:51 filtering data to the specific 44:54 user yeah good question we touched on 44:56 the earlier so this is going to be using 44:58 the current user object I can go ahead 45:00 and share my screen again just to let 45:03 folks know where that is in the editor 45:05 so if I share my screen here you all can 45:08 see a visual of the loan management 45:10 application that was part of the demo 45:12 this is the editor's view so whoever's 45:14 building your retool applications would 45:15 see this from there um if you all are 45:18 familiar with retool right on the left 45:19 hand side is we're going to access all 45:21 the different panels one of those panels 45:23 is going to be the State Management 45:25 panel this allows you to see all of the 45:27 different queries and the components 45:29 within your application also view their 45:30 state their properties Etc but one of 45:33 the global variables that's available to 45:35 all builders in all applications is the 45:37 current user object where we can 45:39 reference different metadata associated 45:41 with the user along with permission 45:43 groups and if you're using some sort of 45:44 SSO provider we can oftentimes reference 45:47 the JWT for example that comes with set 45:49 user uh from there we can reference the 45:51 current user object inside of anywhere 45:54 that accepts JavaScript in retool using 45:56 javascripts uh tax which is those double 45:57 curly braces in 46:00 ret sweet thanks for sharing your screen 46:02 there and showing us how to do that um 46:06 we got another question around you know 46:08 we have a 46:09 copy uh basically this person's 46:12 asking is it possible to embed an 46:15 application into our developed app 46:17 without requiring an additional login 46:19 beyond the one already in 46:22 place yeah go ahead yeah um one part of 46:25 this actually you know we talked about 46:27 white labeling retool getting R rid of 46:29 retools branding having retool manage 46:31 the authentication the users um there's 46:34 also uh a way our customers build 46:36 external facing applications by 46:38 embedding apps inside of their existing 46:40 tools um so we have a react and 46:43 JavaScript SDK that let you um embed 46:45 retail apps and authenticate users 46:47 inside of them um so that is one way to 46:49 to use it you know the whole external 46:51 user um definition still applies um 46:54 we're happy to also share documentation 46:56 on on embedding apps now regarding the 46:58 the team plan um this is only available 47:01 on business and above uh regarding kind 47:03 of external users and um although you 47:06 can embed applications and use the react 47:08 SDK on public facing applications um 47:11 using it in a way that authenticates the 47:13 user as only possible in the business 47:15 plan because you need permission 47:18 groups awesome um this person is asking 47:22 can the 47:23 data um Can the data visible in Portals 47:26 be stored outside retool or will there 47:30 must be a copy of the data within retool 47:32 and how is crud access manage in the 47:35 case of external data yeah great 47:37 question so in the vast majority of 47:39 cases retool doesn't store any of your 47:41 externally connected data right and so 47:43 for the most part ril access a data 47:45 processor and the data sources that you 47:47 integrate with not storing that data as 47:50 for how cred access is managed in the 47:52 case of external data so you can very 47:54 granularly affect controls and 47:56 permissions within your applications 47:58 from a higher level you can restrict 48:00 which users can run queries against a 48:02 specific data source if you want to 48:04 prevent a large SWA of users from 48:05 running queries against that data source 48:08 but then more granularly in the 48:09 application using that current user 48:11 object that I showed previously we can 48:13 restrict access um for specific 48:15 permission groups from executing a 48:17 specific query or even clicking a button 48:19 um and that extends to many different 48:20 aspects of the app we can hide portions 48:22 of the application based off that 48:24 current user as 48:25 well all right awesome we're going to 48:27 answer probably two more questions and 48:29 then wrap up um this person is asking do 48:31 you have customers who build customer 48:33 facing apps and retool but only for 48:35 front- end we have a web service that we 48:37 would like to use for all database 48:39 interactions and user 48:43 authentication yeah I can go ahead and 48:45 and touch on that one so um the recently 48:48 released feature that lets you build 48:50 retal applications as your login screen 48:52 really interesting for that exact reason 48:54 so um you might want to check against an 48:56 external system around whether or not a 48:58 user let's say has an account in your 49:00 database and if so you might might want 49:02 to log that user into retool and so this 49:05 logic can be orchestrated through retool 49:06 applications as as Lucas had mentioned 49:08 so um a lot of our customers you know 49:10 integrate retool with SSO providers um 49:14 reto can also just manage the 49:16 authentication for users but you could 49:18 also run this logic uh around user 49:20 authentication as well through you know 49:22 the queries um and resource connections 49:24 that rol has today so we treat it as 49:26 just any other resource um and then 49:28 you're able to store you know session 49:30 tokens and things like that in the 49:31 browser and use them in subsequent 49:33 queries sweet and final question let's 49:36 wrap this up is related to the other 49:38 questions about external user visibility 49:41 are we able to associate a list of prent 49:44 emails preset emails with a global fil 49:47 filter in the app so that it only shows 49:50 data tied to their organization so I 49:51 think this is time back to um user 49:54 management and setting specific data 49:57 tied to users in the 49:58 organization yeah I think this is uh 50:00 similar to Lucas's question uh or the 50:02 question that Lucas answered with um 50:05 World level security and basically 50:06 making sure that user a can't see user 50:08 B's data um so there's a couple ways to 50:10 do this as Lucas mentioned you can use 50:12 what's called user attributes which let 50:14 you basically store arbitrary values on 50:18 uh the current user accessing that 50:19 application those values are not spoof 50:22 so you can't just inspect a network 50:24 query change the value and get other 50:25 data rol kind of protect this by default 50:28 uh so if you imagine that you know you 50:30 have um let's say the user's location 50:32 stored as a user attribute and you might 50:34 filter that in your queries um and you 50:38 might then have a you know foreign key 50:40 or primary key basically in your 50:41 databases that would uh you know filter 50:43 on that uh location and return data back 50:46 specific to that user um so we'll have 50:48 that kind of uh locked down on on your 50:51 behalf there 50:52 too awesome all right well just want to 50:55 say thank you every everyone for joining 50:57 that concludes today's presentation um 51:00 as mentioned we'll be sending the 51:01 recording after so you can rewatch um 51:04 and if you have any questions want to 51:05 get started feel free to email me Nate 51:09 retail.com and I posted some links um if 51:11 you want to start building if you want 51:12 to get a demo or if you want to read our 51:14 docs those are all available for you um 51:16 so you can get started but yeah that 51:18 concludes just want to say thank you for 51:19 bearing with us with the recording and 51:22 we'll send that right after so super 51:23 excited to see what you all build with 51:24 retool thanks thanks everyone thanks