Video: Master Omnichannel Success: How to Automate 3PL Management | Duration: 1984s | Summary: Master Omnichannel Success: How to Automate 3PL Management | Chapters: Introduction to 3PL Automation (24.99s), 3PL Integration Methods (197.29s), ERP-3PL Data Flows (391.55s), Integration Tiles Overview (487.61002s), Data Flow Mapping (655.95s), Flow Management (1093.265s), FTP Flow Setup (1312.5801s), Integration Templates (1497.32s), Conclusion and Case Study (1712.535s)
Transcript for "Master Omnichannel Success: How to Automate 3PL Management": Automate three PL management. I'm Jenny Lawson. I'm a senior solutions consultant at Celigo. I've been with the company for nearly two years now, but I've been in the ecommerce operations, for well over a decade, and I've worked with dozens of three PL and WMS systems on integration strategy strategy throughout my time. During this session, we'll discuss, what a three p l is, why it's essential, challenges businesses face when integrating with the three p l, the most common data flows built between a three p l and an ERP. And finally, I'll take you through a live demonstration of the Celigo platform integrator.io, where I'll highlight a few examples of three p l automations that we've built. So for those who don't know, Celigo is a leading iPaaS or integration platform as a service that enables companies to connect applications and automate core business processes seamlessly. Today, our platform processes over 16,000,000,000 records per month. We serve thousands of customers globally, and we've connected to well over 4,000 unique business applications. Some of the most successful ecommerce, retail, and logistics brand, a handful of which you actually can see listed here on the screen, rely on Celigo to streamline their business and achieve operational excellence. And whether it's accounting, order management, shipping and fulfillment, returns, countless other processes, Celigo can ensure that your business runs smoothly by eliminating manual work and improving data accuracy across your entire tech stack. At Celigo, we recognize that every business has unique integration needs. So our iPaaS is really designed to help improve data quality and consistency across your unique business systems, reduce any kind of integration backlogs you may have, maximize the efficiency of your tech stack, and really automate those business processes, in particular, of course, 3PL Logistics, for brands out there. By automating these processes, you'll gain really enhance your supply chain efficiency, improving your own end customer satisfaction. And our customers have seen remarkable improvement using Celigo for three p l automation, and our results here can speak for themselves. In a recent study conducted by Forrester, it was commissioned by Celigo, found that customers' automated business processes can achieve a ROI of upwards to 364%, saving hundreds of thousands of dollar, every year in any kind of IT cost. So our customers love us, which is why we are actually reading. Number one, I pass on g two, now four times running, and recognized as a visionary by Gartner. So now that you know a little bit more about us, let's get into today's topic, three PL management with Celigo. Here, we see a high level example of what data typically can flow between a sales channel and ERP and three PL. Some key considerations. Every three p l has their own requirements. There is really no one size fits all solution for three p l automation, and I will be a little redundant in this throughout today's, webinar as we discuss why that is. Through automation and integration to your three p l partner, what you're allowed to do is have real time updates for orders and inventory, in particular, support any kind of unique edge cases that your business may have, things like gift messaging and wrapping requirements, serialization, any kind of item record or shipping requirement, that's not necessarily out of the box with basic shipments can be supported, through these custom flows. Finally, you'll be able to scale efficiently, by building and managing these three PL integrations all in one place. The most common three PL integration methods that we come across are the following. First and foremost, many three PLs use, FTPs or SFTP connection in order to pass data from three PL into your ERP and vice versa. Second most common method we see in order to connect to a three PL would be through use of a rest HTTP API endpoint. With Stiligo, our universal HTTP connectors will allow you to build any kind of custom integration, and we support multiple authentication types, like basic, OAuth, JWT bearer, and so on. Through an API connection, you have fine grain control over scopes, permissions, request responses, and it's one of the the it's kind of the second most common way we see three PL integrations built. Some three PLs offer webhooks. Webhooks obviously are a, instantaneous method for sending data, and reused to send from Integrator IO when a special event occurs within the three PL. For webhooks, we support basic secret URL tokens, HMAC. Next up, EDI support. And we do support a wide wide range of EDI formats commonly used for logistics and supply chain. Example formats we've built for include capacity LLC, under group, Cardinal Health, and so on. Next, a s two, similar to EDI, right, for secure data exchange for any kind of three PL that uses AS two protocol. We can support certificate authentication, content based routing, encryption, and signing algorithms. And finally, our Sligo's prebuilt connectors. We have built connector offerings for a handful of different three p l's out there that have open APIs. For example, through, Shipwire, another three p l provider. When connecting to a three p l, the common data flows we often see built between these systems are the following, item record flow. Typically, these are items built in your ERP that pass over to create your item master catalog in your three p l. We see purchase order and transfer order records from your ERP, creating inbound shipment notices, advanced ship notices, also known as, within that system. Of course, the sales order export from the ERP or sales channel, that then imports into the three p l. And then from three p l back to the ERP, the actual shipment, fulfillment details, including tracking, package weight, etcetera, updating from that three p l back to the ERP. Returns can be passed between the systems. So when an RMA, is generated either in the ERP or three p l, having those records, as well as the receipt of that, RMA will pass between the two systems. And finally, a common data flow we see is an inventory reconciliation flow, whether that is a nightly snapshot or adjustment activities happening on a cadence configured in the data flow itself. All depends on the requirements you have as a business. What are the automations you need to see, and simultaneously, it's going to, rely entirely on what integration capabilities that three p l has and the process flows that they are able to support. Now then, let's hop into integrator.io. Here, we're in integrator.io instance. You'll see whenever you log into, the platform, it drops you right into the home page. And here on the home page is where you're going to see a collection of what we call integration tiles. You can think of these as folders where there are collection of data flows that could be running information between one or many systems. In particular, today, we're going to look at this shipping and fulfillment management integration. And the when when you create an integration in the system, you can give it any name you want. In this case, I have organized the different data flows by business process. Quick glance, we can see that at the moment, the integrations within our shipping and fulfillment management integration tile are successfully running, though we do might we might have a connection done, and we'll return, I'll return to this concept of error management later on. Clicking into the tile itself, first and foremost, you'll see on the left hand side, there are a collection of what we call flow groups. And the way that I have organized these is by different three p l offerings that we have connected to previously. So you see a three p l like EasyShip, ShipBob, Shiphawk. If you were fulfilling in house, or maybe your your three p l is using ShipStation, we have options for connection there. To start, let's take a look at Shipwire. In Shipwire, we have a prebuilt integration offering, and we'll focus on a couple sample data flows that have been built between this system and, in particular, Microsoft Dynamics ERP. So when I click on Shipwire, it gives us two different data flows. The first data flow here is a item flow that's exporting item data from Microsoft Dynamics to create that corresponding item record within the Ship Wire, back office. Here you see it has successfully run, last updated, just today, actually, depending or historical, depending on when you see this webinar. You can see it's currently enabled to run. Now clicking into the data flow itself, we'll see the name, of course, of what the data flow is accomplishing. And then you'll see two main kind of bubbles here. First, our source, which is an export action to get items from Microsoft Dynamics three sixty five, then our destination or our lookup. In this case, it is Shipwire, where we're doing performing an import to create data within this application. This is a prebuilt connector. When I click on the export itself, you can see I've named the export step to get items out of Microsoft three sixty five, put a little description, slightly redundant. I would encourage being a bit more descriptive than I was. And as you scroll down, you'll see through this prebuilt connector for Microsoft Dynamics, we really simplified the ability to get the information that you need from the system in question by creating these kind of prebuilt fields, for getting that data. And in this case, since this is a a call to get information, first and foremost, I've set my resource of a prebuilt drop down of all the different endpoints you can hit within Dynamics, to be the item resource. So I'm looking to that system to grab the items. And the endpoints they have, they have the ability for you to get all of the items or get a specific item. In this case, I'm looking for all items. And then from a configuration standpoint, as part of the request, call request we're making, it does require that I provide my company ID, which I've entered in here. Continuing to scroll down, you'll see an export type. Whenever I want to get the item data from this instance, I wanna always get all the item data that I have, within this tool. But if I needed, I could also set up what's called a delta. If I wanted to specify, a, a a parameter. So in this case, it auto populated our last modified date. So it's only grabbing items that were modified within a certain period of time. Or finally, if I wanna set a limit, I could always set this to only grab maybe five records at a time. And I would put that quantity here for how many records items, essentially, I'd wanna have pull from the system. As soon as I have the connection as well as the configuration for the information I want to pull from my system complete, the next step, of course, is to set up that import activity. And I've already connected a Shipwire instance. And when I go into the import, what you'll see here, again, given it a simple name, I'm gonna import item records into Shipwire. And as I scroll down, in this system, based on their API documentation, in order to create what they're calling a product, not an item, I am going to hit this product resource. And then I'm able to tell it exactly what I want to do. In this case, I actually want this to not only create new item records, but also update existing records. So whenever I make changes to my item information within Microsoft Dynamics, it will, whenever this data flow runs, update those corresponding items within my Shipwire instance. If I didn't want updates to run, I could choose create. Or if I really only wanted this to be an update activity, I could set this to update. So very configurable. Last component here is because I am doing an update action in addition to a create, regardless, I need to know if an item already exists within this system because I wouldn't want duplicate records to create there. It It would cause confusion and, obviously, chaos because we need to have a single item representation by SKU, for tracking your inventory and shipments against. So in this case, we do need to set a way to find what that record is within Shipwire. And I have two options here. I can set it to find a specific field. So it'll in my case, I have selected this, and the field that I'm looking for is SKU. So if the SKU ID in Microsoft Dynamics matches the SKU ID in Shipwire, it will essentially link to those records and do an update. If it can't find a SKU, if it's a new SKU altogether, it'll create that SKU within Shipwire. If I wanted to get a little cheekier with it, I can do a dynamic search against the import application, and even in that configure it to reference multiple fields. But for now, we'll keep it really easy. Alright. Now that I have that import step done, the final step in building, this item data flow would be to perform what we call the data mapping. And that is done here, on the import, destination under this icon. And if I click on it, this is gonna open up our item mapping table. So very easy to operate from. Here, we see the destination field. So these are the fields as they exist within Shipwire. And then on the right, these are the fields as they exist from Microsoft Dynamics. When I click into any of the drop downs, you can see, the list of the fields auto populating that I'm able to map into Shipwire. And you'll see that a lot of the mapping has already been performed. In some cases, there may be scenarios. These are simple string mappings, but maybe there are scenarios where, you want to hard code some information in. In this case, if I put parentheses around USD, it's gonna hard code it. Otherwise, if I click the settings, you'll see that there's a instead of just doing the standard mapping like you see, for the other fields, hard coded is the option here. You can also perform a lookup. Or if you need to do any kind of unique coding, you can use a what we call a handlebar expression, to populate the data. And when you click on the handlebar sidebar, first and foremost, you can see here are the resources for the import, and all you'd have to do is type in your handlebar here. Now if you're not a coder, really cool feature we have here in Celigo, is our Celigo AI to help, build out any kind of specific kind of flow setting you need here. So what I can ask for is create a handlebar that combines the order date and the, order date field, that's an example, and the last name of the customer. Maybe for some reason, you want to see that information merged together. Here we have the exact handlebar that we would need in order to kinda populate that field. Now if I wanted if it was a much more complicated expression, I can hit explain here. Regardless, it's gonna give us a high level of what it's doing, in the background. So if I hit save and close, you see that it's populated my expression in the expression field here so I don't have to code it myself. So hit save and close on that. And there we have it. With the mapping complete, I'll discard it. When I run this flow next, item record from Microsoft is going to create that item record in Shipwire. And we would see here in the run console let's go ahead and actually run the flow. We're gonna try it. You'll note that this is currently offline, which is going to throw an error for us that we can take a look at as an example. But you can see down below each of the steps of the flows that you build are gonna display when the when the flow itself runs. You can see this one's currently waiting in queue. It's probably gonna wait for a while because there's no established connection. But once it completes, it'll tell us either a success or an error on whichever step any kind of failure occurred. If it successfully connected, you would see, the number of records displayed here that were successfully exported from the system. Anything ignored that perhaps didn't, fit our export requirement, for passing down the data downstream. Another use of AI in the platform, if it ran into an error that the system has now encountered several times and has a path, that it's learned for resolving, you can see if anything was auto resolved here. So, again, for those kind of redundant common errors, that can be easily fixed. Celigo has this AI offering, to take that bandwidth, that that that requirement to manage monitor, and does it on your behalf. Finally, you can see the number of pages of data that ran through, how long it took, for the flow to run, and the time in which it did actually complete. Alright. We'll let this one try to figure itself out. And in the meantime, we'll go back to our Shipwire flow. And to give an idea of the ease in which it is to connect Shipwire or Microsoft or any other business application, I'm gonna go ahead and create a new data flow here, just a blank shell, right, where I can hit add connection. And in this case, when I search for Shipwire, pops up here, where I can select it, make my choice on how I wanna get data. Before, we were looking at a scheduled export of data, but mentioned earlier that some applications support webhook. And so this is a listener that you would set up. If you wanna use a a webhook base flow, a listener to get that real time data from Shipwire. So a good use case could be to get, shipments. If you have a requirement in your business that you really wanna see the second a shipment is created within Shipwire, have that update to your ERP. This is what you could select. When I hit export, though, the next step, right, is to create that flow step and then create the connection. In the case of ShiftWire, you can connect here through our very simple form view. So, again, we've really, really simplified the connectivity process. We support in this three PL example, connection to their production, their sandbox, and all you need in this case is a username and password and OAuth two point o connection. If ever needed, you'll see there's connection guide up here at the top, which brings you right into our, homepage or excuse me, our help center, where you can see all the steps specifically for setting up your connection to your system. In this case, Tripwire. Alright. Exiting here. We'll go back to our fulfillment. And the other flow we wanna highlight is an example of setting up an FTP flow. So a lot of three PLs like to use FTP as their primary technology for allowing, different brands, product based companies to connect to their own WMS system. That is absolutely something that we can support. And here we have an example of an export of sales orders from a NetSuite to import into a three p l FTP. Again, preconfigured. And in this case, if I hit export for NetSuite, one thing that's neat is the way that our NetSuite connector works is actually based off of, saved search. And so I have previously created a saved search. In this instance, it is Shopify orders that have imported to my NetSuite instance, set up a saved search to pull those sales orders. And throughout the application, we didn't look at Twist earlier, but you'll notice that there are these preview data options. And when I click preview, it's actually going to grab a set of 10 records live from this NetSuite instance that I previously connected. So I can see all of the data of my sales orders, unfulfilled sales orders in this case, from that instance. That's the data you'll be able to see and use, for mapping information downstream. And in this case, we've also set up a transfer into an FTP. So it's a very simple process, as long as you have, of course, that FTP, a lot of three p l's, we'll do the host of the FTP for you. Otherwise, we'll just need to make sure you're hosting your own server. And we support multiple different file types, for FTP, CSV, fixed width, JSON, etcetera. In this case, I have this configured for CSC, where I'd simply choose a file, let's say orders. And I'm able to essentially set up the, parsing, instructions. So there is a CSV generator helper, where I hit launch, and it's gonna show me it's probably a bad file, unfortunately. But you can see some of the data, from the, CSV template that I uploaded, and play around with it so it is displaying appropriately, for passing into the FTP. In this case, you would simply need to know in order to establish that connection, right, the directory path, as well as how you'd want to name your files, if there are any requirements from your three p l. In this case, this, we're using handle up our expression here to take the file and amend the end to it with a time stamp, and doing a dot CSV, of course, at the end. So that way there are unique files each time they pass through. Now we've walked through a couple examples of data flows that were built within Integrator IO, manually by yours truly. But it's good to note that there are several different offerings within our marketplace with prebuilt templates, and 10 possibly integration apps, that really accelerate the building process. For example, we do actually have, for Shipwire, a template We can preview for it. So here, if I were to install this in the next excuse me. In my Celigo instance, there are four data flows that come out of the box for items, sales orders, for sending tracking, fulfillment data from Shipwire to NetSuite. And then, of course, for both, two different posts for this. One is webhook based. Sorry. And one is, for so instantaneous real time sync, and the other is a scheduled sync to run at a cadence. Now these are just the flows that are included here. But assuming Shipwire has additional APIs, if we think back to the data flows, if they can if they have endpoints, we can leverage. Oops. There may be other data flows that can be included in that system. So just know you're not limited to these. And within a template, you have complete control and flexibility to customize everything about how the integration flow works. Also noting that in each of the, templates themselves, even integration apps, oftentimes there's Read Me. So if you're looking for more information about specifically how this, integration was configured, click into that, and it brings you to a Google Doc where you can see a lot more information about how to set it up, what the steps are on the NetSuite side, on the Shipwire side, so on and so forth. So great resource there. Alright. We have several other, three p l or WMS offerings. So I would encourage, you know, check out you see, like, Ramp Logistics and ShipStation, ShipStation at Acumatica, ShipStation in NetSuite. There's a lot of content in here. Oftentimes, there are templates you'll find that are built by Celigo. But you also may come across a integration app built by a partner. In this case, you see, NetSuite to ShipStation connectivity built by our partners over at Nova module. Integration apps differentiate. They're a bit more locked down than a template, which is, kind of the wild wild west, if you will, of that customization. But integration apps are semi managed services where, our team or the partners team will help support, depending on who built it, help support the managing and maintenance, for the data flows built within the offering itself. When I say semi manage, I mean, when there are any kind of changes, let's say, to ship stations, APIs, maybe they deprecate an API and roll out a new version. Those types of updates to mean make sure that those connections stay online are completed by the teams who own the integration app. Not the same with the template. However, templates are are awesome for any kind of unique requirements, business processes that you need to be able to support, versus a very basic kind of connection. Let's pop back into our presentation here. Wanna talk a little bit about, you know, why should you connect a three PL with Celigo? And there's a slew of reasons, but the main reasons we see a lot of folks come to Celigo to build connections to their three PL are the following. First and foremost, customization. You have the ability to build the connection to your three p l based on your unique business needs, not having to use any kind of out of the box, super generic type of connections. If you have requirements that go outside of that, you're able to support that. By having this in house through an Integrator IO instance, you can avoid a lot of costly errors, making sure that your data stays accurate, through Integrator IO, managing, monitoring these data flows to make sure that they're remain connected, that there aren't errors with orders importing and exporting from the systems. Maybe there's issues with the data entered in, by user error if there's, like, a manual order process in your ERP, preventing that order from importing downstream. When you have that, we have Celigo, which is that middleware, where you're able to go in and find those errors and troubleshoot them, that actually provides a lot of cost, potentially downstream. Because if you have orders importing into your three p l that don't have required fields, oftentimes, the three p l could penalize and, fine you for those errors. Orders maybe that don't have on hand inventory, issues like that where it goes into a back ordered status. You can filter those types of orders out, so that you don't run into any kind of costly fees. Building an IO will allow you to save time. We know this. Right? Where it's we're gonna eliminate a lot of manual processes. Oftentimes, we see folks that have to do manual CSV import for inventory quantities and do a manual reconciliation between a three p l and an ERP. Whereas with Celigo, again, so long as your three p l has methods for you to get that inventory data programmatically through integration, you'll be saving time and eliminate that type of manual process, and thus, again, avoid a lot of business costs for, you know, users having to spend time business, team members having to spend time on those activities versus their day to day. And then finally, by having a single integration iPaaS, your total head count or, total cost of ownership in particular for managing everything in a single place, you'll see that total cost of ownership go down. And you'll have kind of one one area where you're able to manage all of the order to cash logistics, across the business. But don't take it from me. Wanted to share a really awesome case study with y'all of our customer, PooPree. They came to us firstly with different reasons, but in particular are able to connect to three pill central as their three pill choice, across multiple warehouse locations. And they've found a lot of tremendous growth through Celigo, not just in their business, but, also, you know, leveraging Celigo to connect to a lot of different systems. NetSuite, Shopify, Walmart. They connect to their Slack instance. Matter of fact, I believe there are I've seen use cases of when your three p l shipments are firing, you can have specific Slack notifications over orders over a certain dollar amount. So if you have a VIP who's getting an order, you have a a programmatic alert built. They're also connecting to FAIR and brand wise. Lot lot of different, connectivity they've set up, but in particular, that three p l connection connection has been pivotal in their automate.