Automate new users and license true-ups across every MSP client
Stepwork turns a PSA ticket into a ready user in the client's tenant, and each month matches seats bought, assigned, and billed for every client. ConnectWise, Pax8, and more.
- Industry
- Client user setup and license true-ups for managed service providersMSPs
- Best for
- Service Manager, Service Desk Lead, Billing Manager
- Applications used
ConnectWise PSA
Microsoft 365
Pax8
IT Glue
- Business outcome
- Every client handled the same way, with a record for each
The problem
Forty clients. Forty tenants. The same tickets in every one.
- Read the ticket and look up the client's standards
- Sign in to the client's tenant and check for a free license
- Buy a seat in the distributor portal when there isn't one
- Create the user, then note the ticket and log the time
- Count seats bought, assigned, and billed for every client
- Do it again for the next client, and the one after that
Triage
However a client asks, it runs the right procedure
Requests come in as PSA tickets, emails, and Teams messages, and billing surprises show up on distributor invoices. Stepwork reads each one, finds the client, and starts the procedure your technicians already follow.
ConnectWise PSAPortal ticketNEW USER · Harbor Dental Group Name: Sarah Kim Title: Front desk Start date: Mon 11/10 Needs: email, Teams, shared calendar Requested by: Linda OrtizGoes to New user from a ticket
OutlookClient emailSubject: new hire Monday Hi team, Marcus Bell starts Monday as our new bookkeeper. Can you set him up with email like everyone else? Thanks, Priya (Lakeview CPA)Goes to New user from a ticket
Microsoft TeamsChat messageour microsoft bill went up again?? we let two people go in september, are we still paying for their licensesGoes to License true-up
OutlookDistributor invoicePax8 · Invoice INV-20431 Northwind Logistics Microsoft 365 Business Premium · Qty 38 (+3 this month)Goes to License true-up
Systems
Works in the stack you run for every client
Your PSA, RMM, and distributor connect where their vendors built an integration. The rest is a technician in a browser. Stepwork works in each tool's own screens with your team's logins, so one procedure covers every client.
- PSA and ticketing: ConnectWise PSA, Autotask PSA, HaloPSA, Syncro, Kaseya BMS
- RMM: NinjaOne, Datto RMM, ConnectWise Automate, N-able N-central, Kaseya VSA
- Documentation: IT Glue, Hudu
- Distributors and licensing: Pax8, Microsoft Partner Center, Sherweb, TD SYNNEX StreamOne
- Client tenants: Microsoft 365, Microsoft Entra ID, Google Workspace
- Backup: Datto Backup, Veeam, Acronis Cyber Protect Cloud, Axcient, Cove Data Protection
- Security: Huntress, SentinelOne, Microsoft Defender, Sophos Central, KnowBe4
Example procedures
Two procedures from the service desk and billing
One branches on whether the client has a free license. One repeats for every client agreement each month. Swap in your PSA, distributor, and client tenant and the steps stay the same.
New-user ticket in ConnectWise PSA to a ready account in Microsoft 365
ConnectWise PSA
IT Glue
Microsoft 365
Pax8
Step by step
- The ticket comes inA new-user ticket lands in ConnectWise PSA for one of your clients. It starts the run with the client, the new user's name, and their title.
- Stepwork looks up the clientIt opens the client in IT Glue and reads their standards: which tenant, which license new users get, and which groups they join.
- It checks for a free licenseStepwork signs in to the client's Microsoft 365 with your team's admin login and counts unassigned licenses of that type.
- The rule decides whether to buyIf every license is taken, the run takes the top path and buys one. If one is free, it goes straight to the user.
- If none are freeAdd one seat in Pax8
- If one is freeCreate the user with the license and groups in Microsoft 365
- A seat gets addedOnly when none are free: Stepwork adds one seat to the client's subscription in Pax8 and keeps the order number.Only on this path: If none are free
- The user gets createdStepwork creates the user in Microsoft 365 with their name and title, assigns the license, and adds the client's default groups.
- The ticket gets the recordThe ticket gets a note with the new email address and any order number, and the time is logged against the client's agreement.
Field map
| From | To |
|---|---|
Monthly license true-up for every client in ConnectWise PSA
ConnectWise PSA
Pax8
Microsoft 365
Step by step
- The agreements come inOn the 25th, Stepwork reads every active agreement in ConnectWise PSA: the client and the seats you bill them for. Each row is one pass through the loop.
- It reads what you boughtInside the solid frame, Stepwork opens the client's subscriptions in Pax8 and reads how many seats you pay for.Repeats: For each client agreement · 40 clients
- It reads what's in useThen it signs in to the client's Microsoft 365 and counts the licenses assigned to people.Repeats: For each client agreement · 40 clients
- The rule compares the threeWhen bought, assigned, and billed aren't the same number, the run takes the top path. Clients that match move on to the next.
- If the counts differOpen a true-up ticket in ConnectWise PSA
- If they matchSum up the true-up for billing
Repeats: For each client agreement · 40 clients - Mismatches get a ticketOnly when the counts differ: a true-up ticket opens in ConnectWise PSA with all three numbers, so billing can fix the agreement or reclaim seats before the invoice goes out.Only on this path: If the counts differRepeats: For each client agreement · 40 clients
- Billing gets the pictureAfter the last client, the Summary card lists which clients were off, by how many seats, and which tickets were opened.
Field map
| From | To |
|---|---|
Flows
The flows behind these procedures
Each flow is one job recorded once in one system. Some are ready in the Marketplace; the MSP tools get recorded on your screens.
- Microsoft Entra ID
Create user with group memberships
Creates a new Entra user and adds them to the security groups that grant team apps and shared resources. - Microsoft 365
Assign license to user
Opens the Microsoft 365 admin center, locates the user, and assigns the specified license SKU. - Microsoft Entra ID
Extract license assignments by SKU
Opens Entra licensing and extracts assigned versus available counts per Microsoft SKU. - Microsoft 365
Extract unassigned licenses
Opens billing in the admin center and extracts purchased versus assigned counts per product, flagging unused seats. - SentinelOne
Extract agent health report
Extracts endpoints with outdated, offline, or missing agents. - KnowBe4
Extract training campaign completion
Extracts per-user completion status for active security training campaigns. - ConnectWise PSA
Read a new-user ticket
Opens the ticket and reads the client, the requester, and the new user's details. - ConnectWise PSA
Add a note and a time entry
Posts what was done on the ticket and logs the time against the client's agreement. - IT Glue
Read a client's standards
Reads the client's tenant, default license, and default groups from their documentation. - Pax8
Read seats by subscription
Reads each Microsoft subscription for one client with its quantity and term. - Pax8
Add a seat to a subscription
Raises a client's subscription by one seat and confirms the order. - NinjaOne
Read device counts by client
Reads how many workstations and servers report in for each client.
Why Stepwork
One procedure, every client, the same way
Stepwork runs the steps you recorded once, in every client's tenant and portal, in the same order. Each client's admin login stays in your vault until the run needs it, and every run records which client it worked on, what changed, and which ticket it updated. When a portal moves a button, AI vision finds it and the run carries on.
FAQ
Common questions
The math
What the manual version costs an MSP
Example volumes for an MSP with 40 managed clients. Swap in yours.
| The manual task | Times a week | Minutes each | Hours a week |
|---|---|---|---|
| Set up a new user from a ticket | 15 | 25 | 6.3 |
| Buy a seat in the distributor portal | 5 | 10 | 0.8 |
| True up one client's licenses | 10 | 30 | 5 |
| Answer a client's billing question | 4 | 20 | 1.3 |
- Hours a week
- 13
- Hours a year
- 671
- Of one full-time person
- 34%
