Stepwork logoStepwork logo
ProcedureDeterministic AgentsMarketplace

By department

  • ITAccounts, access, helpdesk requests
  • Security & ComplianceAccess reviews, evidence, audits
  • Finance & AccountingInvoices, billing, month-end close
  • Sales & RevOpsCRM to ERP, orders, quotes
  • OperationsOrders, deliveries, dispatch
  • HR & PeopleOnboarding and offboarding
See every use case

By industry

  • HealthcareReferrals, eligibility checks, EHR entry
  • 3PL and warehousingPDF orders, WMS entry, client billing
  • Freight and truckingRate confirmations, carrier checks, TMS
  • Fuel and convenience storesStore staff, POS IDs, back office
  • ConstructionJob setup, subcontractor insurance
  • Manufacturing and distributionPO entry, supplier dates, legacy ERPs
  • Accounting firmsMonth-end across every client file
  • Field services and tradesService calls to jobs to invoices
  • MSPsNew users and license true-ups
See every industry
Security
Log inBook a Demo
ProcedureDeterministic AgentsMarketplace

By department

  • ITAccounts, access, helpdesk requests
  • Security & ComplianceAccess reviews, evidence, audits
  • Finance & AccountingInvoices, billing, month-end close
  • Sales & RevOpsCRM to ERP, orders, quotes
  • OperationsOrders, deliveries, dispatch
  • HR & PeopleOnboarding and offboarding
See every use case

By industry

  • HealthcareReferrals, eligibility checks, EHR entry
  • 3PL and warehousingPDF orders, WMS entry, client billing
  • Freight and truckingRate confirmations, carrier checks, TMS
  • Fuel and convenience storesStore staff, POS IDs, back office
  • ConstructionJob setup, subcontractor insurance
  • Manufacturing and distributionPO entry, supplier dates, legacy ERPs
  • Accounting firmsMonth-end across every client file
  • Field services and tradesService calls to jobs to invoices
  • MSPsNew users and license true-ups
See every industry
Security
Log inBook a Demo
  1. Home
  2. Industries
  3. MSPs

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.

Book a DemoSee the procedures
  • PSA ticket
  • Client email
  • Teams message
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.

How it arrives
  • 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 OrtizNGoes 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)NGoes 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 licensesTGoes to License true-up
  • OutlookDistributor invoicePax8 · Invoice INV-20431 Northwind Logistics Microsoft 365 Business Premium · Qty 38 (+3 this month)TGoes to License true-up
Where it goes
  • NNew user from a ticketFromRuns inConnectWise PSAIT GlueMicrosoft 365Pax8
  • TLicense true-upFromRuns inConnectWise PSAPax8Microsoft 365

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
  • ConnectWise PSA
  • Autotask PSA
  • HaloPSA
  • Syncro
  • Kaseya BMS
  • NinjaOne
  • Datto RMM
  • ConnectWise Automate
  • N-able N-central
  • Kaseya VSA
  • ConnectWise PSA
  • Autotask PSA
  • HaloPSA
  • Syncro
  • Kaseya BMS
  • NinjaOne
  • Datto RMM
  • ConnectWise Automate
  • N-able N-central
  • Kaseya VSA
  • ConnectWise PSA
  • Autotask PSA
  • HaloPSA
  • Syncro
  • Kaseya BMS
  • NinjaOne
  • Datto RMM
  • ConnectWise Automate
  • N-able N-central
  • Kaseya VSA
  • ConnectWise PSA
  • Autotask PSA
  • HaloPSA
  • Syncro
  • Kaseya BMS
  • NinjaOne
  • Datto RMM
  • ConnectWise Automate
  • N-able N-central
  • Kaseya VSA
  • IT Glue
  • Hudu
  • Pax8
  • Microsoft Partner Center
  • Sherweb
  • TD SYNNEX StreamOne
  • Microsoft Entra ID
  • Datto Backup
  • IT Glue
  • Hudu
  • Pax8
  • Microsoft Partner Center
  • Sherweb
  • TD SYNNEX StreamOne
  • Microsoft Entra ID
  • Datto Backup
  • IT Glue
  • Hudu
  • Pax8
  • Microsoft Partner Center
  • Sherweb
  • TD SYNNEX StreamOne
  • Microsoft Entra ID
  • Datto Backup
  • IT Glue
  • Hudu
  • Pax8
  • Microsoft Partner Center
  • Sherweb
  • TD SYNNEX StreamOne
  • Microsoft Entra ID
  • Datto Backup
  • Veeam
  • Acronis Cyber Protect Cloud
  • Axcient
  • Cove Data Protection
  • Huntress
  • SentinelOne
  • Microsoft Defender
  • Sophos Central
  • KnowBe4
  • Veeam
  • Acronis Cyber Protect Cloud
  • Axcient
  • Cove Data Protection
  • Huntress
  • SentinelOne
  • Microsoft Defender
  • Sophos Central
  • KnowBe4
  • Veeam
  • Acronis Cyber Protect Cloud
  • Axcient
  • Cove Data Protection
  • Huntress
  • SentinelOne
  • Microsoft Defender
  • Sophos Central
  • KnowBe4
  • Veeam
  • Acronis Cyber Protect Cloud
  • Axcient
  • Cove Data Protection
  • 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

