Skip to content


On-Demand: Custom Quote Templates Workshop

View Auto-Generated Transcript

The below transcript has been auto-generated for your convenience. Please reference the source video/audio for direct quotes or to clarify any errors.


Speaker 1: (00:07)
Yes, yes, it will be recorded. Uh, you know what, while we're just waiting, and I apologize for interrupting you two, uh, but I am going to do a little housekeeping and just say one, yes, this will be recorded. Uh, it'll be available on the developer YouTube channel. Uh, afterwards, I will also be sending out an email, uh, to everyone who registered. You can also find out in the community, so yes, yes, yes. Recorded and available for everyone. Um, if you have questions, uh, you'll notice on the right there should be a chat. There is a tab there, says q and a. So if you go and just put your drop of questions there, um, we have the lovely, uh, John McLaren, who is, uh, on chap duty today, uh, so he can drop some knowledge as well as our esteemed guests that you see on the screen presently.

Speaker 1: (00:58)
And beyond that, I think let's just get going. Um, you guys are all here to talk about custom quotes, templates. It's a beta we have out at HubSpot. I have some very, very special guests with me that are much smarter than I am and can talk better than I do. So I'll go ahead and introduce them. Now. First of all, we have Ann Lyg Grove and Connor Jeffers, uh, joining us from Aptitude Kings. They've done amazing things. Uh, you've probably heard of them and they'll teach him many things. We also are lucky to have Tori on the line here on line. What, what era am I from? Um, she is the product manager for quotes. So if you have questions, these are the people to ask. Again, I direct you to the q and a area, uh, yell at them. With that being said, I think I'm gonna hand it out over to Tori, who is going to save me.

Speaker 2: (01:53)
I will do my best. So, as previously mentioned, my name is Tori. I am actually the new product manager for, for quotes. I'm coming to you from our CMS hub and marketplace, which means I'm even more excited to be here and working on our new custom quote feature, which I'm gonna intro you to here in the next moment. But before or after we do that, um, we are also gonna hear about some really, really amazing use cases from EM and Connor. And those are really gonna kind of highlight what is possible on this tool today. And then of course, we're gonna just gonna leave plenty of time for questions at the end. So let's just go ahead and dive into this new custom quotes experience, why they exist and what they're all about. So at HubSpot, we've had a quoting tool for a while now, and that quoting tools allowed to leverage select cr r m data via deals and products, line items to quote their customers, and then kind of transact with them.

Speaker 2: (02:57)
It's, you know, kind of a rough I'm gonna be using here, which ultimately means you're able to exchange payment or kind of that signature, that promise to work with each other that's ultimately gonna close deals and grow your business. Now, this is a great tool. We've got a lot of positive feedback from it. However, it has kind of like one pretty small problem in which we've gotten even more feedback about, and that is the posts that we've seen coming through on the Ideas forum. They're in our kind of top five and the idea, and they have almost the single comment has over 800 up votes. And it's kind of the, to summarize that idea, it's, you know, there's no flexibility here. And that flexibility really shows in a ways that you leverage the content data and potentially, like design brand elements you're looking for. You can't propose contract invoice with these, maybe you want to add multiple line item tables or, or multiple brands and domains.

Speaker 2: (04:06)
You just can't do that today, which is why we've set out to create a new solution. Caitlin, go ahead and, and, um, hop on over a couple slides here. So, one of my favorite items of feedback actually, from that ideas forum is that I think it's on the summarize. It says something like, why on earth would we introduce a new content type that does not work like the other content types? And so what we've done so far with the traditional tool is really allowed, again, self professionals to have a pre streamlined process, part by data act quote. However, the inconsistencies really come through for our other personas, like our developers, our marketers and admins, and even your customers. We really wanna lean into your customer's experience here. And so to solve for that and ensure that consistent experience, what we've done is leverage our CR r m and the data in it, and our kind of content piece, our, our CMS tools to ensure that we can really lean into consistency.

Speaker 2: (05:14)
And that consistency manifests in a few different ways. So what we really wanted to do is create that consistent experience from a setup perspective for web developers, admins, marketers, and reps. That's gonna increase your time to value, because you're not gonna have to reduce redundant work. You're not gonna have to learn something new. It's gonna ensure that you have a more powerful and flexible experience, that you can leverage more data, more modules, things that you're already familiar with throughout our other tools to ensure a more personalized experience. That's all. Build trust with your customers and in turn, grow your business. I think a really good example of this is like, you're on, you, you've interacted with your, with a, a business for a little bit, right? You've gone from maybe their website, you've got a few emails, potentially a landing page, and then you get to where you actually have to give them your money or sign your life away, and it looks nothing like it, right?

