73
Introduction Page 1 of 73 BambooHR Bot-AppPerfect Corporation - ReadMe Version 1.0 May 06, 2020

Introduction $SS 3HUIHFW€¦ · linkedIn: LinkedIn profile of the new employee. 12. workPhoneExtension: Work Phone extension of the new employee. Case 2: Input is a JSON array. For

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Introduction

Page 1 of 73

BambooHR Bot-AppPerfect Corporation - ReadMe

Version 1.0

May 06, 2020

Introduction

Page 2 of 73

Table of Contents

1. Introduction .............................................................................................................. 3

Overview ...................................................................................................................... 3

Common Use cases .................................................................................................... 5

2. Requirements & Prerequisites ................................................................................ 7

System Requirements ................................................................................................. 7

Prerequisites ................................................................................................................ 7 Security Measures ....................................................................................................... 8

3. Getting Started ......................................................................................................... 9

Skill Matrix ................................................................................................................... 9

Installation Hierarchy ................................................................................................... 9 Quick Start ................................................................................................................. 11

3.1.1 Setup ........................................................................................................ 11 3.1.2 Configuration ............................................................................................ 13

4. Logs ........................................................................................................................ 68

5. Troubleshooting & Support .................................................................................. 70

Support.......................................................................................................................42 FAQs...........................................................................................................................70

Appendix A: Record of Changes ............................................................................... 71

Appendix B: Acronyms ............................................................................................... 72

Appendix C: References ............................................................................................. 73

Introduction

Page 3 of 73

1. Introduction

This document contains all essential information for the user to make full use of the Bot or Digital worker. This manual includes a description of the functions and capabilities and step-by-step procedures for setup & configuration of the Bot.

Overview

This bot performs various BambooHR operations such as those concerning Employees, Employee Files, Company Files, Payroll, Benefits, Reports, Account Information, Time Off, Photos and Time Tracking.

Detailed steps are as follows:

1) Read data from a CSV/Json Array.

For example- AddEmployee.csv, AddTimeTrackingRecord.csv, [{"key1": "value1"}, {"key2": "value2"}], etc.

2) Generate the result in an output CSV file.

For example- AddEmployee_Response.csv, AddTimeTrackingRecord_Response.csv, etc.

• Visual Flow –

Introduction

Page 4 of 73

• Input and Output Example –

Input: AddTimeTrackingRecord.csv

Output: AddTimeTrackingRecord_Response.csv

Introduction

Page 5 of 73

Common Use cases

The use cases include:

• Get Employee Directory

• Get Employee

• Add Employee

• Bulk Add Employee

• Update Employee

• Bulk Update Employee

• Get Employee File

• List Employee Files and Categories

• Bulk Upload Employee File

• Upload Employee File

• Update Employee File

• Bulk Update Employee File

• Delete Employee File

• Bulk Delete Employee File

• Get Company Report

• Get Custom Report

• List Users

• Get Company File

• List Company Files and Categories

• Upload Company File

• Bulk Upload Company File

• Delete Company File

• Bulk Delete Company File

• Get All Employee Dependents

• Get Benefit Coverages

• Get Benefit Plan

• Add Employee Default Withholding

• Bulk Add Employee Default Withholding

• Get Employee Default Withholdings

• Get Employee Unpaid Pay Stubs

• Clear Employee Unpaid Pay Stubs

• Bulk Clear Employee Unpaid Pay Stubs

• Get Employee Pay Stub

Introduction

Page 6 of 73

• Bulk Add Employee Pay Stub

• Add Employee Pay Stub

• Delete Employee Pay Stub

• Bulk Delete Employee Pay Stub

• Get Time Off Types

• Get Time Off Requests

• Bulk Add Time Off Request

• Add Time Off Request

• Bulk Change Time Off Status

• Change Time Off Status

• Bulk Add Time Off History Item

• Add Time Off History Item

• Get Unavailable People

• Get Time Tracking Record

• Add Time Tracking Record

• Bulk Add Time Tracking Record

• Bulk Update Time Tracking Record

• Bulk Store Employee Photo

• Store Employee Photo

2.Requirements & Prerequisites

Page 7 of 73

2.Requirements & Prerequisites

System Requirements

For the PC or server where the bot needs to run:

✓ RAM: 8GB or higher

✓ PROCESSOR: Intel Core i5 or higher and equivalent for any other OS

✓ Hard Disk: Up to 2GB of overall free space in the AA Client installation drive.

Reference below for Enterprise Client & Control Room system requirements.

Prerequisites

✓ Software’s needed -

✓ AA Enterprise Client 11.x

✓ AA Enterprise Control Room 11.x

• Accounts/License needed –

✓ BambooHR Account.

✓ AA Enterprise License.

2.Requirements & Prerequisites

Page 8 of 73

Security Measures

There are some security recommendations that you may follow with your bot.

• It is not recommended to provide admin access to the Windows User Account executing the Bots, to avoid unintended data changes with the CSV/Excel Template.

• It is recommended to update BambooHR API keys twice or more in a quarter to ensure data safety.

➢ It is recommended that the API key be regenerated from time to time while revoking the old ones.

For regenerating API key:

1. Login to your BambooHR account.

2. Click on the avatar icon in the top right of web page (one with your initials or picture on it).

3. Click on “API Keys”.

4. On this page click on the “Add New Key” button.

5. Enter a convenient name for your new API Key.

6. Click “Generate Key”.

7. Click on the “Trash” icon that appears on the extreme right when you hover over the old API

key listing. This will remove the old API key.

Getting Started

Page 9 of 73

2. Getting Started

Skill Matrix

The functionality of the Bot has been divided into a set of skills.

Below is an overview of how the task bots and metabots map to these skills:

Skill Task Files MetaBot Files

Add Employee, Update Employee, Get EmployeeDirectory

BambooHR.atmx

BambooHR.mbot

Installation Hierarchy

Once the bot is downloaded and installed, the installer creates the files in the folder structure as shown below.

Folder Structure on your Machine Folder Structure Description

<AA Application Path>

1. My Tasks

1.1. Bot Store

<AA Application Path> is the location where AA files are stored on your machine 1. My Tasks

My Task Folder is the default directory where Bot files are saved. 1.1 Bot Store

Getting Started

Page 10 of 73

1.1.1. BambooHRBot-AppPerfectCorporation ➢ Error Folder

• Logs o Error logs Month-Day-Year.txt

• Snapshots o Error Snap Month-Day-Year

HourMinSec.png

➢ Input Folder

• Input CSV / Excel files required by

different logics should be kept in this

folder. By default, we provide empty templates for all input files in Input

Folder.

➢ Output Folder

• Output CSV files generated by different operations are stored in the Output folder.

➢ My Tasks

• BambooHR.atmx 2. My MetaBots

➢ BambooHR.mbot ➢ JsonUtil.mbot

Bot Store Folder contains the Bot Name Folder which the installer creates during the installation of the Bot. 1.1.1 BambooHRBot-AppPerfectCorporation This folder gets created by the installer and contains files and folders needed for the bot execution.

➢ Error folder is where logs and snapshots of screens will be placed if something goes wrong with the bot during execution.

➢ Input Folder is where the input files that the bot needs for the execution of the use case, is saved.

➢ My Tasks folder contains all the Developed Platform Source Code.

My MetaBots folder contains the developed Meta bots needed for the bot execution.

Getting Started

Page 11 of 73

Quick Start

2.1.1 Setup

STEP 1 (Setting up a trial BambooHR Account): Click here to create a BambooHR trial account. The following page will appear once the above link is clicked:

• If you already have an account, click on ‘Log in’.

• For new users, enter First Name, Last Name, Work Email and Password then click on Get Started.

Getting Started

Page 12 of 73

• On the next page, enter Work Phone, Company Name, Number of Employees, Country and desired URL.

• Check the Terms and Conditions agreement checkbox.

• Click on Create Account.

Now you will get your BambooHR account URL in this format: https://{your company domain}.bamboohr.com/ The free trial account expires in 7 days, in order to get a full-time subscription call 1-801-724-6601. Step 2 (API Key): Find or Generate Your API Key:

• Login to your BambooHR account.

• Click on the avatar icon in the top right of web page (one with your initials or picture on it).

• Click on “API Keys”.

• On this page click on the “Add New Key” button.

• Enter a convenient name for your API Key.

• Click “Generate Key”.

Getting Started

Page 13 of 73

Save your API token in the credential vault so that it can be used while using Meta Bot.

2.1.2 Configuration

STEP 1 (Configuring Credential in Control Room’s Credential Vault)

Passwords and other sensitive information such as API Token, Username used in automation tasks should be stored as credentials centrally in the Credential Vault.

These sensitive data items become secured (stored in CR) and can’t be accessed locally which is used by the bots when it executes in the machine.

Below are the step-by-step instructions for what needs to be done to set up the URL and API key for BambooHR in the Credential Vault.

• ‘Locker Consumer Role’ needs to be assigned to the AA user (bot runner) which ensures that the user has full access to the locker.

