How to automatically provision a new Microsoft 365 user through CIPP directly from a HaloPSA onboarding form — including assigning a spare mailbox automatically via a runbook.
Hey everyone, Chris here from Sondela Consulting. In this video, I'm going to talk about the CIPP integration with Halo, specifically creating a new user from an onboarding form in Halo, having that user automatically provisioned in CIPP and then automatically assigning a spare mailbox to them if one is available. That entire process is going to happen through a runbook and through some forms uh directly in Halo. So let's go and take a look at how this works. So what we want to do in here is we want to you know jump into CIPP and if we pick this customer that we're going to use caron properties in here we can see we have just one uh one mailbox and we have just one license assigned.
We do have multiple licenses of this particular um Microsoft 365 business basic and we're going to use that one to go ahead and actually automatically provision it for this user. So what we're also going to do is we're going to log in as the customer. So in here we're going to log in as Karen properties and we're going to go ahead and create this new user on boarding. So from here you can see this is the form that we're presenting to our clients. Of course you can make this form um you know as many fields in there as you want.
You can make it as complex as you want. But for now I'm just going to keep it very very basic. And then in here I'm going to call this um you know something like random person. And you can see here we're picking up the username based upon what the first name is in here. Um and then we're going to also choose uh what domain this is.
It knows what domain is in here already. And we've you know the runbook is is kind of pulling all of this information for us. We can also see here based on what we have inside Halo that we have a one user um license available. And then we're simply going to say we're going to copy the user. In this case, it's going to be that user.
And then you can have any other fields you like. I don't know, maybe this user might want to be in three departments. We can add them whatever we want at that point. But this is the thing here that's really the key on how this is going to work. So when we click submit, what you will actually see is that this is going to go ahead hopefully with a bit of luck um and it's going to go ahead and create this new user.
So as um as the end user, I can click in here and see what those new user details are. Um and if I do a refresh, what we will see straight away, and you can see how quick that was, we have now created random at current properties and a link to their password, which is using PW push. So, if I click into here and open up their password, I can see what that is. I am going to remove this at the end of the call. So, feel free to copy that password if you want.
It won't be there when we uh when this video is over. So, now you can see um that we've actually created that and it was that super fast. And of course, if we then go into um into our support, we can see that that ticket has now been created uh in Halo and it's exactly the same as we had before. Um, so we can change any of these new user details. We could have another button up here that could, you know, once we change some of this, maybe the customers picked the wrong surname or maybe they've picked the wrong license in here.
Um, you know, if they had multiple licenses, those would all display on that form as well. So maybe in this particular instance, um, they picked the wrong one. We can go in here and change it. We can have another button that can just go and push the stuff back into SIB. Um, whatever the case might be, but it's really kind of very straightforward and simple like that.
Um if we go and have a look at our customer, we can see that looking at this customer um in here, we will be able to see from where are we looking now? I've got too many of these things open. If we go to software licenses, we can now see um this is still showing that we got one available license, but I think if we go to software licenses, this should update. I might need to wait for the um for the integration to to uh do its thing. Um but yeah, nonetheless, what would actually happen in here now?
I've lost my software licenses. There it is. Yeah, this will eventually go and get updated when um you know, when Halo runs it sync to pull all this new stuff back in. It it will run at sync and we'll see that available licenses will then move to zero. Okay.
So, how how does this all work? Well, what we have in here is we have a runbook. And if we go and have a look at how this runbook works, I'm not going to go into a huge amount of detail. There's a lot of stuff in this runbook. Um, and and I don't take any credit for any of this stuff.
Um, you know, I had some some people a lot clever than me kind of help me put this together. But here we have um, you know, the start of our runbook. So, we kind of getting some information from our ticket. We're then looking up the email um on on the user that that sent this this ticket in. We're pulling the tenant ID from there.
We're pulling any license information that is currently sitting against that customer against that tenant. We're also checking for a license count. And then if we say that there's no available licenses, we come back up here and we update a ticket saying there's no available licenses and we fail the the integration. Um, if there is an available license, we come up this route here and we create our client directly in CIPP. And this is really where we're going out to CIPP to create that.
Um, what we then do is we then check to see that the passwords are valid. If they are, we add the details to the ticket and say that they're valid. Um, and then if they're not, we come down here and we fail and we say that um, you know, we we then add the error to the ticket. So that's really it as far as how this works. Um this is all being triggered as soon as we click on uh on that onboarding form.
Um so if we go in and just I'll show you the one particular step in here which is the um you know creating the users in CIPP. So what we can see in here if we look at the body we'll be able to see this is the um the JSON that we post back to uh to CIPP pulling in all of this information that we gathered throughout the runbook. So really straightforward and kind of how we um how we would actually get this created inside CIPP. Um, and how we are triggering this really there's a couple of ways we can do this or the way I'm triggering this at the moment is to come into here under tickets and if I look at workflows I have a specific workflow for new starter request and I'm triggering it as the first step in the runbook and I'm basically saying go ahead and run that automation and have that automation automatically create that user in CIPP and that's it. It's really as simple as that and and Halo allows us to do this really really easily with um with runbooks and kind of leveraging APIs from from other systems.
Um and this is something you know as a Halo user if you and a CIPP user this is actually something really uh really straightforward to set up. So um I know it was a very short video. I hope it was useful. Um you know feel free to reach out if you uh enjoyed this video. Please give me a like, give me a thumbs up, um, and feel free to subscribe.
And I look forward to seeing you on the next video.
Get in touch and we'll talk through how it applies to your MSP.
Let's Talk