Microsoft Power Automate: a real-life case study

by | Jan 31, 2020 | Webinar

 

Transcript

Matthew Stibbe:

Okay, just give another minute or so just for people to arrive. Good morning. Good morning. I’m seeing people coming in from the waiting room. Thank you. Just give it another 30 seconds or so, and then we’ll get started. Well, at least from where I am here in Chiswick, the clouds are beginning to clear and the blue sky is coming out. So, that’s a promising sign maybe.

Right. Well, good morning everybody. I’m Matthew from Articulate Marketing and I’m here with Harry and David from Chalkline and today’s subject is Business Automation With Power Automate. And Harry is going to talk us through a couple of examples of systems and processes that Chalkline has automated in their business. So I’m going to hand over to Harry. If you have questions, as we go along, please put them into the Q&A session and I will try and bring them up at the end with Harry. And I have a few questions already bubbling away. So over to you, Harry, and feel free to share your screen.

Harry Boyne:

Good morning. Thank you. I’m just sharing that now. Just let me know when you see that.

Matthew Stibbe:

Yep. It’s perfect.

Harry Boyne:

Perfect. Okay. So, as Matthew said, this morning we’re going to talk about how some of the use cases we’ve had with Power Automate internally and how it’s really helped to transform some of the processes we have internally. And what’s been quite interesting with this is some of these won’t be automated end-to-end. Because, when you talk about automation, you imagine this robot in the background, which is running everything, and that’s a bit scary and a bit “I’m not sure if I can do that”. But what we’re actually doing is automating parts of the process, they’re quick wins for us. So let’s get started.

So Power Automate is a automation tool provided by Microsoft as part of their power platform. It’s included with Microsoft 365 so you get that if you’ve got a Microsoft 365 licence. You’ve already got the standard connectors out of the box, and that is premium functionality you do have to pay for, but you get the standard functionality for things like emails and SharePoint already at the box.

David Smetana:

Sorry to break your Flow. You see what I did there, Harry? What additional functionality comes with the other licences and what would you need that for?

Harry Boyne:

So it’s all about the connectors. So again, you’d get the standard, like the Microsoft email, the SharePoint. But if, for example, you want to integrate with a sequel database or you want to integrate with certain third parties or most third parties now, you do need a premium licence for that. So that’s where the differentiator comes in.

David Smetana:

Okay. Sorry. Thank you.

Harry Boyne:

So a Flow can be triggered manually, so we can press a button. It can be triggered on a schedule, so six o’clock every day, or an event. And both of the Flows I’m going to show you today have been triggered by an event. We’ll go through that in a moment. And to talk about… So out the box, you get loads of integrations, loads of connectors. You’ve got the Microsoft 365 standard connectors. So, to name a few, we’ve got Outlook. So an email comes in or an email is going to get sent out.

You’ve got Forms. So a form can be filled in, either by customer or by a guest or by someone internally. You’ve got SharePoint. So files being created or a file can be created as part of the process. And finally Approvals. And we’ll run through Approvals in a moment, but that’s where an email or an approval request can be sent to a person or a group of people. And they just can go in and press one of the buttons we designate. And you’ve also got a massive range of third party connectors. I mean, to pick a few here, you’ve got Google Mail in the middle, we’ve got Slack, Basecamp, Twitter, Dropbox, Box, Adobe and all of these people already have out the box connectors. Like I said, a lot of them are premium, just to bear in mind. But even if they’re not on the list, there’s hundreds of connectors on the Microsoft website. But if they’re not on the list, they can still be integrated relatively easily, as long as they’ve got the right APIs open.

 

David Smetana:

And I presume there’s connectors to Teams and stuff like that, which [crosstalk 00:04:32]

Harry Boyne:

Yes. That would be a good one to add at the top, actually. But yes, you have got Teams. And we also have some Flows that already run with Teams for us. If a message gets sent in and we can take out that message and read what it says and potentially auto-respond in some ways. So there’s definitely that as well.

David Smetana:

Okay.

Harry Boyne:

So to look at the first project that we use it for is our Licence Orders scenario. So what we used today is a client requests that we buy a Microsoft licence for them. And we’ve got a logistics team who handle that ordering and what they do, the team member would send an email to our orders team with “Here’s what we need. Can you please do this?” And yeah, it kind of works. Sending an email does tend to be the try and test it method, but that does mean that you get email overload, it’s back and forth all the time. Normally, because they’re not filling in a certain form, they will miss a question at one point and then you’ve got to go back and forth and it becomes more of a tedious process. It’s hard to tell if an order’s been placed, if I’m running through my emails, you can’t really tell, you put conversation view on and you just end up scrolling around and it gets a bit messy.

David Smetana:

It seems so messy if you’ve got people with shared mailboxes as well.

Harry Boyne:

Oh yeah. It’s not the modern solution. And there’s no history. If you’re growing a process out or you’re building a business, it’s not something you should be having. It’s great to start with, because it proves that the process works and you do have to run it manually a few times to understand what vendors you need to speak to, how you do it, or, if there’s a problem, what to do about it. But that’s not a sustainable solution. So we’ve implemented a Microsoft Forms based solution instead. So what happens is the guys have got a webpage they log into, which takes us to our Internal Procurement Form, it looks like the one on the right. And that we ask the same questions to each person. Obviously we make sure we get consistent response. And we’ve got some [inaudible 00:06:34] called branching.

So you’ll notice question three asks “Is it a new licence or a [inaudible 00:06:39] licence?”. And based on the answers to that question, we can then ask more questions. Is it a Microsoft licence you need? Okay. How many do you need? What name do you need it for? What account is it for? You can ask all the right questions and make sure that we don’t have to have any back and forth with this. And it’s a really simple, it’s streamlined.

One of the really cool things about this as well is, because it’s based on the Microsoft 365 stack, it backs onto SharePoint and every time someone fills in this form, it updates the spreadsheet for us. So I can see, [inaudible 00:07:12] what that looks like. And we can see the forms filled in on the 7th of November by me, I was buying an Adobe licence for Bob Smith. We’ve got all that information that gives us a fantastic audit trail. So if the client comes back to us and goes, “Well, what did you do then?”, we know it. It’s here.

David Smetana:

So quick question that I think some people might want to know: if they’re not using SharePoint already, does that matter?

Harry Boyne:

Not at all. Even if you’re not using Microsoft 365, if you’ve got it, once you set up an account, we can put it in its own little site, and it’s a good way to start using SharePoint and seeing the benefits and looking at things like co-authoring and being able to share these files out to everyone and not needing a VPN. All these benefits will come out, whether you use SharePoint or not already.

David Smetana:

So it doesn’t require any SharePoint set up? It’ll just automatically save the spreadsheet in the right area of SharePoint?

Harry Boyne:

So, what we tend to do is you tie it into a Microsoft 365 group. So you do need to have a [telnet 00:08:11] configured, ideally a [telnet 00:08:11] configured quite well for security reasons. You want to make sure it’s bolted down. And we would want to make sure that you’ve got at least the base set up on the Groups, that everything is functioning correctly.

David Smetana:

Okay.

Harry Boyne:

So, once that Flow is filled in, what that will do, the form rather, not the Flow. Once the form is filled in, it will trigger the Flow automatically. And you can then add the business logic as to what you want to happen. So, for example, we can look at the type of request that was entered on the form and if it’s Microsoft [inaudible 00:08:43] it to this team. Or if it’s Adobe, go and run some automation we’ve built. We can have an action to go into SharePoint and not [inaudible 00:08:50] a spreadsheet. You can have an action to post in Teams if you want, you could possibly make it flash your lights on and off. There’s a million and one things we can now do as part of that automation process. But what we’ve decided to do at the moment, because a lot of our vendors are still quite manual, what we do is we use the Approvals connector within Power Automate.

And what that does is that will email the designated contacts for each vendor. It sends them an email like you see on the right. And we can put a bit of static texts. We make sure they’ve got the instructions as to what to do. We give them the information that was filtered in the form. And then, at the bottom, they’ve got two buttons “Complete” and “Failed”. These are fully customizable, by the way, you can call them whatever you want. And when you click “Complete”, you can add some comments, if you want to, and submit. And that will then go and… So what would happen is the person who’s received this approval requests should go in, action what needs to be actioned and then press the button. And that will [inaudible 00:09:49] actually, I’m jumping ahead of myself there.