Speaker 2: (06:08)
And you're like, whoa, whoa, whoa, something's going off in your head. This is inconsistent. I, this is not building the trust that I want it to. And so, ultimately, by leveraging those kind of tools that we have out of the box in HubSpot, we don't only wanna drive a consistent experience for you all creating these, but we wanna make sure the end user experience is magical and delightful too, and builds that trust, builds those relationships that enable you to transact with each other, that grows both of your businesses, ideally. All right, so enough about consistency, enough about kind of the theme and problem that we're trying to solve for. So what did we actually do with custom quotes? So custom quotes, again, we really lean, we already had, which enables our developers to leverage our kind of suite of developer tools. You can use local development, our design tools, Hubble, to create quote templates, similarly to how you would create landing page templates, website templates, et cetera.

Speaker 2: (07:05)
We've also leveraged the CMFs to build this kind of interim no code editor. Ultimately, what we wanna do there is provide you the same exact editor that you're gonna get for landing pages and website pages. But so far what we've done is ensure you don't have to touch code. You can go ahead and edit the modules that are available in our default, our custom tablets that you might get from working with a developer, where you can go in and use our rich tech module, set theme settings, support multiple brands, and do some of those customizations you want. Now this is all really exciting. We're definitely kind of on that path to creating a really powerful experience, but there's a lot more that we wanna continue to do here, especially beyond content. As I mentioned, I'm very passionate about content, but we really wanna ensure kind of that end-to-end experience across our HubSpot tools.

Speaker 2: (07:57)
So some things that we also have upcoming are some updates to our api. We're gonna be introducing some, create an update functionality there. And we also know that, you know, it's not as simple as creating the quote, right? We wanna make sure you kind of have that quote to cash experience completely covered. And so reporting and workflows is gonna be a really big part of that, automating where you can, and then ultimately reporting on it, how much money did you make, how much money's outstanding, like those are really crucial things to your business. So really rounding out that experience. And then for those of you who are not working with great developers or great agencies, we're gonna continue to work on introducing more default, have, let's say more default themes to kind of make up for some of the, um, lack of drag and drop that would allow you a little bit more to provide.

Speaker 2: (08:48)
Um, and that's really the biggest piece of feedback that we're hearing so far, is that why doesn't this work, like landing page drag and drop editor, why doesn't it not work like websites? And we're gonna get there, we promise we will get there, but it's just gonna be a little bit of an omission for this year. And so we're gonna do our best to kind of fill in the gaps to make sure we can offer more variety of modules and templates to make sure that you can really get what you're looking for if you're not working with a developer or partner. I'll also just quickly note that we're really not gonna lean into some of our enterprise features this year. That's something that we're gonna punt on again and kind of think about in 2023. Now, despite all those omissions, m and Connor and team have done amazing things with the custom quotes tool, and I'm so, so excited for them to show it off. So on that note, I'm actually gonna pop that over to em. Connor, thanks guys.

Speaker 3: (09:43)
Thank you. Uh, we're so excited to be here, everybody. Uh, we've been doing some really, really cool stuff with custom quotes. I think that the basic way to think about kind of what you guys can do in custom quotes is you can make your quotes look like whatever you want, and you can really style 'em and have all the power that you have as sort of an HT M l or a C M S editor. But the thing that makes us really, really excited about custom quotes is some of the really unique buying experiences we've been able to build and create for our customers, um, that then they can bring to their customers. And so really thinking about, we talk a lot about kind of that, uh, that c m s powered c r m experience and really tying that back into quotes, which is really quotes are just another way to collaborate with your customers, expose your c r m data, and really manipulate what that customer experience looks like, tailored to exactly what your c r m data has.

Speaker 3: (10:31)
So we're gonna go through a couple of examples here. I'll, I'll take kind of this first one and then I'll let em talk through some other ones. And if you guys have questions on these or if they bring up sort of ideas for stuff you guys are trying to do, uh, throw them in the q and a and after this, we'll, we'll chat through those. So the first one that I'm gonna go through, uh, is an example that, that we did for one of our customers, which is they sell to multi-location businesses. So one of the things that's a challenge for them is that they're customer and the people that they're sort of reaching out to aren't as simple as just one single, uh, location with one single piece of information. So they need to pull data into their quote from other objects beyond just that deal record.

Speaker 3: (11:09)
And so they have a custom object in their system, and we're able to build that quote. So we can pull a lot of that information all the way down. And then similarly on this quote, uh, this particular organization sells a lot to hospitals and medical systems that love to manually sign things on paper with ink. Uh, and so we did some optimization versus, uh, kind of that e-signature so that they could print it and fax it, and it really be optimized for everything that they wanted to do. So this is our example. Um, what this is, is you have sort of your, uh, the, there's a little blurry, which I apologize for. Let me see if I'm, can make it bigger on my side. Um, I don't think so. That's okay. So this is a particular, uh, kind of deal with somebody to the Mayo Clinic.