• Locker needs to be created with name as “BambooHR”

• Credential needs to be created with name as “BambooHRCredentials”, where the BaseUrl, APIKey and UserName needs to be saved.

Locker Name

Credentials Name Attribute Name

Value

BambooHR BambooHRCredentials Domain Domain associated with your account.

BambooHR BambooHRCredentials APIKey API key to perform basic authentication on BambooHR.

Getting Started

Page 14 of 73

• For more information on how to set up credentials in the Control Room, please visit this link on the Automation Anywhere Product Documentation portal.

STEP 2 (Configuring Parameters with an internal File)

Internal file can be configured at -

AA Application Path > My Tasks > Bot Store > BambooHRBot-AppPerfectCorporation > Input Folder > Input files.

Below is a table that summaries what the variable name is, what it does, and an example of the input:

GetEmployeeDirectory:

INPUT VARIABLES: NEEDS TO BE CONFIGURED BY THE USERS FOR INPUT PARAMETER

Variable Name Type Mandatory

(Yes/No) Purpose Additional Info

vOutputFilePath Text No

The path of the CSV file to which the output is to be written.

For Eg.

C:\Users\user\Documents\EmpDirectory.csv

GetEmployee:

INPUT VARIABLES: NEEDS TO BE CONFIGURED BY THE USERS FOR INPUT PARAMETER

Variable Name Type Mandatory

(Yes/No) Purpose

vEmployeeId Text Yes ID of the Employee. For Eg. 112 The special employee ID of zero (0) means to use the employee ID associated with the API key (if any).

vFields Text No A comma separated list of values. For Eg. firstName,lastName

Getting Started

Page 15 of 73

AddEmployee:

INPUT VARIABLES: NEEDS TO BE CONFIGURED BY THE USERS FOR INPUT PARAMETER

Variable Name Type Mandatory

(Yes/No) Purpose Additional Info

vFirstName Text Yes First name of the

employee. For Eg. Jane

vLastName Text Yes Last name of the

employee. For Eg. Doe

vHireDate Text No Hiring date of the

employee. Date must be in valid ISO 8601 format (YYYY-MM-DD).

vPreferredName Text No Name preferred by

the employee. For Eg. Jane

vGender Text No Gender of the

employee. Can be either “Male” or “Female”.

vJobTitle Text No Job title of the

employee. For Eg. Customer Success Advocate

vWorkPhone Text No Work phone

number of the employee.

For Eg. 789568xxxx

vDepartment Text No Department of the

employee. For Eg. Customer Success

Getting Started

Page 16 of 73

vLocation Text No Location of the

employee. For Eg. Lindon, Utah

vDivision Text No Division of the

employee. For Eg. North America

vLinkedIn Text No LinkedIn profile

URL of the employee.

For Eg. https://www.linkedin.com/in/xxxx/

vWorkPhoneExtension Text No Work phone

extension of the employee.

For Eg. 1317

BulkAddEmployee:

INPUT VARIABLES: NEEDS TO BE CONFIGURED BY THE USERS FOR INPUT PARAMETER

Variable Name Type Mandatory

(Yes/No) Purpose Additional Info

vInput Text Yes

Path to the input file

containing new

employee data or JSON Array for the

same.

This can be either an absolute path of CSV/Excel file or JSON Array.

Case 1: Input is a CSV/Excel file.

Provide the complete path of the input CSV file.

For Eg.

C:\Users\user\Documents\AddEmployee.csv

CSV/Excel file may have the following headers:

1. firstName(required): First name of the new employee.

2. lastName(required): Last name of the new employee.

Getting Started

Page 17 of 73

3. hireDate: Hire date of the new employee.

4. preferredName: Preferred name of the new employee.

5. gender: Gender of the new employee.

6. jobTitle: Job title of the new employee.

7. workPhone: Work phone of the new employee.

8. department: Department of the new employee.

9. location: Location of the new employee.

10. division: Division of the new employee.

11. linkedIn: LinkedIn profile of the new employee.

12. workPhoneExtension: Work Phone extension of the new employee.

Case 2: Input is a JSON array.

For Eg.

[{ “firstName”: “John”, “lastName”: “Claire” }]

vOutputFilePath Text No

Path to the file to which the response

is to be written.

Provide the complete path of the CSV output file in which you want to save the response of the operation.

For Eg. C:\Users\Admin\Desktop\BulkAddEmpOutput.csv

UpdateEmployee:

INPUT VARIABLES: NEEDS TO BE CONFIGURED BY THE USERS FOR INPUT PARAMETER

Variable Name Type Mandatory

(Yes/No) Purpose Additional Info

vEmployeeId Text Yes Provide Id of Employee

you need to update. For Eg. 112

vFirstName Text No First name of the

employee. For Eg. Jane

Getting Started

Page 18 of 73

vLastName Text No Last name of the

employee. For Eg. Doe

vHireDate Text No Hiring date of the

employee. Date must be in valid ISO 8601 format (YYYY-MM-DD).

vPreferredName Text No Name preferred by the

employee. For Eg. Jane

vGender Text No Gender of the

employee. Can be either “Male” or “Female”.

vJobTitle Text No Job title of the

employee. For Eg. Customer Success Advocate

vWorkPhone Text No Work phone number of

the employee. For Eg. 789568xxxx

vDepartment Text No Department of the

employee. For Eg. Customer Success

vLocation Text No Location of the

employee. For Eg. Lindon, Utah

vDivision Text No Division of the

employee. For Eg. North America

Getting Started

Page 19 of 73

vLinkedIn Text No LinkedIn profile URL of

the employee. For Eg. https://www.linkedin.com/in/xxxx/

vWorkPhoneExtension Text No Work phone extension

of the employee. For Eg. 1317

BulkUpdateEmployee:

INPUT VARIABLES: NEEDS TO BE CONFIGURED BY THE USERS FOR INPUT PARAMETER

Variable Name Type Mandatory

(Yes/No) Purpose Additional Info

vInput Text Yes

Path to the input file

containing new

employee data or

JSON Array for the same.

This can be either an absolute path of CSV/Excel file or JSON Array.

Case 1: Input is a CSV/Excel file.

Provide the complete path of the input CSV file.

For Eg.

C:\Users\user\Documents\UpdateEmployee.csv

CSV/Excel file must have the following headers:

1. employeeId(required): ID of the employee whose information is to be updated.

2. firstName: Updated first name of the employee.

3. lastName: Updated last name of the employee.

4. hireDate: Hire date of the new employee.

5. preferredName: Preferred name of the new employee.

6. gender: Gender of the new employee.

7. jobTitle: Job title of the new employee.

8. workPhone: Work phone of the new employee.

9. department: Department of the new employee.

10. location: Location of the new employee.

11. division: Division of the new employee.

Getting Started

Page 20 of 73

12. linkedIn: LinkedIn profile of the new employee.

13. workPhoneExtension: Work Phone extension of the new employee.

Case 2: Input is a JSON Array.

For Eg.

[{ “employeeId”: “1”, “firstName”: “John”, “lastName”: “Claire” }]

vOutputFilePath Text No

Path to the file to which

the response is

to be written.

Provide the complete path of the CSV output file in which you want to save the response of the operation.

For Eg. C:\Users\Admin\Desktop\BulkUpdateEmpOutput.csv

GetEmployeeFile:

INPUT VARIABLES: NEEDS TO BE CONFIGURED BY THE USERS FOR INPUT PARAMETER

Variable Name Type Mandatory

(Yes/No) Purpose Additional Info

vEmployeeId Text Yes

ID of the employee

whose file is required.

For Eg. 112

vFileId Text Yes ID of the file to

be obtained. For Eg. 17

vOutputFolderPath Text Yes

Path to the folder to

which the file is to be saved.

For Eg. C:\Users\Admin\Desktop

UploadEmployeeFile:

Getting Started

Page 21 of 73

INPUT VARIABLES: NEEDS TO BE CONFIGURED BY THE USERS FOR INPUT PARAMETER

Variable Name Type Mandatory

(Yes/No) Purpose Additional Info

vEmployeeId Text Yes

ID of the employee

whose file is to be added.

For Eg. 112

vCategory Text Yes The category ID to place the new file in.

For Eg. 17

vFilePath Text Yes Complete path

of the file to be uploaded.

For Eg.

C:\Users\Admin\Desktop\input.csv

vFileName Text No

The file name to associate with the file on BambooHR.

In absence of this parameter, the file name of the original file will be used.

For Eg. File.csv

vShare Text No

Whether to make the file available to the employee.

Possible values: "yes", "no".

By default, the value is “no”.

BulkUploadEmployeeFile:

INPUT VARIABLES: NEEDS TO BE CONFIGURED BY THE USERS FOR INPUT PARAMETER

Variable Name Type Mandatory

(Yes/No) Purpose Additional Info

vInput Text Yes

Path to the input

file containing required details or

JSON Array for the same.

