Public/Get-ADPOrganization.ps1

function Get-ADPOrganization {
    <#
    .SYNOPSIS
        Get a user's Organization from ADP

    .DESCRIPTION
        Get a user's Organization from ADP

    .PARAMETER ADPObject
        Object which holds the Organization

    .EXAMPLE
        Input Object: ADP Object
        Return String: <Organization>

    .NOTES
        This is used when passing the full adp worker object from ADP's APID

    .FUNCTIONALITY
        Powershell Language
    #>

    [CmdletBinding()]
    param (
        [Parameter( Mandatory = $true,
            Position = 0,
            ValueFromPipeline = $true
        )]
        $ADPObject
    )

    $localOrganization = $null
    $localUserType = ( $ADPObject | Get-ADPUserType )

    switch -Regex ($localUserType) {
        'Full Time.*|Part Time.*|Intern|Tier 1' {
            $localOrganization = "WorkBoard"
            break
        }
        'Tier 2' {
            try {
                $localOrganization = ($ADPObject.customFieldGroup.codeFields | Where-Object { $_.itemID -eq "9200397806245_1" }).shortName
            }
            catch {}
            break
        }
        default { $localOrganization = "$null" }
    }

    return ( $localOrganization | Get-ValidADPReturn )
}