Building Customized Experiences on HubSpot - Developer Day Opening Keynote 2021

HubSpot's 2021 Developer Day keynote covers new tools for building on the platform: private apps, sandboxes, projects, and serverless functions. Anthony Roldan, Lori Chen, Gregory, and Dana Kazendorfer demo features and discuss the roadmap for creating customized experiences at scale.
Hello everyone. Welcome to Developer Day 2021. My name is Anthony Roldan. I'm a director of engineering here at HubSpot. I work with the CMS Marketplace developer and strategic integrations groups. My pronouns are he and him. I've started my career as a web developer back in high school, my professional software career that is. And I've been building stuff or leading technical team since then. So I'm super excited to share what with all of you today, some of the future direction we're going with our developer basic tooling and then to hand it over to Lori and Gregory for some demos of what we got cooking. Before we get into all the details, I gotta start with a quick legal note regarding forward looking statements. I'm not gonna read this all verbatim, but basically this is our best guess at where we're going with everything we're building. As you all know, building software can be a little bit unpredictable, so things could change over time. Don't buy anything based on just what you see here today, but we're super excited about this direction and I won't belabor this point further. And so first off, I want to give you all a big thank you for building on top of HubSpot. It's huge for HubSpot, it's huge for the companies you work with and for, and we're really thankful to have all of you working with us as developers. I want to share a little bit of data that shows just how important developers are to HubSpot, which is hopefully exciting for all of you. So first off, here's a graph of the growth of apps running on HubSpot over time. So is it anything using OAuth or an API key? You see you've got some really steady growth over the last couple of years and this is super, super exciting. But what's even more exciting when we dig into who is building these apps or and who's using these apps rather we get some pretty interesting data here where you can see that as customers move up tiers, the higher a tier HubSpot customer is, the more likely they are to be using some of these customizations. So these are only the one to one apps that work with a single portal on HubSpot. And you can see that for starter tier we don't have very many folks using it. But once you get to enterprise, a large majority of customers are using these customizations. So that means two really big things. First, it means there's a lot of very well resourced companies who are likely to ask all the folks on this virtual call for work, there's a growing set of companies there who are really looking to grow their business customization. So hopefully that's exciting to all of you. The other point that I really want to underscore here is that this means that all the work we do for developers, we do, you know, the teams I work with, we work on this stuff because we love thinking about developers as developers ourselves. It's really gratifying work. But on top of that, it's totally critical for HubSpot and our customers and the future growth of everyone concerned that we be giving you all great tooling and a great experience as you build on HubSpot. And we think that's going to only get more important in the future. So let's dig into why. Looking forward, I want to talk about why developers, why all of you are going to be even more important in the future. Inside and outside HubSpot, we all know sort of software has been eating the world, which is really exciting for all of us who are building software. And why do we say that's not an accelerate in the future? And there's a lot of reasons going into this. But I'm going to talk about one of the really big reasons. And this is something that Dharmesh Shah, our co founder and cto, talked about a lot at Inbound. I don't know if you all were at Inbound and caught his keynote, so I'm going to do a quick. A quick overview. I'm sure I'm not going to do full justice to it. Dharmesh, if you're listening, thanks for the talk track here. But one of the things he talked about was the relationship and the changing expectations in the relationship that we all have in between ourselves and the companies we interact with, where you have this expectation, where we're using these really seamless digital experiences, likely from the moment, literally the moment we wake up till the moment we go to sleep, we're using these very tight, integrated experiences. And so Dharmesh talked about when he was leasing a Volvo, what a weird disconnect it was to have the purchase and sales experience be so smooth, so low friction. And he even came with an app where you can unlock his car from anywhere in the world. But then when it came time to pay the bill for the lease, it was very clear that it was a separate system. He had to get a separate login, jump through a lot of hoops, talk to a lot of people. And that's just not the kind of digital experience we're all expecting, we were expecting the purchase, sales, support, billing, all to be in one place. We don't want to have to look around and find these other things. We don't want to talk to a lot of people to do these things. As a consumer, this is just the reality that we're all living. And so who's been offering these connected experiences? These aren't new, you know, I think like all of us have probably remembered having these experience with big tech as we'd say today from companies like Amazon and Apple for the better part of a decade. But what's been really cool, if we think back in the last five or six years, these experience have also come to mid sized companies, right? When we buy eyewear with Warby park and we order food off doordash, when we listen to music on Spotify. These, these are all super seamless, right? Single account, integrated digital experience that are absolutely delightful as a, as a consumer. And then especially in the last couple years, these have gone a layer deeper. How many of you have used, you can throw this in the chat, have used something like Toast Takeout or Shopify to buy or interact with a small business somewhere local. This is a screenshot from my local coffee shop here in Somerville, Mass. I'm probably a weekly, if not daily active user of some of these tools. It's so cool to see these software platforms bringing that seamlessness of experience from what used to be the domain of big tech and midsize tech, which have like dedicated engineering teams, right? Building these great experiences into a place where the corner, the coffee shop around the corner from me can offer that same kind of a really tight experience and very relevant to all of us. These expectations are coming to B2B too, right? It's not just the consumer world. This is very much here already for B2B. This is a couple screenshots from the New Hampshire Automobile, Automobile or Dealers Association, a website they have built on HubSpot where dealers can come in, see reports, request trainings, come and build community. It's that integrated digital experience that's making this dealer association so much more compelling, right? It's not an in person thing, it's not something where they have to talk to people. All these dealers can have this kind of a really tight experience. And all of you are a critical part of building this experience of, as Dharmesh said in his keynote, getting giving customers visibility into their relationship with you, providing that CRM that customers can log into, not talk to a person, have that real time view of the interactions they've had, no matter what part they are in the customer lifecycle with the company. And that doesn't stop on the public website. This is a screenshot from HubSpot running on HubSpot. Right. We use our own tools for our own support and service teams. There's been some clear doctoring in this screenshot because this was a real customer. So we tried to obscure it a little bit, but. And also I don't want to bear the here, we're not releasing the extensibility that'll let you all do this kind of customization today, but it shows the way we're going because we know that the experience we give to our HubSpot employees, to that support or service rep who's on the phone with the customer, we want to give them the best view into a customer possible. That's really custom to that. Right? So you can see here, they see all the subscriptions. Someone has MRR renewal dates, billing dates. That employee experience is customer experience. And it's very much part of that unified digital experience that all, all of us are part of building. What are we doing about it as HubSpot? If you're thinking about how you've maybe built some of these things in the past, you're probably saying, well, when I build stuff on the CMS or something with an API or integration that actually looks pretty different and it makes these kinds of unified experiences hard to build. We've inadvertently created a Franken system for all of you to use. Just as Dharmesh talked about in his keynote with companies cobbling systems, these developer touch points that you all use have evolved over time inside HubSpot and we know that's not an ideal experience. I want to share some of the principles we're using looking forward as we build this next level of developer tooling and share how we're thinking about it. And then I'll hand it over to Lori and Gregory to give you a demo of the real stuff of what we have to show. We started on this direction a couple of years ago when we launched the CMS CLI at developer day in 2019. And and so you'll see these new tools very much sort of drafting off of that initial release. And so how do we think about these tools? First, they should be unified. There should be one place to start a single system, to learn a set of docs and cross cutting examples that show you how to get the most out of this platform and build these great digital experiences. Next, it should be scalable. And yes, I mean in terms of technology like it shouldn't fall over as you get more users on it. But more than that, it should scale with your team and it should scale with HubSpot. So that means it should be easy to collaborate on, easy to test, link to version control, and support the future development of HubSpot as we add more integration and extension points. We don't want to make you learn new stuff. Finally, it should be prescriptive inside HubSpot and flexible outside. So we should give you clear examples, let you in behind the curtain on how things work inside HubSpot so you can get the most out of that, not spend calories you don't need to. But then when it comes time to the tools it integrates with and the tools you all use to build on HubSpot, we know every company has a different set of systems, a different set of processes they like to use. It should be flexible and work with the tooling that you prefer to use. And so we don't have all of this today, but we do have some stuff to show. We're super excited for you to check this out. We can't wait to get your feedback on it. So in the coming months, please let us know how you're thinking, what you're building. Really, really excited to be on this journey with you. And I'm going to turn things over to Lori and Gregory to give you a demo of what we got to share. Thanks so much.
Awesome. Thank you, Anthony. Hi everyone, I'm Lori Chen. I'm a product lead in the developer product group and my pronouns are she, her, and I'm really excited to share more of what we're working on so far and then also into the future. So as Anthony said, you are the ones who can help shift our customers to a world of seamless digital experiences and our goal is to make it easier for you to build them, whether you're building for a specific customer or at scale for the HubSpot Marketplace. Before we dive in, you'll find that much of what we'll talk about is focused on the developer creating solutions for a specific account. If you're building for the marketplace, don't worry, we have you in mind. We want to expand much of what you'll see today to to eventually support building products to list on the marketplace as well. So why isn't it easy to build seamless digital Experiences Today? Seamless Digital Experiences combines personalized data driven customer web experiences working in lockstep with a customized employee view of the CRM. It's all part of the same set of features you build on top of HubSpot. Building on HubSpot means harnessing the presentation layer of CMS with the APIs and extensions of apps. Today this involves two siloed worlds with two sets of tools, two dev life cycles, and two ways to host. It's a bit of Frankenstein, as Anthony said, especially when you start to build across each silo, you end up spending more of your time taming the beast and less time building value for your customers. It's the opposite of easy. While it's still early days, the good news is that we're working to unify that experience. Let's take a look at some highlights. First, we have introduced two foundational developer tools into the customer portal. Let's start with Private Apps today. When building app functionality on a specific portal, you need a trade off between the ease of use of API keys and the security and control of OAuth. With a single shared API key from your account, it's easy to get started making API calls. But the sophistication of what you build you ask. The sophistication of what you build grows, you'll quickly run into limitations. There's no support for developer features like CRM cards and webhooks, no way to limit your app's data access, and no ability to manage multiple connections separately. On the other hand, OAuth apps offer all the things that API keys lack, but is more complex. To start, you have to sign up for a separate developer account and you'll need to implement the full OAuth handshake before making your first API call. Private Apps combines the best of both worlds. It builds on top of OAuth and is simplified for the single account use case. Authorizing API calls is as easy as including a non expiring access token in the request header. This eliminates the need to implement OAuth handshakes and refresh logic. But in addition to that, you can now create multiple private apps, allowing you to limit access for each app with scopes, isolate and diagnose issues more easily, and turn off at risk connections without affecting others. We made access token rotation easy by supporting two valid access tokens at one time per private app. Private Apps is currently available to everyone and to learn more, visit the Private Apps developer documentation. Although Private Apps currently does not support developer features such as CRM cards, later you'll hear about how we are looking to expand private app capabilities this year. Another foundational tool we released for those of you who are building solutions for specific accounts is Sandboxes Seamless digital experiences brings together even more moving parts than you've been used to. This is why it's so important to give you a safe production like environment to develop and test your work. Something that's not actually production for all of you front end folks looking for a true staging environment with easy to manage deployment. This may interest you created and managed right in your production account. Sandboxes mirror key aspects of production such as your subscription plan, your CRM schema pipelines, CMS themes, templates and modules. Sandboxes are currently available now and to enterprise customers. Looking beyond today, we're also working on synchronizing CMS pages and automation workflows. And we're also working on the ability to push changes from sandbox to production, making deployment faster and less error prone. While there's some work ahead of us, we anticipate some variation of this new sandbox as the go to test environment for developers, no matter what your subscription plan. Beyond laying down foundational tools, we're going to now take a sneak peek into what else we're working on. Let's start with the future Developer Home. We want to give you a place to call home, one place to get started, one place to access a unified set of tools and documentation, and one place for all of your work. Have you ever tried to find that one log or one configuration but can't remember which account and which menu it lives under? We are working on bringing all of that under one global navigation on HubSpot customer accounts. We're also working on a single Get Started experience to help you get started building quickly, whether you're building for the CMS apps or both. Finally, the left navigation has links to all the tools you need. Everything you would want is hopefully only a click or two away. One of the new tools in Developer Home that you really that we're really excited about is Projects. We're introducing Projects as a flexible top level container for CMS themes and private apps. A project can contain an entire digital experience that includes Themes and private apps where only themes or only private apps. Think of it as a single file based directory that you can check into GitHub and deploy to HubSpot as one unit. Going one level deeper into project capabilities. On the theme side you'll find all the capabilities you're already familiar with. Projects now expands private app capabilities beyond what I talked about earlier. So in addition to public API access, it also supports extensions such as CRM cards and workflow actions. These are all currently only available to public OAuth apps. It also supports assets files that codify account changes, such as object schemas and forms, reducing manual steps during deployment. Finally, private apps support serverless functions in addition to the CMS API endpoints available in CMS Enterprise. Today we will be introducing serverless app functions. It can be referenced by HubSpot internal components like CRM cards and extensions. Basically, apps can use them. Now we're going to take a step back. So far we've covered how we're unifying where you access all your tools with Developer Home. We also talked about how we're unifying what you build with projects. Next, we're going to talk about how projects simplify how you host what you build today. While CMS websites are already hosted entirely on HubSpot, Applogic has to be hosted externally on middleware. That means you have to invest your limited time to set up hosting, figure out server frameworks, enforce security, setting up monitoring, and continued maintenance all before you hit production. This is painful. We want to make it so that you can host your project entirely on HubSpot. Yes, that includes private apps. Imagine a world where you won't have to mess with middleware anymore. A single deploy command and everything is up and running in minutes. This can speed up your time from idea to production. It can also enhance security by reducing CRM data flowing out of HubSpot into middleware projects. Private apps and serverless app functions combine to make this a future that we're all working toward, and we're super excited about that. Seeing is believing. I'm going to now hand it off to Gregory, who's going to demo the concept I just walked through and show us how this all comes together in real life.
Thanks, Lori. I just want to say welcome to Developer Day and I'm really excited to be here. Let's do the old screen share dance here. All right. Okay. Da da. Voila. Okay. Hi, I'm Gregory. I'm a tech lead inside of the developer product group. My pronouns are he, him, and yeah. It's great being here. Welcome to day 500 in my home office. Anyway, so where do we start here? I want to start by saying thank you to all of you and the hard work that you put in every day using the HubSpot platform. As businesses using HubSpot grow, they will continue to need your help and your creativity to get the most out of HubSpot where I come in. My job is to make sure tools that you need. And yeah, so with that, I want to show what we've been working on, which Laurie Just introduced live demo time. Got to live dangerously. Here we are, we're inside of a HubSpot account that was set up for today. It has all of the features that Laurie described enabled inside of the account, including new menu item here. Developer. Yep, let's click on that. Here we are. We have this place inside of HubSpot that is built for you. It has all the tools you need. It has projects and then private apps and sandboxes. Yep. Okay, so got a sandbox set up and I'm going to go ahead and use the sandbox to introduce projects here. So whenever you're starting a new project, you always want to do that in a safe place and sandboxes provide that for you. Okay, so here we are, we're inside the projects tool and I'm going to go ahead and create a project to do. So I'm going to go ahead and use the HubSpot CLI folks have been paying attention closely. We made a little adjustment. We went from the CMS HubSpot CMS CLI to just the HubSpot CLI and yeah, so that's what I'm going to use here. So I have a command that I'm going to run here to create a project. Okay, so I'm going to run hsproject Create. It's going to ask me a few questions here. Oh, I wanted to give it a name. We're going to call it Getting started and where to go. Yeah, that looks great. Template. Oh, okay. Yeah, let's use the Getting Started template. So voila, here we have a project that's been scaffolded out and I can see. So this is VS code. I'm using its built in terminal and I can see now I have a new folder directory with some code in it. I have the code code for my private app and the code for a simple theme, the private app. It has a file app JSON that has some configuration and it has a file here for the CRM card and then it has code for the serverless, the back end for my CRM card, as I can see here, I have just a simple function. I can create a CRM card with, I don't know, 35 lines of JavaScript. Pretty cool. On the theme side, this is just basic. Here I have a single template. One thing to note though is that template has a new extension. It has a Hubble HTML extension. What this is going to do is allow us to keep separate code that is using Hubble from code that isn't. We can have true raw JavaScript files and CSS files that are separate from CSS files that are using Hubble or CSS files that are JavaScript files that are using Hubble. Cool. Yeah. With that, let's go ahead and actually get this running. So see, we're going to go into that getting started directory and we're going to run another new command, HS project upload. And so this is taking the configuration that is set up for the project and it's going to upload all the code. Don't need to specify source and destination. It knows all that and this is the first time. So we need to actually have it create the project as well.
And.
Yeah, let's see. Okay. Whoa. Not only is this creating a project, but we're going to go ahead and do a build as well. Hop over the ui. Saw that I created a project and it's building it in real time. We're getting updates on the progress of this build. During that build process, we can introduce some new functionality into the system. We can validate the code and try to determine is this code sound? And if not, we can fail to build and not allow it to be deployed. Very cool. We can also do other things like the serverless functions can support NPM dependencies and we can go pull them down, that sort of stuff. Lots of potential by having a build and deploy pipeline that's part of the HubSpot system here. Okay, so while I was chatting, we successfully built. And not only that, by default, projects are configured with auto deploy enabled and we deployed it. So with very minimal effort, I now have a CRM card that's running no external servers, nothing of that. And I can go in and pull up a contact. And in the sidebar here, I have now adjusted the contact record and introduced additional information that I chose to supply. In this case, it's just a demo showing some sample content and some wisdom from Kanye, which we can even try to get inspired if we would like. All the musicians will be free. Actually, that sort of resonates with me. Anyway, getting distracted here. So, yeah, let's just jump over. You know, we. In the website side of things, we can see, sure enough we have our theme and there's a template in the theme and we can create a webpage from that. So works as you would expect. You build the project, it gets deployed, and. And the company can leverage the artifacts of that project, whether it be a CRM card or the theme, so on. All right, so that's an example of just how easy it is to get started and how Having a home for all these developer tools is great. Pretty cool, don't you think? But Anthony, he was talking about this glorious end to end customer experience where every detail of the customer journey, both for the business and the customer, is thought about. We want to try to be able to create an example for all of you to be able to leverage as you think about how to implement something along those lines. So yes, so we've started to work on that. So we have an example project. You know, this is very rough early that we've been building out and I want to show it off. So to show it off, we have a fictitious company here, Big Lytics. Some of you may have come across Big Lytics in your relationship with HubSpot. And Big analytics is an analytics company. They offer various consulting services to their customers and they've been growing like crazy and they're starting to feel the pain when it comes to customers understanding what they've purchased and the terms and conditions of what they've purchased. So the contracts that are produced as a result of that and on the sales side, just the whole process is not ideal. So this project that we've been working on is intended to solve that for BigLitix. So to demonstrate how it's solving it, I'm gonna put on my sales rep hat here and switch over into the CRM where we have a bunch of contacts in the Big Lytics CRM. And I'm going to go hop into particular contact here. This is Alex and he works for another company, bitswapping, and they're on board with Big Lytics. They're ready to go. So deal has closed and they're ready to do business. Me as the sales reps, like, okay, well I'm going to give them access to this customer portal. How I'm going to do that is through this CRM card that's part of that project. This CRM card is maybe a little bit different than what you might have seen done elsewhere. If you're looking at this, you might be like, I don't know if I can make that. The reason why is we're looking to introduce more UI components into the CRM card and this is an example of that. So we have a little alert here and I can go ahead and grant access. And sure enough, yep, now Alex is fully registered and can access the customer portal. Okay, gonna change hats again and I'm gonna become Alex. No relation. And we are going to flip over to what he sees. So here's Alex, he's sitting down at his desk and he's like, okay, got an email. It gave me access to Big Lytics. I got all registered. Fast forward, I'm ready to sign in. I go ahead and sign in here and we are going to do this email and password. So this is all using the CMS memberships functionality. Everything here is running on the cms. And now Alex is logged in and he has a view of the business that he's doing with Big Lytics. This is all information that's pulled from the CRM and it's using some functionality that's going to be talked about a little bit later today where it's grabbing the data using GraphQL to pull it into the CMS. There's both data from standard objects like deals as well as custom objects. In this case, there's a contract custom object and it's pulling data from in from that as well. There's also a user menu that was, that's built in so that say, I want to edit my profile. As Alex and I got promoted, I really wanted to be CEO. I can go ahead and do that. And yeah, it gets updated and I flip back over to the CRM and reload here. And sure enough, Alex is now shown as CEO of bitswapping. That's really cool. You can see how this is great for the customer. It's great for the business. It is also great for the developer because all of the code for this is part of a single project and can be built and deployed and kept under version control together. And with projects, if something goes wrong, HubSpot has your back a bit. The way that we do is that we allow you to deploy previous versions. Let's say that the current build that got deployed out was bad and I need to go back. I can, I can just hop in and say, okay, I'm going to deploy an older build, hit the deploy button. And now we've rolled back to a previous version of the app and the theme. Pretty cool. Pretty cool. All right. This project is using a ton of stuff. A bunch of CMS functionality, a bunch of private app features, and all of that is running on HubSpot via serverless and via the CMS. To recap, we have a few things that are available now. Private apps for writing API integrations directly with a customer account in a way that is more secure, and sandboxes for all enterprise tier customers as a way to create a really good space for testing. And we provide tools for helping you sync data. And that's going to continue to get better and expand over time. Then as we look forward into 2022, be on the lookout for projects and that expansion of private apps to support even more functionality. When it comes to staying updated on all of this, we have the HubSpot dev count on Twitter, a developer newsletter that you can sign up for and then you're welcome to register for more information on the beta and over time we'll be reaching out to invite you into the beta if you are interested. So yeah, thank you, thank you, thank you. With that, we're gonna. I'm not sure actually how much time we have, but we're gonna try to do a little bit of Q and A. And we have Dana Kazendorfer from the community. She's a UX designer currently, but at heart a HubSpot developer and it's great having her here today.
Hi everybody. We have about 10 minutes for a Q and A session and I'm going to kick it off really quickly with one quick question straight over to Laurie and just what are some other use cases that you guys have all thought about for these exciting new tools? We've seen one, what might be some others?
Oh, great question. Yes, we thought about a lot of different use cases and we think that these tools make it easier for you to build. But at the same time we think also you are probably already thinking about these use cases and we'd love to hear more about what you'd like to build and definitely want to see if we can expand the product and evolve it to continue to support what you want to build. So in terms of commonalities around like the use cases we're considering is the fact that anything that's customized right. For each customer, you want to show content based on what they've done, right. What their preferences are. We're thinking about experiences that are seamless. So based on their web interactions, the customer's web interactions, we want to customize the non web interactions. Email. It could be like your reps and what they see in the CRM and then as they interact in the non web interactions. We're looking to. You're looking also to change the customer's web interaction as well? Of course. Data driven. Each page content is based on data from the CRM. And also there's an element of self service. Customers want to self service and do a lot more without having to interact and wait for someone to actually reach out to them or to provide them that service. Some things that some use cases that we considered is making your website personalized, interactive during the Sales process. So, so instead of your static content, here's the services we offer. It's more of a tell us what you are looking for and we'll show you what's most relevant to you. Other things are like learning management systems. Right. There's tons of content that you'd want someone to go through when you're onboarding new users maybe, or when you're bringing them onto a new service. There's commerce use cases if you're selling and delivering digital products such as reports, videos, digital content you want to gate and conditionally make accessible to users. Other things are like self service, anything that you want your users to self service. Absolutely. And interactive sales experiences and yeah, basically any. I think the possibilities are, you know, are limitless in terms of what you know, you can imagine you want to build. But at the same time we'd love to hear from you.
Yeah, cool, thank you. Then we have a really highly upvoted question over here from Andre Kong. I apologize for any issues with last names or names in general, but Andre asks, do builds connect with GitHub? And it might have just.
Yeah, so I'm going to take this one. So the answer is not yet, but it's definitely. If I look at the list of items for the roadmap, this one is very high on the list of things that will be coming soon without. Yeah, cool.
The next question is coming from Daniel Holmes. Danielle Holmes. Can you give limited access in sandbox to share staged products with clients for feedback?
So I'm not sure what you mean by limited access. I want to hear more about that. But you can add users to a sandbox portal, right? You can connect that to an HS site domain if you're looking to see live changes to a website. So that's very much in the vision for sandboxes. If there's specific things, we would love to hear those details on what you're looking for in terms of limiting access and that kind of thing.
Next question is going to be coming from Anton Brianalski. Will sandboxes be available for all tiers or will it be enterprise exclusive?
Yeah, so sandboxes are currently enterprise exclusive, but we see it as such an integral part of the design developer experience, especially when you're developing for a specific portal. So we are doing initial research on how we're figuring out how to make it more broadly available to more product tiers. So hopefully you'll hear more from us in the coming months.
I know this is a question that's been on top of my mind and I'm sure at the top of many others, how will content itself, text, images, et cetera, be managed through sandbox and projects. And thank you for that, Andre.
Yeah, it's a great question. We know this is something that everyone's really hungry for. We're hungry for it too. The challenge we have. And so right now, the way we've been thinking about projects, really in the world of like developer only, assets is where we're starting our journey. So those are the themes, serverless functions, that kind of thing. When we're talking about assets which are maybe going to be edited after the fact by marketers or other folks, we know we have to be a little bit more careful around how those assets are like managed and versioned. And so we don't want really something that's going to like break right away once people start editing that. So we know that's highly in demand. We want to have a good answer for that. We're working on it is the best I can say.
Cool.
Awesome. Next question is coming from Miguel Ortega. Which technologies are supported? Are we able to import custom framework still?
Yes. So in terms of the capabilities when it comes to the cms, they are. And a theme that's part of a project. The goal is to support everything that you can do today. And you know, this new system does give us some options for going further in terms of what we can do with it with the CMS and even private apps. And yeah, I'm not sure exactly where we will end up, but it's something we're very aware that people are interested in leveraging the most popular technologies that are out there today. Awesome.
Next question is from Eric. Can you run an app on a schedule?
Very good question. We're aware that there's a number of ways we want to trigger app logic. One of them is through the loading of a UI extension. Others are webhooks triggered on data changes in the CRM. But another really key one is the scheduled task. That's something that we have. Again, if you want to say, hey, if you want to peek into the roadmap, are these things on the roadmap? I'd say yes, we're aware of it and we're looking for ways to, we can address that.
Yeah, I want to add a meta.
Comment on a lot of these forward.
Facing questions, which is like, it's so awesome to see you all sort of picking up, picking up the hints and putting together these breadcrumbs for where we want to go. In terms of what I was saying, in terms of scalability, like, that's really how we're thinking about this. We want this to be a really solid foundation where we can build these on over time and have there be a logical place for them to fit in. And so while I'm sure it's frustrating to hear us saying for a lot of these, like, we know it's coming, we want this to like, your questions are spot on. We want to keep hearing this feedback from you and we're going to like, listen closely to the use cases you're interested in and seek to enable over time.
For sure.
We have time for one more question and I'm going to make it from Chris Moyer. Does the build system support TypeScript 2 or just vanilla node J?
So at this stage it's just vanilla node js. But like Anthony said, we put a lot of investment in building the foundation and having this foundation be one that can grow with us for years to come. And part of that growing is maturing the capabilities that are available. And yeah, so it's great to hear the interest there. And you know, we can take advantage of all this feedback as we sort of map out how we, how we go from here.
Okay. We might even be able to squeeze one more in. So I'm going to end on on this note. Housebot is involved immensely while you've been there. How have the lessons of developing a platform in and of itself impacted how you want developers to work? And that'll be our last question for the evening, the day.
Yeah, it's a great question. I mean, a lot of the stuff we're doing is modeled in part on the tooling that we use internally to HubSpot as we build the core HubSpot product itself. We've seen, like, I think it's really fun to be an engineer in HubSpot because you get all this leverage from the platform that our platform teams have built. And we want to be that platform team for all of you. And so, like, it's been really influential in shaping how we think about, build and deploy, how we think about bringing in other technologies.
Yeah.
So hopefully it reflects that. Lori, Greg, I don't know if you add there as we close out, you.
Know, our goal is to be able to have a system where you can create as much value for the customer that you're working with with as little effort as possible. So we'll take care of as much as possible. The things that are just kind of tedious and instead you can focus on the value you can create. That's like, the ideal for us. Cool.
Awesome. Well, thank you, Lori, Greg and Anthony really appreciate all of the work that you guys have been doing and look forward to seeing the rest of you over in the next session.










