> ## Documentation Index
> Fetch the complete documentation index at: https://docs.stackone.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Connect UKG Pro with Service Account - REST – StackOne Hub

> Link a UKG Pro account in the StackOne Hub using Service Account - REST. End-user guide to authorize the integration and start using UKG Pro actions.

<Warning>Ensure you have Admin privileges in UKG Pro to create Service Accounts and access Web Services configuration.</Warning>

<Panel>
  <div className="not-prose guides-scope-selector" data-guides-scope-selector data-guide-actions-json="[{&#x22;id&#x22;:&#x22;ukg-pro_list_person_details&#x22;,&#x22;label&#x22;:&#x22;List Person Details&#x22;,&#x22;scopes&#x22;:[&#x22;EmployeePersonDetails:View&#x22;]},{&#x22;id&#x22;:&#x22;ukg-pro_get_person_details&#x22;,&#x22;label&#x22;:&#x22;Get Person Details&#x22;,&#x22;scopes&#x22;:[&#x22;EmployeePersonDetails:View&#x22;]},{&#x22;id&#x22;:&#x22;ukg-pro_list_employee_supervisors&#x22;,&#x22;label&#x22;:&#x22;List Employee Supervisor Details&#x22;,&#x22;scopes&#x22;:[&#x22;PersonnelIntegration:View&#x22;]},{&#x22;id&#x22;:&#x22;ukg-pro_list_employee_phone_numbers&#x22;,&#x22;label&#x22;:&#x22;List Employee Multiple Phone Numbers&#x22;,&#x22;scopes&#x22;:[&#x22;PersonnelIntegration:View&#x22;]},{&#x22;id&#x22;:&#x22;ukg-pro_list_changes_by_date&#x22;,&#x22;label&#x22;:&#x22;List Employee Changes By Date&#x22;,&#x22;scopes&#x22;:[&#x22;EmployeeExport:View&#x22;]},{&#x22;id&#x22;:&#x22;ukg-pro_list_changes_by_employee&#x22;,&#x22;label&#x22;:&#x22;List Employee Changes By Employee ID&#x22;,&#x22;scopes&#x22;:[&#x22;EmployeeExport:View&#x22;]},{&#x22;id&#x22;:&#x22;ukg-pro_list_business_structure_changes&#x22;,&#x22;label&#x22;:&#x22;List Business Structure Changes&#x22;,&#x22;scopes&#x22;:[&#x22;PersonnelIntegration:View&#x22;]},{&#x22;id&#x22;:&#x22;ukg-pro_list_compensation_details&#x22;,&#x22;label&#x22;:&#x22;List Compensation Details&#x22;,&#x22;scopes&#x22;:[&#x22;EmployeeCompensationDetails:View&#x22;]},{&#x22;id&#x22;:&#x22;ukg-pro_get_compensation_details&#x22;,&#x22;label&#x22;:&#x22;Get Compensation Details By Employee&#x22;,&#x22;scopes&#x22;:[&#x22;EmployeeCompensationDetails:View&#x22;]},{&#x22;id&#x22;:&#x22;ukg-pro_list_job_history_details&#x22;,&#x22;label&#x22;:&#x22;List Employee Job History Details&#x22;,&#x22;scopes&#x22;:[&#x22;PersonnelIntegration:View&#x22;]},{&#x22;id&#x22;:&#x22;ukg-pro_list_earnings_history&#x22;,&#x22;label&#x22;:&#x22;List Earnings History&#x22;,&#x22;scopes&#x22;:[&#x22;PayrollIntegration:View&#x22;]},{&#x22;id&#x22;:&#x22;ukg-pro_list_direct_deposits&#x22;,&#x22;label&#x22;:&#x22;List Direct Deposits&#x22;,&#x22;scopes&#x22;:[&#x22;EmployeeDirectDeposit:View&#x22;]},{&#x22;id&#x22;:&#x22;ukg-pro_list_deductions_history&#x22;,&#x22;label&#x22;:&#x22;List Payroll Deductions History&#x22;,&#x22;scopes&#x22;:[&#x22;PayrollIntegration:View&#x22;]},{&#x22;id&#x22;:&#x22;ukg-pro_list_pay_periods&#x22;,&#x22;label&#x22;:&#x22;List Pay Group Pay Periods&#x22;,&#x22;scopes&#x22;:[&#x22;PayrollIntegration:View&#x22;]},{&#x22;id&#x22;:&#x22;ukg-pro_get_pay_register&#x22;,&#x22;label&#x22;:&#x22;Get Pay Register&#x22;,&#x22;scopes&#x22;:[&#x22;PayrollIntegration:View&#x22;]},{&#x22;id&#x22;:&#x22;ukg-pro_get_employee_pay_statements&#x22;,&#x22;label&#x22;:&#x22;Get Employee Pay Statements&#x22;,&#x22;scopes&#x22;:[&#x22;EmployeePayStatement:View&#x22;]},{&#x22;id&#x22;:&#x22;ukg-pro_get_employee_last_pay_statement&#x22;,&#x22;label&#x22;:&#x22;Get Employee Last Pay Statement&#x22;,&#x22;scopes&#x22;:[&#x22;EmployeePayStatement:View&#x22;]},{&#x22;id&#x22;:&#x22;ukg-pro_list_employee_deductions&#x22;,&#x22;label&#x22;:&#x22;List Employee Deductions&#x22;,&#x22;scopes&#x22;:[&#x22;PersonnelIntegration:View&#x22;]},{&#x22;id&#x22;:&#x22;ukg-pro_list_dependent_deductions&#x22;,&#x22;label&#x22;:&#x22;List Dependent Deductions&#x22;,&#x22;scopes&#x22;:[&#x22;PersonnelIntegration:View&#x22;]},{&#x22;id&#x22;:&#x22;ukg-pro_list_cobra_details&#x22;,&#x22;label&#x22;:&#x22;List Employee COBRA Details&#x22;,&#x22;scopes&#x22;:[&#x22;PersonnelIntegration:View&#x22;]},{&#x22;id&#x22;:&#x22;ukg-pro_list_open_enrollment_deductions&#x22;,&#x22;label&#x22;:&#x22;List Open Enrollment Employee Deductions&#x22;,&#x22;scopes&#x22;:[&#x22;PersonnelIntegration:View&#x22;]},{&#x22;id&#x22;:&#x22;ukg-pro_list_pto_plans&#x22;,&#x22;label&#x22;:&#x22;List PTO Plans&#x22;,&#x22;scopes&#x22;:[&#x22;PTOPlanIntegration:View&#x22;]},{&#x22;id&#x22;:&#x22;ukg-pro_create_pto_plan&#x22;,&#x22;label&#x22;:&#x22;Create PTO Plan&#x22;,&#x22;scopes&#x22;:[&#x22;PTOPlanIntegration:Add&#x22;]},{&#x22;id&#x22;:&#x22;ukg-pro_get_pto_plan&#x22;,&#x22;label&#x22;:&#x22;Get PTO Plan&#x22;,&#x22;scopes&#x22;:[&#x22;PTOPlanIntegration:View&#x22;]},{&#x22;id&#x22;:&#x22;ukg-pro_update_pto_plan&#x22;,&#x22;label&#x22;:&#x22;Update PTO Plan&#x22;,&#x22;scopes&#x22;:[&#x22;PTOPlanIntegration:Edit&#x22;]},{&#x22;id&#x22;:&#x22;ukg-pro_list_employee_pto_plans&#x22;,&#x22;label&#x22;:&#x22;List Employee PTO Plans&#x22;,&#x22;scopes&#x22;:[&#x22;PTOPlanIntegration:View&#x22;]},{&#x22;id&#x22;:&#x22;ukg-pro_list_earnings_configurations&#x22;,&#x22;label&#x22;:&#x22;List Earnings Configurations&#x22;,&#x22;scopes&#x22;:[&#x22;CompanyConfigurationIntegration:View&#x22;]},{&#x22;id&#x22;:&#x22;ukg-pro_list_org_levels&#x22;,&#x22;label&#x22;:&#x22;List Organization Levels&#x22;,&#x22;scopes&#x22;:[&#x22;CompanyConfigurationIntegration:View&#x22;]},{&#x22;id&#x22;:&#x22;ukg-pro_create_org_level&#x22;,&#x22;label&#x22;:&#x22;Create Organization Level&#x22;,&#x22;scopes&#x22;:[&#x22;CompanyConfigurationIntegration:Add&#x22;]},{&#x22;id&#x22;:&#x22;ukg-pro_list_companies&#x22;,&#x22;label&#x22;:&#x22;List Company Details&#x22;,&#x22;scopes&#x22;:[&#x22;CompanyConfigurationIntegration:View&#x22;]},{&#x22;id&#x22;:&#x22;ukg-pro_list_job_configurations&#x22;,&#x22;label&#x22;:&#x22;List Job Configurations&#x22;,&#x22;scopes&#x22;:[&#x22;CompanyConfigurationIntegration:View&#x22;]},{&#x22;id&#x22;:&#x22;ukg-pro_get_job_configuration&#x22;,&#x22;label&#x22;:&#x22;Get Job Configuration&#x22;,&#x22;scopes&#x22;:[&#x22;CompanyConfigurationIntegration:View&#x22;]},{&#x22;id&#x22;:&#x22;ukg-pro_list_positions&#x22;,&#x22;label&#x22;:&#x22;List Employee Positions&#x22;,&#x22;scopes&#x22;:[&#x22;CompanyConfigurationIntegration:View&#x22;]},{&#x22;id&#x22;:&#x22;ukg-pro_list_location_configurations&#x22;,&#x22;label&#x22;:&#x22;List Location Configurations&#x22;,&#x22;scopes&#x22;:[&#x22;CompanyConfigurationIntegration:View&#x22;]},{&#x22;id&#x22;:&#x22;ukg-pro_get_location_configuration&#x22;,&#x22;label&#x22;:&#x22;Get Location Configuration&#x22;,&#x22;scopes&#x22;:[&#x22;CompanyConfigurationIntegration:View&#x22;]},{&#x22;id&#x22;:&#x22;ukg-pro_list_job_groups&#x22;,&#x22;label&#x22;:&#x22;List Job Groups&#x22;,&#x22;scopes&#x22;:[&#x22;CompanyConfigurationIntegration:View&#x22;]},{&#x22;id&#x22;:&#x22;ukg-pro_list_contacts&#x22;,&#x22;label&#x22;:&#x22;List Employee Contacts&#x22;,&#x22;scopes&#x22;:[&#x22;PersonnelIntegration:View&#x22;]},{&#x22;id&#x22;:&#x22;ukg-pro_get_contact&#x22;,&#x22;label&#x22;:&#x22;Get Employee Contact Details&#x22;,&#x22;scopes&#x22;:[&#x22;PersonnelIntegration:View&#x22;]},{&#x22;id&#x22;:&#x22;ukg-pro_list_international_employees&#x22;,&#x22;label&#x22;:&#x22;List International Employees&#x22;,&#x22;scopes&#x22;:[&#x22;PersonnelIntegration:View&#x22;]},{&#x22;id&#x22;:&#x22;ukg-pro_get_international_employee&#x22;,&#x22;label&#x22;:&#x22;Get International Employee Details&#x22;,&#x22;scopes&#x22;:[&#x22;PersonnelIntegration:View&#x22;]},{&#x22;id&#x22;:&#x22;ukg-pro_list_global_employee_banks&#x22;,&#x22;label&#x22;:&#x22;List Global Employee Bank Accounts&#x22;,&#x22;scopes&#x22;:[&#x22;GlobalEmployeeDirectDeposit:View&#x22;]},{&#x22;id&#x22;:&#x22;ukg-pro_list_global_localization_elements&#x22;,&#x22;label&#x22;:&#x22;List Global Localization Elements&#x22;,&#x22;scopes&#x22;:[&#x22;PersonnelIntegration:View&#x22;]},{&#x22;id&#x22;:&#x22;ukg-pro_get_user_details&#x22;,&#x22;label&#x22;:&#x22;Get User Details&#x22;,&#x22;scopes&#x22;:[&#x22;PersonnelIntegration:View&#x22;]},{&#x22;id&#x22;:&#x22;ukg-pro_get_security_roles&#x22;,&#x22;label&#x22;:&#x22;Get Security Roles&#x22;,&#x22;scopes&#x22;:[&#x22;CompanyConfigurationIntegration:View&#x22;]},{&#x22;id&#x22;:&#x22;ukg-pro_get_employee_security_user_details&#x22;,&#x22;label&#x22;:&#x22;Get Employee Security User Details&#x22;,&#x22;scopes&#x22;:[&#x22;PersonnelIntegration:View&#x22;]},{&#x22;id&#x22;:&#x22;ukg-pro_find_person&#x22;,&#x22;label&#x22;:&#x22;Find People&#x22;,&#x22;scopes&#x22;:[&#x22;EmployeePersonDetails:View&#x22;]},{&#x22;id&#x22;:&#x22;ukg-pro_get_person_by_employee_identifier&#x22;,&#x22;label&#x22;:&#x22;Get Person By Employee Identifier&#x22;,&#x22;scopes&#x22;:[&#x22;EmployeePersonDetails:View&#x22;]},{&#x22;id&#x22;:&#x22;ukg-pro_find_user_defined_fields&#x22;,&#x22;label&#x22;:&#x22;Find User Defined Fields&#x22;,&#x22;scopes&#x22;:[&#x22;EmployeeUserDefinedFields:View&#x22;]},{&#x22;id&#x22;:&#x22;ukg-pro_get_user_defined_fields_by_employee_identifier&#x22;,&#x22;label&#x22;:&#x22;Get User Defined Fields By Employee Identifier&#x22;,&#x22;scopes&#x22;:[&#x22;EmployeeUserDefinedFields:View&#x22;]},{&#x22;id&#x22;:&#x22;ukg-pro_find_jobs&#x22;,&#x22;label&#x22;:&#x22;Find Jobs&#x22;,&#x22;scopes&#x22;:[&#x22;EmployeeJobDetails:View&#x22;]},{&#x22;id&#x22;:&#x22;ukg-pro_get_job_by_employee_identifier&#x22;,&#x22;label&#x22;:&#x22;Get Job By Employee Identifier&#x22;,&#x22;scopes&#x22;:[&#x22;EmployeeJobDetails:View&#x22;]},{&#x22;id&#x22;:&#x22;ukg-pro_find_compensations&#x22;,&#x22;label&#x22;:&#x22;Find Compensations&#x22;,&#x22;scopes&#x22;:[&#x22;EmployeeCompensationDetails:View&#x22;]},{&#x22;id&#x22;:&#x22;ukg-pro_get_compensation_by_employee_identifier&#x22;,&#x22;label&#x22;:&#x22;Get Compensation By Employee Identifier&#x22;,&#x22;scopes&#x22;:[&#x22;EmployeeCompensationDetails:View&#x22;]},{&#x22;id&#x22;:&#x22;ukg-pro_find_contacts&#x22;,&#x22;label&#x22;:&#x22;Find Contacts&#x22;,&#x22;scopes&#x22;:[&#x22;EmployeeContacts:View&#x22;]},{&#x22;id&#x22;:&#x22;ukg-pro_get_contact_by_employee_identifier&#x22;,&#x22;label&#x22;:&#x22;Get Contact By Employee Identifier&#x22;,&#x22;scopes&#x22;:[&#x22;EmployeeContacts:View&#x22;]},{&#x22;id&#x22;:&#x22;ukg-pro_get_employee_contact_by_contact_id&#x22;,&#x22;label&#x22;:&#x22;Get Employee Contact By Contact ID&#x22;,&#x22;scopes&#x22;:[&#x22;EmployeeContacts:View&#x22;]}]" style={{ borderRadius: '8px', padding: '16px', marginBottom: '24px' }}>
    <div className="guides-scope-selector__title" style={{ fontSize: '16px', fontWeight: '600', marginBottom: '12px' }}>Select Actions to adjust the guide</div>
    <div className="guides-scope-selector__muted" style={{ fontSize: '13px', marginBottom: '12px' }}>Some actions may require additional configuration in the provider to be accessible. Choose the actions you need and the guide will be updated.</div>

    <div style={{ display: 'flex', gap: '8px', marginBottom: '12px', flexWrap: 'wrap' }}>
      <input type="text" placeholder="Search actions..." className="guides-scope-selector__input" data-guide-action-search style={{ padding: '8px 12px', borderRadius: '6px', fontSize: '13px', flex: 1, minWidth: '160px' }} />

      <button type="button" className="guides-scope-selector__quick-btn" data-guide-select-all style={{ padding: '6px 10px', borderRadius: '6px', fontSize: '12px', cursor: 'pointer' }}>Select all</button>
      <button type="button" className="guides-scope-selector__quick-btn" data-guide-clear style={{ padding: '6px 10px', borderRadius: '6px', fontSize: '12px', cursor: 'pointer' }}>Clear</button>
    </div>

    <div className="guides-scope-selector__list" style={{ maxHeight: '240px', overflowY: 'auto', borderRadius: '6px', marginBottom: '12px' }}>
      <div className="guides-scope-selector__list-header" style={{ display: 'flex', alignItems: 'center', gap: '10px', padding: '8px 12px', fontSize: '12px', fontWeight: '600', position: 'sticky', top: 0, zIndex: 1 }}>
        <div style={{ width: '16px', flexShrink: 0 }} />

        <div style={{ flex: 1, textAlign: 'left' }}>Action</div>
        <div style={{ minWidth: '120px', marginLeft: 'auto', textAlign: 'right' }}>Scope(s)</div>
      </div>

      <div className="guides-scope-selector__muted" data-guide-loading style={{ padding: '16px', textAlign: 'center', fontSize: '13px' }}>Loading actions...</div>
      <div className="guides-scope-selector__muted" data-guide-no-results hidden style={{ padding: '16px', textAlign: 'center', fontSize: '13px' }}>No actions match your search.</div>
    </div>

    <div className="guides-scope-selector__url-section" style={{ marginTop: '12px', paddingTop: '12px' }}>
      <div className="guides-scope-selector__muted" style={{ fontSize: '12px', fontWeight: '500', marginBottom: '6px' }}>Dynamic Guide URL</div>

      <div style={{ display: 'flex', alignItems: 'center', gap: '8px', flexWrap: 'wrap' }}>
        <input type="text" readOnly className="guides-scope-selector__input" data-guide-url style={{ flex: 1, minWidth: '200px', padding: '8px 10px', borderRadius: '6px', fontSize: '12px', fontFamily: 'monospace' }} />

        <button type="button" className="guides-scope-selector__copy-btn" data-guide-copy-url style={{ width: '120px', padding: '8px 14px', borderRadius: '6px', fontSize: '13px', fontWeight: '500', cursor: 'pointer', whiteSpace: 'nowrap', marginLeft: 'auto' }}>Copy URL</button>
      </div>

      <div style={{ marginTop: '12px' }}>
        <div className="guides-scope-selector__muted" style={{ fontSize: '12px', fontWeight: '500', marginBottom: '6px' }}>Scopes Selected</div>

        <div style={{ display: 'flex', alignItems: 'stretch', gap: '8px', flexWrap: 'wrap' }}>
          <pre className="guides-scope-selector__input" role="textbox" aria-readonly="true" tabIndex={0} data-guide-scopes-output style={{ flex: 1, minWidth: '200px', minHeight: '88px', maxHeight: '120px', overflowY: 'auto', margin: 0, padding: '8px 10px', borderRadius: '6px', fontSize: '12px', fontFamily: 'monospace', whiteSpace: 'pre-wrap' }} />

          <div className="guides-scope-selector__muted" style={{ display: 'flex', flexDirection: 'column', gap: '8px', fontSize: '12px', fontWeight: '500', flexShrink: 0, alignItems: 'flex-start' }}>
            <div style={{ whiteSpace: 'nowrap' }}>Separator</div>

            <select className="guides-scope-selector__input" data-guide-scope-delimiter style={{ width: '100%', padding: '6px 10px', borderRadius: '6px', fontSize: '12px' }}>
              <option value="space">Space</option>
              <option value="comma">Comma</option>
              <option value="semicolon">Semicolon</option>
              <option value="pipe">Pipe</option>
              <option value="newline">Newline</option>
            </select>

            <button type="button" className="guides-scope-selector__copy-btn" data-guide-copy-scopes style={{ width: '120px', padding: '8px 14px', borderRadius: '6px', fontSize: '13px', fontWeight: '500', cursor: 'pointer', whiteSpace: 'nowrap' }}>Copy scopes</button>
          </div>
        </div>
      </div>
    </div>
  </div>