This can be either an absolute path of CSV/Excel file or JSON Array.

Case 1: Input is a CSV/Excel file.

Provide the complete path of the input CSV file.

For Eg.

C:\Users\user\Documents\UploadEmployeeFile.csv

CSV/Excel file should have the following headers:

Getting Started

Page 22 of 73

1. employeeId(required): Employee ID whose file is to be uploaded.

2. category(required): The category ID to place the new file in.

3. filePath(required): Complete path of the file to be uploaded.

4. fileName(optional): The file name to associate with the file on BambooHR. In absence of this parameter, the file name of the original file will be used.

5. share(optional): Whether this file is to be shared with the employee or not. By default, the value is “no”.

Case 2: Input is a JSON Array.

For Eg.

[{

“employeeId”: “112”, “category”: “17”, “filePath”: “C:\Users\User\Desktop\file.csv”, “filename”: “newfile.csv”, “share”: “yes”

}]

vOutputFilePath Text No

Path to the file to which the response is to be written.

Provide the complete path of the CSV output file in which you want to save the response of the operation.

For Eg. C:\Users\Admin\Desktop\BulkUploadEmpFileOutput.csv

ListEmployeeFilesAndCategories:

INPUT VARIABLES: NEEDS TO BE CONFIGURED BY THE USERS FOR INPUT PARAMETER

Variable Name Type Mandatory

(Yes/No) Purpose Additional Info

vEmployeeId Text Yes

ID of the employee

whose files are to be listed.

For Eg. 112

Getting Started

Page 23 of 73

vGetFilesOnly Text Yes

Whether to list information regarding all

files instead of categories.

Values can be “true” or “false”.

vExtension Text No The extension of files to be

fetched.

Valid only when vGetOnlyFiles is “true”. Acts as a filter for list of files.

For Eg. Csv, pdf, txt,etc.

vDateCreated Text No

Files are fetched

created on or after this date.

Valid only when vGetOnlyFiles is “true”. Acts as a filter for list of files.

It should be in YYYY-MM-DD format.

vCreatedBy Text No Creator whose files are to be

fetched

Valid only when vGetOnlyFiles is “true”. Acts as a filter for list of files.

For Eg. Jane Doe

vName Text No Name of the

file to be fetched

Valid only when vGetOnlyFiles is “true”. Acts as a filter for list of files.

For Eg. File.txt

vCategory Text No Category

whose files are to be fetched

Valid only when vGetOnlyFiles is “true”. Acts as a filter for list of files.

For Eg. Resumes and Applications

vOutputFilePath Text No

Path to the file to which the

response is to be written.

For Eg. C:\Users\Administrator\Desktop\output.csv

Getting Started

Page 24 of 73

UpdateEmployeeFile:

INPUT VARIABLES: NEEDS TO BE CONFIGURED BY THE USERS FOR INPUT PARAMETER

Variable Name Type Mandatory

(Yes/No) Purpose

vEmployeeId Text Yes ID of the employee whose file is to be updated.

For Eg. 112

vFileId Text Yes ID of the file to be updated.

For Eg. 17

vName Text No New name of the file to be updated.

For Eg. newname

vCategoryId Text No New categoryId of the file to be updated.

For Eg. 17

vShareWithEmployee Text No Whether the file can be shared with the employee or not.

Possible Values: “yes” or “no”

Getting Started

Page 25 of 73

BulkUpdateEmployeeFile:

INPUT VARIABLES: NEEDS TO BE CONFIGURED BY THE USERS FOR INPUT PARAMETER

Variable Name Type Mandatory

(Yes/No) Purpose Additional Info

vInput Text Yes

Path to the input file

containing updated file

attribute values or

JSON Array for the same.

This can be either an absolute path of CSV/Excel file or JSON Array.

Case 1: Input is a CSV/Excel file.

Provide the complete path of the input CSV file.

For example:

C:\Users\user\Documents\UpdateEmployeeFile.csv

CSV/Excel file must have the following headers:

1. employeeId (required): Employee ID of employee whose file is to be updated.

2. fileId(required): ID of the file that is to be updated.

3. name(optional): Name of the file to be updated.

4. categoryId(optional): Updated category of the file to be updated.

5. shareWithEmployee(optional): Updated shareability status of the file to be updated.

Case 2: Input is a JSON array.

For Eg.

[{“employeeId”: “112” , “fileId”: “17” , “name”: “filename.txt”, “categoryId”: “12”, “shareWithEmployee: “no” }]

vOutputFilePath Text No

Path to the file to which the response

is to be written.

For Eg. C:\Users\Administrator\Desktop\UpdateEmpFile.csv

Getting Started

Page 26 of 73

BulkDeleteEmployeeFile:

INPUT VARIABLES: NEEDS TO BE CONFIGURED BY THE USERS FOR INPUT PARAMETER

Variable Name Type Mandatory

(Yes/No) Purpose Additional Info

vInput Text Yes

Path to the input file

containing required details or

JSON Array for the same.

This can be either an absolute path of CSV/Excel file or JSON Array.

Case 1: Input is a CSV/Excel file.

Provide the complete path of the input CSV file.

For Eg.

C:\Users\user\Documents\DeleteEmployeeFile.csv

CSV/Excel file must have the following headers:

1. employeeId (required): Employee ID of employee whose file is to be deleted.

2. fileId(required): ID of the file that is to be deleted.

Case 2: Input is a JSON array.

For Eg.

[{ “employeeId”: “112”, “fileId”: “17”}]

vOutputFilePath Text No

Path to the file to which the response

is to be written.

Provide the complete path of the CSV output file in which you want to save the response of the operation.

For Eg. C:\Users\Administrator\Desktop\DeleteFile.csv

Getting Started

Page 27 of 73

DeleteEmployeeFile:

INPUT VARIABLES: NEEDS TO BE CONFIGURED BY THE USERS FOR INPUT PARAMETER

Variable Name Type Mandatory

(Yes/No) Purpose

vEmployeeId Text Yes ID of the employee whose file is to be deleted.

For Eg. 112

vFileId Text Yes ID of the file to be deleted.

For Eg. 17

GetCompanyReport:

INPUT VARIABLES: NEEDS TO BE CONFIGURED BY THE USERS FOR INPUT PARAMETER

Variable Name Type Mandatory

(Yes/No) Purpose Additional Info

vReportId Text Yes ID of the report to be

fetched. For Eg. 1846

vFd Text No

yes = apply standard duplicate field filtering,

no = return the raw results with no duplicate

filtering.

Default value is "yes".

vOutputFilePath Text No Path of the file to which

the response is to be written.

For Eg. C:\Users\Administrator\Desktop\Comp

anyReport.csv

Getting Started

Page 28 of 73

GetCustomReport:

INPUT VARIABLES: NEEDS TO BE CONFIGURED BY THE USERS FOR INPUT PARAMETER

Variable Name Type Mandatory

(Yes/No) Purpose

vTitle Text No Title of the report.

For Eg. New Report

vIncludeNull Text No To hide null change dates set includeNull="no".

Possible Values: yes or no

vValue Text No

Provide a date in ISO 8601 format and the report will only include those employees whose records have changed since

that time. For Eg. 2012-10-17T16:00:00Z

vFields Text Yes A comma separated list of fields that needs to be included in the

report. For Eg. firstName,lastName,hireDate

vOutputFilePath Text No

Provide the complete path of the CSV output file in which you want to save the response of the operation.

For Eg. C:\Users\Administrator\Desktop\CustomReport.csv

ListUsers:

INPUT VARIABLES: NEEDS TO BE CONFIGURED BY THE USERS FOR INPUT PARAMETER

Variable Name Type Mandatory

(Yes/No) Purpose Additional Info

vOutputFilePath Text No

Path of the file to which the

response is to be written.

For Eg. C:\Users\Administrator\Desktop\UserList.csv

Getting Started

Page 29 of 73

GetCompanyFile:

INPUT VARIABLES: NEEDS TO BE CONFIGURED BY THE USERS FOR INPUT PARAMETER

Variable Name Type Mandatory

(Yes/No) Purpose Additional Info

vFileId Text Yes ID of the file to

be obtained. For Eg. 17

vOutputFolderPath Text Yes

Path to the folder to

which the file is to be saved.

For Eg. C:\Users\Administrator\Desktop

UploadCompanyFile:

INPUT VARIABLES: NEEDS TO BE CONFIGURED BY THE USERS FOR INPUT PARAMETER

Variable Name Type Mandatory

(Yes/No) Purpose Additional Info

vCategory Text Yes The category ID to place the new file in.

For Eg. 17

vFilePath Text Yes Path of the file

to be uploaded.

For Eg. C:\Users\User\Desktop\file.doc

vFileName Text No The file name to associate with the file.

In absence of this parameter, the file name of the original file will be used.

For Eg. File.csv

vShare Text No

Whether to make the file available to the employees.

Possible values: "yes", "no".

By default, the value is “no”.

Getting Started