So one of the greatest features about the approval mechanism is that if one person’s completed the approval and for example, I go into it later on. I won’t see the email at the top. I will see the email at the bottom. So I won’t accidentally think “Oh, I’ve just seen this email. I need to action it now, because I know it’s already been completed and I have no option to complete it myself”. I can still go see the history in the console. You can still see what happened, who approved it. But I won’t be able to duplicate the effort. If it’s already been approved, or if it’s already being processed, there’s no benefit in doing it. I don’t want to do it again. It’s really important that I don’t. And once that completes, all we do is send a simple email to the person that filled in the form, because that’s automatically logged. And it will say “Here’s the form, we’ve confirmed this has been ordered, or it hasn’t”, we could say it’s been failed, for whatever reason. And it includes the comments that have been added on the approval.

David Smetana:

So, in terms of this process to us, what would you think is the greatest benefit? Is it the audit trail of knowing who’s done what? We’ve streamlined the process. The process worked beforehand. We lived with it for a few years. So, we’ve obviously streamlined this process. Do you think that’s it? It’s the audit history or it’s knowing someone’s done it and I don’t need to action it? It’s making people accountable?

Harry Boyne:

It’s a bit of… So the Order History is probably number one. The making sure that [inaudible 00:11:21] of effort is great, because what I used to do is go through these emails, put conversation view on, scroll up and down. “Oh, was that done? Was that done? Was that done?”. You can now even look into the Power Automate consult, and it’ll show you any that are outstanding. So it is really clear. And especially when I’ve got a few people that are off for whatever reason, and I have to respond to them, I get other emails and then they may just get buried. And it’s easy for me to go into a portal and go “These are the ones you aren’t done yet”, and I know to crack on with them.

But the other thing is to grow we need data. Data is the most important thing. That’s what everyone’s saying, right? And when we were getting these email requests, I can have a hundred emails and technically I’ve got the data in those emails, but you couldn’t tell me what had been requested, what clients are ordering the most, who’s cancelling the most, or what’s happening across it. Now we have it in a spreadsheet with a simple setup. We can filter, who’s ordered the most this week, or what quantities have we done. We can pull this data out so easily now, and we can [inaudible 00:12:22] and we can see everything far easier.

David Smetana:

Yeah. I think the other point, which you highlighted right at the beginning, that is really important and worth mentioning is that it’s not an end-to-end automated process. And I think when people think about automation, they think that, “Well, I don’t have to do anything”. [crosstalk 00:12:39] The thing that we had to come to terms with is a business cause we were in the backend, always trying to create end-to-end solutions. And I think that there’s something is wrong with having an automated process with manual intervention. And, like I said, it’s an aid rather than a completely automated automatic process.

Harry Boyne:

Well, yeah. [inaudible 00:13:00] arguments that as well is it makes us look less daunting. We’ve looked at products before, or we’ve looked at building something where it’s automating end-to-end. It’s a lot of stuff to do, and you’ve got things in the middle and it’s a massive mountain to climb. And actually you can put a little manual bit in the middle. So, as we grow out this process, there’s something we’re working on constantly is how are we going to automate the next step. And what this does is we’ve now got this Flow and, at one point, instead of emailing that approval email, we’ll have it go and trigger a connector, and that connector will go and run it for us. And it just becomes, it’s a bit like Lego, right? You just take that block off and you put a new book on.

And we build it out. Rather than, if we get to a point where we want it to be this perfect solution day one, it won’t be. That day one will never come. So we work on it incrementally, and we built this out and it doesn’t become a mountain anymore. It becomes something you can implement overnight. Having someone fill in a simple form, no one’s going to fret about it. It’s easy. And we change the form as we need to.

David Smetana:

Yeah, simple.

Harry Boyne:

So yeah, pretty much. The second project we’ve been working on is our Out of Hours project. So we’ve got a number of clients that subscribed to our Out of Hours support. So that means that out [inaudible 00:14:19], usually in the evenings, especially clients who are based in the US, will want to make sure that they’re able to get hold of us outside those hours, if there’s an emergency, or if they need just for whatever reason.

