Skip to content
AscendCore
Back to Runbook Library
Provisioning Live in production

Contractor Onboarding

Provision a time-boxed contractor account in Okta with scoped groups and an automatic end-date sign-in suspension, approval-gated and audited.

Integrates with

Okta

The problem

Contractor accounts are easy to create and easy to forget. When the engagement ends, the account often stays active because nobody owns the cleanup, leaving access open well past the contract.

What AscendCore does

A requester provides the contractor's name, email, end date, and any starting groups in Slack or Teams. An approver sees exactly who gets access, which groups, and until when. On approval AscendCore re-checks that no account already exists for that email (refusing on any uncertainty rather than creating blind), creates the Okta account (the contractor receives an activation email), and adds each listed group independently, so one bad group name never loses the account or the other groups. It then arms the end date: a recurring sweep suspends sign-in automatically at the end of the end date (reversible from the Okta console). The arming is honest by design: if the automatic suspension cannot be scheduled, the approval card says the account is live and needs a manual suspension rather than implying the expiry is set. The creation, each group outcome, and the eventual suspension are separate entries in the audit chain.

Status

Live in production. Provisions time-boxed contractor accounts against a real Okta tenant today from Slack and Teams; on approval it re-checks that no account already exists for the email (failing closed on any uncertainty), creates the account (Okta sends the activation email), adds each listed group independently, and arms the end date so a recurring sweep suspends sign-in automatically (reversibly). The arming is honest: if the automatic suspension cannot be scheduled, the card says the account is live and needs a manual suspension. Creation, each group outcome, and the eventual suspension are separate entries in the audit chain. Access scope and approval routing are configurable per customer.

Runbook source preview

Versioned, deterministic, auditable

Every runbook is defined as a versioned YAML manifest with explicit triggers, steps, and approval policies. The runbook itself is the audit-ready record of what AscendCore can and will do. Chat is just the interface that triggers it.

name: contractor-onboarding
trigger:
  channels: [slack, teams]
  commands: [contractor-onboard]
steps:
  - check_no_existing_account   # re-checked at execute time, fails closed
  - admin_approval
  - create_account              # Okta sends the activation email
  - assign_groups               # per-group, one bad group never loses the account
  - arm_auto_suspend            # the sweep suspends sign-in at the end date
approval:
  required: true
  approvers: [it-admins, hr-ops]
Ready to deploy

Run contractor onboarding from Teams or Slack today

AscendCore deploys in days, not months for Slack + Okta or Teams + Entra stacks. See your first automated resolution the same day.