</Panel>

<section data-guide-section data-guide-scopes="">
  <h2>Create a Service Account</h2>

  <p>A Service Account is required to authenticate API requests to UKG Pro.</p>

  <Steps>
    <Step title="Log in to UKG Pro">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Sign in to your UKG Pro account with administrator credentials.</p>
      </div>
    </Step>

    <Step title="Navigate to Service Account Administration">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Go to <strong>Sidebar Menu > System Configuration > Security > Service Account Administration</strong>.</p>
      </div>
    </Step>

    <Step title="Create a new Service Account">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Click the <strong>Add</strong> button to create a new service account.</p>

        <ul>
          <li><strong>Username</strong>: Enter a descriptive name (e.g., StackOneIntegration)</li>
          <li><strong>E-mail</strong>: Add a valid email</li>
        </ul>
      </div>
    </Step>

    <Step title="Configure Web Service Permissions">
      <div data-guide-step data-guide-scopes="EmployeePayStatement:View,PTOPlanIntegration:Add,PTOPlanIntegration:View,PTOPlanIntegration:Edit,CompanyConfigurationIntegration:Add,CompanyConfigurationIntegration:View,EmployeeExport:View,PayrollIntegration:View,PersonnelIntegration:View,EmployeeDirectDeposit:View,GlobalEmployeeDirectDeposit:View,EmployeePersonDetails:View,EmployeeCompensationDetails:View" data-guide-display-scopes-list="EmployeePayStatement:View,PTOPlanIntegration:Add,PTOPlanIntegration:View,PTOPlanIntegration:Edit,CompanyConfigurationIntegration:Add,CompanyConfigurationIntegration:View,EmployeeExport:View,PayrollIntegration:View,PersonnelIntegration:View,EmployeeDirectDeposit:View,GlobalEmployeeDirectDeposit:View,EmployeePersonDetails:View,EmployeeCompensationDetails:View">
        <div className="connector-guide-actions-badge" data-guide-actions-badge data-guide-actions-badge-scopes="EmployeePayStatement:View,PTOPlanIntegration:Add,PTOPlanIntegration:View,PTOPlanIntegration:Edit,CompanyConfigurationIntegration:Add,CompanyConfigurationIntegration:View,EmployeeExport:View,PayrollIntegration:View,PersonnelIntegration:View,EmployeeDirectDeposit:View,GlobalEmployeeDirectDeposit:View,EmployeePersonDetails:View,EmployeeCompensationDetails:View" style={{ display: 'block', width: 'fit-content', maxWidth: '100%', padding: '2px 8px', borderRadius: '8px', fontSize: '12px', marginBottom: '8px', marginTop: '-10px', whiteSpace: 'nowrap', overflowX: 'auto', overflowY: 'hidden', msOverflowStyle: 'none', scrollbarWidth: 'none' }}>
          <span>Enables actions: </span><span data-guide-actions-badge-labels>Create Organization Level, Create PTO Plan, Find Compensations, Find People, Get Compensation By Employee Identifier, Get Compensation Details By Employee, Get Employee Contact Details, Get Employee Last Pay Statement, Get Employee Pay Statements, Get Employee Security User Details, Get International Employee Details, Get Job Configuration, Get Location Configuration, Get PTO Plan, Get Pay Register, Get Person By Employee Identifier, Get Person Details, Get Security Roles, Get User Details, List Business Structure Changes, List Company Details, List Compensation Details, List Dependent Deductions, List Direct Deposits, List Earnings Configurations, List Earnings History, List Employee COBRA Details, List Employee Changes By Date, List Employee Changes By Employee ID, List Employee Contacts, List Employee Deductions, List Employee Job History Details, List Employee Multiple Phone Numbers, List Employee PTO Plans, List Employee Positions, List Employee Supervisor Details, List Global Employee Bank Accounts, List Global Localization Elements, List International Employees, List Job Configurations, List Job Groups, List Location Configurations, List Open Enrollment Employee Deductions, List Organization Levels, List PTO Plans, List Pay Group Pay Periods, List Payroll Deductions History, List Person Details, Update PTO Plan</span>
        </div>

        <p>In the permissions table, select all of the following scopes by checking their corresponding checkboxes:</p>

        <div style={{ marginTop: '8px' }} data-guide-display-scopes>
          <div className="connector-guide-scopes-container connector-guide-scopes-container--scrollable">
            <ul className="not-prose" style={{ listStyleType: "'- '", paddingLeft: '1em', margin: 0 }}>
              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="EmployeePayStatement:View">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy EmployeePayStatement:View" title="Copy scope" data-copy="EmployeePayStatement:View">
                  <span className="connector-guide-scope-copy__label">EmployeePayStatement:View</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="PTOPlanIntegration:Add">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy PTOPlanIntegration:Add" title="Copy scope" data-copy="PTOPlanIntegration:Add">
                  <span className="connector-guide-scope-copy__label">PTOPlanIntegration:Add</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="PTOPlanIntegration:View">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy PTOPlanIntegration:View" title="Copy scope" data-copy="PTOPlanIntegration:View">
                  <span className="connector-guide-scope-copy__label">PTOPlanIntegration:View</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="PTOPlanIntegration:Edit">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy PTOPlanIntegration:Edit" title="Copy scope" data-copy="PTOPlanIntegration:Edit">
                  <span className="connector-guide-scope-copy__label">PTOPlanIntegration:Edit</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="CompanyConfigurationIntegration:Add">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy CompanyConfigurationIntegration:Add" title="Copy scope" data-copy="CompanyConfigurationIntegration:Add">
                  <span className="connector-guide-scope-copy__label">CompanyConfigurationIntegration:Add</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="CompanyConfigurationIntegration:View">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy CompanyConfigurationIntegration:View" title="Copy scope" data-copy="CompanyConfigurationIntegration:View">
                  <span className="connector-guide-scope-copy__label">CompanyConfigurationIntegration:View</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="EmployeeExport:View">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy EmployeeExport:View" title="Copy scope" data-copy="EmployeeExport:View">
                  <span className="connector-guide-scope-copy__label">EmployeeExport:View</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="PayrollIntegration:View">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy PayrollIntegration:View" title="Copy scope" data-copy="PayrollIntegration:View">
                  <span className="connector-guide-scope-copy__label">PayrollIntegration:View</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="PersonnelIntegration:View">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy PersonnelIntegration:View" title="Copy scope" data-copy="PersonnelIntegration:View">
                  <span className="connector-guide-scope-copy__label">PersonnelIntegration:View</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="EmployeeDirectDeposit:View">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy EmployeeDirectDeposit:View" title="Copy scope" data-copy="EmployeeDirectDeposit:View">
                  <span className="connector-guide-scope-copy__label">EmployeeDirectDeposit:View</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="GlobalEmployeeDirectDeposit:View">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy GlobalEmployeeDirectDeposit:View" title="Copy scope" data-copy="GlobalEmployeeDirectDeposit:View">
                  <span className="connector-guide-scope-copy__label">GlobalEmployeeDirectDeposit:View</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="EmployeePersonDetails:View">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy EmployeePersonDetails:View" title="Copy scope" data-copy="EmployeePersonDetails:View">
                  <span className="connector-guide-scope-copy__label">EmployeePersonDetails:View</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="EmployeeCompensationDetails:View">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy EmployeeCompensationDetails:View" title="Copy scope" data-copy="EmployeeCompensationDetails:View">
                  <span className="connector-guide-scope-copy__label">EmployeeCompensationDetails:View</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>
            </ul>
          </div>
        </div>
      </div>
    </Step>

    <Step title="Save and record credentials">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Click <strong>Save</strong>. The system will generate a password for the service account.</p>

        <ul>
          <li>⚠️ <strong>Important</strong>: Copy and securely store the generated password immediately. It will only be displayed once.</li>
          <li>If you lose the password, you'll need to reset it from the Service Account Administration page.</li>
        </ul>
      </div>
    </Step>
  </Steps>
