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. Use cases
  3. User access review automation

Automate user access reviews for apps without SCIM or an API

Stepwork pulls accounts from every app, including ones without SCIM, matches them to HR, carries out reviewer decisions, and files the evidence in Vanta.

Book a DemoSee the procedures
  • App without SCIM
  • Identity provider
  • HR system
Use case
User access reviews across every appInfoSec & Compliance
Best for
GRC Engineer, IT Manager, Security Lead
Applications used
  • Okta
  • Workday
  • Internal tool
  • Vanta
  • Slack
Business outcome
Reviews that run monthly, not once a quarter

The problem

The review comes back every quarter, and so does the spreadsheet

  • Export accounts and roles from every app without SCIM
  • Paste each list into the access file template
  • Match every account to someone in the HR system
  • Chase reviewers until every app is signed off
  • Remove flagged access by hand, one admin console at a time
  • Screenshot each removal and upload it as proof

Systems

Accounts from every app in scope

Your identity provider and HR system say who should have access. Stepwork reads who does, app by app, through each admin console, including the apps with no SCIM and no integration, and hands the list to your compliance platform.

  • Identity and HR: Okta, Microsoft Entra ID, JumpCloud, Workday, BambooHR, Rippling
  • SaaS admin consoles: GitHub, Salesforce, Slack, AWS, Snowflake, Datadog, 1Password
  • Apps without SCIM: Internal tool, On-prem app, Vendor portal
  • Compliance platforms: Vanta, Drata, Secureframe
  • Microsoft Entra ID
  • JumpCloud
  • BambooHR
  • Rippling
  • Microsoft Entra ID
  • JumpCloud
  • BambooHR
  • Rippling
  • Microsoft Entra ID
  • JumpCloud
  • BambooHR
  • Rippling
  • Microsoft Entra ID
  • JumpCloud
  • BambooHR
  • Rippling
  • Microsoft Entra ID
  • JumpCloud
  • BambooHR
  • Rippling
  • Microsoft Entra ID
  • JumpCloud
  • BambooHR
  • Rippling
  • Datadog
  • Internal tool
  • Datadog
  • Internal tool
  • Datadog
  • Internal tool
  • Datadog
  • Internal tool
  • Datadog
  • Internal tool
  • Datadog
  • Internal tool
  • On-prem app
  • Vendor portal
  • Drata
  • Secureframe
  • On-prem app
  • Vendor portal
  • Drata
  • Secureframe
  • On-prem app
  • Vendor portal
  • Drata
  • Secureframe
  • On-prem app
  • Vendor portal
  • Drata
  • Secureframe
  • On-prem app
  • Vendor portal
  • Drata
  • Secureframe
  • On-prem app
  • Vendor portal
  • Drata
  • Secureframe
  • On-prem app
  • Vendor portal
  • Drata
  • Secureframe
  • On-prem app
  • Vendor portal
  • Drata
  • Secureframe

Example procedures

The whole review, card by card

One gathers every app's accounts and files them, one carries out what reviewers decide, and one closes leavers' accounts between reviews. Swap in Drata or Secureframe, or your HR system, above each one and the steps stay the same.

Monthly access review across every app without SCIM, filed in Vanta

On the 1st of the month Stepwork reads the apps in the review from Vanta, exports every account and role from each one, matches them to Workday, and uploads each app's access file to the review. Accounts with no active owner go to the reviewer first.
  • Vanta
  • Workday
  • Internal tool
  • Slack
Swap in your systemsThe steps stay the same. Only the screens change.
Compliance platform
HR system
Team chat
Monthly access review across every app without SCIM, filed in Vanta
Extraction
Vanta

Read the apps in this review from Vanta

Scheduled · 1st of the month

Extracted variables

  • app_name
  • reviewer_email
Extraction
Workday

Read active employees from Workday

Extracted variables

  • employee_list
Extraction

Read every account and role in the app

Input variables

  • app_name

Extracted variables

  • account_rows
Rule logic

Does every account match an active employee?

Input variables

  • account_rows
  • employee_list