Speaker 3: (11:51)
So they're actually selling to this individual Mayo Clinic, but related to this, Mayo Clinic deal is a specific hospital. So this deal is not just with the Mayo Clinic. They need to make sure that in the quote in what they're sending, they're providing information about the hospital that this deal is related to. So we have this hospital's custom object on the right that has specific information about that hospital, what the hospital's address is, which hospital they're actually working with, and they need to make sure when they generate and create that quote and send it to that customer that it has all this information on it. So if we jump forward to our next slide here, uh, this is kind of just a, a small screenshot snapshot of what this looks like. So we're actually able to generate the quote, it can be styled as kind of whatever you want it to get styled as.

Speaker 3: (12:35)
Um, but we're able to pull in information from that custom object that's related to the deal. So the sales rep is going through their process, they're associating those hospitals to the deal that they're actually working with, and then we're pulling information about that custom object into the quote so that when the customer receives it, it's not just, oh, you're sending this and we're generally Mayo Clinic, even though that's where we want all of those deals to be stored for our data model. We're also able to merge in information for other custom related records. So you could apply the same concept to part numbers or inventory distribution locations or shipping records or anything else that you might be storing in your C rm, and you can really extend what you can do with quotes really, really far by doing something, uh, like this. So jumping to the next slide, we, we have a little bit of a snapshot.

Speaker 3: (13:22)
This will be a little easier. We'll send through this as a follow up and you guys can look through this, but, um, of what that code actually looks like to fetch information related to that custom object. So we're using the C r M objects api, I, we're searching for different associations, uh, and being able to grab data that is related to that deal, uh, that isn't necessarily on the deal record itself. So not only can you grab any deal fields, but you can pull information from any related records related objects. Uh, and you can really extend this with, uh, we've done some cool things with flexible associations. You know, grab sort of the, the distributor contact or distributor record, uh, and you can really extend this sort of as far as you want to. So if this is something that's really exciting and interesting to you guys, uh, throw QA in the chat that's related, we'll tackle sort of all the questions that you guys have may, uh, at the end. So em, I'll pass you this one. Uh, for another example that we did for another project.

Speaker 4: (14:13)
Yeah, this one's a little beefy. It's like four parts. It's not twofer, it's a four for, um, but this one, this use case is all about generating quotes that are tailored to your customer. Um, and specifically what I mean when I say that is contractual details around your product, around the terms of the engagement of that buying that product, and making sure that there are this legal representation on the actual quote that represents what's gonna happen if they get that product or they have that certain term. And I think this is great for customers, but I also think that there's probably, uh, a legal council somewhere that's like, yeah, yeah, we need this. We need to make sure, sure, that's happening. So the first part, uh, of what we built into this quote is the sort of just standard terms versus an m mssa. Um, so basically I think you'd be thinking about like a net new client versus a returning client that's a net new client.

Speaker 4: (15:04)
You probably wanna have that m MSSA included. Um, so we flip over to z next slide. You just in the, uh, legal terms there, that's being called out in that little yellow box at the top. Um, put the dropdown, there's you, you put the MSA into the dropdown, and then on the output of the quote, boom, the standard terms are replaced with the m MSA terms, uh, which is amazing. Uh, if you're a new client and you meet that mssa or you're the legal person from that new client, and you need to make sure that that is stored somewhere in your system. Um, next piece was, uh, add-on flexibility for deals. Obviously when you're selling products and services, there are a number of different things that go into how you sell them and how you categorize them. So one and discount them. So one thing is having a free product, like a one-time free product different than a discount, um, especially for legal terms.

Speaker 4: (15:58)
Uh, so in this situation, we, you see here on the left that there is a, a free month product that's been added to the quote and the, the terms of that, like the length of that is a, is a one time, um, ordeal. And you can see that once that's input as one time, and once that product is there, the free month is added, that those terms for free months are added to the, um, output of the quote, which you can see now is in addition to that m MSA is there. And then the third part here is the multi-year deal, or, you know, long-term annual contracts. Um, but again, it's just select simply selecting the, the term from the dropdown and it dynamically updates. And then you can see now you've got three separate things that have been dynamically added to the output of the quote.

Speaker 4: (16:51)
And then finally, discounting, which is in the most people's use cases, is different than a free product. So in this case, we changed the US dollars, the discount field to be, uh, I think it was like negative 250 bucks or something. But either way, it is dynamically output onto the, um, quote itself. And now you've got four separate pieces of content, I guess if we're calling them copy legal terms that have been added dynamically to your quote, your clients will thank you, and your legal team will thank you. And I think from an operational perspective, uh, that is also makes things a breeze. Um, I want to hoo some of the, oh yeah, the final, got all of the, the pieces there. But on the next slide, I think I've got,

