(… If videos are not for you, and you prefer the written word, we’ve got you covered. Check out the transcript of the interview below. Enjoy!)
Morgan Friedman: Hey everyone I’m Morgan from UV, here today for the next edition of
our recursive business podcast with Diego Leon, one of our favorite software developers and a SFCC specialist who’s done a lot of work with a recent Salesforce order management system and commerce cloud integration. And that’s what we’re going to talk about today. I hope everyone has their coffee ready. Diego, do you have your coffee ready?
Diego Leon: All ready!
MF: Diego, we recently finished up this interesting project integrating the Salesforce Order Management System with Commerce Cloud, and everyone says you’re the man behind the man behind the man. So I’m honored to meet you. I’m curious to learn and absorb from you. All of us know about Salesforce Commerce Cloud, but tell us a bit about the Salesforce Order Management System and then after that, let’s talk about how you integrate it with Commerce Cloud
DL: Yeah sure well. I’m very glad about all that you’ve said before, thank you so much. But I will say about the “ man behind the man” stuff, that I really received lots of help from my co-workers.
So okay, let me explain to you how order management already works. So, first of all let me tell you something. Let’s just imagine that we have a base already, like a baseline already right here. So this baseline is called Salesforce CRM, just to give some kind of name to it. So this software CRM, which is our baseline, will be the base on which oms will stand on. I mean, OMS is just another extension of Salesforce CRM. So if you already know how to use Salesforce CRM, you will know how to use OMS and as a matter of fact, you will extend its capabilities. So working with OMS was pretty challenging, you know? When I first got into the project there were things that were already done, so I needed to read a lot of documentation, but previous knowledge about Salesforce CRM was helpful. So when we started to work on this OMS and Commerce Cloud integration it was pretty straightforward in some manner, that we just received an order from Commerce Cloud and then data would be mapped into OMS data. So we just needed to know what we were trying to map over there. For example, if an order from Commerce Cloud came with data such as hoodies, about other numbers or the products and things like that, automatically it is converted into OMS data that we could work on. So it was like, from the point of view of a developer there was no need to make some integration by doing some code.
MF: So on Commerce Cloud when someone places an order there’s a bunch of information about the order. There’s the sku, the person’s email address, what color they want this shirt in… And is what you’re saying that now there’s an automatic integration that the OMS will know that they want the red shirt like this, so you don’t need to map it, but that happens automatically?
DL: Yes. In fact, let me quote what Ruben says often: it happens “Automagically”
MF: Automagically, yes
DL: Salesforce has, as you said, a bunch of data that just didn’t do anything. We just receive the data, it is converted into salesforce OMS objects, and then we start working on them. And making some cross-builders flow, some matrix classes…
MF: The Salesforce Order Management System has been around for a few years ever since Salesforce bought MainStreet but how long has the auto-magic integration been? Is this what Salesforce has recently released?
DL: Yes in fact, as far as I know, this is the new release…
MF: This is the new release, yes. I just wanted to be clear that this auto-magic integration is what’s actually happening in the new release that everyone is talking about. So this is one auto-magic part, that when an order is placed, information, it knows exactly what where to put it and what it is in the order management system. Are there other auto-magic parts with the new integration or is this the principal change?
DL: When you start working with OMS you can use some helpful tools such as flows, process builders, workflows and things like that. But there is a package that you implement on your instance org your developer org, which has some pre-built flows that you can use for some kind as a baseline. So let’s say that you have a use case, you have to make a refund for some orders with, I don’t know, like three or four products. So instead of you trying to develop this functionality from scratch, you just have to use this flow as a baseline and then you just have to keep modifying it in order to your needs. So this package saved a lot of time and helped us to understand even more how Salesforce OMS works already.
MF: When you’re working with this new auto-magic integration of the OMS and Commerce Cloud, was there a part of it that you found most interesting or surprising or different or that you didn’t realize it would be able to do this really cool thing that it ended up doing? I like hearing about surprises
And I would say the second thing that I found to be a really huge challenge was making the refund payments to actually connect, well, actually establish communication between payment providers and Salesforce OMS, because you need to understand how the business is going to work. It is not just like “Okay, I just make this thing here from OMS and then just send information to the payment provider, and then it already works”. No, you need to understand the business, about why and when is this refund or this payment captured going to happen and why. So once you know this you will have a certain point of view on how the whole process is working. So, as a summary, the second thing that I found challenging was making an integration of payment providers with Salesforce OMS.
MF: All those points are interesting. On the first one, to make the integration happen I find it very interesting that you just open a ticket with Salesforce.
DL: Yes, yes. That’s really true. I was like “okay how do we make this integration happen?” and I was told that “Okay, we just open the ticket, we make some kind of configuration or setup over there”, and that was it. We just had to wait till our Commerce Cloud instances started communication with our OMS environments and that was that was it.
MF: And on the payment integration that’s classically a pain in any production environment development. Money is involved so it’s always tight controls and annoying APIs in order to deal with it. On the recent project that you just finished, did you use the new Salesforce Stripe payment integration? Or which payment integrations did you use?
DL: We worked with an integration with Stripe. But in this special case of Stripe, there was a package from app exchange, so we just installed this package from Stripe and it worked like a charm. We just did four or five clicks: click on install, accept terms and conditions, install, verification and authorization and start testing. ForStripe it was very easy. But the other payments, that were Connecta for credit cards and transfers, and the other one was Paypal… I would say that for both of them, we had to work hard to make them work. But the one that made me have headaches was Paypal, but at the end it worked.
MF: I’m happy you got it working. I think it was very funny that you said oh this integration was just four or five clicks, and this reminds me of a famous story about the Spanish painter Picasso. Where one time Picasso was apparently in a restaurant and someone came up to him and said “Hey, can you like can you draw something for me?” and Picasso said “Sure”, and on his napkin in one second he drew like four lines and it was amazing and then Picasso said “Okay here it is, and this is a thousand euros” or whatever the money was then. And the person said “You took one second to draw this! How can it be a thousand euros?”, and he was like “I took one second to draw the lines, but it took me my whole career in order to know exactly where to put those lines”. I think it’s very funny, that reminds me of your story because, “Oh, it’s just for buttons” but you need to do a lot of work and a lot of Salesforce work and figure everything out in order to know where are the four buttons to press.
DL: Yeah, I think it was, as you said, it was just interesting. Okay, we just clicked four buttons but, as you said, it was really hard to figure out which buttons to click and to make it work, and to make sure that it was working… was another pain. But at the end it worked, everything worked.
Oh yeah, this is why this is why testing in QA is an important part of our process and an important part of work with clients is always teaching the clients that “No, it’s not just the one second to press the button. It’s figuring out the testing, it’s trying the buttons under all different environments” and so on…
DL: Yeah and making sure that payments in Stripe are being reflected in the action that we did in Salesforce OMS. It was a very good experience working with this.
MF: This is great. Well, thank you for your time. This was really interesting. I learned a bunch from you today, and especially that the integration is just opening a ticket for Salesforce. And also the auto-magic, “automagically”orders being mapped to the appropriate fields. Both were very interesting points. You’re living up to my high expectations. Everyone’s speaking highly of you, and now I understand why.
I’d love to interview you again on another day, on another topic. This was fun, so we will do it again. Thank you for your time!
DL: Thank you, Morgan