And rather than having someone glued to the screen, staring at what’s coming in or having our phones beep every time something happens and panicking, we wanted to implement a solution where we’re notifying the right person, the person that is designated as the on-call that week. And we’re only doing it on certain clients, the clients that are subscribing. So we decided to use Power Automate for this. So the first stage is the mail comes in. So Power Automate sits on top of Outlook, an email comes in and it goes and captures that automatically. And it then runs through some validation checks. So first one, let’s make sure it came in between the Out of Hours windows that we have agreed with our clients. And the second is to make sure the client is subscribing to the service. So is it in the list of subscribing clients? And once they’ve succeeded, we then move on to the next stage.

This is quite a cool little function that Power Automate has, which is integration with Shifts. So we use Shifts to work out who, in the Teams, [inaudible 00:15:31] which shift with the business. So we’ve got earliest and late shifts. And we also have the Out of Hours on-call, which every week a different person is on rotation. And that gets published in Teams by the management team every month. And the guys can request to make changes if we need to. But it’s not the same person every week. It always rotates and, at one point, we were looking at statically assigning something to each person, but that was going to become really tedious and impossible to manage.

So what we’re doing instead is the Power Automate will go into Shifts. It finds out who is on at the Out of Hours on-call shift, and we will run the automation with their accounts. And then, once that’s been approved, it will then go ahead and email the person who’s on that shift, CCing their manager to make sure they’re aware of the request. We can also send it by Teams or SMS if we need to, or via an app. There’s all these connectors we can use. It’s really straight forward. And that’s the two Flows. It’s simple stuff, isn’t it?

Matthew Stibbe:

It’s really interesting. The way that you talked about an incremental approach to doing this, because certainly, as a business owner, I know that the temptation is to try and boil the ocean and come up with the perfect solution when you’re trying to specify software. And as you say, then it never gets done. But how do you put in place governance to manage that and sort of keep the spaghetti code under control?

 

Harry Boyne:

That’s [inaudible 00:17:16] speak to MSP, right? It’s really important to have a bit of a strategy as to what you’re doing. Cause it’s so easy to go, “Oh, I can have 17 of these Flows and different users have different Flows on their accounts” and all of a sudden it does, it becomes that ravelled up solution that there’s something buried somewhere that might be running the most critical business process.

 

And it’s dependent on the next one to run, dependent on the next one. So it’s really important to plan, to keep on top of it, and to document, to make sure everyone knows what’s there, from a transparency perspective as well.

 

Matthew Stibbe:

And how easy is it to build one of these automations? How much time have you spent on these two things, for example?

 

Harry Boyne:

That’s two different answers Power Automate, I would say, it’s like Excel, right? You could make a spreadsheet in two seconds in Excel, really easily. But you could also spend six years building a spreadsheet. It really depends what you’re trying to build. And it’s the same with Power Automate. If you want something so when an email comes in and send an email to someone else, you can do that in two minutes.

As an example, one of the things that we did in terms of the Shifts, that’s quite a complex one, because what we needed to do was pull out all the Shifts assignments, then filter it down, then filter it down by hour, then we’ve got the person’s name that’s assigned, we need to get their email address. So it becomes a slight bit more convoluted. That being said, it’s still better than the solution of “We’ll manually remember to do on the Monday” because no one remembers. If you forget one day or something happens, someone’s off sick, and all of a sudden the whole process unravels. So yeah, it really depends what you’re trying to do. And mainly, if someone’s tried to do it before, it tends to be a bit easier because there’s steps along the way, or there may be an out of the box connector for it.

Matthew Stibbe:

Or are there templates also for common workFlows?

Harry Boyne:

Yeah, when you try and create one, it’ll actually show you some predefined templates which have never fit a requirement I’ve wanted to do, annoyingly. It always tends to be a… But they work. Obviously they work, they’ve been tried tested, and they’re quite often used.

Matthew Stibbe:

I’m [crosstalk 00:19:26] Sorry, David.

David Smetana:

Our approach with this is quite similar to the way that we approach SharePoint. It’s, I guess, listening to the client and their requirements. And then using our knowledge to apply to the relevant requirement. And I think key to this, in particular, as with SharePoint and any project, is trying to work out well, what are the quick wins and sort of just to get through all of the noise and work out what’s going to be the quickest and easiest solution for the client. And we’ve got a couple of clients who are now… We’ll provide them with one small piece of automation, and then that will trigger their minds to open across the business, to all other processes and other applications that they’re using. And it starts to snowball. And we’ve just had that… We’re working quite a big project with one of my clients at the moment, and I think where we’ve done two, and an email came in yesterday, so we’ve got loads of applications across the business.