Speaker 3: (17:35)
Before you jump to the, the KO dam, and if we jump back one, so thing I wanna add here that, that this is related to is we run into lots of use cases with customers. So if you're, if you're a partner working with customers and they're like, we need C pq, how are we gonna make sure the right things get added? How are we gonna make sure people add the right line items? You can really use the custom quotes to power a lot of that. So taking individual deal fields and showing different pricing configurations or limiting what gets displayed on the quote itself. I think a lot of folks get tied up in how do I build sort of like a validation rule on the front end and prevent people from adding things. You can actually take that all the way to that end user experience to say, we're only going to show stuff on the quote that should be here, and where we're gonna build all of that rules and logic when that quote is generated and sent, which makes sure that you're not just exposing anything out to an end customer that you wouldn't want to.

Speaker 3: (18:23)
So sort of like those right m MSA terms, the right multi-year terms, how do you make sure that all the right are added and subtracted to make sure sales reps do this correctly? And I think one of the things that we get really excited about is this ends up a better user experience for that sales user because instead of them just constantly hitting it, Hey, you can't do that. Did you add the multi-year terms you need to go add the multi-year terms? They're just going through their flow, and then the output is ultimately what you want to make sure that customer sees. You can really extend that to any other type of u use case also.

Speaker 4: (18:53)
Yeah, and it centralizes that Dena too, the, the term language so that there's not a, it, it eliminates the risk that a salesperson could accidentally put in an outdated, uh, term from last year or the year before. So it's centralized and can controlled in a way that reduces risk. And then here in the code, you'll see, um, this, the first box on the left is really just showing all of the, um, legal terms. And then I think on the right is the discounts. Um, so those are for the technical folks. And then I included another slide here, which I got really excited about this morning when I was going to find these screenshots. Um, because when we built this, when we built this back in like, gosh, I think it was maybe September, October of last year, the interface was just the, the design manager.

Speaker 4: (19:42)
So we were working with developers, and I think this all makes it all very interesting how the marketing piece comes into play here. Um, because as we were servicing this client, we have an ops team that doesn't have a developer to make things look pretty and doesn't have a developer to make the data go where it needs to go. So looping in some of the marketing folks and dev folks from the marketing side was necessary here. But in looking back at it, now, we're in looking at it now, we have this no code view and like to saying, obviously it's going to improve and be more like what we see with the C M s, but, um, this is just like glorious to me that when we built this, not even that long ago, it was only, it was literally all code and required, you know, a bunch of different kinds of shuffling to get the right people to be able to have the right inputs. Um, and now going back, going and looking at it this morning, I was so refreshed seeing this, this view here and this instance, and I think I even, oh yeah, the, the module here, it's a rich checks module. It makes it so, so easy for the user. Um, but yeah, just wanted to include that bit. I think that those are all four parts of the forer.

Speaker 3: (20:45)
And then, uh, I can go through this. This is our example. This is our quote, uh, so we'll give you a little bit of a peek behind the curtain. Uh, but we have a couple of needs for our particular quote that really matter. One is, we often, because we're a services business, have custom MSAs with individual customers, and while we give them our standard msa, we have lots of back and forth on, well, we don't want these terms or those terms or this different net policies, and we need to make sure we capture all of that. Um, the other component here that we need to be able to do is, is when we decide on final terms with the customer, we wanna be able to have a single signing experience. So rather than sending a quote for a signature that has line items and, and deal elements on it, and then we also have to send them an m mssa, we wanna make sure that we have a record of what m MSSA were agreed to with this customer in writing.

Speaker 3: (21:30)
We also wanna make sure we only have to go through one signature process, and then we wanna make it really easy for our customers to book time with us, have a follow up, ask questions so that we can make this really easy, versus us sending a quote and then they respond and then we send them a booking link. So we're gonna go through a couple of examples here of how this works, uh, which is we allow for our sales folks, um, to have different, uh, rules and, and fields on this quote, different purchase terms that we're merging in with snippets, and then we're pulling those into the quote itself. Um, and we're also doing a bunch of this with deal fields also. So being able to have deal dropdowns on how many months is a retainer for, what's their overage rate, what does that look like?

Speaker 3: (22:12)
And being able to merge some of this information of little writeups from the sales agent plus those deal dropdown fields to dynamically populate those individual terms. Um, so if we jump to this next one, we can probably skip this slide. I don't think it's super relevant for, uh, this piece of it. Uh, we have a couple here. Let's keep going to, uh, scheduling e. So something that we're doing on, um, our particular quote, let's jump to the next one for, yeah, 32. So on our quote itself, we're actually merging in, uh, the calendar booking link for the rep that is making that. So this is the, the HubSpot meetings and the HubSpot sales asset to be able to have this direct booking link. And we're grabbing who the user is that's associated and owns that deal record. And then we're pulling in their calendar link onto, uh, this quote so that when we send the quote from the actual quote formatted page, the users can book time directly with those sales reps to ask follow-ups and everything else.