A new-user ticket in ConnectWise PSA becomes a ready account in the client's Microsoft 365. A rule buys a seat in Pax8 only when no license is free, and the ticket gets the note and the time.
  • ConnectWise PSA
  • IT Glue
  • Microsoft 365
  • Pax8
Swap in your systemsThe steps stay the same. Only the screens change.
PSA
Client tenant
Distributor
Documentation
New-user ticket in ConnectWise PSA to a ready account in Microsoft 365
Webhook
ConnectWise PSA

New-user ticket in ConnectWise PSA

ticket created · New user

Output variables

  • ticket_id
  • client
  • full_name
  • job_title
Extraction
IT Glue

Look up the client's standards in IT Glue

Input variables

  • client

Extracted variables

  • tenant_domain
  • license_sku
  • default_groups
Extraction
Microsoft 365

Count free licenses in Microsoft 365

Input variables

  • tenant_domain
  • license_sku

Extracted variables

  • free_licenses
Rule logic

Is a license free?

Input variables

  • free_licenses

Paths

  1. If every license of that type is already assignedThen: Add one seat in Pax8
  2. OtherwiseThen: Create the user with the license and groups in Microsoft 365
Execution
If none are free
Pax8

Add one seat in Pax8

Input variables

  • client
  • license_sku

Output

  • order_number
Execution
Microsoft 365

Create the user with the license and groups in Microsoft 365

Input variables

  • full_name
  • job_title
  • license_sku
  • default_groups

Output

  • user_email
Execution
ConnectWise PSA

Note the ticket and log the time in ConnectWise PSA

Input variables

  • ticket_id
  • user_email
  • order_number

Drag to explore · pinch to zoom

Step by step

  1. 1
    The ticket comes in
    A 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.
  2. 2
    Stepwork looks up the client
    It opens the client in IT Glue and reads their standards: which tenant, which license new users get, and which groups they join.
  3. 3
    It checks for a free license
    Stepwork signs in to the client's Microsoft 365 with your team's admin login and counts unassigned licenses of that type.
  4. 4
    The rule decides whether to buy
    If 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
  5. 5
    A seat gets added
    Only 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
  6. 6
    The user gets created
    Stepwork creates the user in Microsoft 365 with their name and title, assigns the license, and adds the client's default groups.
  7. 7
    The ticket gets the record
    The 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

FromTo
ConnectWise PSATicket: new user's name and titleMicrosoft 365User: display name and job title
IT GlueClient standard: license and groupsMicrosoft 365User: license and group memberships
Microsoft 365New user's email addressConnectWise PSATicket note

Monthly license true-up for every client in ConnectWise PSA

Each month Stepwork reads every active agreement in ConnectWise PSA, counts the seats bought in Pax8 and the licenses assigned in Microsoft 365, and opens a ticket for every client whose numbers don't match.
  • ConnectWise PSA
  • Pax8
  • Microsoft 365
Swap in your systemsThe steps stay the same. Only the screens change.
PSA
Distributor
Client tenant

Step by step

  1. 1
    The agreements come in
    On 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.
  2. 2
    It reads what you bought
    Inside 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
  3. 3
    It reads what's in use
    Then it signs in to the client's Microsoft 365 and counts the licenses assigned to people.
    Repeats: For each client agreement · 40 clients
  4. 4
    The rule compares the three
    When 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
  5. 5
    Mismatches get a ticket
    Only 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
  6. 6
    Billing gets the picture
    After the last client, the Summary card lists which clients were off, by how many seats, and which tickets were opened.

Field map