Page 30 of 73

BulkUploadCompanyFile:

INPUT VARIABLES: NEEDS TO BE CONFIGURED BY THE USERS FOR INPUT PARAMETER

Variable Name Type Mandatory

(Yes/No) Purpose Additional Info

vInput Text Yes

Path to the input

file containing required details or

JSON Array for the same.

This can be either an absolute path of CSV/Excel file or JSON Array.

Case 1: Input is a CSV/Excel file.

Provide the complete path of the input CSV file.

For Eg.

C:\Users\user\Documents\UploadCompanyFile.csv

CSV/Excel file should have the following headers:

1. category(required): The category ID to place the new file in.

2. filePath(required): Path of the file to be uploaded.

3. fileName(optional): The file name to associate with the file on BambooHR. In absence of this parameter, the file name of the original file will be used.

4. share(optional): Whether this file is to be shared with the employees or not. By default, the value is “no”.

Case 2: Input is a JSON Array.

For Eg.

[{ “category”: “17”, “filePath”: “C:\Users\User\Desktop\file.doc”, “filename”: “newfile.doc”, “share”: “yes”

}]

vOutputFilePath Text No

Path to the file to which the response is to be written.

Provide the complete path of the CSV output file in which you want to save the response of the operation.

For Eg. C:\Users\Admin\Desktop\BulkUploadFileOutput.csv

Getting Started

Page 31 of 73

ListCompanyFilesAndCategories:

INPUT VARIABLES: NEEDS TO BE CONFIGURED BY THE USERS FOR INPUT PARAMETER

Variable Name Type Mandatory

(Yes/No) Purpose Additional Info

vGetFilesOnly Text Yes

Whether to list

information regarding all files instead

of categories.

Values can be “true” or “false”.

vExtension Text No

The extension of

files to be fetched.

Valid only when vGetOnlyFiles is “true”. Acts as a filter for list of files.

For Eg. Csv, pdf, txt,etc.

vDateCreated Text No

Files are fetched

created on or after this

date.

Valid only when vGetOnlyFiles is “true”. Acts as a filter for list of files.

It should be in YYYY-MM-DD format.

vCreatedBy Text No

Creator whose files

are to be fetched

Valid only when vGetOnlyFiles is “true”. Acts as a filter for list of files.

For Eg. Jane Doe

vName Text No Name of the

file to be fetched

Valid only when vGetOnlyFiles is “true”. Acts as a filter for list of files.

For Eg. File.txt

vCategory Text No

Category whose files

are to be fetched

Valid only when vGetOnlyFiles is “true”. Acts as a filter for list of files.

For Eg. Company Files

vOutputFilePath Text No

Path to the file to which the response

is to be written.

For Eg. C:\Users\Administrator\Desktop\output.csv

Getting Started

Page 32 of 73

BulkDeleteCompanyFile:

INPUT VARIABLES: NEEDS TO BE CONFIGURED BY THE USERS FOR INPUT PARAMETER

Variable Name Type Mandatory

(Yes/No) Purpose Additional Info

vInput Text Yes

Path to the input file

containing details or

JSON Array for the same.

This can be either an absolute path of CSV/Excel file or JSON Array.

Case 1: Input is a CSV/Excel file.

Provide the complete path of the input CSV file.

For Eg.

C:\Users\user\Documents\DeleteCompanyFile.csv

CSV/Excel file must have the following headers:

1. fileId(required): ID of the file that is to be deleted.

Case 2: Input is a JSON array.

For Eg.

[{“fileId”: “17”}, {“fileId”: “18”}]

vOutputFilePath Text No

Path to the file to which the response

is to be written.

Provide the complete path of the CSV output file in which you want to save the response of the operation.

For Eg. C:\Users\Administrator\Desktop\DeleteFile.csv

Getting Started

Page 33 of 73

DeleteCompanyFile:

INPUT VARIABLES: NEEDS TO BE CONFIGURED BY THE USERS FOR INPUT PARAMETER

Variable Name Type Mandatory

(Yes/No) Purpose

vFileId Text Yes ID of the file to be deleted.

For Eg. 17

ListEmployeeDependents:

INPUT VARIABLES: NEEDS TO BE CONFIGURED BY THE USERS FOR INPUT PARAMETER

Variable Name Type Mandatory

(Yes/No) Purpose Additional Info

vEmployeeId Text Yes

ID of the employee

whose dependents

are to be fetched.

For Eg. 112

vOutputFilePath Text No

Path to the file to

which the response is

to be written.

For Eg. C:\Users\Administrator\Desktop\EmpDependents.csv

GetBenefitCoverages:

INPUT VARIABLES: NEEDS TO BE CONFIGURED BY THE USERS FOR INPUT PARAMETER

Variable Name Type Mandatory

(Yes/No) Purpose Additional Info

vOutputFilePath Text No

Path to the file to

which the response is

to be written.

For Eg. C:\Users\Administrator\Desktop\BenefitCoverages.csv

Getting Started

Page 34 of 73

GetBenefitPlan:

INPUT VARIABLES: NEEDS TO BE CONFIGURED BY THE USERS FOR INPUT PARAMETER

Variable Name Type Mandatory

(Yes/No) Purpose Additional Info

vBenefitPlanId Text Yes ID of the

benefit plan to be fetched.

For Eg. 7

ListBenefitPlans:

INPUT VARIABLES: NEEDS TO BE CONFIGURED BY THE USERS FOR INPUT PARAMETER

Variable Name Type Mandatory

(Yes/No) Purpose Additional Info

vOutputFilePath Text No

Path to the file to which the

response is to be written.

Provide the complete path of the CSV output file in which you want to save the response of the

operation.

For Eg. C:\Users\Administrator\Desktop\BenefitPlans.csv

AddEmployeeDefaultWithholding:

INPUT VARIABLES: NEEDS TO BE CONFIGURED BY THE USERS FOR INPUT PARAMETER

Variable Name Type Mandatory

(Yes/No) Purpose

vEmployeeId Text Yes ID of the employee for whom the withholding is to be added.

For Eg. 112

vFedWithholding Text No Federal Withholding

For Eg. 4

vStateWithholding Text No State Withholding

For Eg. 4

Getting Started

Page 35 of 73

vLocalWithholding Text No Local Withholding

For Eg. 0

vAdditionalFed Text No Additional Federal Withholding

For Eg. 0

vAdditionalState Text No Additional State Withholding

For Eg. 0

vAdditionalLocal Text No Additional Local Withholding

For Eg. 0

vTaxState Text No State tax

For Eg. UT

vTaxLocal Text No Local tax

BulkAddEmployeeDefaultWithholding:

INPUT VARIABLES: NEEDS TO BE CONFIGURED BY THE USERS FOR INPUT PARAMETER

Variable Name Type Mandatory

(Yes/No) Purpose Additional Info

vInput Text Yes

Path to the input file

containing withholding data or

JSON Array for the same.

This can be either an absolute path of CSV/Excel file or JSON Array.

Case 1: Input is a CSV/Excel file Provide the complete path of the input CSV file. For Eg. C:\Users\Admin\Desktop\AddEmpDefaultWithholding.csv

Getting Started

Page 36 of 73

CSV file may have the following headers:

1. employeeId(required): ID of the employee for whom the withholding is to be added.

2. fedWithholding(optional): Federal withholding.

3. stateWithholding(optional): State withholding.

4. localWithholding(optional): Local withholding.

5. additionalFed(optional): Additional federal withholding.

6. additionalState(optional): Additional state withholding.

7. additionalLocal(optional): Additional local withholding.

8. taxState(optional): Additional state tax.

9. taxLocal(optional): Additional local tax.

Case 2: Input is a JSON Array

For example:

[{

"fedWithholding": 4,

"stateWithholding": 4,

"localWithholding": "0",

"additionalFed": "0",

"additionalState": "0",

"additionalLocal": "0",

"taxState": "UT",

"taxLocal": ""

}]

vOutputFilePath Text No

Path to the file to

which the response is

to be written.

Provide the complete path of the CSV output file in which you want to save the response of the operation.

For Eg. C:\Users\Admin\Desktop\AddedEmpWithholding.csv

Getting Started

Page 37 of 73

GetEmployeeDefaultWithholdings:

INPUT VARIABLES: NEEDS TO BE CONFIGURED BY THE USERS FOR INPUT PARAMETER

Variable Name Type Mandatory

(Yes/No) Purpose Additional Info

vEmployeeId Text Yes

ID of the employee whose withholding is to

be fetched.

For Eg. 112

vOutputFilePath Text No

Path to the file to which the

response is to be written.

For Eg. C:\Users\Admin\Desktop\EmpWithholdings.csv

GetEmployeeUnpaidPayStubs:

INPUT VARIABLES: NEEDS TO BE CONFIGURED BY THE USERS FOR INPUT PARAMETER

Variable Name Type Mandatory

(Yes/No) Purpose Additional Info

vEmployeeId Text Yes

ID of the employee whose unpaid pay