Speaker 3: (23:11)
And then we're dynamically generating all of our m MSA terms and all of the policies on that quote. And we're also allowing for sales users to override those by hasting, that whole m MSA into a, a rich text field that allows you to sort of populate that. So when that customer goes through and they, they sign and they check out, we then have them, uh, with their signature, they're agreeing to all of our terms, whether they're our standard terms or custom terms, they auto get generated onto the quote, and they can book follow ups or questions directly from the quote page by embedding sort of that booking widget directly into the quote itself. Um, so this is something that we built originally, uh, and then we built a whole bunch of these for different customers. Um, so we'll jump into q and a. If you guys have questions and you wanna chat through them, please throw them into the q and a, uh, and we will go through some of these. One note for all of our hosts is that I was used to a different webinar platform and I clicked answer live, which does not take ownership over that question. It removes it

Speaker 1: (24:08)
. So,

Speaker 3: (24:09)
So no ends are going through those that if you're like, Ooh, this one looks cool, uh, you'll just, you'll remove it into the answered bucket.

Speaker 1: (24:15)
, good to know. Thank you, . Um, first of all, I think we could just lead, no, that was an amazing example right there. So, um, I think, I think we was gonna end it right here. N n no more questions, anything. We're just gonna go . No. All right. Um, so yeah, if you guys have questions, go ahead and add 'em to the qa. Um, I'm gonna go hand these out to you guys to answer. Uh, Sergio asked a wild Beth, is there an option to custom the format of the ked number, customize the format quote number? We have a big problem with that. Corey

Speaker 3: (24:46)
Excited so I can let her take that one. Yeah.

Speaker 2: (24:49)
Yeah, I mean, uh, it's not really possible in a way. We don't have something built into the way that we automatically create the reference number and that would enable you to one this fill, like, you know, override that or two set of sche map. But this is something we're really eager to talk to y'all about. So I'm gonna actually throw my email in the chat. So if anyone else wants to talk about reference numbers and how they envision those, please. Oh, perfect. I don't even need to throw it in the chat. Please send me an email and I'm gonna hook you up with our designer, Matt, who's currently actually running some research around this.

Speaker 3: (25:27)
A workaround that we've done as well, uh, that's sort of related to that perimeter is, uh, whether we're using sort of code in the quote itself or, uh, an ops subscript to go stamp a unique ID onto a record, you can pull in other values. So if you build a custom quote template and you wanna pull in either a value that you're generating or a value you're storing on somewhere else, like a customer reference number or something to that effect, you can pull that into that quote on that front end, uh, and that, that is development. So you're, you're, you're, you're building something to do that. Uh, but, uh, Tori, we'll be happy to help you sort of figure that out on the, uh, the config side.

Speaker 4: (26:04)
I think that's sort of

Speaker 3: (26:05)

Speaker 2: (26:05)
Oh, go ahead, em,

Speaker 4: (26:07)
I was just gonna say that that speaks sort of to, to Callie's question here about the customer job title. I think that would just be considered another data point that you could pull in, but would I think that would require some custom debt?

Speaker 3: (26:20)

Speaker 2: (26:20)
Not necessarily. Um, I mean, if it's, if it's a custom property that you have that is associated to like the contact with the company and the deal, um, you can go ahead in the no-code editor. Now any rich text module in there, you can add personalization tokens. And so if that's something that already exists in your, um, CRM data and go ahead and pull it right in, not add custom personalization tokens, right now, it's the line items module, unfortunately, but you could custom your own, that could include some of those things. That's like the coolest thing about what we've done with custom quotes is that while we wanna ensure that out of the box, you can leverage the power of the serum, we know that, like with a developer, the possibility their endless, like you could literally build anything you want and work around pretty much all the roadmap flux that we have currently. Thanks for clarifying. I actually, I'm very happy to be wrong on that one. We still have a long way to go, so it's not perfect by any means, but it's definitely a stepping point.

Speaker 3: (27:24)
I I can take this question from Gene Jones, which is, we really need to be able to clone quotes into new deals. When is that coming? Uh, so we, we, I'll do a little bit of a plug and also an explanation, which is we have an app, uh, it's on the marketplace, it's called Clone Attack. Uh, it lets you clone records inside of HubSpot, and so you can clone deals, it'll bring over all of the line items and associated records and all that kind of stuff. However, uh, it does not currently bring over quotes and it couldn't because there was no quotes. A p i. Now there's gonna be a quotes api, uh, so we're gonna update that to include quotes on it, uh, so that those will come over as well, uh, and bring across those associated records. Um, so our answer is like, we're building that at some point here. And if Tori has any other updates on cloning, feel free. The last time I saw it was not yet planned on the HubSpot side, but we're looking to solve that for people with the quotes API here, uh, in the next couple of, I'll say months only, so I don't get yelled at by product, uh, but in the near future is the answer.

Speaker 1: (28:25)
I wanna go hit this, uh, the answer section, the couple questions that were not really answered prior, uh, from Stephanie, I'm told there's no way to use a salesperson avatar. Is there something we can do? Where is this a, uh, picture request? Uh, I'll let Tori take that.

