Gearset 360: How to build and manage CPQ deployments,

Share with


Description

A hands-on workshop of how to build and manage CPQ deployments within Gearset.

Transcript

Record.

Awesome. Sorry about that.

Okay. So CPQ stands for configure price quote.

You might also know it as a a quote to cash solution.

But, essentially, CPQ is just a tool, with which you can provide accurate pricing for any product configuration scenario that you can think of.

CPQ is part of Salesforce revenue cloud alongside billing and advanced approvals packages that you might have used.

Anyone has has anyone in this chat, use billing or branch approvals here? If you have, then you might like to know that we also support those.

So to go through, some of the challenges, that people face when deploying CPQ, between between orgs.

We've gone through some feedback talking to, a number of our users, and we've distilled it down into four of the challenges that you might face when deploying CPQ.

You'll probably recognize a lot of these.

The first one is the creation and maintenance of external IDs.

So why is this a problem?

The problem occurs because on the surface, CPQ configuration looks like just regular Salesforce metadata, but it's actually stored as Salesforce data records.

And this means that there aren't any, there aren't there aren't any API names or common IDs with which you can match up two records between, your environments.

So your source and your target org, might have what you would think as the same CPQ data, but there's no way to match them between them.

There's not certainly nothing out of the box that Salesforce provides, in order for you to compare those things.

The most common approach that people would use, for tracking CPQ records is through the use of an external ID.

This means that, some of the additional steps, this means that already some additional steps are required before you can even think of moving your CPQ config.

So you need to create and populate external IDs, on various CPQ and related objects, And this adds more manual tasks, to the beginning of your deployment process, which makes everything a little bit longer.

For people doing the external ID, process, it often means using numerous spreadsheets, to help track your records and changes.

You might, even have two tabs open and copying between between one and another.

We actually had one customer tell us that it would be four times quicker to divide up, the teamwork between, their team members and manually move the data across, which I'm sure everyone can agree is a is not a great idea, because of the lack of, you know, any automated or repeatable process.

And you certainly don't want to be manually moving any of that data if it's some of your company's most important financial and pricing configuration.

The second challenge, is that the CPQ data model is extremely complex, and it handles lots of, relationships between various CPQ objects.

It's it's really well, I mean, when I say it's complex, I mean, this is this is the, this is the CPQ data model.

It was this this this screenshot comes from, a couple of years ago, so it doesn't hasn't even updated since then, which means it doesn't even include the CBQ metadata model, which has since been added.

And, I mean, I'm not I'm not zoomed I'd I'm not zoomed in particularly well enough for you to be able to read everything on there. But, trust me, there's a lot of information there, and relationships between the objects can get a bit ridiculous even, having some some objects having circular relationships, as in referencing themselves.

And this doesn't even include advanced approvals or billing configuration either.

Trying to understand these complex relationships is difficult.

For example, you know, if you want to deploy twenty new product bundles, it's nearly impossible to click keep all of those in your head at once for a single deployment.

And if if if you're sure that you've included all of the necessary product options, features, and rules for a certain deployment, you know, do you think you've also managed to populate the necessary external IDs for all of those things as well?

Maybe not. It's hard to tell with all of these objects that are available.

A third challenge, is coordinating, metadata and data deployments for CPQ.

So a CPQ deployment doesn't happen in isolation.

They often have dependencies on the rest of your Salesforce metadata such as pick list, values or custom fields.

And if these don't exist in your deployment, then your deployment is just gonna fail because you're missing out on those dependencies.

What this means for Teams is that deploying CPQ configuration requires careful planning and coordination of two Salesforce deployments, your metadata and your data.

And in practice, this often means, that you might have, to designate CPQ people on your team, which further, adds, complexity, into your deployment process.

But finally, a lack of a reliable DevOps process.

So a combination of all the all the previous three challenges that I mentioned means that an integration into a typical DevOps release process often isn't possible.

As I mentioned before, our customers have told us, that they might sit with two tabs manually copying changes from one org to another.

Perhaps some of you some of you have done that.

But, also, I think we can agree that that's that's a a terrible idea and can lead on to knock on effects, and such as not being able to audit your changes.

Like, you wouldn't be able to, track, who changed what and when if you're just manually copying things between your orgs.

And real world consequences of doing such, for getting pricing wrong can be can be quite serious.

So onto how GearSat has solved those challenges.

We've come up with a solution that addresses each one of these in turn. So first, we are able to easily view, the CPQ change, configuration differences between your source and target orgs, and we can visualize the object dependencies as well.