And the problem with these applications is they can sometimes be very costly and you’re paying for an application, which it does 10% of what you need and you bought it and 90% is sitting there doing nothing. So why not develop something which is bespoke to what you need. And when we’re talking about bespoke development, now we aren’t talking about, “Well, this is a six, 12 month project”. They’re small, quick wins. So actually you can turn these around fairly quickly and they just make a huge difference to businesses.

Matthew Stibbe:

Yeah, I’m sure every business has got a fair look in the cupboard, under the stairs, there’s cobwebs and all kinds of stuff in there that needs to be sorted out. I dread to think about what I would find if I look too closely at Articulate. I was interested, this is perhaps a little bit of a nerdy question, but how does it cope with exceptions? I mean, if something goes wrong at some stage in the process, how do you get notified? I’m thinking by analogy of [Zap 00:21:24] here which, if a workFlow stops, the admin gets a notification.

Harry Boyne:

It’s the same thing. The owner gets a notification that they’ve been getting failures. You can put functionality in to handle that, it might be… The thought is you shouldn’t ever have one fail. You should have the right validation in place. If it fails because the time is not the right format, then you shouldn’t be allowed to put the wrong format in, or the validation should almost send it back. But that being said, you can’t cover for every potentiality. There will be a corner scenario, or it might be you set something up a bit wrong. And if you do what it does is you can go into the console and it will take you through each step and tell you what went wrong.

Matthew Stibbe:

Right. And that also with third party integrations, even if the Microsoft part of it is reliable, if it triggers an exception, because Slack is down for a day. That’s kind of a useful thing to know as well. Okay, cool.

Harry Boyne:

What’s quite useful as well, when you look at the failure, you can actually… So it shows you what failed and when you run a fly, you can hit test and you can either test by triggering it again. That’s the obvious one, because you’re just running it. But you can also trigger using previous data sent. So, as an example, the Out of Hours failed on Monday, I happen to set something up [inaudible 00:22:36] conditioning incorrectly, and I want to know if it will work again. And also the email didn’t go out needed to still go out. So I just run the test with data that have come in the hour before, it ran through, work perfectly and used the original email that was sent two or three hours before, which was really helpful.

Matthew Stibbe:

Yeah. So effectively you can recover that exception rather than have to do a manual process to pick it up. Cool. And if I were watching this webinar or indeed the recording of it afterwards, and I wanted some help or I wanted to get started with this, what would you recommend? Apart from obviously call Chalkline. “Call Chalkline immediately, we can help”.

Harry Boyne:

Call us first, while on hold… [inaudible 00:23:22] Microsoft has got really good documentation on this. There’s two approaches to go about these sort of connectors. And one of the means to go in knowing exactly what you want, sometimes you can’t always get that, or it’s easier to go in a slightly different tangent. The other thing, what I did was I knew the Shift is connected with that and I couldn’t work out a good use case for it. And I kind of looked at “Well, what’s the data I get out there?”. And as soon as I saw that I put out an Out of Hours Shift, I thought “Perfect. Here’s an issue we genuinely have in the business. And here’s how we’re going to solve it”. Some of it is not necessarily looking at the toys, it’s looking at the problems and understanding the problems, but then once you know what toys you’ve got, it’s easy enough to then prescribe, based on internal knowledge.

 

Matthew Stibbe:

Yeah. Sometimes we make the tools and sometimes the tools make us. Yeah. Cool. Good. I think that was fascinating. I’m going to go and have a little play around with it. David, Harry, any final thoughts before we close off the webinar? Attendees? Any final questions from anyone?

 

David Smetana:

Nothing from me.

 

Matthew Stibbe:

No? David, Harry, thank you very much. Everyone watching, thank you very much. There’ll be a recording of this and a transcript up on the website in the next couple of days. For now though, happy new year. Thank you. Goodbye.

 

Harry Boyne:

Thank you-

 

Other Posts from Chalkline