Speaker 2: (28:42)
Um, I would probably need some clarifying information. And some of the tablets we do go ahead and pull that roof for whoever the wrap is. You kind of pull that avatar image in. Um, again, we, we leverage the rich tech module and the no-code editor, if you're not working with a developer, um, you can go and open that module and see that that image is pulling in. If you're looking for something additional there, you can go ahead and create a custom property to do that. I actually talked to a a, a customer put a really cool use case today who wanted actually the, the kind of signature image already added to each quote and be able to pull that through with data rather than having the rep have to sign it in response to the customer sign it. And he was able to do that with a custom property.

Speaker 1: (29:28)
Nice. Uh, Callie asked in the standard templates and templates, if there are no comments left by the deal owner, the comments box is not shown in the custom quotes. It is shown regardless, there are comments left or not. Is there a way to customize this viewability?

Speaker 2: (29:46)
I pick this one. So again, in that no-code editor, we actually have the option to hide modules. And so if you're in the no-code editor, the sidebar has the list of modules. If you hover over, there's those modules, there's a little like show hide, little icon icon, you're gonna click that and that's gonna hide it. Now, I will caveat this for our comments and our terms that will hide the module from showing on the template and the completed quote, however, that box to add comments in terms in the quote wizard will still show. So just make sure if you're gonna do that, you set kind of expectations with your reps who might be actually going through that PO process to create the quote using that template.

Speaker 1: (30:28)
And, uh, while we got you Tori, um, we'll quote templates eventually be available on the asset marketplace.

Speaker 2: (30:35)
So another beautiful thing about building on the C M s, we built quotes using themes using these building blocks that were already and are available in the asset marketplace. So I don't know when this will happen. I don't know if it will happen this year, but my end vision for this is like, you'll able to go to the marketplace and you will be able to download a theme and it landing page templates, website templates, blah, like all the templates imaginable. And maybe if you only want some of those, then you can kind of take those out and only use the ones that you need, maybe with some sort of like feed theme add-on pack or something. But that does excite me a lot that we've kind of unblocked the ability to do that. So just stay tuned. Unfortunately, nowhere on our near-term roadmap, but something I'm really excited of more at the future.

Speaker 1: (31:24)
Nice. And, uh, for everyone here, mark asked a popular question with four legs need to have a product and a monthly recurring price and a startup cost. Is this achievable?

Speaker 3: (31:36)
Yeah, I, I can take first pass at that. So our, our quote does that, so our, our custom quote that we use, we have both recurring and one time, uh, amounts on it. So we often have a, here's a, here's an implementation cost, and then there's some sort of ongoing retainer or support agreement with it. Uh, and so that's just built into that, um, that custom quote where we're showing different fields. The, the nuance is in totaling. So basically like we have terms, so how long is this for? Are you showing 12 months, three months there? There's in general for this type of stuff, the front end is, is really dependent on that backend infrastructure. So you kinda have to solve for the rev ops problem and then you can sort of solve for that front end experience. Um, but for that type of a use case, that's something we've solved a whole bunch of times.

Speaker 3: (32:18)
Uh, the, the short answer is basically in the custom quote logic you just need to say for, uh, line items that say one time only, show that amount once for line items that say monthly, multiply that amount times whatever the number of months is, and then aggregate those together as your sum. And it just modifies some of that logic piece. But you can absolutely do that in, in custom quotes and you can even extend that to payment terms and all sorts of different payment schedules and whatever level of complexity sort of you might wanna run into. Uh, and you can really build that into sort of any type of front end piece

Speaker 1: (32:53)
Quality first stab. Um, Evan s what are the capabilities for differentiating which associated records on the deal are pulled for what data on the quote by their association labels for,

Speaker 3: (33:06)
I can take this one also cause Yeah, go for it. Things are near, near and dear to my heart. Uh, so there's an amazing feature called flexible associations, uh, which I is in general release, I think now or general beta. Uh, you may still have to ask for it, but you can have it, you don't have to have the secret key. Uh, so ask for it for flex associations. Um, you may already have this, which is why you're describing this. So this basically allows you to create relationships between records, uh, with a label. So you can say, thi this record, Isla, this company is related to this deal with a label of distributor. Uh, and then you can actually use the c r m association's a p i, uh, to then in your custom quote, fetch information from a record that is labeled as distributor and grab the name the primary you, you could even go further and say, grab the, the record related to this deal as distributor, and then find the contact at that.

Speaker 3: (33:58)
That's our primary distribution contact and grab their information and put it onto this quote. And you could run all of that script in the quote itself, which is super cool. Uh, and you can grab all of that and, and render it on your end quote. Um, and associations are awesome. You can do all sorts of cool stuff. Uh, I think our, someone from our team, I think is throwing links to labs and other stuff. We have an app that helps with some of that too, but, uh, associations are awesome and you should use them and you can do really cool stuff with them. Uh, but yes, you should be able to solve for that particular use case. Uh, it'll just require some logic built into the quote template to fetch that.