stubs are to be fetched.

For Eg. 112

vOutputFilePath Text No

Absolute file path where the output of

the logic is to be saved.

For Eg. C:\Users\Administrator\Desktop\output.csv

Getting Started

Page 38 of 73

BulkClearEmployeeUnpaidPayStubs:

INPUT VARIABLES: NEEDS TO BE CONFIGURED BY THE USERS FOR INPUT PARAMETER

Variable Name Type Mandatory

(Yes/No) Purpose Additional Info

vInput Text Yes

Path to the input file

containing details or

JSON Array for the same.

This can be either an absolute path of CSV/Excel file or JSON Array.

Case 1: Input is a CSV/Excel file.

Provide the complete path of the input CSV file.

For Eg.

C:\Users\user\Documents\ClearEmployeePaystubs.csv

CSV/Excel file must have the following headers:

1. employeeId (required): Employee ID of employee whose file is to be deleted.

Case 2: Input is a JSON array.

For Eg.

[ {“employeeId”: “112”}, {“employeeId”: “114”} ]

vOutputFilePath Text No

Path to the file to

which the response is

to be written.

Provide the complete path of the CSV output file in which you want to save the response of the operation.

For Eg. C:\Users\user\Documents\ClearEmployeePaystubs.csv

ClearEmployeeUnpaidPayStubs:

INPUT VARIABLES: NEEDS TO BE CONFIGURED BY THE USERS FOR INPUT PARAMETER

Variable Name Type Mandatory

(Yes/No) Purpose

vEmployeeId Text Yes ID of the employee whose unpaid pay stubs are to be deleted.

For Eg. 112

Getting Started

Page 39 of 73

GetEmployeePayStub:

INPUT VARIABLES: NEEDS TO BE CONFIGURED BY THE USERS FOR INPUT PARAMETER

Variable Name Type Mandatory

(Yes/No) Purpose

vRecordId Text Yes ID of the pay stub record that is to be fetched.

For Eg. 10

BulkAddEmployeePayStub:

INPUT VARIABLES: NEEDS TO BE CONFIGURED BY THE USERS FOR INPUT PARAMETER

Variable Name Type Mandatory

(Yes/No) Purpose Additional Info

vInput Text Yes

Path to the input file

containing pay stub data or JSON

Object for the same.

This can be either an absolute path of CSV/Excel file or JSON Array.

Case 1: Input is a CSV/Excel file Provide the complete path of the input CSV file. For E.g. -C:\Users\Administrator\Desktop\BulkCreateFork.csv.

CSV file may include the following headers:

1. employeeId(required): ID of the employee whose pay stub is to be added.

2. externalRecordId(required): External record ID.

3. payPeriodFrom(required): Starting of pay period.

4. payPeriodTo(required): End of pay period.

5. payDate(required): Pay Date.

6. payorName(required): Name of the payor.

7. payeeName(required): Name of the payee.

8. currencyCode(required): Currency code.

9. net(required): Net amount.

10. gross(required): Gross amount.

11. totalTaxes(required): Total taxes.

12. totalDeductions(required): Total deductions.

13. ytdNet(required): Year to date net amount.

14. ytdGross(required): Year to date gross.

Getting Started

Page 40 of 73

15. ytdTaxes(required): Year to date taxes.

16. ytdDeductions(required): Year to date deductions.

17. fedWithholding(optional): Federal withholding.

18. stateWithholding(optional): State withholding.

19. localWithholding(optional): Local withholding.

20. additionalFed(optional): Additional federal withholding.

21. additionalState(optional): Additional state withholding.

22. additionalLocal(optional): Additional local withholding.

23. federalType(optional): Federal type.

24. twoJobs(optional): Does the employee have two jobs.

25. dependentsAmount(optional): Dependents amount.

26. otherIncome(optional): Other income amount.

27. deductionsAmount(optional): Deductions amount.

28. wages(optional): Refer to “AddEmployeePayStub”.

29. taxes(optional): Refer to “AddEmployeePayStub”.

30. deductions(optional): Refer to “AddEmployeePayStub”.

31. deposits(optional): Refer to “AddEmployeePayStub”.

Case 2: Input is a JSON Array

For example:

[ { "employeeId": 1234, "externalRecordId": "B45381984", "payPeriodFrom": "2015-08-16", "payPeriodTo": "2015-08-31", "payDate": "2015-09-05",

Getting Started

Page 41 of 73

"payorName": "BambooHR", "payorAdd1": "333 South 520 West", "payorAdd2": "Suite 200", "payorCity": "Lindon", "payorState": "UT", "payorZip": "84042-1911", "payeeName": "Robert M. Binetti", "currencyCode": "USD", "net": 3272.50, "gross": 5000.50, "totalTaxes": 795.12, "totalDeductions": 932.38, "ytdNet": 55632.50, "ytdGross": 85000.50, "ytdTaxes": 13517.04, "ytdDeductions": 15850.46, "fedWithholding": 4, "stateWithholding": 4, "localWithholding": null, "additionalFed": null, "additionalState": null, "additionalLocal": null, "taxState": "UT", "taxLocal": null, "federalType": "2020_w4", "twoJobs": "true", "dependentsAmount": "6000.00", "otherIncome": "100.00", "deductionsAmount": "2.50", "wages": [ { "externalWageId": "BASE", "wageDescription": "Salary", "wageAmount": 5000.00, "ytdWageAmount": 85000.00, "wageRate": 0.0, "hours": 0.0 } ], "taxes": [ { "externalTaxId": "FED", "taxDescription": "Federal Income Tax", "taxAmount": 278.93, "ytdTaxAmount": 4741.81 }, {

Getting Started

Page 42 of 73

"externalTaxId": "SS", "taxDescription": "Social Security", "taxAmount": 306.25, "ytdTaxAmount": 5206.25 }, { "externalTaxId": "MEDI", "taxDescription": "Medicaid", "taxAmount": 9.94, "ytdTaxAmount": 168.98 }, { "externalTaxId": "STATE-UT", "taxDescription": "Utah State Income Tax", "taxAmount": 200.00, "ytdTaxAmount": 3400.00 } ], "deductions": [ { "externalDeductionId": "MED-UHC-BASE-PPO", "deductionDescription": "Medical - UHC Traditional", "deductionAmount": 217.24, "ytdDeductionAmount": 3693.08 }, { "externalDeductionId": "DENTAL-VALUE", "deductionDescription": "Dental - Delta Value", "deductionAmount": 47.25, "ytdDeductionAmount": 803.25 }, { "externalDeductionId": "401K", "deductionDescription": "401(k)", "deductionAmount": 667.89, "ytdDeductionAmount": 11354.13 } ], "deposits": [ { "depositOrder": "1", "depositAmount": 2272.50, "maskedAccountNumber": "X-8601", "accountType": "checking" },

Getting Started

Page 43 of 73

{ "depositOrder": "2", "depositAmount": 1000.00, "maskedAccountNumber": "X-7124", "accountType": "savings" } ] } ]

vOutputFilePath Text No

Path to the file to

which the response is

to be written.

Provide the complete path of the CSV output file in which you want to save the response of the operation. For Eg. C:\Users\Administrator\Desktop\AddEmpPayStub.csv

AddEmployeePayStub:

INPUT VARIABLES: NEEDS TO BE CONFIGURED BY THE USERS FOR INPUT PARAMETER

Variable Name Type Mandatory

(Yes/No) Purpose

vEmployeeId Text Yes ID of the employee.

For Eg. 112

vExternalRecordId Text Yes Path to the file to which the response is to be written.

For Eg. B45381984

vPayPeriodFrom Text Yes Start date of pay period.

For Eg. 2015-08-16

vPayPeriodTo Text Yes End date of pay period.

For Eg. 2015-08-31

Getting Started

Page 44 of 73

vPayDate Text Yes Date of payment.

For Eg. 2015-09-05

vPayorName Text Yes Name of the payor.

For Eg. BambooHR

vPayorAddress1 Text No Address of the payor.

For Eg. 333 South 520 West

vPayorAddress2 Text No Alternate address of the payor.

For Eg. Suite 200

vPayorCity Text No City the payor stays in.

For Eg. London

vPayorState Text No State the payor stays in.

For Eg. UT

vPayorZip Text No Zip code of the payor’s address.

For Eg. 840421911

vPayeeName Text Yes Name of the payee.

For Eg. Robert M.

vCurrencyCode Text Yes Currency code for the payment.

For Eg. USD

Getting Started

Page 45 of 73

vNet Text Yes Net amount

For Eg. 3272.50

vGross Text Yes Gross amount.

For Eg. 5000.50

vTotalTaxes Text Yes Total taxes.

For Eg. 795.12

vTotalDeductions Text Yes Total deductions.

For Eg. 932.38

vYtdNet Text Yes Year to date net amount.

For Eg. 55632.50

vYtdGross Text Yes Year to date gross.

For Eg. 85000.50

vYtdTaxes Text Yes Year to date taxes

