Learn how to integrate your payroll platform with Argyle.
Initiate integration
To integrate your payroll platform with Argyle Open Network, provide:
- How users authenticate to your payroll platform.
- The mappings and location of income and employment data.
You can submit this information by sending a POST request to <https://integrations.argyle.com/api/v1/spec
> with this information in the request body as the “specification payload”:
curl --request POST \
--url https://integrations.argyle.com/api/v1/spec \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '
{
"specification payload goes here"
}
'
Example specification payload:
{
"integration": "ABC Payroll",
"auth": {
"request": {
"url": "https://api.abcpayroll.com/auth",
"method": "post",
"comment": "Provide JSON with `username` and `password`"
},
"method": "bearer_token",
"comment": "Accepts _TOKEN cookie as well"
},
"mappings": [
{
"url": "https://api.datacustodianx.com/profiles.json",
"provides": [
"profiles.full_name",
"profiles.dob",
"..."
],
"comment": "Extract first and last name from profiles.full_name"
},
{
"url": "api.datacustodianx.com/paystubs.json",
"provides": [
"paystubs.gross_pay",
"paystubs.net_pay",
"..."
]
}
]
}
You will receive the below notification when you have successfully submitted your specification:
Specification received. Thank you.
You can submit an updated specification as many times as needed. We will incorporate the most recent version that has been submitted.
Contact us after successfully submitting your integration, or to let us know if you have any questions.
Specification payload
Include a name for your payroll integration
in the specification payload:
ATTRIBUTE | TYPE | DESCRIPTION | REQUIREMENT |
---|---|---|---|
integration | string | Name of the integration. | required |
User authentication
Include information on how users authenticate to your payroll platform in an auth
object in the specification payload. Argyle will authenticate users on their behalf to your payroll platform with this information. Use the comment fields to provide additional information if needed.
ATTRIBUTE | TYPE | DESCRIPTION | REQUIREMENT |
---|---|---|---|
auth.request.url | string | URL to submit user credentials for authentication. | required |
auth.request.method | string | HTTP request method for submitting user credentials (typically post , get , put , or patch ). | required |
auth.request.comment | string | Further information advising how to make HTTP requests on your platform. | optional |
auth.method | string | HTTP authentication method for submitting user credentials.Common methods:1. “basic_auth” - Basic access authentication. Request header: Authorization: Basic <base64 credentials> 2. “api_key” - API key is sent in either the query string, as a request header, or as a cookie. 3. “bearer_token” - Gives access via security token. Request header: Authorization: Bearer <token> 4. “digest_auth” - Digest access authentication. Request header: Authorization: Digest <response code> 5. “oauth_1.0” 6. “oauth_2.0” | required |
auth.comment | string | Further information advising how to authenticate HTTP requests on your platform. | optional |
Data mapping
Include information on the mappings and location of income and employment data in a mappings
object in the specification payload. The mappings
object should contain an array of objects, each of which should include:
ATTRIBUTE | TYPE | DESCRIPTION | REQUIREMENT |
---|---|---|---|
mappings.url | string | URL of the endpoint where the income and employment data fields are provided. | required |
mappings.provides | object | An array of data field names provided at the endpoint. | required |
mappings.comment | string | Further information you can provide about your data schema. | optional |
We will map your data fields to Argyle’s data schema, which consists of 160+ income and employment data fields. Upon user consent, Argyle will retrieve requested income and employment data from your payroll platform.
If your security policy limits outgoing traffic, ensure that your conditions allow for API calls by whitelisting all outgoing traffic from Argyle. These two content sources would need to be included at minimum:
<meta http-equiv="Content-Security-Policy"
content="connect-src https://*.argyle.com; worker-src 'self' blob: "/>
Next steps
Argyle will contact you in connection with completing the integration with your platform. You can also contact us if you have any questions.