Paths

  1. If an account belongs to someone who left, or to no one in WorkdayThen: Flag the accounts to the reviewer in Slack
  2. OtherwiseThen: Upload the access file to the review in Vanta
Execution
If any don't match
Slack

Flag the accounts to the reviewer in Slack

Input variables

  • app_name
  • reviewer_email
  • account_rows

Output

  • flagged_accounts
Execution
Vanta

Upload the access file to the review in Vanta

Input variables

  • app_name
  • account_rows

Output

  • upload_status
Summary

Sum up the review for the GRC team

Input variables

  • upload_status
  • flagged_accounts

Drag to explore · pinch to zoom

Step by step

  1. 1
    The review's apps come in
    Stepwork reads the applications in this month's review from Vanta, with the reviewer for each. Each app is one pass through the loop.
  2. 2
    Stepwork reads who works here
    It reads every active employee from Workday once, so every app's accounts are matched against the same list.
  3. 3
    Each app gets exported
    Inside the solid frame, Stepwork signs in to the app's admin console and reads every account, its role, and its status. No SCIM, API, or integration is needed.
    Repeats: For each app in the review · 30 apps
  4. 4
    The rule matches owners
    If any account belongs to someone who left, or to no one in Workday, the run takes the top path. If every account matches, the file goes straight to Vanta.
    • If any don't matchFlag the accounts to the reviewer in Slack
    • If they all matchUpload the access file to the review in Vanta
    Repeats: For each app in the review · 30 apps
  5. 5
    The reviewer hears first
    Only when something doesn't match: the reviewer gets the unmatched accounts in Slack, so they decide with the facts in front of them.
    Only on this path: If any don't matchRepeats: For each app in the review · 30 apps
  6. 6
    The access file gets filed
    Both paths meet here. The recorded flow opens the review in Vanta, picks the app, and uploads its accounts in the access file format.
    Repeats: For each app in the review · 30 apps
  7. 7
    The GRC team gets the picture
    After the last app, the Summary card lists how many accounts each app had and which ones were flagged.

Field map

FromTo
Internal toolUsers: name, role, statusVantaAccess file: account name, role, status
WorkdayEmployees: work email, statusVantaAccess file: account ownerOr no owner, when nothing matches

Revoke what reviewers decide and attach the proof in Vanta

Every weekday Stepwork reads the decisions reviewers made in Vanta. Each account marked to revoke is removed in that app's admin console, and the user list afterwards is attached to the review as proof.
  • Vanta
  • Internal tool
  • Slack
Swap in your systemsThe steps stay the same. Only the screens change.
Compliance platform
Team chat

Step by step

  1. 1
    The decisions come in
    Stepwork reads each decision reviewers made in Vanta since the last run: the app, the account, and keep or revoke.
  2. 2
    The rule picks the revokes
    Inside the dashed frame, accounts marked to revoke take the path forward. Kept accounts need no change, so nothing else runs for them.
    • If revokedRemove the account in the app's admin console
    • OtherwiseKept accounts need no change
    Repeats: For each reviewer decision · 14 decisions
  3. 3
    The access gets removed
    The recorded flow signs in to the app's admin console and removes the account, the same way an admin would, including in apps without SCIM.
    Only on this path: If revokedRepeats: For each reviewer decision · 14 decisions
  4. 4
    The proof gets captured
    Stepwork reloads the app's user list and saves a timestamped screenshot showing the account is gone.
    Only on this path: If revokedRepeats: For each reviewer decision · 14 decisions
  5. 5
    The proof gets filed
    The recorded flow attaches the screenshot to that account in the review in Vanta, so the remediation evidence is there when the auditor looks.
    Only on this path: If revokedRepeats: For each reviewer decision · 14 decisions
  6. 6
    The reviewer hears back
    After the last decision, the reviewer gets a message in Slack listing what was removed and filed.
    Only on this path: If revoked

Field map

FromTo
VantaReview: account marked revokeInternal toolUsers: remove access
Internal toolUser list after removalVantaReview: remediation evidence

Daily leaver check across every app without SCIM