For Eg. 13517.25

vYtdDeductions Text Yes Year to date deductions.

For eg. 15850.14

vFedWithholding Text No Federal withholding.

For Eg. 4

Getting Started

Page 46 of 73

vStateWithholding Text No State withholding.

For Eg. 4

vLocalWithholding Text No Local withholding.

For Eg. 4

vAdditionalFed Text No Additional Federal Witholding.

For Eg. 4

vAdditionalState Text No Additional State Witholding.

For Eg. 4

vAdditionalLocal Text No Additional Local Witholding.

For Eg. 4

vTaxState Text No State taxes.

For Eg. UT

vTaxLocal Text No Local taxes.

For Eg. London

vFederalType Text No Federal Type.

For Eg. 2020_w4

vTwoJobs Text No Does the payee have two jobs?

Values can be “true” or “false”

Getting Started

Page 47 of 73

vDependentsAmount Text No Amount for dependents.

For Eg. 6000.00

vOtherIncome Text No Income from other sources.

For Eg. 100.00

vDeductionsAmount Text No Amount of deductions.

For Eg. 2.50

vWages Text No

This can be either an absolute path of CSV/Excel file or JSON Array.

Case 1: Input is a CSV/Excel file.

Provide the complete path of the input CSV file.

For Eg. C:\Users\user\Documents\Wages.csv

CSV/Excel file must have the following headers:

1. externalWageId

2. wageDescription

3. wageAmount

4. ytdWageAmount

5. wageRate

6. hours

Case 2: Input is a JSON array.

For Eg.

[ { "externalWageId": "BASE", "wageDescription": "Salary", "wageAmount": 5000.00, "ytdWageAmount": 85000.00, "wageRate": 0.0, "hours": 0.0 }

]

Getting Started

Page 48 of 73

vTaxes Text No

This can be either an absolute path of CSV/Excel file or JSON Array.

Case 1: Input is a CSV/Excel file.

Provide the complete path of the input CSV file.

For Eg.

C:\Users\user\Documents\taxes.csv

CSV/Excel file must have the following headers:

1. externalTaxId

2. taxDescription

3. taxAmount

4. ytdTaxAmount

Case 2: Input is a JSON array.

For Eg.

[ { "externalTaxId": "FED", "taxDescription": "Federal Income Tax", "taxAmount": 278.93, "ytdTaxAmount": 4741.81 }, { "externalTaxId": "SS", "taxDescription": "Social Security", "taxAmount": 306.25, "ytdTaxAmount": 5206.25

}

]

vDeductions Text No

This can be either an absolute path of CSV/Excel file or JSON Array.

Case 1: Input is a CSV/Excel file.

Provide the complete path of the input CSV file.

For Eg.

C:\Users\user\Documents\deductions.csv

CSV/Excel file must have the following headers:

1. externalDeductionId

Getting Started

Page 49 of 73

2. deductionDescription

3. deductionAmount

4. ytdDeductionAmount

Case 2: Input is a JSON array.

For Eg.

[ { "externalDeductionId": "MED-UHC-BASE-PPO", "deductionDescription": "Medical - UHC Traditional", "deductionAmount": 217.24, "ytdDeductionAmount": 3693.08 }, { "externalDeductionId": "DENTAL-VALUE", "deductionDescription": "Dental - Delta Value", "deductionAmount": 47.25, "ytdDeductionAmount": 803.25

}

]

vDeposits Text No

This can be either an absolute path of CSV/Excel file or JSON Array.

Case 1: Input is a CSV/Excel file.

Provide the complete path of the input CSV file.

For Eg.

C:\Users\user\Documents\deposits.csv

CSV/Excel file must have the following headers:

1. depositOrder

2. depositAmount

3. maskedAccountNumber

4. accountType

Case 2: Input is a JSON array.

For Eg.

[ { "depositOrder": "1",

Getting Started

Page 50 of 73

"depositAmount": 2272.50, "maskedAccountNumber": "X-8601", "accountType": "checking" }, { "depositOrder": "2", "depositAmount": 1000.00, "maskedAccountNumber": "X-7124", "accountType": "savings" }

]

BulkDeleteEmployeePayStub:

INPUT VARIABLES: NEEDS TO BE CONFIGURED BY THE USERS FOR INPUT PARAMETER

Variable Name Type Mandatory

(Yes/No) Purpose Additional Info

vInput Text Yes

Path to the input

file containing details or

JSON Array for the same.

This can be either an absolute path of CSV/Excel file or JSON Array.

Case 1: Input is a CSV/Excel file.

Provide the complete path of the input CSV file.

For Eg.

C:\Users\user\Documents\DeleteEmployeePaystubs.csv

CSV/Excel file must have the following headers:

1. recordId (required): Record ID that is to be deleted.

Case 2: Input is a JSON array.

For Eg.

[ {“recordId”: “112”}, {“ recordId”: “114”} ]

vOutputFilePath Text No

Path to the file to which the response is to be written.

Provide the complete path of the CSV output file in which you want to save the response of the operation.

For Eg. C:\Users\user\Documents\DeleteEmployeePaystubs.csv

Getting Started

Page 51 of 73

DeleteEmployeePayStub:

INPUT VARIABLES: NEEDS TO BE CONFIGURED BY THE USERS FOR INPUT PARAMETER

Variable Name Type Mandatory

(Yes/No) Purpose

vRecordId Text Yes ID of the pay stub record that is to be deleted.

For Eg. 1845

GetTimeOffTypes:

INPUT VARIABLES: NEEDS TO BE CONFIGURED BY THE USERS FOR INPUT PARAMETER

Variable Name Type Mandatory

(Yes/No) Purpose Additional Info

vMode Text No Mode of request.

Set to 'request' to get a list of all time off types with which this user can create a time off request. The

default is to return the list of time off types the user has permissions on. This distinction is important, as employees can request time off for types that they

don't have permission to view balances and requests for.

vOutputFilePath Text No

Absolute file path where

the output of the logic is to

be saved.

For Eg. C:\Users\Administrator\Desktop\TimeoffTypes.csv

Getting Started

Page 52 of 73

GetTimeOffRequests:

INPUT VARIABLES: NEEDS TO BE CONFIGURED BY THE USERS FOR INPUT PARAMETER

Variable Name Type Mandatory

(Yes/No) Purpose

vRequestId Text No A particular request ID to limit the response to.

For Eg. 1343

vAction Text No Limit to requests that the user has a particular level of access to. Legal values are: "view" or "approve". Defaults to “view”.

vEmployeeId Text No A particular employee ID to limit the response to. For Eg. 112

vStartDate Text Yes YYYY-MM-DD. Only show time off that occurs on/after the specified start date.

vEndDate Text Yes YYYY-MM-DD. Only show time off that occurs on/before the specified end date.

vType Text No A comma separated list of time off types IDs to include limit the response to. If omitted, requests of all types are included. For Eg. 1,2,3

vStatus Text No

A comma separated list of request status values to include. If omitted, requests of all status values are included. Legal values are "approved", "denied", "superceded", "requested", "canceled".

Getting Started

Page 53 of 73

vOutputFilePath Text No Absolute file path where the output of the logic is to be saved.

For Eg. C:\Users\Administrator\Desktop\TimeoffRequests.csv

BulkAddTimeOffRequest:

INPUT VARIABLES: NEEDS TO BE CONFIGURED BY THE USERS FOR INPUT PARAMETER

Variable Name Type Mandatory

(Yes/No) Purpose Additional Info

vInput Text Yes

Path to the input

file containing required details or

JSON Array for the same.

This can be either an absolute path of CSV/Excel file or JSON Array.

Case 1: Input is a CSV/Excel file.

Provide the complete path of the input CSV file.

For Eg.

C:\Users\user\Documents\AddTimeOffRequest.csv

CSV/Excel file should have the following headers:

1. employeeId(required): ID of the employee for whom the time-off is being requested.

2. status(required): Status of the time-off request. Possible Values: “approved”, “denied”, “requested”.

3. start(required): Starting date of the time-off. It should be in the format YYYY-MM-DD.

4. end(required): Ending date of the time-off. It should be in the format YYYY-MM-DD.

5. timeOffTypeId (required): ID of the time-off type.

6. notes (optional): Path of a CSV/ Excel file or JSON Array.

i) In case of file, it should have the following headers:

a.) from (required)

b.) note (required)

ii) Example of JSON Array:

[ { "from": "employee", "note": "Having wisdom teeth removed." }, { "from": "manager",

Getting Started

Page 54 of 73

"note": "Get well soon" }

]

7. dates (optional): Path of a CSV/ Excel file or JSON Array.

i) In case of file, it should have the following headers:

a.) ymd (required)

b.) amount (required)

ii) Example of JSON Array:

[ { "ymd": "2011-10-01", "amount": "8" }, { "ymd": "2011-10-02", "amount": "4" }

]