Speaker 1: (34:34)
Cool. Uh, Cali ask, is it possible set default line items to show on all newly created deals specific per pipeline?

Speaker 3: (34:42)
So that would be, uh, ways that we've done that is with, with coded actions. Uh, so like operations hub, you could have something that every time a deal's created, um, goes create this line item and add it to that deal based off of these properties. Um, that wouldn't be something in the quote itself cuz it would, it would be something would need to run on the deal. So you should be able to do that. You'd need a coded action for it. Uh, but that is achievable. Um, it wouldn't necessarily be on the custom quote side, but that, that's doable version.

Speaker 1: (35:13)
And uh, Dan asks, will there be the ability to put forward multiple options in a single quote like package A, B, C, et cetera?

Speaker 3: (35:23)
Nodding, so I can let you say something or I can speak to that. It's up to you.

Speaker 2: (35:27)
I think you're probably gonna have a better answer because our answer is it's not something we're gonna support natively for a while. We can, but I'm sure you have a cool cool solution.

Speaker 3: (35:36)
Yeah, yeah, yeah. So the answer is definitely yes. Um, what you wanna have happen on the backend and happen next gets interesting. Um, but you can build multiple links in cta. So something that we've done for instance, is we have a, uh, we have a landing page for onboardings that allow people that you, this is where you can start doing cool stuff with HubSpot payments, which is really exciting. Uh, but you could have a quote and you could have, um, like product checkout links and you could have multiple options on your quote pulling those links in and then allow people to click and go to that screen and check out and enter credit card information or payment information, or you could just redirect them to something in a form and then you carry over what option that they selected. But you could offer multiple options on that quote, which you'd probably, the easiest way to architect that I think would be to have each line item be an option so that you can generate some sort of next step action, uh, on the quote itself. But there's no reason you couldn't have multiple buttons on that quote that are links. I think the beauty of sort of what Tori had talked about is it's all built with the same c m CMS hub framework. And so anything you can do on a website, uh, you can kind of do in a quote and it just lets you build sort of this unique page for that specific record, which is awesome. So, uh, totally achievable, uh, happy to chat with you more about around that use case, but, um, should be doable.

Speaker 1: (36:53)
Cool. Uh, Nicholas says, I had clients mentioned friction with the signing verification of quotes. A rep emails the link, they click the link, they then have to hit verifi verify, go back to their email, click another link and sign any workarounds or have you had anyone voice issues about this enough to think of a workaround? I believe

Speaker 3: (37:15)
Security reasons. Yeah. We bounce that tutorial

Speaker 1: (37:18)

Speaker 2: (37:19)
Yeah, we have heard a little bit of this, um, in the past. It's just not the ideal experience. Not only in regards to how it works for, I need you to sign and then I, I need to sign. Um, it's just you're seeing them. Some friction, it goes into junk or spam sometimes that email from Hello side. Um, and so this is something that I kind of, I'm gonna um, point back to those omissions for this year. We're focusing on improving that this year, but something we definitely considering for the following year, it's something we are hearing a lot about, unfortunately, it's just not something we're gonna focus on on your term.

Speaker 1: (37:59)
Well, uh, um, and this one is specifically for Connor. Uh, Chris s is creating custom quotes a paid point that typically occurs in the initial stale conversations, or is this typically something that sung that comes up while the initial scope is underway?

Speaker 3: (38:13)
Yeah. Uh, the, we, we have people that come to us and say, I wanna do a custom quote help. Uh, and that that's exactly what they're looking for. Um, we also have a lot of people that, that are saying, Hey, I need to solve for this use case. It's part of an implementation cycle. Uh, and so we, we usually identify it as a, uh, potential option. What I will say, one of the things that I think is exciting about Tori and the work that that her team is doing is making that a lot more accessible to non-technical folks. Uh, but we in sort of our approach are typically working with customers and identifying kind of what are you trying to do? How is this gonna work? Is custom quote templates a way to solve for this? Uh, and then that, that's just sort of one of the things in our tool belt.

Speaker 3: (38:51)
So it could be active customers, it could be scoping side, um, it could be that's the whole project. Uh, it's honestly, I I'd say it follows all of the same principles as when you talk about like a C M s hub, custom object powered page. Rarely is someone coming in and saying, th this is exactly what I want to build. And it's usually a, here's the problem I'm trying to solve, or here's the experience I'm trying to create. Uh, and we're usually sort of mapping that back to here's how we could do that and here's here's how it would work. Um, so a a little bit of both, but, uh, that's typically how we approach it. And then I, I can speak to this ALEJANDRO one, but I'll let you, I'll let you read it, Dennis.

Speaker 1: (39:26)
Thank you. I feel relevant. Um, can we call an API endpoint inside the design manager to pull third party info into a custom quote? Do we need a CMS enterprise serverless function featured to do that?