Every morning Stepwork reads who Workday marked as terminated, looks each of them up in every app without SCIM, and closes any account still active, so access doesn't wait for the next review.
  • Workday
  • Internal tool
  • Vendor portal
  • Slack
Swap in your systemsThe steps stay the same. Only the screens change.
HR system
Team chat

Step by step

  1. 1
    The leavers come in
    Stepwork reads everyone Workday marked as terminated since yesterday. It only acts on people HR has already marked as gone.
  2. 2
    Each app gets checked
    Inside the solid frame, Stepwork signs in to each app without SCIM and looks the leaver up by email.
    Repeats: For each app without SCIM · 12 apps
  3. 3
    The rule finds open accounts
    If the leaver still has an active account, the run goes on to close it. If the account is already closed, nothing else runs for that app.
    • If still activeDeactivate the account
    • OtherwiseAlready closed, nothing to do
    Repeats: For each app without SCIM · 12 apps
  4. 4
    The account gets closed
    The recorded flow deactivates the account in that app's admin console, and the run record keeps the time.
    Only on this path: If still activeRepeats: For each app without SCIM · 12 apps
  5. 5
    The closures get listed
    After the last app, the Summary card lists each account that was closed, by person and app.
    Only on this path: If still active
  6. 6
    IT sees it
    The list goes to IT in Slack, and it doubles as evidence that leavers lost access within a day.
    Only on this path: If still active

Field map

FromTo
WorkdayTerminations: work emailInternal toolUser search: emailOnce per app without SCIM
Vendor portalAccount statusSlackClosed accounts listOnly accounts that were still active

Flows

The access review flows these procedures are built from

Each flow is one recorded export or change in one app. Procedures run them back to back on a schedule.

  • Okta
    Okta

    Extract full user directory with status

    Pages through the Okta user list and extracts name, email, status, and last login for every account into a table.

    Extraction · Scheduled
  • Okta
    Okta

    Extract users inactive 90+ days

    Filters the Okta directory by last login, pages through results, and extracts accounts idle for 90 or more days.

    Extraction · Scheduled
  • Okta
    Okta

    Extract deactivations for evidence period

    Extracts accounts deactivated in a date range with timestamps, as offboarding-control evidence.

    Extraction · Slack request
  • GitHub
    GitHub

    Extract org members with team memberships

    Pages through org people and extracts each member with their team memberships and role.

    Extraction · Scheduled
  • Google Workspace
    Google Workspace

    Extract admin role assignments

    Opens admin roles in Google Admin and extracts every account with delegated admin privileges and their role.

    Extraction · Scheduled
  • Slack
    Slack

    Extract guest accounts with channel access

    Extracts all single- and multi-channel guests with the channels they can access into a table.

    Extraction · Scheduled
  • AWS
    AWS

    Extract IAM users with last activity

    Extracts all IAM users with console last-sign-in and access-key last-used dates into a table.

    Extraction · Scheduled
  • Salesforce
    Salesforce

    Extract users with Modify All Data

    Extracts users whose profiles or permission sets grant Modify All Data and similar god-mode permissions.

    Extraction · Scheduled
  • 1Password
    1Password

    Extract vault access report

    Iterates shared vaults and extracts each vault's members and permission levels into a table.

    Extraction · Scheduled
  • Vanta
    Vanta

    Extract access review campaign status

    Extracts the current access review campaign with completion status per reviewer.

    Extraction · Scheduled
  • Drata
    Drata

    Extract access review status

    Extracts the current user access review with per-application completion status.

    Extraction · Scheduled
  • Slack
    Slack

    Deactivate expired guest accounts

    Reviews guest accounts against their intended end dates and deactivates those past expiry.

    Execution · Scheduled
  • Vanta
    Vanta

    Upload an access file to a review

    Opens the access review, picks the application, and uploads its accounts in Vanta's access file format.

    Recorded on your screens
  • Internal tool
    Internal tool

    Remove a user and capture the proof

    Signs in to the app's admin page, removes the user's access, and saves the user list afterwards as a timestamped screenshot.

    Recorded on your screens
See every access review & audit flow in the Marketplace

More procedures