8. previousRequest (optional): If you supply the this parameter with a valid "time off request ID" then the original request will be cancelled, and the new request will be marked as its successor. This allows you to change a request that has already been approved. A request can be changed any time before the start date of the time off. The new request must list the same employee ID as the original request.

Case 2: Input is a JSON Array.

For Eg.

[ { "status": "approved", "start": "2011-10-01", "end": "2011-10-02", "timeOffTypeId": "1", "amount": "12", "notes": [ { "from": "employee", "note": "Having wisdom teeth removed." }, {

Getting Started

Page 55 of 73

"from": "manager", "note": "Get well soon" } ], "dates": [ { "ymd": "2011-10-01", "amount": "8" }, { "ymd": "2011-10-02", "amount": "4" } ], "previousRequest": "10" } ]

vOutputFilePath Text No

Path to the file to which the response is to be written.

Provide the complete path of the CSV output file in which you want to save the response of the operation.

For E.g. - C:\Users\Administrator\Desktop\AddTimeoffRequest.csv

AddTimeOffRequest:

INPUT VARIABLES: NEEDS TO BE CONFIGURED BY THE USERS FOR INPUT PARAMETER

Variable Name Type Mandatory

(Yes/No) Purpose

vEmployeeId Text Yes ID of the employee for whom the time-off is being requested.

vStatus Text Yes Status of the time-off request.

Possible Values: “approved”, “denied”, “requested”.

vStart Text Yes Starting date of the time-off.

It should be in the format YYYY-MM-DD.

Getting Started

Page 56 of 73

vEnd Text Yes Ending date of the time-off.

It should be in the format YYYY-MM-DD.

vTimeOffTypeId Text Yes ID of the time-off type.

vAmount Text No The amount is a decimal number indicating the number of

days/hours to update the employee's balance by.

vPreviousRequest Text No

If you supply the "previousRequest" parameter with a valid "time off request ID" then the original request will be cancelled, and the

new request will be marked as its successor. This allows you to change a request that has already been approved. A request can

be changed any time before the start date of the time off. The new request must list the same employee ID as the original

request.

vNotes Text No

Array of objects.

For Eg. [ { "from": "employee", "note": "Having wisdom teeth removed." }, { "from": "manager", "note": "Get well soon" }

]

vDates Text No

Array of objects.

For Eg. [ { "ymd": "2011-10-01", "amount": "8" }, { "ymd": "2011-10-02", "amount": "4" } ]

Getting Started

Page 57 of 73

BulkChangeTimeOffStatus:

INPUT VARIABLES: NEEDS TO BE CONFIGURED BY THE USERS FOR INPUT PARAMETER

Variable Name Type Mandatory

(Yes/No) Purpose Additional Info

vInput Text Yes

Path to the input

file containing required details or

JSON Array for the same.

This can be either an absolute path of CSV/Excel file or JSON Array.

Case 1: Input is a CSV/Excel file.

Provide the complete path of the input CSV file.

For Eg.

C:\Users\user\Documents\ChangeStatus.csv

CSV/Excel file should have the following headers:

1. timeOffId (required): ID of the time-off request.

2. status (required): New Status of the time-off request. Accepted status values are: "approved", "denied", "canceled".

3. note (optional): A note to attach to the change in status.

Case 2: Input is a JSON Array.

For Eg.

[{ "timeOffId": "1643", "status": "approved", "note": "Have fun!"

}]

vOutputFilePath Text No

Path to the file to which the response is to be written.

Provide the complete path of the CSV output file in which you want to save the response of the operation.

For Eg. C:\Users\Admin\Desktop\ChangeStatusOutput.csv

Getting Started

Page 58 of 73

ChangeTimeOffStatus:

INPUT VARIABLES: NEEDS TO BE CONFIGURED BY THE USERS FOR INPUT PARAMETER

Variable Name Type Mandatory

(Yes/No) Purpose Additional Info

vTimeOffId Text Yes ID of the time-

off request For Eg. 1643

vStatus Text Yes Status of the

time-off request.

Accepted status values are: "approved", "denied", "canceled".

vNote Text No

A note to attach to the

change in status.

For Eg. Have fun!

BulkAddTimeOffHistoryItem:

INPUT VARIABLES: NEEDS TO BE CONFIGURED BY THE USERS FOR INPUT PARAMETER

Variable Name Type Mandatory

(Yes/No) Purpose Additional Info

vInput Text Yes

Path to the input

file containing required details or

JSON Array for the same.

This can be either an absolute path of CSV/Excel file or JSON Array.

Case 1: Input is a CSV/Excel file.

Provide the complete path of the input CSV file.

For Eg.

C:\Users\user\Documents\AddTimeOffHistory.csv

CSV/Excel file should have the following headers:

1. employeeId (required): ID of the employee.

2. date (required): The date the request should be added in history. This will usually be the first date of the request. Should be in ISO8601 date format (YYYY-MM-DD).

3. timeOffRequestId (required): The ID of the time off request.

4. note (optional): This is an optional note to show in history.

Getting Started

Page 59 of 73

Case 2: Input is a JSON Array.

For Eg.

[{ "employeeId": "112", "date": "2019-09-06", "timeOffRequestId": 11, "note": "This time off is now recorded as history!"

}]

vOutputFilePath Text No

Path to the file to which the response is to be written.

Provide the complete path of the CSV output file in which you want to save the response of the operation.

For Eg. C:\Users\Admin\Desktop\AddTimeOffHistoryOutput.csv

AddTimeOffHistoryItem:

INPUT VARIABLES: NEEDS TO BE CONFIGURED BY THE USERS FOR INPUT PARAMETER

Variable Name Type Mandatory

(Yes/No) Purpose Additional Info

vEmployeeId Text Yes

ID of the employee for

whom the time-off

pertains to.

For Eg. 112

vDate Text Yes

The date the request should be added in history. This will usually be the first date of the request.

Should be in ISO8601 date format (YYYY-MM-DD).

vTimeOffRequestId Text Yes

The ID of the time off request.

For Eg. 1643

Getting Started

Page 60 of 73

vNote Text No

This is an optional note to show in history.

For Eg. This time off is now recorded as history!

GetUnavailablePeople:

INPUT VARIABLES: NEEDS TO BE CONFIGURED BY THE USERS FOR INPUT PARAMETER

Variable Name Type Mandatory

(Yes/No) Purpose Additional Info

vStartDate Text No Start date of the time-off

A date in the form YYYY-MM-DD - defaults to the current date.

vEndDate Text No End date of the time-off

A date in the form YYYY-MM-DD - defaults to 14 days from the start date.

vOutputFilePath Text No

Absolute file path where

the output of the logic is to

be saved.

For example: C:\Users\Admin\Desktop\UnavailablePeople.csv

GetTimeTrackingRecord:

INPUT VARIABLES: NEEDS TO BE CONFIGURED BY THE USERS FOR INPUT PARAMETER

Variable Name Type Mandatory

(Yes/No) Purpose

vTimeTrackingId Text Yes Time tracking id used to originally create the record.

For Eg. 9abf58d1-6657-11e6-b28d-0800272a335a

Getting Started

Page 61 of 73

AddTimeTrackingRecord:

INPUT VARIABLES: NEEDS TO BE CONFIGURED BY THE USERS FOR INPUT PARAMETER

Variable Name Type Mandatory

(Yes/No) Purpose Additional Info

vTimeTrackingId Text Yes A unique identifier for the record.

Use this ID to adjust or delete these hours. It can be any id you use to track the record up to 36 characters in length. (i.e. UUID).

For Eg. 9abf58d1-6657-11e6-b28d-0800272a335a

vEmployeeId Text Yes

The ID of the employee for whom the time

tracking record is to be added.

For Eg. 112

vDivisionId Text No The ID of the division for the employee.

For Eg. 17964

vDepartmentId Text No The ID of the department for the employee.

For Eg. 17939

vJobTitleId Text No The ID of the job title for the employee.

For Eg. 17924

vPayCode Text No Only necessary if the payroll provider requires a pay code.

For eg. 002455

vDateHoursWorked Text Yes The date the hours were worked.

Please use the ISO-8601 date format YYYY-MM-DD.

For Eg. 2016-08-11

vPayRate Text No The rate of pay.

Only necessary if the payroll provider requires a pay rate. For Eg. $15.00/hour should use 15.00 here.

Getting Started

Page 62 of 73

vRateType Text Yes The type of hours - regular or overtime.

Please use either "REG" or "OT" here.

vHoursWorked Text Yes The number of hours worked.

For Eg. 4.5706

vJobCode Text No A job code. For Eg. 123456

vJobData Text No

A list of up to four 20 characters max job numbers in comma delimited format with no spaces.

For Eg. 9abf58d1-6657-11e6-b,9abf58d1-6657-11e6-a

BulkAddTimeTrackingRecord:

INPUT VARIABLES: NEEDS TO BE CONFIGURED BY THE USERS FOR INPUT PARAMETER

Variable Name Type Mandatory

(Yes/No) Purpose Additional Info