Speaker 3: (39:38)
So I, I can speak to like, is this possible, uh, which is yes, like we're, we're we're doing it, uh, we've actively done it in quotes and projects. We have a, we have an app that we're building right now that sort of is a big Stripe integration thing that's gonna pull a bunch of data in from Stripe based off the customer record inside of that quote itself. Uh, in terms of what skews you need to do that, I'm not a hundred percent sure and, uh, Tori may have the answer that may be a follow up. Uh, I know that we, the, the framework to do that is using something like a serverless function. What I don't know is if you have access to custom quotes, but not c m s Epic Enterprise, if you have that feature on the quote itself, I don't know if you have the answer to that or not, Tori.

Speaker 2: (40:22)
Yeah, so there's a few different ways you could do this. And even, um, beyond leveraging surplus functions or api, there's a, a bunch of out-of-the-box integrations that you wouldn't even necessarily be required to have CMF hub or the Hyatt tiers of, you know, an enterprise. Um, and those will do all that data integration for you and then you won't even need to potentially use our api. So that's folks do is definitely check out our ecosystem, check out our app marketplace. There's a lot of really awesome integrations there. If you are looking to do something a little bit more custom and you're looking to kind of pull that data more into the object itself, I would have to follow up on serverless, but I don't necessarily think that you would need that here cause it's more specific to the objects rather than to using serverless function. But again, it's all depends on how you build it.

Speaker 3: (41:12)
It looks like John actually answered this in the chat, uh, with, with the correct answer , which which is that, uh, if you have access to c CMS hub, uh, then you can do the serverless functions and then you can access those inside of the custom quote template itself. Um, but if you don't need authentication, you can just do it straight with JavaScript, uh, using the custom quote. So thank you John, for the clarification. Uh, I was not a hundred percent sure what licensing you needed, but what you wanna do is definitely possible, and we've done it a couple of times. Um, and I think serverless functions are incredible and, and a tool that a lot of people should leverage. You can do so much cool stuff with them. Uh, and it bums me out that they're stuck in C M S F enterprise, but I lobby constantly for that to change. I just don't have enough control to make it happen for you.

Speaker 1: (41:58)
Well done. Um, any fe Mayo, other questions? Go ahead and drop me to q and a. Uh, that looks like everything's cleared out there. Uh, do you guys have any other thoughts you wanna discuss?

Speaker 4: (42:09)
I'm trying to think of

Speaker 1: (42:10)
No pressures

Speaker 4: (42:11)
That I, um, that I encountered was, Connor, do you remember this? There, there's a feature on the, the link, the quote that's, that's hosted on web where you can download it Yeah. As a and it gets a little wonky when you, when you do that. And I don't, I don't know the answer of how to fix that, but I do know that that's probably something that will come up, um, more and more as the custom quotes feature is continue to be built out, especially with that no-code editor. Uh, and looking more like the c m s uh, content editing experience, I would imagine that that problem would increase because you got more design functionality and more elements on the page. So, um, definitely something think about, although I wish I had the answer,

Speaker 2: (42:53)
I can speak to a little bit of that cuz we are starting to see a lot of feedback around this. Um, and so for our default templates, we're actually putting in a lot of effort to kind of do that final polish as we're looking to launch this beta to all make sure that we can kind of get ahead of some of the the ways that you would wanna update these. So make sure the downloads look fairly nice. Um, and then the way that you could do that if you are a little bit more technical is you can go ahead and set some like kinda on print on download styles right in there to ensure that the alignment looks nice. I know it, I mean if you're in the web dev space and you're already like, how do I make this thing responsive? This is just another element to kind of consider there is how do we make sure it looks good on all devices, but then how do we also make sure it looks good on, on download?

Speaker 4: (43:36)
But it's a good problem to have though we're sitting here talking about really interesting data points and really beautiful design options and having both of them at the same time. So it's a good problem to have.

Speaker 1: (43:49)
Cool. Um, I think that pretty much sums it up folks. Uh, Connor and Tori, thank you all for helping out here putting this on. Um, after today. We're always thankful for you. Uh, if you guys have any questions, they have very nicely put email addresses on this last slide and I believe they're all very receptive to talking to any one of you at any time about anything. Sure. About that. It's true,

Speaker 4: (44:14)
It's true. It's not worth an

Speaker 2: (44:16)
Email. Yeah,

Speaker 1: (44:17)
. Uh, yeah, so, um, I, as I said, I'll be putting this on the developer YouTube channel as well as sending out an email to everyone who actually, uh, signed up for this. So look out for that. If you have any questions, you can find me on the community, you can find these folks that are very nice and you can talk to 'em and say hi. Um, with that I'm gonna say goodbye everyone. Have a great time and uh, stay warm. Thanks everybody. Thanks everyone. Bye.

Want to Learn More?