def on_provision(ctx): """Automated provisioning: record in ext_data, notify HR.""" data = ctx["stage_data"] name = data.get("full_name", "unknown") dept = data.get("department", "general") # Record provision in ext_data table db.insert("provisions", { "employee_name": name, "department": dept, "needs_vpn": str(data.get("needs_vpn", "false")), "needs_admin": str(data.get("needs_admin", "false")), "equipment": data.get("equipment", "standard laptop"), "status": "provisioned", }) # Notify the HR user who started this workflow notifications.send( ctx["started_by"], "Accounts provisioned for " + name, "Department: " + dept + ". Ready for manager review.", ) return {"advance": True, "data": { "provision_status": "complete", "provisioned_for": name, }} def on_welcome(ctx): """Completion logging: record onboarding and send welcome.""" data = ctx["stage_data"] name = data.get("full_name", "") dept = data.get("department", "") db.insert("onboarding_log", { "employee_name": name, "department": dept, "completed_by": ctx["started_by"], "status": "complete", }) notifications.send( ctx["started_by"], "Onboarding complete: " + name, "All stages finished. Welcome aboard!", ) return {"advance": True, "data": {"onboarding_complete": True}}