More access procedures

Ready-made procedures in the Marketplace for reviews, leavers, and privileged access.

  • OktaAWSGitHub2 more
    Okta · AWS · GitHub + 2 more

    Quarterly access review evidence pack

    Kicks off the quarter's access review by extracting Okta admin roles, AWS IAM MFA status, and GitHub membership, checking Vanta campaign status, and uploading the compiled evidence to close the review's document requests.
  • RipplingOktaSalesforce1 more
    Rippling · Okta · Salesforce + 1 more

    Offboarding verification audit

    Weekly, extracts recent terminations from Rippling, verifies each against the Okta directory, and pulls Salesforce login history for terminated users to catch post-departure access, reporting violations with evidence.
  • OktaTailscaleSlack
    Okta · Tailscale · Slack

    Terminated-access nightly verification

    Nightly, extracts the period's Okta deactivations, verifies no terminated user retains Tailscale network access by diffing the tailnet user list, removes any stragglers, and logs the verification for evidence.
  • OktaGoogle WorkspaceSlack
    Okta · Google Workspace · Slack

    Stale account detection and suspension

    Extracts accounts inactive 90+ days in Okta and 60+ days in Google Workspace weekly, posts the candidate list for manager confirmation, and suspends confirmed stale accounts with a record of each decision.
  • OktaMicrosoft Entra IDGitHub1 more
    Okta · Microsoft Entra ID · GitHub + 1 more

    Privileged access change monitor

    Weekly, extracts recent Okta admin role changes, Entra privileged assignments, and GitHub org audit admin events, diffs against the approved-admin baseline, and routes unexplained changes for review.

Why Stepwork

The same review, every app, every cycle

Calm runs its access review across about 50 applications with Stepwork, including Okta and the apps without SCIM. Stepwork is a deterministic agent platform: each export and each removal runs the steps you recorded, the same way every cycle. Every run records which accounts were read, which were removed, who decided, and when, so the evidence matches what happened.

Calm customer storyDeterministic agentsProcedures
Book a Demo

Related use cases

More use cases

  • Vanta evidence collectionStepwork signs in to the apps your Vanta integrations can't read, captures the evidence on a schedule, and files it in Vanta through its screens or its API.Learn more
  • Vulnerability management automationStepwork reads each security tool every morning, writes one summary of what changed since yesterday, and opens tickets for vulnerabilities that are exploited or overdue.Learn more
  • Data warehouse extractionStepwork pulls reports from admin consoles, ERPs, and vendor portals that have no API or connector, on a schedule, and loads the rows into Snowflake, Databricks, or S3.Learn more
See every use case

FAQ

Common questions

  • Yes. It signs in to each app's admin console the way an admin does and reads every account and role. It doesn't need SCIM, an API, or an integration, which is how Calm covers its apps without SCIM.
    Calm customer story
  • Both. Vanta tracks the review but doesn't change access in other apps. When a reviewer marks an account to revoke, Stepwork removes it in that app's admin console and attaches the proof to the review.
  • Stepwork uploads each app's accounts to the review in Vanta's access file format, or pushes them through Vanta's API to a private integration, so the app shows as synced instead of waiting for a file.
  • As often as you schedule them. Many teams review quarterly because the manual version takes weeks. With the exports and removals automated, a monthly review and a daily leaver check between reviews become practical.
  • Your reviewers, in Vanta or in Slack. Stepwork gathers the accounts, flags the ones with no active owner, and carries out what reviewers decide. The leaver check only acts on people your HR system marked as terminated.
  • Yes. The steps that read and upload to the review run the same way in Drata and Secureframe. Pick either above the procedures and the steps rename to match.

The math

What a manual access review costs

Example volumes for a monthly review of 30 apps without SCIM or an integration. 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
Export accounts and roles from an app7202.3
Match accounts to HR and fill in the template7252.9
Chase a reviewer for a decision1050.8
Remove an account and capture the proof6121.2
Hours a week
7.3
Hours a year
364
Of one full-time person
18%
Example volumes, not a customer's numbers. Minutes are the typical time to do each task by hand. 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.