FromTo
Pax8Subscription quantityConnectWise PSATrue-up ticket: seats bought
Microsoft 365Licenses assignedConnectWise PSATrue-up ticket: seats in use
ConnectWise PSAAgreement: billed quantityConnectWise PSATrue-up ticket: seats billed

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
    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.

    Execution · Slack request
  • Microsoft 365
    Microsoft 365

    Assign license to user

    Opens the Microsoft 365 admin center, locates the user, and assigns the specified license SKU.

    Execution · Slack request
  • Microsoft Entra ID
    Microsoft Entra ID

    Extract license assignments by SKU

    Opens Entra licensing and extracts assigned versus available counts per Microsoft SKU.

    Extraction · Scheduled
  • Microsoft 365
    Microsoft 365

    Extract unassigned licenses

    Opens billing in the admin center and extracts purchased versus assigned counts per product, flagging unused seats.

    Extraction · Scheduled
  • SentinelOne
    SentinelOne

    Extract agent health report

    Extracts endpoints with outdated, offline, or missing agents.

    Extraction · Scheduled
  • KnowBe4
    KnowBe4

    Extract training campaign completion

    Extracts per-user completion status for active security training campaigns.

    Extraction · Scheduled
  • ConnectWise PSA
    ConnectWise PSA

    Read a new-user ticket

    Opens the ticket and reads the client, the requester, and the new user's details.

    Recorded on your screens
  • ConnectWise PSA
    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.

    Recorded on your screens
  • IT Glue
    IT Glue

    Read a client's standards

    Reads the client's tenant, default license, and default groups from their documentation.

    Recorded on your screens
  • Pax8
    Pax8

    Read seats by subscription

    Reads each Microsoft subscription for one client with its quantity and term.

    Recorded on your screens
  • Pax8
    Pax8

    Add a seat to a subscription

    Raises a client's subscription by one seat and confirms the order.

    Recorded on your screens
  • NinjaOne
    NinjaOne

    Read device counts by client

    Reads how many workstations and servers report in for each client.

    Recorded on your screens
See every license & seat management flow in the Marketplace

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.

ProceduresSecurity
Book a Demo

Related industries

More industries

  • Accounting firmsStepwork opens each client's QuickBooks, Sage, or Xero file, pulls what's uncategorized or unreconciled, and sends each client one list of questions every month.Learn more
  • HealthcareStepwork enters faxed and emailed referrals into your EHR and checks tomorrow's insurance on payer portals, through the screens your front desk uses. No EHR API needed.Learn more
See every industry

FAQ

Common questions

  • Yes. The client list is the loop. Each client runs the same steps in its own tenant and portals, and each run is recorded on its own, so 40 clients or 400 work the same way.
  • Each client's login is its own entry in your vault. The run reads the one for the client it's working on when it signs in, and Stepwork stores the reference, not the password.
    Security
  • No. It works inside them and the portals around them: it reads the ticket in your PSA, does the work in the client's tenant and your distributor's portal, and writes the result back to the ticket.
  • Scripts and API integrations cover what a vendor exposes. Stepwork works in the screens your technicians use, so it also reaches what an API leaves out and the client apps that don't have one.
  • AI vision finds the field or button and the run continues. If it can't, the run stops at that step and records why, and nothing gets marked done.

The math

What the manual version costs an MSP

Example volumes for an MSP with 40 managed clients. Swap in yours.

Illustrative estimate, not a quote. These are example volumes and typical hand times, not a customer's results. Your numbers will differ, and we can work them out with you.
The manual taskTimes a weekMinutes eachHours a week
Set up a new user from a ticket15256.3
Buy a seat in the distributor portal5100.8
True up one client's licenses10305
Answer a client's billing question4201.3
Hours a week
13
Hours a year
671
Of one full-time person
34%
Example volumes, not a customer's numbers. Monthly work is spread across the weeks: 40 true-ups is 10 a week. Hours a year assume 50 working weeks.

See it run on a process you already repeat

Bring one. We will show you what it looks like as a flow and what each run records.

Book a Demo
Stepwork

Deterministic agents for work that must run the same way every time.

ProcedureContainersDeterministic AgentsMarketplaceUse CasesIndustriesSecurityClaude Co-Work AlternativeStepwork MCPAngelList Case StudyFAQ
Terms and ConditionsPrivacy PolicyData Processing AgreementSubprocessors

2261 Market Street #4481, San Francisco, CA 94114, USA

Loot Discount inc dba Stepwork

© 2026 Stepwork. All rights reserved.