How to automate a customer onboarding process
Full Transcript of Video
In this video, I’ll show you how to create a customer onboarding workflow process using low-code.
Now, a customer onboarding workflow will be different for every company. Some will just be a couple of steps, while others could be quite complex. That’s why using low-code is helpful–you can create custom workflows that fit your exact needs.
In this example, I’m making an onboarding workflow for a fictional consulting company and it goes like this. When a new deal is added, the system should generate a contract and send it to the customer. Once that’s signed, it will send the new customer’s info to our payment processor. Once that invoice is paid, it will u pdate our ERP orders table and notify the salesperson to schedule the consulting.
Now, I’m building this onto a custom CRM system I created in a previous video so it will fire automatically when a deal is added to that CRM system. If you’d like to see how to make a custom CRM system, I’ve placed a link to that video on the screen.
Okay, let’s get started. The first step for any customer onboarding workflow is a trigger. Something that fires off the workflow. In this case, I want the workflow to run when a new deal is added. And if you remember, when a new deal is added, it should generate a PDF contract and send it to the customer.
So, here’s the contract we’re working with…it’s pretty basic…but without automation, an employee would have to come in and enter the information and then email it to the customer. I want all of that to just happen automatically.
To make that happen I’ll first need to set up the PDF contract to automatically populate with data from a new deal. I’ll open up our low-code platform, m-Power, which is used to create all types of business apps and workflows and jump right in. I need to create an application that basically pulls database fields and inserts them into a PDF document, so I’ll use this template…and m-Power templates provide the layout and features for applications, but can still be customized however you want.
Now, I’ll need to grab whatever fields I want in this PDF contract. Now, the fields I need are in a few different database tables. I’ll grab all of the fields out of my deals table...okay...now I need a couple out of my companies table, so I’ll join that table to my deals table and grab those fields. And finally, I’ll need the salesperson name out of my salesperson table. Alright, so I have all of my data...now I just need to tell m-Power how to sort this...and we’re all done.
Now, I’ll just click build and wait while m-Power puts this all together for me. And this was a very basic build process. I could always add filters, calculated fields, or external business logic if I needed...but that’s not necessary this time. Now, after this is built I’ll need to go into the properties and set up a few things. First, I need to tell m-power where my pdf is located. Once that’s done, I’ll have to map my database fields to my pdf fields, so m-Power knows where to put each field. I’ll speed through this step as it’s pretty straightforward. Once I’m done, I’ll save this…and then run my app. When I run, it generates a PDF with my fields mapped. Pretty handy, right?
That’s the first step. Now I need to set up a task group, which is basically a series of events that I can trigger in my workflow or I can schedule to run at specific times…like reports, data summaries, text messages, things like that. I’ll create a task group and call it…Send PDF contract. Now, I need to add a task, which defines what will happen when this group is called. I’ll give it a short description and choose this option down here to merge data to pdf and send via email. Then I’ll move to the next step and tell it which application to run for this, which is my pdf merge…and then give it a filename. I do need to map the orderid field to this PDF generator app, so I can pass that data to it in my workflow. For the recipients, lets pull in the email field…and that should be good. For the sender, let’s use this email and I’ll make a subject line here and a brief message. I’d obviously pretty this up if it was a real system, but for now I’m doing it quickly. Okay, I think I’m done with this now, so I’ll save it and move on.
I think I’m ready to set up my customer onboarding workflow. I’ll open the application that’s used to add new deals and dive into the workflow area of that. This workflow can be set to fire any time this form performs an action, such as adding, updating, or removing a record. To start things off, I’ll set a condition that will trigger when a new deal is added. I want to call that task group that I just set up. I’ll name this action…lets say send contract to customer…and then call that task group. I’ll need to map a couple of fields so I can use them in the task group–uhh…the email field for the customer, and the orderid field. Okay, so that’s the first step and it’s all setup.
You know what, rather than test each step let’s just make everything now and then test it all at the end. I’ll add a condition that fires when a deal is updated. Now it can get updated in two ways that should trigger actions. First, if the contract status is changed to ‘contract signed’ I want to send this customer to our payment processor which in this case is Stripe. To do that, I’ll call an api. Lets name this ‘add company to stripe’ . I already have a web service setup that call’s Stripe’s API and here, I”ll show it to you real fast. It’s pretty straightforward, I’m just calling stripe’s api and using my api key to authenticate. Really easy to set up.
Going back to my workflow, it’s important to know what format the api wants your data to be in. While most are json, this one requires this format. Now, I just need to map the data fields I want to send over with the data field names on Stripe’s end. In this case, I’ll only send over the order ID, email address, and company name. I’m mainly looking to show you how easily I can pass data to other services. If this was a full-blown system that would be put into use at a company, we’d obviously send a lot more or even set it up to automatically generate an invoice and send it to the customer. Don’t need to do that here though as I just want to show you how easily I can pass data using APIs.
Okay, so that’s what happens when the contract is signed. Now, suppose that we’ve sent an invoice and it’s been paid. I want a few other things to happen. First, I want to update my ERP system with this new sale. Specifically, I’ll update the ERP order table. I’ll choose an action that will let me write a database record. Let’s call this…’add deal to ERP order table’. I have a maintenance application that let’s me add records to that order table, so let’s call that. Now, it’s just a matter of mapping the fields in this deals app to that table. I’ll speed through this as there are quite a few. Alright, that’s done. Now we have one more thing to set up.
When someone has successfully gone through the customer onboarding workflow here, I want the salesperson to reach out to them to schedule their services. So, let’s send an email to that salesperson to let them know they should contact the customer. Let’s call this, “Salesperson notification email”. For the email address, let’s grab the salesperson email... For the subject line, lets say something like, “Schedule service for a new customer”. And then in the body, let’s write up something basic, like, ‘Hi,’ and I’’ll grab the company name using brackets like this. Then I’ll add some more information about what they should do and I’ll save this.
Okay, that’s it! We have our customer onboarding workflow all set up. Now for the moment of truth! Let’s test it out. Okay, let’s open up a company page and test this out. First, let me make sure that this company has an email address I can check, as it should be receiving the contract by email. Let’s change this to a temporary email account so I can test it. Alright, let’s add a deal. It automatically populates the company name field, so that’s good, I’ll just fill in the fields here, select the hours, hourly rate, total…salesperson, and change the deal status to “contract sent”.
Once I hit accept, this should fire off my first workflow step which sends the contract to the customer. Let’s check that out now. So over here in my temporary email account, I did receive an email..good good..and there’s my pdf attachment, which is the contract that was generated. And it pulled in all of the fields from that new deal I just set up. So, first step is working. Now let’s say that I received the signed contract. I’ll change this status to ‘contract signed’ which should fire off the next step that pushes this data into Stripe. If I open up my Stripe account, here it is. And of course, I could set this up to do so much more like automating the invoicing process, but for sake of time I’m just doing this.
Alright, next step. Let’s say that we’ve sent them an invoice and it’s been paid. It should then write a record to my ERP Orders table and send an email. Before I change it, let’s look at this ERP table to make sure the order isn’t in there. As you can see, the last order was on 10-3 in the amount of 3000 dollars. Now, let’s change the status here, which will update my ERP table and send an email to the salesperson. Let’s look at that ERP database table right here. If I scroll to the bottom, I can now see my new deal. And finally, let’s check the salesperson’s email. I have an email in here and the fields are being pulled in as they should. And this is really efficient for the salesperson, because they don’t need to worry about this process. They’ll get notified when they need to take the next step…and that’s what’s so nice about a custom onboarding workflow–it works exactly the way you need.
So that’s it! In a few minutes, I’ve created a customer onboarding workflow that are specific to this fictional company’s exact needs. The great part about using this method is that it’s easy to create workflows for any company, even if they’r emore complex.
If you’d like to learn more or see a demo over your data, visit us on the web at mrc-productivity.com. Thanks for watching.
Learn how m-Power can help you
Sign up for a free trial
Sort videos by category using the options below