For example, having a clear view of the changes to product options and features you need to include when deploying a product bundle.

The second challenge to solve the second challenge, we'd need a way to seamlessly and automatically handle, the complexity of creating and maintaining those external IDs.

Third, ideally, we do something about the fact that CPQ, data and metadata are in separate deployments, and handling any of the dependencies between those two things.

And, finally, we should be able to easily track all the changes, so that we know who changed what and when, for your auditing purposes.

So this is where I will in introduce gear set for CPQ, and how we solved all the challenges.

Give me a moment. I think I might have missed a slide.

Oh, no. Okay.

So, in case that, it's fairly easy to set up, your external IDs.

We have just a one quick process for doing so.

It's so easy that I'm not even gonna demo it in in in this workshop.

But if you stick around for questions at the end, I can I can show you then as well?

But it's a simple case of running on your production org and then refreshing, your sandboxes and all your external IDs, will propagate through.

It'll have no impact on any of your existing, configuration, and it's it's it's risk free. You can roll it back if if you, are are unsure that, it's gone as you planned it to.

So we're on the onto the workshop now so we can use those those orgs that we signed into Gear Set with.

We'll be looking to create, and view CPQ configuration and relationships and perform a complex CPQ deployment.

So let's go ahead and make a change.

So if you guys are able to log in to Salesforce onto into that source org, That's the org that's named CPQ source at the beginning, and then it'll be one, two, or three, for Amanda, Mark, and Josh.

I've just realized that Vino has joined as well.

So let me send you a login whilst we're here.

No. No problem.

There's there's a link for yourself, And that's so the first one is the source org, which you're gonna use to log into GearSat and also Salesforce, and the second one is a target a target org that you don't need to log in to Salesforce for, but this should already be added to, to your GearSat account.

Which you can access via the source org.

So I'll just give you a moment to, to log in to, Vino. And then if you let me know when you've done that, Otherwise, I'll, I'll move on, in a little while.

In fact, I'll go through this slide anyway for the rest of you.

So in Salesforce, if you just followed these steps, so that's going through, to set up, object manager product fields and relationships, create a new field and relationship. Sorry.

Click click on new and pick list.

And then through the through the next button, you can add surface finish for the field label.

This is what users would see in the product configuration page.

And then on the in the radio buttons, you can enter matte glossy and brushed metal.

Then cycling through next and keeping field level security as it is and then save those changes.

If you have any problems with that, feel free to, unmute your mic and speak up, or you can just, send a message through the chat password. That's a good question. It's GearSet three sixty with a capital g.

Feel creative. Awesome, Josh.

Nice one, Amanda.

I'm sure this is something that you guys do on a daily basis.

I'm curious to see, how long you guys have all been working with CPQ.

Okay, Mark.

Presumably, you've been using Salesforce, though. So this this this kind of setup isn't isn't isn't new to you.

Okay.

Cool. Well, hopefully, my inch my introduction to CPQ for those who haven't used it made sense.

And there'll be a slide at the at the end of this workshop, that asks for any questions. So you can you can ask me some questions then.

Okay.

Are there any problems, Vino?

Or Mark.

Okay. Cool.

Does anyone wanna ask me any questions about, what I've explained whilst whilst and Mark are are running are making this change?

So if either of you are having any any problems with with making a make logging in and making a change, I I could also log in to KiaSat in Salesforce, and do a do a demo, to show you guys what it looks like.

I can't log in. Okay.

Let me see if I can get myself a login very quickly.

Okay. So I'm gonna share my wider screen so that you guys can see more of what's going on.

Okay.

I presume you can now see more of my screen.

Gear set on the left, presentation on the right.

So I have GearSet, logged in to, on my org.

I've got a few orgs on the account, and I'm also logged into Salesforce.

So I'm gonna go and head into setup.

Sorry. I'm actually gonna turn off dark mode in case any of you guys are struggling to see that.

So I'm in setup, object manager.

Product, fields and relationships.

New. Let me just move that out of the way.

So what do we want? We want a pick list.

Perfect.

In the field label, I'm gonna enter surface finish.

And the radio buttons, enter values, and we're gonna have mats glossy. So these these don't actually matter. We're just demonstrating later. Cool. So next. There.

Cool.

So next.

There.

And we're gonna keep field level security as it is, and we can save that change.

Great.

Just move my chat window around so I can actually read it if any of you guys make a message.

K.

So the next slide is making some CPQ configuration changes so we can get to and feel free to continue following along with your own orgs, those that managed to log in.

That's right, Vinay. Yeah.