vInput Text Yes

Path to the input

file containing

time tracking data or JSON

Array for the same.

This can be either an absolute path of CSV/Excel file or JSON Array.

Case 1: Input is a CSV/Excel file Provide the complete path of the input CSV file. For Eg. C:\Users\Administrator\Desktop\Input.csv.

CSV file may have the following headers:

1. employeeId(required): ID of the employee for whom the time tracking record is to be added.

2. dateHoursWorked(required): Date hours worked.

3. rateType(required): Rate type.

4. hoursWorked(required): Hours worked.

5. timeTrackingId(required): ID of the time tracking record.

Getting Started

Page 63 of 73

6. divisionId(optional): Division ID.

7. departmentId(optional): Department ID.

8. jobTitleId(optional): Job title ID.

9. payCode(optional): Pay code.

10. payRate(optional): Pay Rate.

11. jobCode(optional): Job code.

12. jobData(optional): a list of up to four 20 characters max job numbers in ‘|’ delimited format with no spaces

Case 2: Input is a JSON array

For Eg.

[{ "timeTrackingId": "9abf58d1-6657-11e6-b28d-0800272a335a", "employeeId": "40342", "divisionId": "17964", "departmentId": "17939", "jobTitleId": "17924", "payCode": "002455", "dateHoursWorked": "2016-08-11", "payRate": "27.7765", "rateType": "REG", "hoursWorked": "4.5760", "jobCode": "123456", "jobData": "9abf58d1-6657-11e6-b,9abf58d1-6657-11e6-a"

}]

vOutputFilePath Text No

Path to the file to which the response is to be written.

Provide the complete path of the CSV output file in which you want to save the response of the operation. For Eg. C:\Users\Admin\Desktop\BulkAddTimeTrackingRecord.csv

Getting Started

Page 64 of 73

BulkUpdateTimeTrackingRecord:

INPUT VARIABLES: NEEDS TO BE CONFIGURED BY THE USERS FOR INPUT PARAMETER

Variable Name Type Mandatory

(Yes/No) Purpose Additional Info

vInput Text Yes

Path to the input

file containing

time tracking

data to be added or updated (or JSON Array for

the same).

This can be either an absolute path of CSV/Excel file or JSON Array.

Case 1: Input is a CSV/Excel file Provide the complete path of the input CSV file. For Eg. C:\Users\Administrator\Desktop\input.csv.

CSV file may have the following headers:

1. employeeId(required): ID of the employee for whom the time tracking record is to be added.

2. dateHoursWorked(required): Date hours worked.

3. rateType(required): Rate type.

4. hoursWorked(required): Hours worked.

5. timeTrackingId(required): ID of the time tracking record.

6. divisionId(optional): Division ID.

7. departmentId(optional): Department ID.

8. jobTitleId(optional): Job title ID.

9. payCode(optional): Pay code.

10. payRate(optional): Pay Rate.

11. jobCode(optional): Job code.

12. jobData(optional): Job data.

Case 2: Input is a JSON Array

For Eg.

[ { "timeTrackingId": "9abf58d1-6657-11e6-b28d-0800272a335a", "employeeId": "40342", "divisionId": "17964", "departmentId": "17939", "jobTitleId": "17924", "payCode": "002455", "dateHoursWorked": "2017-04-15",

Getting Started

Page 65 of 73

"payRate": "27.7765", "rateType": "REG", "hoursWorked": "4.5760", "jobCode": "123456", "jobData": "9abf58d1-6657-11e6-b,9abf58d1-6657-11e6-a" }, { "timeTrackingId": "1010" "employeeId": "7", "dateHoursWorked": "2017-04-16", "rateType": "REG", "hoursWorked": "5.5", } ]

vOutputFilePath Text No

Path to the file to which the response is to be written.

Provide the complete path of the CSV output file in which you want to save the response of the operation. For Eg. C:\Users\Admin\Desktop\UpdateTimeTrackingRecord.csv

BulkStoreEmployeePhoto:

INPUT VARIABLES: NEEDS TO BE CONFIGURED BY THE USERS FOR INPUT PARAMETER

Variable Name Type Mandatory

(Yes/No) Purpose Additional Info

vInput Text Yes

Path to the file containing the

required employee details and

paths to their photos or

JSON Array for the same.

This can be either an absolute path of CSV/Excel file or JSON Array.

Case 1: Input is a CSV/Excel file.

Provide the complete path of the input CSV file.

For Eg.

C:\Users\user\Documents\StoreEmployeePhoto.csv

CSV/Excel file must have the following headers:

1. employeeId (required): Employee ID of employee whose photo is to be uploaded.

2. filePath(required): Complete path of the photo of the employee.

Getting Started

Page 66 of 73

Case 2: Input is a JSON array.

For Eg.

[{ “employeeId”: “112”, “filePath”: “C:\Users\user\Documents\photo.png”}]

NOTE: The photo file may not be larger than 20MB.

vOutputFilePath Text No

Path to the file to which the

response is to be written.

Provide the complete path of the CSV output file in which you want to save the response of the operation.

For Eg. C:\Users\Admin\Desktop\StoreEmployeePhoto.csv

StoreEmployeePhoto:

INPUT VARIABLES: NEEDS TO BE CONFIGURED BY THE USERS FOR INPUT PARAMETER

Variable Name Type Mandatory

(Yes/No) Purpose

vEmployeeId Text Yes ID of the employee.

For Eg. 112

vPhotoFilePath Text Yes

Complete path of the photo of the employee.

For Eg. C:\Users\user\Documents\photo.png

NOTE: The photo file may not be larger than 20MB.

JsonUtil.mbot – This metabot provides the following JSON functionalities-

Functions Parameter Values

GetJsonKeyValue-

Returns value of specified key in the given JSON structure. Note: In case of JsonArray provide input for vKey as [index].key to get value of a key from a particular index.

vJson: Provide valid JSON Array/Object structure.

For Eg.

{

“user”: “user1”,

“domain”: “domain1.com”

}

vKey: Provide valid key present in vJson.

Getting Started

Page 67 of 73

For Eg. Considering above vJson example, value of vKey

can be: user

JsonGetType-

Returns type of JSON structure if valid JSON structure is provided, throws Exception otherwise.

vJson: Provide valid JSON Array/Object structure.

For Eg. {

“user”: “user1”, “domain”: “domain1.com” }

JsonStringify- Returns String Response of valid JSON Structure,throws Exception otherwise.

vJson: Provide valid JSON Array/Object structure.

For Eg. {

“user”: “user1”, “domain”: “domain1.com” }

GetJsonArraySize- Returns size of provided JSON Array.

vJson: Provide valid JSON Array structure. For Eg.

[ { “user”: “user1” }, { “user”: “user2” } ]

CsvToJsonArray- Converts CSV string to JSON Array Response.

vCsv- Provide comma separated string to be converted into JSON Array String.

For Eg. source1, source2, source3

4. Logs

Page 68 of 73

4. Logs

In case of Errors, Error Logs & Screenshots are generated within Error Folder (Highlighted below in yellow)

o My Tasks ▪ Bot Store

• Bot Name o Error Folder ▪ Logs (Folder)

▪ Error Logs Month-Day-Year.txt ▪ Snapshots (Folder)

▪ Error Snap Month-Day-Year HourMinSec.png Error Logs will contain the below information -

• Generated Timestamp

• Task Name

• Error Line Number

• Error Description

Example of Error Generated Error LogsFile:

4. Logs

Page 69 of 73

Example of Screenshot Generated Error File:

Note: There are no Custom Logs generated for this Bot.

5. Troubleshooting & Support

Page 70 of 73

5. Troubleshooting & Support

Please visit our Support for any assistance on Bot functionality or Feature.

Questions on Bot Functionality or Feature can also be posted to our Community site Apeople

Automation Anywhere provides a Product Documentation portal that can be accessed for more information about AA’s products and guidance on building bots and Digital Workers. The "Build" section of the portal includes these sections:

• Getting Started - information on building bots recommended practices (including use of the Credential Vault)

• Build Advanced Bots - details on Meta Bots and the approach of integrating code into them

• Build Digital Workers - high-level architecture

FAQs

Q: The ‘Create Locker’ button is not visible in the Credential Vault Page. What do I do? A: Please check if the role ‘Locker Consumer’ is assigned to the user and you are using an Enterprise Client version.

5. Troubleshooting & Support

Page 71 of 73

Appendix A: Record of Changes

No. Version Number Date of Change

(DD/MM/YYYY)

Author Notes

1 1.0 04/09/2019 AppPerfectCorporation Version 1 Release

5. Troubleshooting & Support

Page 72 of 73

Appendix B: Acronyms

No. Acronym Description

1 AA Automation Anywhere

2 CSV Comma Separated File

3 DW Digital Worker

4 CR Credential Vault

5 CRM Customer Relationship Management

6 API Application Programming Interface

7 PC Personal Computer

8 RAM Random Access Memory

9 OS Operating System