ADP Employee Self-Service (Preview)
ADP Employee Self-Service brings the power of ADP's HR and payroll expertise directly into your workflow, so employees can get answers and take action seamlessly. This connector helps agents and employees quickly access HR and payroll information without leaving their daily tools.
This connector is available in the following products and regions:
| Service | Class | Regions |
|---|---|---|
| Copilot Studio | Premium | All Power Automate regions except the following: - US Government (GCC) - US Government (GCC High) - China Cloud operated by 21Vianet - US Department of Defense (DoD) |
| Logic Apps | Standard | All Logic Apps regions except the following: - Azure Government regions - Azure China regions - US Department of Defense (DoD) |
| Power Apps | Premium | All Power Apps regions except the following: - US Government (GCC) - US Government (GCC High) - China Cloud operated by 21Vianet - US Department of Defense (DoD) |
| Power Automate | Premium | All Power Automate regions except the following: - US Government (GCC) - US Government (GCC High) - China Cloud operated by 21Vianet - US Department of Defense (DoD) |
| Contact | |
|---|---|
| Name | ADP Support |
| URL | https://www.adp.com/contact-us.aspx |
| support@adp.com |
| Connector Metadata | |
|---|---|
| Publisher | ADP, Inc. |
| Website | https://www.adp.com |
| Privacy policy | https://www.adp.com/privacy.aspx |
| Categories | Human Resources;Productivity |
ADP Employee Self-Service
ADP Employee Self-Service brings the power of ADP's HR and payroll expertise directly into your workflow, so employees can get answers and take action seamlessly. This connector helps agents and employees quickly access HR and payroll information without leaving their daily tools.
Publisher: ADP, Inc.
Prerequisites
- A supported subscription to an ADP product (e.g. Workforce Now, Workforce Now Next Gen).
- Global admin rights to consent the Azure enterprise application in your tenant.
Supported Operations
The connector supports the following operations:
create-emergency-contact: Creates a new emergency contact entry for the employee. Use this when an employee wants to add a person to contact in case of emergency, including their contact information and relationship.delete-emergency-contacts: Removes emergency contacts from the employee's profile. Use this when an emergency contact is no longer needed or relevant.get-emergency-contacts: Retrieves a list of all emergency contacts configured for the employee. Use this to view existing emergency contact information or to check if contacts need to be updated.get-pay-distributions: Returns the list of all active deposits (until current effective date) for an employee. By default, Account Number and Routing Number are masked in the Direct Deposit API response.get-pay-statements: Requests the list of the last 5 client-specific pay statements for an associate.get-worker: Retrieves the complete employee profile information from WorkforceNow including personal details, contact information, and employment data. Use this to view current employee information.update-emergency-contact: Updates an existing emergency contact's information for the employee. Use this when contact details, address, or relationship information needs to be changed.update-profile: Updates the employee profile information in WorkforceNow including personal details and contact information. Use this to modify existing employee information.
Obtaining Credentials
If the organization you are in has assigned Microsoft as your identity provider for ADP products, then signing in with your Microsoft account is all the sign-in you need to perform. If you are not part of a federated configuration, then you'll have to sign into Microsoft and then be redirected to the ADP login page to sign in with your ADP credentials.
Getting Started
- Add the ADP Employee Self-Service connector to your copilot and publish it
- Using a published channel, start any conversation and be prompted to create a connection
- Sign in with your entra id (and ADP login after if not federated)
- Defined within your copilot, the connector actions should start using your login to access your data
Known Issues and Limitations
- Rate limiting: Subject to shared rate limiting
Deployment Instructions
Add the connector to your solution or make an individual connection to the connector. For the very first time this app is used, you are asked to consent to this app as an admin for your tenant. Once consented, no additional steps are required.
Throttling Limits
| Name | Calls | Renewal Period |
|---|---|---|
| API calls per connection | 100 | 60 seconds |
Actions
| Add emergency contact |
Creates a new emergency contact entry for the employee. Use this when an employee wants to add a person to contact in case of emergency, including their contact information and relationship. |
| Get direct deposits |
Returns the list of all active deposits (until current effective date) for an employee. By default, Account Number and Routing Number are masked in the Direct Deposit API response. |
| Get emergency contacts |
Retrieves a list of all emergency contacts configured for the employee. Use this to view existing emergency contact information or to check if contacts need to be updated. |
| Get pay statements |
Request the list of the last 5 client-specific pay statements for an associate. |
| Get worker profile |
Retrieves the complete employee profile information from WorkforceNow including personal details, contact information, and employment data. Use this to view current employee information. |
| Remove emergency contacts |
Removes emergency contacts from the employee's profile. Use this when an emergency contact is no longer needed or relevant. |
| Update emergency contact |
Updates an existing emergency contact's information for the employee. Use this when contact details, address, or relationship information needs to be changed. |
| Update employee profile |
Updates the employee profile information in WorkforceNow including personal details and contact information. Use this to modify existing employee information. |
Add emergency contact
Creates a new emergency contact entry for the employee. Use this when an employee wants to add a person to contact in case of emergency, including their contact information and relationship.
Parameters
| Name | Key | Required | Type | Description |
|---|---|---|---|---|
|
contactName
|
contactName | True | string |
Name of the contact |
|
addressLine1
|
addressLine1 | string |
The first line in the contact's address |
|
|
addressLine2
|
addressLine2 | string |
The second line in the contact's address |
|
|
addressLine3
|
addressLine3 | string |
The third line in the contact's address |
|
|
addressCity
|
addressCity | string |
The city in the contact's address |
|
|
addressState
|
addressState | string |
The state/province in the contact's address (use postal abbreviations or this will be ignored) |
|
|
addressCountry
|
addressCountry | string |
The country in the contact's address (use postal abbreviations or this will be ignored) |
|
|
addressPostalCode
|
addressPostalCode | string |
The post code in the contact's address |
|
|
phoneType
|
phoneType | string |
What type of number this is for the contact |
|
|
countryCode
|
countryCode | integer |
The country code of this number (NANP rules apply) |
|
|
areaCode
|
areaCode | integer |
The area code of this number (NANP rules apply) |
|
|
number
|
number | integer |
The line number (NANP rules apply) |
|
|
extension
|
extension | integer |
Extension code for this number |
|
|
emailAddress
|
address | string |
Email that the contact owns and has access to |
|
|
relation
|
relation | True | string |
Relation of the contact to the person adding them |
|
isPrimary
|
isPrimary | True | boolean |
Set this contact to be a primary contact |
Returns
| Name | Path | Type | Description |
|---|---|---|---|
|
itemId
|
result.itemId | string |
The item id of the contact that was created |
Get direct deposits
Returns the list of all active deposits (until current effective date) for an employee. By default, Account Number and Routing Number are masked in the Direct Deposit API response.
Returns
| Name | Path | Type | Description |
|---|---|---|---|
|
distributions
|
result | array of object |
List of all pay distributions with flattened structure |
|
status
|
result.status | string |
The status of this pay distribution (e.g., Active, Pending, Inactive) |
|
effectiveDate
|
result.effectiveDate | string |
The date when this pay distribution becomes effective |
|
accountType
|
result.accountType | string |
The type of bank account (e.g., ACH-CHECKING, ACH-SAVINGS) |
|
accountNumber
|
result.accountNumber | string |
The masked bank account number |
|
routingNumber
|
result.routingNumber | string |
The masked bank routing number |
|
amount
|
result.amount | integer |
The amount to be distributed to this account |
|
isBonusOnly
|
result.isBonusOnly | boolean |
Indicates if this distribution is for bonus payments only |
Get emergency contacts
Retrieves a list of all emergency contacts configured for the employee. Use this to view existing emergency contact information or to check if contacts need to be updated.
Returns
| Name | Path | Type | Description |
|---|---|---|---|
|
result
|
result | array of object |
personalContacts |
|
itemId
|
result.itemId | string |
The item id of the contact |
|
contactName
|
result.contactName | string |
Name of the contact |
|
addressLine1
|
result.addressLine1 | string |
The first line in the contact's address |
|
addressLine2
|
result.addressLine2 | string |
The second line in the contact's address |
|
addressLine3
|
result.addressLine3 | string |
The third line in the contact's address |
|
addressCity
|
result.addressCity | string |
The city in the contact's address |
|
addressState
|
result.addressState | string |
The state/province in the contact's address (use postal abbreviations or this will be ignored) |
|
addressCountry
|
result.addressCountry | string |
The country in the contact's address (use postal abbreviations or this will be ignored) |
|
addressPostalCode
|
result.addressPostalCode | string |
The post code in the contact's address |
|
phones
|
result.phones | array of object |
phones |
|
phoneType
|
result.phones.phoneType | string |
What type of number this is for the contact |
|
countryCode
|
result.phones.countryCode | integer |
The country code for the phone number (NANP rules apply) |
|
areaCode
|
result.phones.areaCode | integer |
The area code for the phone number (NANP rules apply) |
|
number
|
result.phones.number | integer |
The line number (NANP rules apply) |
|
extension
|
result.phones.extension | integer |
Extension code for this number |
|
emails
|
result.emails | array of object |
emails |
|
emailAddress
|
result.emails.address | string |
Email that the contact owns and has access to |
|
relation
|
result.relation | string |
Relation of the contact to the person adding them |
|
isPrimary
|
result.isPrimary | boolean |
Set this contact to be a primary contact |
Get pay statements
Request the list of the last 5 client-specific pay statements for an associate.
Returns
| Name | Path | Type | Description |
|---|---|---|---|
|
result
|
result | array of object |
payStatements |
|
payDate
|
result.payDate | string |
Date of the pay statement |
|
currencyCode
|
result.currencyCode | string |
Currency unit for this pay statement |
|
netPayAmount
|
result.netPayAmount | float |
Net pay amount for this pay statement |
|
grossPayAmount
|
result.grossPayAmount | float |
Gross pay amount for this pay statement |
|
totalHours
|
result.totalHours | float |
Total hours paid for in this pay statement |
Get worker profile
Retrieves the complete employee profile information from WorkforceNow including personal details, contact information, and employment data. Use this to view current employee information.
Returns
| Name | Path | Type | Description |
|---|---|---|---|
|
preferredName
|
result.preferredName | string |
The preferred name of the employee |
|
legalName
|
result.legalName | string |
The legal name of the employee |
|
personalEmail
|
result.personalEmail | string |
The personal email of the employee |
|
mobile
|
result.mobile | string |
The mobile number of the employee |
|
businessEmail
|
result.businessEmail | string |
The business email of the employee |
Remove emergency contacts
Removes emergency contacts from the employee's profile. Use this when an emergency contact is no longer needed or relevant.
Parameters
| Name | Key | Required | Type | Description |
|---|---|---|---|---|
|
itemIds
|
itemIds | True | array of string |
The item ids of which contact to remove (IDs found from doing GetContacts) |
Returns
| Name | Path | Type | Description |
|---|---|---|---|
|
result
|
result | array of object |
Array of update results for each field operation |
|
field
|
result.field | string |
The name of the field/value that was updated. In this case, the item ID of the contact removed. |
|
success
|
result.success | boolean |
Whether the field removal was successful |
|
error
|
result.error | string |
Error message if the removal failed, empty string if successful |
Update emergency contact
Updates an existing emergency contact's information for the employee. Use this when contact details, address, or relationship information needs to be changed.
Parameters
| Name | Key | Required | Type | Description |
|---|---|---|---|---|
|
itemId
|
itemId | True | string |
The item id of which contact to remove (IDs found from doing GetContacts) |
|
contactName
|
contactName | True | string |
Name of the contact |
|
addressLine1
|
addressLine1 | string |
The first line in the contact's address |
|
|
addressLine2
|
addressLine2 | string |
The second line in the contact's address |
|
|
addressLine3
|
addressLine3 | string |
The third line in the contact's address |
|
|
addressCity
|
addressCity | string |
The city in the contact's address |
|
|
addressState
|
addressState | string |
The state/province in the contact's address (use postal abbreviations or this will be ignored) |
|
|
addressCountry
|
addressCountry | string |
The country in the contact's address (use postal abbreviations or this will be ignored) |
|
|
addressPostalCode
|
addressPostalCode | string |
The post code in the contact's address |
|
|
phoneType
|
phoneType | string |
What type of number this is for the contact |
|
|
countryCode
|
countryCode | integer |
The country code of this number (NANP rules apply) |
|
|
areaCode
|
areaCode | integer |
The area code of this number (NANP rules apply) |
|
|
number
|
number | integer |
The line number (NANP rules apply) |
|
|
extension
|
extension | integer |
Extension code for this number |
|
|
emailAddress
|
address | string |
Email that the contact owns and has access to |
|
|
relation
|
relation | True | string |
Relation of the contact to the person adding them |
|
isPrimary
|
isPrimary | True | boolean |
Set this contact to be a primary contact |
Returns
| Name | Path | Type | Description |
|---|---|---|---|
|
message
|
result.message | string |
The status message of the update operation |
Update employee profile
Updates the employee profile information in WorkforceNow including personal details and contact information. Use this to modify existing employee information.
Parameters
| Name | Key | Required | Type | Description |
|---|---|---|---|---|
|
name
|
name | string |
The preferred name of the employee |
|
|
email
|
string |
The personal email of the employee |
||
|
mobileCountry
|
mobileCountry | string |
The mobile country code of the employee |
|
|
mobileArea
|
mobileArea | string |
The mobile area code of the employee |
|
|
mobileNumber
|
mobileNumber | string |
The mobile number of the employee |
Returns
| Name | Path | Type | Description |
|---|---|---|---|
|
result
|
result | array of object |
Array of update results for each field operation |
|
field
|
result.field | string |
The name of the field that was updated (e.g., 'email', 'name', 'mobile') |
|
success
|
result.success | boolean |
Whether the field update was successful |
|
error
|
result.error | string |
Error message if the update failed, empty string if successful |