</section>

<section data-guide-section data-guide-scopes="">
  <h2>Find Your Customer API Key</h2>

  <p>The Customer API Key is required for all API authentication.</p>

  <Steps>
    <Step title="Navigate to Service Account page">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Go to <strong>Sidebar Menu > System Configuration > Security > Service Account Administration</strong>.</p>
      </div>
    </Step>

    <Step title="Locate the Customer API Key">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>The Customer API Key is displayed at the top of the Service Account Administration page.</p>

        <ul>
          <li>The API Key is typically a short alphanumeric string (often uppercase)</li>
          <li>Example format: VWUIA or similar</li>
          <li>Copy this value for use in the integration setup</li>
        </ul>
      </div>
    </Step>
  </Steps>
</section>

<section data-guide-section data-guide-scopes="">
  <h2>Find Your Web Services Domain</h2>

  <p>You need to identify your UKG Pro Web Services domain and subdomain.</p>

  <Steps>
    <Step title="Navigate to Web Services">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Go to <strong>Sidebar Menu > System Configuration > Security > Web Services</strong>.</p>
      </div>
    </Step>

    <Step title="Identify the domain from any endpoint">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Look at any Web Services endpoint URL displayed on the page.</p>

        <ul>
          <li>Example URL: `https://service2.ultipro.com/services/...`</li>
          <li><strong>Web Service Domain</strong>: `ultipro.com` (the main domain)</li>
          <li><strong>Web Service Subdomain</strong>: `service2` (the subdomain prefix)</li>
        </ul>
      </div>
    </Step>
  </Steps>