I'm gonna keep I'm gonna just just to keep us moving forward, I'm gonna keep going through with Salesforce on the left and the presentation on the right.

But if if you if you can catch up, that that's also great.

So go to products in the top left, using that little menu button. I think that's called a, what do they call that? A kebab menu or something?

Well, this is slightly embarrassing.

Products.

Ah, right.

So we're looking for the thirteen inch laptop, which is this one. We can click on there and edit.

So in here, we should be able to see surface finish as a drop down, and we want to select brushed metal.

Once you've done that, you can click save.

Wait for Salesforce to do its thing.

That took a long time.

I don't know if you guys have experience with, CPQ changes taking a while in Salesforce.

Everything takes a while in Salesforce in in, in my experience.

Then we can head to the related tab, which is right next to details.

If I'm going too quickly for anyone, please let me know in the chat, and I can slow down.

Under options, we're gonna want to create, a new option, and we'll want, to select, keyboard US layout, which is this one right here.

And the number we can set to forty.

And once you've done that, you can click save.

Awesome.

So in the next step, we'll just go and, into gear set, and we'll see see what we've done.

So the home page on gear set will be compare and deploy. If you've used Gearset before, you'll be well familiar with this. But if not, then this is our our core tool for comparing, Salesforce orgs and deploying changes.

And we can see, we're gonna see now how how that's gonna work with our CPQ configuration that we've just changed.

So I can choose, as my source Salesforce configuration org, my Salesforce my CPQ source.

And for the target, I'll choose the CPQ target.

So this CPQ source is the one that we just made the changes to, and CPQ target doesn't have those changes.

And we can go through and click compare now, which is using, Gear Sets, new compare point two point o view.

I don't know if anyone's used this before, but it's quite a lot faster than the old comparison.

So if you if you use the old one, you'll notice that we have these filters here, which is very similar. But if you you can also type, for specific metadata types in this bar, and we have all the metadata types here that you can select.

I'm just gonna go here and select, the CPQ configuration because that's what we're we're bothered about today.

And you'll see that this has all been populated already, with, the names of a lot of our objects.

That slide too fast.

Alright.

You should be able to see at the top here, we have, sorry. I've just seen that Josh has sent a message in check here, so it says there's an IP restriction when I try to log in.

Where did you say, you were from, Josh?

Just so that I have that written down somewhere. Oh, so I think in certain places, we do sometimes have those problems.

Omaha. I'm a show Omaha should be fine.

I don't know how to solve that for you on the fly. So I hope you don't mind if you just follow along the demo that I'm showing at the moment.

I'm sorry that happened. I don't I don't quite know quite know the reason.

So for those looking watching, watching my screen, we've got, a couple of new, metadata.

We just had a new one pop up here as well.

So you can see let me, let me expand this a little bit just for the moment.

I'll expand the, the slide deck again afterwards, but just so that you can see what's going on here.

We've got three new metadata types, which is custom field, custom field permissions, and a CPQ product option.

And if I click through these, you can see, you can see all the details that we added. So we've got surface finish, and all those values for matte glossy and brushed metal.

Just because we've added these as as new, you won't see any difference, on the on this right hand panel. But if you changed, these objects, you would see a difference.

So we've got, these custom field custom field permissions here, which is a lot of, JSON JSON data.

As well as, oh, for ins my apologies. The JSON data isn't the only thing that we have. We also have this visualizer, which is a permissions view, which is a lot nicer than looking at the the raw text.

You can see the profile name, whether it's visible or read only.

And you can access that through, the various buttons that we have over here.

And this is the thirteen inch, laptop.

Great.

So we want to go ahead and select the changes, for those who are still following through.

We wanna select the the, the thirteen inch laptop product.

Note that you can expand this out, and you will be able to see, what what the, the thirteen inch laptop product depends on. So you can see that it depends on the keyboard US layout and the product itself because this is just a product option.

So we're gonna select this the thirteen inch laptop product itself, and the keyboard US layout.

But we're not going to bother selecting, the surface finish options for the moment just so that I can demo just so that I can demo the problem analyzers that Kia set has.

And they they do things like, monitor the dependencies between objects that you're deploying make to make sure that, your deployment is more likely to succeed by showing you what you might have forgotten in your deployment.

So if I go to next, we should be able to see the gear set has detected an issue with an automatic fix.

Perfect. Here it is.

And you can go through and click into that, and you'll see, that the problem that we've detected is that metadata for config data items selected for deploy should be up to date in a target, or we might not deploy records correctly.

