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:00)
I'm gonna let people, we are now recording. Thank you everybody for coming. Uh, people are still trickling in, but we're gonna go ahead and kick things off. I'm Kyle, uh, from HubSpot Academy. Got Connor Jeffers from Amplitude Date here with me. Uh, we are going to be talking about no code automation. Um, and we'll explain a little bit what that means, um, but just, uh, just kind of some housekeeping set some expectations here. Uh, this is obviously not, uh, a webinar format, um, which i, I appreciate. Um, but if you are, uh, while we're talking, if you could keep yourselves muted, that would be great. Uh, please feel free to to use the chat as much as you want. Um, and, uh, and we will, we are happy to let you, uh, set the trajectory of, of this, uh, workshop as much as possible. We do have some things prepared, but a lot of this is gonna be question driven, request driven.
Speaker 1: (00:52)
If there's something you wanna see, something you're curious about, uh, please, please just drop that in the chat at any time and when we get to the q and a session. Um, if you have questions at that point, if you wanna unmute, we would love to see you, love to hear your voices, love to talk with you in real time. Um, but yeah, just to kind of, uh, set some, some, uh, baseline definitions here. The, this workshop is talking about no code automation, uh, specifically in workflows in HubSpot. So workflows is HubSpot's automation engine. Uh, you can use it to, to trigger automation based on the, the records inside your HubSpot account. There are also some integrations that use, uh, HubSpot workflows. So you can use that automation to interact with other, uh, external systems. But for the, the, the context of this meeting today, we're gonna focus explicitly on stuff inside a HubSpot.
Speaker 1: (01:38)
Try to keep it simple and accessible. Um, I'd love to hear in the chat right now, uh, how, how would you rate your level of comfort with, with workflows and automation and, and HubSpot? Are you using workflows on a regular basis? Have you heard of workflows, but you don't really know what they are? Um, are you somewhere in the middle? Uh, have, are you a longtime HubSpot user? Uh, new, uh, HubSpot user? Uh, just how, how, however you want to define yourself. Uh, I love, uh, seven out 10. That's great. Yes. Using new to it, all three outta 10 new, use them regularly. All right. This is, uh, we've got a good span here, so we'll make sure Nice.
Speaker 2: (02:12)
Speaker 1: (02:13)
Script. Yeah, this is awesome. So we'll make sure to, to explain and define everything as we go. But, um, I'm hopeful that those of you who are eight and nines outta 10, um, we'll, we'll learn plenty of things here too. Um, so before we hop into some, some examples and some screen sharing, uh, Connor, you wanna explain this idea of no code load, code coded?
Speaker 2: (02:35)
Yeah, absolutely. So when we, when we talk about, uh, no code, which is the focus on today's session, we're really talking about things you can do in HubSpot, not as a developer, not as somebody who, who knows how to write any kind of scripting. Um, and really showing the power of HubSpot's native automation tools, uh, which can do really amazing things. Um, and then when we're talking about low code, uh, and that'll be weaving in any custom functionality or custom action inside of HubSpot's existing automation engine. Uh, if you've been following any of the announcements on the operations hub side, some of the most exciting things that we've been working on are seeing how you can leverage some custom code inside of HubSpot workflows and sort of weave that into declarative automation. So if there's elements that we talk through today, or examples that people bring up, we'll call out which parts you can use, building standard hub automation, and where you might need to use some custom actions and, and how that sort of ties in, um, with sort of our focus being on the native functionality.
Speaker 2: (03:33)
And then really what's so exciting about all of the new operation sub features, especially on, on the pro side of some of the coded functions, is being able to build entire applications inside of HubSpot using coded actions and, and having those work with the rest of what HubSpot is. So HubSpot today outta the box, you're gonna get incredibly powerful automated actions. Uh, operations have added the ability to add code into HubSpot. And the thing that we're most excited about, um, is seeing how those two things can work together to really help you get the most outta HubSpot as a whole. So, with that, Kyle, I'll hand it back to you and we can sort of chat through, uh, some of the existing actions. Um, and if you guys have use cases, uh, that you would wanna discuss today, um, our hope is really to make this conversational.
Speaker 2: (04:15)
So if you guys have examples of things you're trying to automate in your business or structures you're trying to implement, you're trying to figure out how to build them. Um, Kyle, and I'll chat through those, uh, throughout this session. And if things are, are viable for us to, to build and, and talk through in real time, we'd love to do so. Uh, if there are things that would be a little more complex, we, we'll sort of bat around some ideas and, and hope to help you get closer to getting that into fruition. So, Kyle, I will hand it back to you and, uh, feel free to start punching in examples or questions as you guys go, and, and we'd love to pick 'em up in the chat.
Speaker 1: (04:46)
Yeah, for sure. Thanks, uh, for that. And I do wanna reiterate, we, we really want this to be kind of, uh, you driven, uh, let us know what you'd like to see. If we're skipping over something you want us to go deeper on, let us know. We're happy to back up and do that. Um, and, and as Connor said, I, you know, operations Hub is the newest addition to, to HubSpot, that, that introduced some new kind of more advanced automation features. Uh, but in general, uh, if you have a professional tier of any HubSpot hub, you have some sort of access to workflows, and it varies a little hub to hub. Um, but I will try to make that as clear as possible as I now show you, um, a workflow. So this is, uh, a workflow I've created. Uh, this is a completely arbitrary, uh, sort of nonsensical workflow.
Speaker 1: (05:29)
The, the main purpose of it is to showcase as many, uh, workflow actions as possible, just to give you a sense of all the different things that are included in here. Um, so if some of you are brand new to all this, you mentioned, this is what the workflows builder inside of HubSpot looks like. You have sort of this interactive canvas. Uh, I can zoom out here on the left, you can see, and, and you see actions kind of in the form of a, a timeline. Um, but I will, I'll just start at the top and, and talk through this from top to bottom. First, you gotta enroll records. This is a contact a workflow. So it's enrolling contacts, but you can make workflows for deals or companies or, or conversations or even custom objects. Uh, but, but in, in any case, you're going to set some sort of, uh, filters that will determine what records get, uh, enrolled.
Speaker 1: (06:15)
And you can, you can use and, and or filtering. So in this case, we're saying if a person has submitted this form, in this case, my meeting link, because meeting links in the back end are just HubSpot forms. If they've submitted the form and their life cycle stage is they're a lead, uh, then we want them enrolled. Or, you know, if their life cycle stage is a lead and they've had, uh, a prequalification call that lasted more than 15 minutes, then we're gonna enroll them in this, in this workflow. Um, honestly, if we hit this little edit button, we get this sidebar. Anytime you're editing something in, in a workflow, you're gonna get this sidebar to work in. Um, there are a lot, there are probably hundreds of different ways to filter, uh, contacts specifically and, and pull them into workflows. Um, and, uh, it's, it's pretty overwhelming.
Speaker 1: (07:02)
But the, the short version is if there's some way you want to slice your, your database and pull people into a workflow, you can probably do it if you're willing to invest the time to, to look through those options. Um, and if you have any questions about that, we're, we're happy to take it. But I think what's more interesting than enrollment is the actual actions you take afterward. Um, so this is an if then branch, you can branch your workflows to, to have different things, um, happen based on, on different, different groups. Um, in this case, I'm just looking at the contact and do they have a contact owner? And if they do already, then we're gonna go down this left branch and we're gonna take some marketing actions with them that you would do in Marketing Hub. If they don't, we're gonna go down this branch and assign an owner to them.
Speaker 1: (07:42)
And, and so this is just a simple, uh, branch with two branches. Uh, you can make, uh, I think pretty much as many branches as you want. I've seen some pretty complex workflows with lots and lots of branches. Uh, you, you can, you can send people down these different, uh, different channels or, or, or branches and, uh, and, and treat them differently. Um, so we'll start on this, on this right hand side, uh, with, uh, with assigning an owner. And now a as, as Connor said, we're, we're gonna be no code here. I have just a little bit of code I've added here that, um, does basically a weighted lead rotation. It breaks them into, uh, 60% of leads are gonna go down. One group and and 40 are gonna go down. The other we'll just kind of glaze over that since we're trying to, to avoid the coded stuff this time, we'll probably cover that more in, in a, a session another time.
Speaker 1: (08:27)
Um, but the thing I wanna call your attention to is in these branches down here, we have this rotate record to owner, uh, option. So this is included in Sales Hub, and, uh, we're gonna assign the contact owner to a team, and we're just gonna evenly distribute, uh, all the, all the records that come down this branch to, in this case, team B. And in this branch over here, we're sending them to team A, right? Um, so teams are things you set up in HubSpot. You put users in them, and then as you add and remove users from that team, this, this le rotate record to owner action keeps up with that. And it's just gonna evenly give out, uh, you know, uh, leads to each person. Um, we also have this workflow, creating a task, assigning it to, uh, the, the new contact owner and, and giving them sort of steps.
Speaker 1: (09:11)
We want you to call and, and, and do these things. Um, we're gonna use this email template to follow up afterward, kinda giving them instructions for what, what actions we want them to take with this, this record that just got assigned to them. You can also send, uh, internal SMS message, uh, a text message to, uh, in this case, or we're sending it to me, but imagine if I am the, the leader of Team B or team A, whichever team. Uh, we're gonna send me a, a, a message that says, you know, contacts, first name contacts, last name was assigned to contact owners. So this, this text message, when it actually comes through these tokens will be resolved. And it might say, you know, uh, Connor Jeffers was assigned to whatever, uh, sales rep, not very creative with names here. Um, and so now that the, the manager can know about that.
Speaker 1: (09:57)
Um, and then this is a, a cool piece, uh, where we're gonna delay. We're gonna wait until this task is completed before we go to the next step of the workflow, right? So we can imagine a world in which, uh, uh, contacts are fed into a workflow and we're assign them to, to, to owners, but, and we're gonna have a series of like, automated emails or something that are gonna go out. But we want that to wait until that that contact owner has made contact and had an opportunity to reach out and understand the person's need, maybe maybe record some information about them before those emails go out. And so in this case, we have this, uh, this, uh, delay until task is completed. Um, but we're limiting it to just seven days. We will give the contact owner a week to contact this person.
Speaker 1: (10:42)
Um, and then we're just gonna move on ahead. Um, but you, you can make this more. The delay as long as possible is 1,825 days, which I think is something like five years. Um, anyway, you could delay basically as long as you want, um, before the, the, the workflow goes marching on. Um, so if you'll remember, if we zoom out here, um, the original branch here was, uh, if, if the contact owner is known, and if it is known, we're gonna do some things. Uh, you can see these dotted lines, maybe you can't actually, now that I'm zoomed out so far, but there's this option to go to other action. And what I have these branches doing is, as soon as they get to this point, once that deal is, or once that task is, is completed, we're gonna come on up to this other branch.
Speaker 1: (11:26)
And now all contacts eventually coming through this are going to end up down this left hand branch. Um, and here we're gonna see some actions that, uh, marketing hub can take. And, um, again, this is sort of arbitrary, just try trying to show off the sorts of things that that Marketing Hub can do. Uh, the first thing I have here is, is setting the contacts marketing contact status. So in Marketing Hub, you only pay for the contacts that you are marketing to. Um, you can have, I think, 15 million contacts for free if they aren't marketing contacts. Um, but if you wanna be able to, to send emails to people and enroll them in, uh, you know, ad audiences and, and all those sorts of things you use Marketing Hub for, they need to have a marketing contact status of marketing. And so we ha you can set that through workflows.
Speaker 1: (12:09)
That's a very good way to keep it all up to date. Um, and, and so we're gonna make sure if this, every person that comes through this workflow, if they aren't set to marketing contact, uh, we are going to set them to marketing contact, and that, uh, works immediately. And then we can start taking these marketing actions. Um, so I, I am adding this person to a static list. In HubSpot. You have dynamic lists, which automatically update based on how people's characteristics change. Um, or you can have static lists which you manually add people to. And so this is adding people to a static list. We're gonna put them in this, uh, in this list. Um, and then data formatting. This is new to, uh, operations Hub. This is a really exciting, when we talk about no code, I always think of formatting data, even though all these actions I've showed you are no code so far.
Speaker 1: (12:54)
Um, we have these options now that if we want to, you know, make sure the person's first name is capitalized, right? One of the enrollment triggers for this, this workflow was form submission. Sometimes people submit forms and they, they have caps lock on, or they, they fail to capitalize their first name. And, and we just wanna make sure when we send them an email that says, Hey, Henry, um, we want that H in Henry capitalized. So we, we have this data format action that can take care of that. Um, and then we're sending an email, um, marketing hub. If you're using workflows, uh, sending an email is almost always gonna be one of the things you're doing. Um, using workflows to send out emails is a great way to, to make sure they're being sent to the right person at the right time using delays and, and other things you can make sure they're, they're sent, uh, at, at, at an appropriate moment.
Speaker 1: (13:39)
You can even take time zones into consideration if you want. Um, and then the last step I have here in my long meandering workflow is creating a record, right? So we're just gonna automatically create a deal, uh, for this person, and we're going to, to set some, some properties there. We're gonna associate it to the, the contact and to the company. Um, and then the workflow ends. This is, that's what this checkered thing means. So I know I went through that kind of fast. Um, for those of you who are familiar with workflows, this may have been very boring, and I apologize for that, and I appreciate you sticking with me. For those of you who are newer, I hope this gives you a sense of, of the breadth, of the number of different actions. You can have a workflow take, you can update properties, you can assign, uh, records to owners, you can send emails, text messages, uh, you can create tasks and, uh, records inside the crm.
Speaker 1: (14:28)
There are a lot of different things you can do. You have branching logic and, and, and these dotted lines for connecting the different branches, uh, to make sure, you know, you can really get down into the nitty gritty of, of how you're gonna meet the needs of the people you're serving, and make sure your records and your data are kept up to date in a meaningful way. So with all of that as sort of a whirlwind tour of what workflows are and what they can do, um, I'm gonna stop sharing my screen. And, um, Kyle,
Speaker 2: (14:55)
If you wanna, if you wanna pull back up your screen share, there were one or two questions that I'm happy to, to field for you that were specific to some of the things that you were, you were running through.
Speaker 1: (15:03)
Speaker 2: (15:05)
You're, it might be a little easier, right? Um, so one of the ones that, uh, was in here for, um, your workflow, step six for formatting data for operations sub. The question was, uh, is it possible to use workflows to format phone numbers?
Speaker 1: (15:25)
That's a great question. So this, uh, let me just search real quick. Phone number is not here. So a phone number is one that we are working on. Um, that has been tricky because there are lots of different ways to format phone numbers, and it varies a lot region to region. Um, but phone number is a common request for this. Uh, right now, uh, the, the format data option, um, is, is great for text fields for things like capitalization. Um, we, we have a lot of calculation stuff in here, uh, that you might expect, like a, a spreadsheet to have, dividing numbers, rounding numbers, um, and then formatting dates also works really well. Um, if, you know, you can imagine a, a confirmation email for an event you have coming up. You wanna send an email to a person saying, Hey, don't forget your event is happening this date, this time.
Speaker 1: (16:11)
Speaker 2: (17:25)
There's, yeah, I'll, I'll continue to field them for you as long. I, I'm trying to filter the ones that I think are, are relevant to your screen share right now. But one of the, one of the first ones was, uh, you'd mentioned that this was new to Operations Hub, and it's a question around, uh, this being available in, in the paid or the free version. So it might be helpful is to get your perspective on, on some of the actions that are in here and, and what you can do with, uh, the free actions that are a part of anybody using workflows, uh, and then where things start to go into the paid version.
Speaker 1: (17:53)
Speaker 1: (18:48)
Um, and then for Sales Hub, you need Sales Hub. If you're gonna rotate, uh, records to owners, you need Marketing Hub if you're gonna send emails or, or do other things that are marketing issue, like adding people to lists or, or add audiences. Um, service Hub has some, uh, some actions related to tickets. I believe I'm less familiar with Service Hub. Um, and so it, it, it just varies a little bit by kind of the, if we just want to add an action here, the majority of these actions delays, uh, these, uh, enroll in other workflow branches, internal communication, um, creating records, uh, managing your properties, and then integrations. If you have a system integrated, those are all, you're gonna have access to them, regardless of which hub you're on.
Speaker 2: (19:35)
Some other ones that I'm seeing in here. And we can, we can kill the screen share if you'd like, and sort of start fielding some of these. I think that most of them will be a little more general. Uh, so one of the ones that I saw here from Alicia, uh, I think it's Dominico, uh, is, uh, can you set up data, data privacy workflows with Ops Hub Pro? So, uh, an example was, was hide X data from X users. Um, I can take a first stab at, at how I would think about that. Um, then I can hand it over to you as well. So, o operations hub doesn't have, uh, today, uh, any actions that are managing data security. But what you could do using workflows, and, and we've actually seen, uh, customers of ours sort of build in the past, is using some of the data security features in HubSpot around hiding records from people if they don't own them. And, and sort of setting records as being private to, uh, the owner to some of the teams settings. You could use workflows, um, and you wouldn't even need the operation subs. So using the actions that, uh, Kyle was showing around changing owners, which is you could change the owner of a record to, uh, a different owner, and then you could remove access to that record based on ownership. So not necessarily sort of shifting, uh, access to that record, but using workflows you can achieve those types of use cases.
Speaker 1: (20:52)
Yeah, and, and just to, to pile on that, I, I, I think the sorts of things you're trying to get to, Alicia, you absolutely can do and don't really need workflows in order to do, um, HubSpot recently has been investing a lot into data privacy stuff. So we have much more granular user and team permissions than we used to have. We're starting to have field level permissions in certain parts of HubSpot. We're, we're starting to have the ability to, to partition assets so only certain teams can, can, uh, access different things. Um, so, uh, not, I, yeah, like, like Connor said, there are a few ways that workflows could help with this, but I, I would encourage you to look at just the general, um, user management permissions, uh, data privacy sorts of things HubSpot is developing, and, and that'll be more helpful.
Speaker 2: (21:36)
Yeah, for sure. Um, I see some of these are feature requests, uh, which I would, I would let you, you tell people where, where to send those and, and y can make sure that they get to the right folks. Um, so I'm scrolling through some of these other, other questions. Now. There's one from, from John, uh, Opie, um, which I, I'd love to, to tease your brain with. You may have a, an elegant answer. I know we could do this with a low-code function for sure, which we can speak to. Um, but it's that he'd love to batch process contacts. So his example was that if he's trying to take 50 contacts at a time out of several thousand unassigned contacts, assign them out to the sales team and be able to sort of have, uh, only 25 of those records get, uh, assigned out at any given time. Um, and sort of pulling from a master list, do you have any thoughts on, on how we might be able to achieve that? I have some, some workarounds that require a little bit of manual work, uh, in my head, but you could certainly do some of this with, with coded actions as well.
Speaker 1: (22:33)
Yeah, I, I go to coded actions also. Um, but yeah, so I, I mean, just it's, I, I, yeah, I, I am not a technically savvy person. I do not know a lot of coding, but one thing I was able to figure out how to do with, with coded actions in a single light of code is just to assign a number one through five to, uh, to a group of contacts. Um, and then once that's done, you could batch them, right? We wanna take all the ones and, and send them through a workflow. We wanna take all the twos and send them through a workflow. Um, that would work pretty painlessly. Um, I, as, as far as a totally no code option, I, I, I did, uh, did you have a workaround you wanna share there? I,
Speaker 2: (23:19)
I had, I had a couple of ideas, uh, which is, you, you may be able to solve similar use cases with, uh, assigning out sort of tasks and adding delays into different workflow actions or breaking all of those records into individual sort of 25 or 50 person lists, and then enrolling that list in your workflow. So you could either sort of go to that list and, and there's an action on lists that sort of allows you to sort of say, take everyone in this list and add them to this workflow. Um, as well as being able to, you go to the enrollment criteria and sort of add another list as well, which is something we've seen people do of, I, I wanna sort of tackle these hundred, and then maybe after a week or two when they finish those records, you go to the next one. Um, you could definitely add in some coded action there to, uh, assign everybody out into buckets and, and sort of move those through different segments. Yeah. But if you wanted to do something codeless, you could combine sort of the, the process side of it plus the automation.
Speaker 1: (24:12)
Yeah. And actually listening to you talk something that's fun that I, I just learned recently when you, uh, with the enrollment triggers I was showing you, um, with text based properties such as first name or last name, um, you can filter based on string starts with or ends with. And so you could create the enrollment trigger that is like, last name starts with a , right? And then just assign out all the A's and then tomorrow do all the b's. And, and that won't be even size groups, obviously. Uh, you probably won't have a lot of X's, for example. Um, but, but that could, could get you into, you know, not, not sending them all through at the same time. So
Speaker 2: (24:48)
There was a few, so I think I, I saw one else in here. Anything that's a feature request, guys, or, or when new stuff is going to be released. I, I, I, no, I can't answer. I assume that you can't speak to as much on your end as well, Kyle. So I, I've been jumping over those. Uh,
Speaker 1: (25:02)
I will say though, um, send connects with me on LinkedIn and send me your feature requests and questions like that. Um, because honestly, I'm, I'm not on the product team. I don't build these things, uh, but I, I have easy access to all of those people. Um, you came to, you came to the workshop today, you now have a, a HubSpot champion on the inside, uh, send, send your feature requests and, and, and complaints and ideas and all those things to me, uh, over LinkedIn. And I will, I will pass them along to the team and try to get you as much clarity as I can. Uh, sometimes the answers will be no, that's not something we're working on. Sometimes it'll be like, oh yeah, that's in process and we'll have that soon. Um, I just don't wanna guess on that, especially in front of an audience of, of 95 people. ,
Speaker 2: (25:47)
I, I agree. Uh, I had one in here, which was, um, how can we add line items to deals using workflows, which I think may be in the, not out of the box, but maybe a coded option as well, uh, which I could speak to sort of at a high level of how we would do that. But I'll, I'll give you first pass on a cop,
Speaker 1: (26:04)
Uh, line items. Sorry, I was replying to a direct message so that we, you're okay adding light items to deals, uh, in a workflow. Is that the, is that the
Speaker 2: (26:14)
Question? That's, that's the request, yeah.
Speaker 1: (26:16)
Um, again, pretty straightforward in a, in a coded scenario, um, because the custom code lets you do anything you can do through the, the api. So you could even like look at what line items are already on the deal and, uh, and could make sure you're not duplicating anything. You could get pretty sophisticated logic in there as far as a no code option. Um, let me just click around a little bit, Connor, if you wanna talk
Speaker 2: (26:46)
About it. I don't, I don't know of a no code option, but I, I was gonna use that as an example for, for potentially a low code solution, which is where you could use HubSpot native enrollment criteria. You could have different if then branches. So if, you know, if a deal meets certain criteria, you could use all of the standard functionality there. And then yeah, using a relatively lightweight kind of, uh, of script, if you were doing low code solution, you could create a line item against the deal, uh, that started that workflow. And, and obviously you could get infinitely more vast there, but I think that that's actually a really good low code example of, of where you could leverage some of the standard functionality that, that Kyle was demoing around. You know, take take deals that are in this pipeline and then check, you know, do they, uh, is it a deal that needs an implementation cost or is it a deal that has free implementation on, on some deal fields, and then run one coded action, which could just say, create a line item against the deal that is enrolled in this workflow.
Speaker 2: (27:38)
And, and you could manage that type of a solution, uh, on a, on a low code, uh, option for sure.
Speaker 1: (27:44)
Yeah, I was just, I just, uh, went and, uh, created a, a new deal based workflow and went to the create record option, wondering if there would be like a product or line option. There is not, um, you, so it would, it would take, uh, I, yeah, like Connor said, I think that's a, that's a brilliant use case, a very straightforward one. Four, um, a, a coded option.
Speaker 2: (28:07)
There is one from Olivia, which I think we can both answer and maybe, maybe even show, uh, which is, um, is there a way in a workflow, um, to use copy on a contact property to a deal property and carry over the internal ID associated with the value in the contact property? So I think in this case is, it would be, uh, a workflow that would copy a value from a contact to an associated deal, and you would just select the contact id, um, as the item that you want to copy over, uh, which I can potentially pull up here, uh, and see, uh, I'll, I'll try to get that set up and I'll, I'll feel another question to you and maybe we can live back. Yeah,
Speaker 1: (28:52)
No, I, I've got the chat pulled up now, so if you wanna just focus on, on that. Uh, Thomas says, I've noticed merging companies can sometimes create issues with company owner IDs and contact email IDs. Is there a workflow that we can create to eliminate errors or duplications like these? Um, I might not be technically equipped well enough to, to fully understand this question. Thomas, if, if you comfortable unmuting, I'd be to talk to you in real time about this, dig into it a little bit. No pressure though.
Speaker 2: (29:32)
Hello? I have a,
Speaker 1: (29:33)
Speaker 2: (29:34)
Speaker 1: (29:35)
Hold on. Thomas, unmuted.
Speaker 2: (29:36)
Thomas, you're up.
Speaker 3: (29:38)
Hey, uh, I was just curious to know if there was a workflow that we could create to eliminate issues where, uh, if I merge a company, if I have a form submission on my website and the a new company is created, uh, creates a duplicate and I merge these, uh, sometimes I'll get a conflicting property ID or contact owner to where it'll change that around. I just didn't know if there was any kinda workflows that we can create to eliminate any kinda errors like this. You got thoughts on that Connor?
Speaker 2: (30:13)
Uh, I, I'd probably asked to see specific examples, but I don't wanna get too deep for everybody else. I think the, the answer on that is, um, if you can use enrollment criteria, uh, on your deal, um, and then you can use a deal based workflow to sort of take actions on the deals that are enrolled, uh, in that workflow. And then you can use any of the data cleansing functionality at the, the operation sub free tier to clean up some of those items. So for instance, if, when you're emerging deals, and, um, this may not be applicable to your specific use case, but I'll throw out a sample scenario, which is, uh, let's say you're merging deals and, and you really wanna make sure that the deal is always assigned to, um, the correct rep. And you know, that deals should not be assigned to, uh, the, the, the sales manager, for instance.
Speaker 2: (31:03)
So maybe your sales manager is the fallback. And so when you merge those deals, it defaulted out to the sales manager. You could use the enrollment criteria in your deal workflow to say, is the deal owner, uh, either a sales manager due to a role or is it, you know, meet any of these names? And then if that happens, either rotate those deals and assign them out to a specific team or reassign them to an individual user. And you could use a functionality sort of like that to be able to automate those scenarios or to even send you alerts or text messages that these things are happening, uh, and potentially allow you if there's not an automated way to do it, which often when you're talking about assignment, right, like rotation is relatively simple, but getting to, uh, more robust situations, you may need to have somebody look at it and make a decision on it versus it being something that can just be programmed and then that person could take an action on there as well.
Speaker 2: (31:55)
So I do think you can leverage automation for that. We, we'd probably have to go pretty deep in this specific use case, but if you want to chat about that directly, um, shoot me a note, I'd be more than happy to do a breakout and, and see if we can help solve that specific problem. Um, I'm gonna loop back to, to Olivia only because I, I have a workflow that does this, uh, and I can show you how it works and then I'll, I'll loop back and I'll, I'll maybe let you pick a next question, Kyle. So this is a, uh, I just grabbed one in, in any of my workflows. So what I did here is I use the action for, uh, copy property value. Um, and what that's gonna let me do is select a property on the record enrolled in this workflow.
Speaker 2: (32:31)
So because this is a a contact workflow, I just selected the contact id, and then I said, what is the target property, uh, type? So in this case, I said I, I wanted to use a deal, um, and then what's the property I want to copy that contact ID into? So in this case, I said, let's use the, the deal description. So what this workflow would do is if a contact was enrolled and there was a deal associated to that contact, then it would, um, paste the contact id into the deal description. But you could use any other field that you may have created on that deal as well to do this. Um, and, and to speak a little bit on this, um, and we won't do a ton of self brochure. We, we recently did, uh, launched an app to help with automated, uh, associations between records because of these types of requirements.
Speaker 2: (33:13)
And you can do really amazing things with this type of a functionality of copying data from one record over to another. So that maybe if you're looking at a ticket and you want to see all the information about a related deal to that ticket or a related contact to that ticket, you can use these copy properties to paste data from one record to another, and both make it easy for the individuals working on that, on that record to manage that information, but also to empower other automations. So maybe you wanna run a workflow so that whenever a, uh, a ticket has a value where the, the company name matches, uh, the most important customer you work on, you wanna send specific alerts, um, you can use these copy values to weave data into those fields and then trigger additional actions. Cool. I'll pass it back to you, Kyle, and I can start scrolling through chat unless you have one that you wanna tackle.
Speaker 1: (34:07)
Sure. Um, so, uh, I, I have one, uh, but yeah, by all means, scroll, there's a lot here. Um, sure. Dave, uh, asked if we can create a workflow to reassign tasks in a queue, uh, associated to when the deal owner, company owner and contact owner is, uh, reassigned. So I, if, if I'm understanding you correctly, Dave, uh, and feel free to hop in and correct me if I'm not. Um, it sounds to me like if we have a company, for instance, that is assigned to me, I'm, I'm the, I'm the sales owner, um, but then it's getting reassigned to someone else and I have a bunch of tasks on that, um, you want those tasks to be automatically reassigned to the new owner. Um, I don't, I don't know of an easy no code way to do that. Um, uh, uh, this comes up a lot around when a user is being, uh, deactivated cuz they're leaving your company for whatever reason.
Speaker 1: (35:03)
Um, and, and that use case, I feel like is actually pretty straightforward. Um, you can go into tasks not using a workflow, but just manually go into tasks filter to see all the tasks who are assigned to a certain person, and then you could reassign them to a different person. Uh, similarly when you deactivate a user, uh, HubSpot will say like, Hey, this user owns these records, do you want to reassign them to a different person? Um, and that is pretty straightforward too, if this is, if the person is not leaving the company, right? If this is just like, Hey, we are reassigning some accounts here because we hired a new person, they need some accounts, or this person has too many accounts to work. Um, I, I think it does actually. You, you could use that same process, but there isn't a way I know of to, to filter it by like all the tasks for this specific company we're going to, to reassign to this particular person, um, in an automated no code sort of way. Again, most things you can imagine you can do through coded solutions. Um, but I, I wonder if this is one, depending on the volume you're looking at, where you'd actually be better off just doing it manually. Uh, you, you could open up the, the company record and you could look at the, the tab where all the tasks are listed and, and reassign them from there. Um, I don't have a, a slick fancy way, simple way to, to do it through automation. Connor, I don't know if you would push back on that at all.
Speaker 2: (36:19)
O I started reading through other questions.
Speaker 1: (36:21)
Oh, that's fine.
Speaker 2: (36:22)
And so totally fine. I don't,
Speaker 1: (36:24)
Ok, we'll just assume my answer was the best one then.
Speaker 2: (36:27)
Sure, sure. I can jump to another one and, and I'll, I'll bounce it back to you. Um, and okay, this one's from Andrew Baker, uh, and it is, he works in residential releasing where they often have contacts, uh, multiple contacts for a single deal. So couples, groups of students. Um, and the question was, can we automatically group these contacts and create a deal when they enter the funnel? So, uh, what you can do inside of hubs, and then I'd love to, to follow up with you directly on, on some other ways you might be able to manage this, is there is a work collection for create record. Um, in this case you would say that you want to create a deal, um, you can specify sort of what you want to, who you wanna assign it to. Um, and then you can also sort of populate a whole bunch of information here.
Speaker 2: (37:08)
So what's really cool about this also is that it uses the, the fields on this property. So something we see a lot is if you wanted to do sort of like first name, last name, and then let's say you had a, I'll add a date property here, but if you use sort of like maybe they, they put a custom field into your, into your form that said what's their, their desired move in date, for instance, um, you could enroll them in this workflow and then create a deal, uh, and, and title that deal. Using all the information from the contact record. You could also set additional properties and if you had other items that you were capturing in your form, you can pass that information into your deal, uh, as well. Um, in terms of associating all of those contacts to the same deal, um, that would be a great use case for a a low code solution. Um, it would also be something we might be able to, to be out with directly with some, um, there's some marketplace applications, uh, that help with some of that as well. And so if you shoot me a follow up I'd, I'd love to tackle that one individually with you and see if there's a way we can, we can help you make it work.
Speaker 2: (38:07)
Kyle, I'll pass it back to you on if there's another one that was in here.
Speaker 1: (38:10)
Yeah, so, uh, there's a question here. Uh, I've lost. Oh, Adam, is there a way to build a workflow to show who created contacts and companies? I don't, I don't think you need a workflow for that, depending on exactly what you wanna see. Um, you can see the, the history of, of records and, and properties, even if you wanna see who last updated a particular property, you can dig into that and see it. Um, the, as far as a workflow goes, I mean if you wanted to be notified every time a new record is created and and be told who created it, uh, that, that's absolutely something you could automate. But if you're just looking for having records to know the history of of, of when something was created or changed, that is, that is just in HubSpot? No, no workflow workflows required. Uh,
Speaker 4: (38:56)
Is that available like in report form or in a view other than just property history where you have to dive in one by one?
Speaker 1: (39:04)
Uh, yeah, I guess I was thinking of property history. Um, hold on just a minute. Uh, Connor, if you wanna, if you wanna take a question, uh, Adam, I'll be right back with a relevant screen share.
Speaker 2: (39:15)
I I also put my email in the chat if there's ones that I've called out specifically, um, or if you wanna talk about an individual use case, I, I'm more than happy to talk to you or, or respond to you as well. Um, but, uh, for I think William Martinez and then, um, Andrew Baker ask for this as well. Um, I can pull up and see if there's other questions in here. Um, okay, this one was saying thank you and, and following, uh, Alicia, we have, I'm gonna read out this question and, and we'll tackle it. Uh, I haven't pre-screened it though, this'll be real time. So, uh, Alicia, as we have workshops on Event Bright and the basic event, bright integration pulls over the last registered event name, but for each contact we wanna keep track of all the workshops they attended. Is there a way to build a workflow to update a multi-select property?
Speaker 2: (40:17)
Um, so it can create a new option in a multi-select property? Uh, I think that there's actually two really good solutions for this one. Um, one is, uh, you could use a custom object solution here. So if you're on an enterprise portal and you had a custom object for sort of all this event history, the event, right? Integration passes things into an individual field. Um, I know HubSpot and Kyle, I'll let you finish what you're doing and when you come back, maybe I'll kick this over to you. I I want you to be able to stay focused. Um, I know that HubSpot has a, a new events integration, which I, I'm not sure if that, uh, works with Eventbrite or not, but I believe you can create, um, a marketing event. So what you could do is every time that, um, that value becomes known in that field. So if you have, uh, a specific workshop, for instance, that gets passed into that contact property, um, you could use a workflow in HubSpot to create a record. Uh, and then you can have a custom object for every workshop they ever attended and, and everything else that they may have ever done. Um, I do also know that there is the, there is the HubSpot, um, events beta, which, um, your support would be the best folks to,
Speaker 1: (41:27)
Uh, oh, am I the only one got disconnected? Oh, okay.
Speaker 2: (41:32)
I just realized I went into to Hub and I was like, oh no, this isn't loading. Uh, I apologize. The, I know support could get you added to that individual beta. I, it's, it's the marketing events beta. Um, what I don't know is if the marketing events beta, uh, works with event Bright or not. Um, it looks like it does. So the solution I'm describing, uh, you can actually do natively inside of HubSpot, I believe, um, by connecting event Bright to the marketing events. Um, which if you go to contacts and then you open your contacts, this will show you all your custom objects and other objects and you go into marketing events. Um, event Bright is supported. So this is, uh, I've recently been on the, the operation sub soapbox, but I was previously very high on the custom object soapbox. And this is the reason why , which is instead of looking at things as individual fields, um, you can use workflows to sort of say there's a value in this, in this property.
Speaker 2: (42:27)
So create a record so you could create a custom object for that individual event. Um, um, and the marketing events integration actually automates that whole process by connecting to Event Bright and then creating a custom object for every event they attended. But to your example, for any other integration. And there are, uh, thousands, hundreds of thousands I believe, uh, on the marketplace, any integration that passes a value into a string, you could use a workflow, uh, and a custom object to say whenever this contact property has, um, like we see this a lot for Zoom links or, uh, booking meetings. So if you wanted to create a custom object for every time an SDR sort of books a qualified meeting the prospect and you wanna report on and organize that information, you could use the same functionality here and using no code automation, define your enrollment criteria, use a create record action, um, and then pick whichever object you want to create off of this. So it could be a custom object and this is our, our a dev environment for us. We've got all sorts of crazy stuff going here. Um, but you can sort of put this in here. And then you have, there's the campaign of last meeting, book tool data of last meeting booked. You can copy whatever data you want over, um, into that action. Kyle, I'll pass it to you cuz I'll, I'll read through some other questions. , you take the mic.
Speaker 1: (43:45)
Yeah, Adam, I'm back. Um, so you are right to, to see created by, you do have to dig kinda deep into the property history. You can go to the create date property and look at the source and it'll give you the user who created it, which is not great cuz it's not in reports or filters. The way you said, uh, there is an idea on our ideas form for having a standard created buy, uh, property. I'll just drop that in the chat so you can up upload it cuz I definitely, if you could all up upload it, I feel like that's a thing House Watch should have. But to go back to your original question, Adam, of could a workflow solve for this? Yes, absolutely. Um, so, uh, a coded workflow if, uh, you could dig into the api, pull out that, um, that created by the source from the, the create date, um, property, and then it could stamp it into a different property. So you could create your own custom created by property, have that user stamped in there and uh, and then you would be able to, to filter and sort and, and report on, um, all of that however you want. So, uh,
Speaker 2: (44:41)
I have one from Kim, which I think I can answer as well with, with, uh, declarative automation. So it's, uh, we use service tickets to track training and support. Many tasks are the same for similar scenarios. So we use a naming convention that pulls from contact details. Uh, is there a way to create a ticket template of sorts that kicks off a workflow? So I think in this example, um, something that you could do is, is one of two things and your actions would be the same. So I'll go back to screen share. I'll just stay in this 30 day check in workflow forever and I could use a a ticket example as well. But I think in this case, depending on where, whether your process starts when a ticket is created or if your process starts when a contact is created, you should be able to do the same thing. So in this case, let's say that, um, you want to, let's do a ticket workflow, uh, cuz I think that that'll be a little bit more straightforward.
Speaker 2: (45:33)
Here we go. So you had an example here where you wanted to sort of say when a ticket is created. So this is a, an example we have on order numbers. So you could add an action, uh, to your ticket, which could say, uh, create task. Um, so you could say based off of the ticket enrollment criteria. So your ticket enrollment could be this ticket is a return, this ticket is a, um, service request, uh, whatever field you wanna process it off of on the ticket. And then keep in mind, if you're generating these tickets off of a contact workflow, you could use the example we gave earlier, which is like, copy this field into that field and trigger my ticket workflow to say if the contact property was, um, that they are a, uh, a leasing contact versus a, uh, an owning contact or something off of your ticket.
Speaker 2: (46:17)
You can then use an action to create a series of tasks so you can create multiple tasks. Oh, create tasks separate from create record. So you can create multiple tasks in here. Um, you can title them however you like, uh, and set up each one of those tasks. And you can also have them start at different dates. So we see this really often for folks that are using tickets to manage things like customer onboarding is they'll enroll this in a ticket workflow and then based off of what, uh, type of ticket something is that may indicate, you know, what type of product they bought or what type of, uh, implementation plan they should have, they might, they'll generate a whole series of tasks with different titles and due dates and criteria information. And all of those will then get associated, uh, with the tickets that enrolled into, uh, into this workflow. So something really, really powerful for you to be able to use to automatically generate a whole slew of actions, um, from a, from a ticket that gets created. And that's how you'd create sort of your ticket template is by having a workflow that generates all of the tasks assigned and associated to your ticket.
Speaker 1: (47:22)
So I'm going down a rabbit hole over here. Um, someone asked, o Petra asked about, um, creating notes, uh, through a workflow. Um, that's, there's not a simple way to do that, um, that that would be a, a coded thing. Um, and actually with the rabbit hole I'm going down is I'm looking at our developer docs. Um, I'm very curious about your idea of being able to pin notes through a workflow, um, that I, I don't actually know if that's possible even with coding . I'm trying to dig
Speaker 2: (47:53)
UI level, I don't think.
Speaker 1: (47:54)
Yeah, but I think that is only available in the ui, uh, which is interesting. This is the first, congratulations Patrick, you're the first person to ask me a question of if something can be done with a workflow in my answer. I don't think so. Uh, since we launched custom code actions. So there are limitations as it turns out. Um, I'm sorry, not to have a better answer for your question. Uh, is there anyone who we've asked a question, who has asked a question that we haven't gotten to? Because there's a lot in the chat and Yeah, we wanna push anybody.
Speaker 2: (48:27)
If you paste it again, we can tackle it also.
Speaker 1: (48:30)
Yeah. Or if you just say, I asked a question, or if you just wanna at this point unmute and say, Hey, I've got a question.
Speaker 2: (48:37)
Uh, Hagi has one, which is, uh, how can we add marketing emails to automation emails? Uh, which I think is, how can you save? I think it, this will be on your end, Kyle. Uh, or I can, I can speak to, I guess I'm gonna just start answering it, uh, sorry. And that you should be able to do that, um, when you create an email inside of HubSpot. Um, and this is a development order org. I don't know if we have, uh, we have no emails in here, but when you save an email, uh, and we'll see how far through this flow I can get, uh, without having ever connected anything before, um, to this portal. Um, let's see. Uh, so when you go to create an email, you should be prompted, I believe, with either, whether it's a, an email that you wanna send out to a bunch of people or whether you wanna save it for automation.
Speaker 2: (49:23)
So any email you have saved for automation will be available as an action in your workflow to send. So if you already have a marketing email you've sent previously, I think that you can clone it and then instead of sending it right away, you can save it for automation. Um, if you can't do that through UI actions, you, you should be able to copy everything from your email and paste it into an automated email. But there is then a send, uh, send email action inside of workflows that you can both, um, do send an email and then you would save it for, uh, an automation. Looks like this isn't a marketing hub, um, beta, uh, developer org or something, but that, that should be something you should be able to do for sure, is you can just send an email straight from any workflow action. If you create an email and HubSpot, you can save that email, uh, as uh, an email available for automation.
Speaker 1: (50:22)
Speaker 2: (50:23)
Will we have access to the recording? I believe the answer to that, yes. Jan's been telling folks that it'll get sent out. Um,
Speaker 1: (50:34)
So Daniel says, how to report on all target account marketing engagement, ABM reports. Dashboards are limited in this respect. Um, so if you wanna unmute Daniel, um, I would love to hear what specific things you're looking for. This might actually be a question, not about workflows, but about the new report builder, uh, which is pretty powerful.
Speaker 5: (50:56)
Yeah. Hello everyone. . Hello. Um, basically, um, we're trying to, uh, put together a list of, uh, engagement KPIs at Target account level. So we recently structured the power HubSpot accounts to map all the target accounts, added tiering, trying to add the buying roles, trying to segment contacts companies, uh, in order to be able to manage them better in our new approach and, uh, in a FinTech company to give a bit of context. And we're trying to see how our marketing activities are impacting the pipeline. So basically trying to see how marketing is influencing, uh, customers, because that was our biggest challenge is that most of our contacts and customers have come from imported sources. So they don't really have a, um, create marketing source, you know, contact, create, marketing source. So since we don't have the, uh, that data, which usually shows in the attribution, in the contact, um, attribution model reports, we're trying to see how marketing is actually touching this target account contact, uh, current and existing, I mean, new and existing client and it's tough job. I mean, we haven't managed to crack in the nu
Speaker 1: (52:16)
Yeah. Yeah. So I definitely think it's the, the new custom report builder has a lot of layers and things that, um, it, I'm not, I'm not saying will make it easy for you to do this. These sorts of complex reports are, are hard even to conceptualize, let, let alone execute. Um, but I definitely think, uh, that rather than, than automation is gonna be your way forward here. Um, if you wanna connect with me afterward, we can, uh, I'll also, I'll do like Connor, I'll drop my email in here. Um, I'm happy to help anyone who wants help with stuff. Um, but Daniel, yeah, shoot me an email and, and we can talk more about that. Um, I am not super strong on the new report builder. I've not spent a lot of time with it, but I, I have a counterpart here on the HubSpot Academy team who that's all they do. And so, um, uh, I'm, I'm happy to connect you with them if that turns out to be the easiest thing.
Speaker 5: (53:03)
Yeah, I was thinking about, um, automations because we're trying to sort of, um, um, get some of the events that are happening in the timeline and that those events put them in workflows and then add various, um, let's say properties or map properties into the target accounts information and try to build on that. Basically, let's say, um, event interaction, register for a webinar, uh, zoom webinar integrated, um, received an email from the business development team. Uh, they had a meeting booked in the, in their activity timeline. So trying to map all these things and bring them into a report.
Speaker 1: (53:42)
Speaker 1: (54:23)
Speaker 1: (55:14)
This is actually a great example if this is your first exposure to a custom code workflow action, because this is, I think I pride myself on this, but nobody's really challenged me on it yet. I think this might be the simplest possible piece of code to, to compose and run. Uh, cuz that's about the level I'm at as far as, uh, uh, uh, these things go. So, oh, now you're seeing my slack. Great. Hopefully nothing sensitive there. Okay. Um, so, uh, this is, this is the custom code action right here. If you click on it, this is what you see. Um, and up here at the top, I'm not using this. Secrets is just a place to store sensitive items. If you're using an API key or a password or something that you don't want revealed in your code, you can store it as a secret.
Speaker 1: (55:53)
Again, this, I'm trying to keep this as simple as possible, so you don't need that. Um, kind of the heart of any, uh, custom code workflow action, I think, um, is going to be this export stop main function. Um, and and what these parentheses mean is we're gonna pull in a thing called event and we're gonna output a thing called callback. And so event is always whatever record is being fed through the workflow, since this is a a contact record, that contact record is the event. We're gonna pull it in. Um, and then we're gonna do the callback function. And the callback function here is simply we're going to take the event, we're gonna, which is the contact, remember the contact record coming through and this dot object dot object ID means we're just gonna take that contacts object id, whatever that number is, um, and then we're gonna divide it by five.
Speaker 1: (56:38)
Um, and instead of giving the, the quotient, like if it's 20 and we're dividing by five, we're not gonna give four this, this little percent sign means we're gonna give the remainder. So if it's a multiple of five, you'll get a zero. If it's one bigger, you'll get one. If it's too bigger, you'll get two on up to four. Um, and then if it's five bigger than it's a multiple of five again. And so we just start over. So this is basically assigning a number 0 1, 2, 3, or four to every record based on its object id. And then storing that in a, a variable called test. And then if we come down here, we're just having a number output test. Um, so this, this custom code is just going to produce a number based on the contact ID of 0 1, 2, 3, or four. And then I have this copy property value that is, uh, copying that value from the custom code and storing it in a, a property, uh, called weighted lead rotation.
Speaker 1: (57:30)
Um, and you don't have to do that. We could make the branching logic work without this step, but I just thought for transparency's sake, we're gonna store this in a contact property so people can see what number was assigned. Um, if we wanna dig into that. And so that is, uh, my little custom code example here. Uh, that is pretty representative of how code savvy I am. If you want more complicated stuff, Connor and his team are definitely the folks for you. Um, we are now exactly at time. So thank you all for being here. Uh, this has been delightful. We will be doing more of these sessions, so, uh, be sure to hit that link. Yon just dropped in. Um, and, and we'll get a little more advanced next time. Uh, but yeah, thanks so much for coming.
Speaker 6: (58:12)