</section>

<section data-guide-section data-guide-scopes="">
  <h2>Troubleshooting</h2>

  <p>Common issues and how to resolve them.</p>

  <Steps>
    <Step title="Error: 401 Unauthorized">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>This error indicates authentication failure.</p>

        <ul>
          <li>Verify the Service Account username is correct (case-sensitive)</li>
          <li>Confirm the password is correct</li>
          <li>Check that the Customer API Key is correct</li>
          <li>Ensure the Service Account status is Active</li>
        </ul>
      </div>
    </Step>

    <Step title="Error: 403 Forbidden">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>This error indicates the Service Account lacks required permissions.</p>

        <ul>
          <li>Go to Service Account Administration</li>
          <li>Edit the Service Account</li>
          <li>Enable the required API access permissions</li>
          <li>Save and retry the connection</li>
        </ul>
      </div>
    </Step>

    <Step title="Error: Connection timeout or host not found">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>This error indicates incorrect domain configuration.</p>

        <ul>
          <li>Double-check the Web Service Domain (e.g., ultipro.com)</li>
          <li>Verify the Web Service Subdomain (e.g., service2)</li>
          <li>Ensure your network allows outbound HTTPS connections to UKG Pro</li>
        </ul>
      </div>
    </Step>

    <Step title="Service Account password expired">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Service Account passwords may expire based on your organization's security policies.</p>

        <ul>
          <li>Go to Service Account Administration</li>
          <li>Select the Service Account</li>
          <li>Click <strong>Reset Password</strong></li>
          <li>Update the password in your StackOne connection</li>
        </ul>
      </div>
    </Step>
  </Steps>
</section>

<div data-whitelabel-hide>
  <h2>Linking the Account from the Hub</h2>

  <Steps>
    <Step title="Navigate to the Hub">
      Use one of the three <a href="/guides/accounts-section#linking-accounts">Linking Account Methods</a> to access the Hub.
    </Step>

    <Step title="Fill out the fields">
      Fill out the following fields using details from your provider:

      <ul>
        <li><strong>UKG Pro Service Account User name</strong></li>
        <li><strong>UKG Pro Service Account Password</strong></li>
        <li><strong>UKG Pro Customer API Key</strong></li>
        <li><strong>UKG Pro Web Service domain</strong></li>
        <li><strong>UKG Pro Web Service subdomain</strong></li>
      </ul>
    </Step>

    <Step title="Connect">
      <ul>
        <li>Click <strong>Connect</strong></li>
        <li>If applicable, the provider will redirect you to a sign-in or authorization page. Complete the provider's authorization flow.</li>
        <li>Once authorization is successful, you will see a confirmation popup</li>
      </ul>
    </Step>
  </Steps>

  <p>If the account linking is successful, you will see the newly linked account in your <a href="/guides/accounts-section">Accounts</a> page.</p>
</div>