And, essentially, that means that we just haven't we've forgotten to select one of our one of our metadata items.

And GearSet, has many of these problem analyzers, and it's no different for CPQ.

It will automatically detect these things, and it will give you the best chances of your deployment succeeding.

So we can deploy with confidence, and everything will be taken care of.

So if I go through to the predeployment summary, I can click on deploy now once that's loaded.

This is just a a little dialogue, that says once we start deploying, we can't cancel.

But don't worry that if the deployment fails, which it shouldn't do because we've got these problem analyzers, your target will be rolled back anyway.

So we have this deployment in progress.

I noticed that we have, the surface finish product that we that was selected by the problem analyzer that's been deployed as well as for a lot a load of other metadata items that were dependent.

We're now deploying CPQ data. So, the this deployment is done in two stages. It deploys first the CBQ metadata, and then it goes on to deploy the CBQ data. So that's what we're looking at now.

And once this is done, we should be able to we should be able to view all of the, metadata items that have been deployed as well as all of the CPQ data items.

I'm curious if anyone's managed to follow me through to this step or if if anyone else has had problems along the way as well.

Okay. Well, if anyone has been following through, with their own orgs, they you should be able to get to this successful deployment screen as well.

I'm not sure what the what what problems what problems you would have run into, but I'm happy to answer any of those questions, that you might have regarding that.

I had the same I I had a org set up in the same way as you guys. So the process should have been should have been very similar, but I can appreciate that problems do occur.

So on this deployment successful screen, I can go go ahead and I can view, all of my deployed metadata items.

Notice that some of these are no different, but they've been deployed because they were dependent.

And, also, we've got CPQ config data items here.

So great. Guess that has deployed, your CPQ change, without any issues.

I'll now open the floor up to you guys. If you've got any questions, feel free to unmute your mic or send a message in the chat, and I'll try my best to answer them.

Otherwise, that's the end of the workshop, that I have for you today.

And feel free to to log off.

Can I get back to the CPQ data selection screen? I can.

So I can what I can do is I can go to my comparison history, which is in the top top here, on the right.

I think you can also access it through the sidebar here, so comparison history, and I can view the comparison.

And this has, all of your, all of your items that are in your org, including any new items or changed items.

Did you have any specific questions about the screen?

So, yeah, good good question. The question that was asked was, does this only deploy CPQ data, or can you deploy any org data?

Yep. So you can deploy any org data from this screen. So you can mostly see things that are related to CPQ currently here, but that's only because I've selected, the the CPQ related types. You can also see on the left hand side here, all the other types that you might see in your Salesforce org.

So, for example, if I also wanted to deploy some Apex classes at the same time, all I would have to do is click on Apex class on the left hand side here.

It adds Apex class to my list of compared types, and we should start seeing them flowing into the comparison grid here on the side.

So it's unlikely that there are any changes in in my Apex classes on this org because these orgs were set up specifically to to demo CPQ.

But even though there are no changes, you can still see these Apex class permissions, that are that are in this grid here.

I can also filter this grid.

So I was only seeing Apex class permissions, but if I'm more worried about Apex classes themselves, I can go straight to that by filtering this grid.

And you can see that there are quite a few Apex classes here.

Met records from any object.

So are you talking about custom objects there, or any any, is it a lot more like so you've got account objects here?

I don't know if you want to unmute your mic.

Might might make the conversation a little bit smoother.

Yeah. Alright. Alright.

Can you hear me okay?

Yeah. I can hear you fine.

Alright.

So I I missed the part where you were, moving in the, the actual product option data and then the the products you updated. But so I was wondering is, like let's say we created a custom object just for CPQ or, that are referenced by price rules, for instance, or something, like like a a some sort of tier based structure. Sure. Could this actually help us move that data in, or is it just restricted to those CPQ specific objects that are part of the package?

Yeah. All all of your all of your metadata and and CPQ data, can be, can be deployed through this tool.

Okay. Yeah. That's really all I wanted to ask.

Is that yeah. Is that is that great. I mean, yeah. I mean, this this is a this is a complete tool for for CPQ, compare, the deployment. So you you can you can do you can do the the whole lot.

Does anyone else have any questions? Or does does that not clear that is is anything not clear?

Yeah. Great. Okay. Well, feel free to drop off drop off the call.

Otherwise, I'll I'll hang around for a for a couple of minutes more just to see if you've if anyone posts any more questions. But, yeah, thank thanks for your time.

Yeah. Thank you, Josh.

I hope this this showed capabilities of k set CPQ.