Connections and System Triggers

Connections

Please see below documentation to configure connections.

System

Setup Instructions

System

Setup Instructions

Workday
https://onwardb.atlassian.net/wiki/spaces/ONLINK/pages/18808857

You can use these mock credentials to create a test Workday connection. Once the connection is created, you can create a flow with ADP as the trigger and execute the Flow. You will see one worker pulled from this mock Workday API.

API Endpoint URL = https://27af8c7f-d27f-457a-9616-026b70d2717f.mock.pstmn.io/ccx/service/
API version = v40.1
Tenant name = hack13_wcpdev1
Username = lmcneil
Password = lmcnieil@onwardb

BambooHR

 

Greenhouse

 

Personio

Here are the four connection parameters you will need to connect to Personio

  1. URL - set to “https://api.personio.de/

  2. Client ID - follow “Generate API Credentials” instructions here to generate Client ID and Client Secret

  3. Client Secret - from step 2

  4. Company Name - enter your company name in UPPER_SNAKE_CASE format e.g. THE_HONEST_CO, MICROSOFT, etc

ADP Workforce Now

To connect ADP integration to OnRamp, you must get ADP's information: Client ID, Client secret, Private key, and Certificate.

Here are the instructions from ADP to generate the certificate pair: https://developers.adp.com/learn/how-to-articles/generate-a-certificate-signing-request#manual-process-steps-(client-process-steps) - follow the “Manual Process Steps (Client Process Steps)” instructions in this link.

For Client ID and Client Secret contact your ADP client representative if you don't have this information. For testing purposes, you can use these mock credentials.

Once you have the above information, configure the connection in OnRamp using the “Connections” menu:

image-20240217-014730.png

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

OnRamp uses ADP Notification Events to retrieve hire and terminate events. This document from ADP provides more information. https://developers.adp.com/learn/key-concepts/adp-event-apis-and-event-notification-guide#use-cases . This approach provides a reliable approach to get information on employees in real time. By default a Flow configured with ADP Workforce Now Events trigger handles both hires and terminations. However you can set the below configuration parameter in the trigger mapping config to filter events: config:event=worker.hire or config:event=worker.terminate

Here’s sample mapping:

key:workerId=customfield_10051
map:firstName=customfield_10065
map:familyName=customfield_10066
map:originalHireDate=customfield_10064
map:actualStartDate=customfield_10053
map:hireDate=customfield_10054
map:jobTitle=customfield_10055
map:positionID=customfield_10056
map:terminationDate=customfield_10057
map:terminationReason=customfield_10058
map:workerStatus=customfield_10059
map:email=customfield_10104
config:event=worker.hire

OnRamp is a Forge app which means all processing and data storage occurs within Atlassian ecosystem. There are some rare exceptions when we may need to invoke a service hosted in our AWS instance. Connecting to ADP requires one such additional step to bypass a known limitation in Forge. No data is ever stored in our AWS instance and the lambda function acts as a proxy passthrough.

ADP Workforce Now Mock Credentials

You can use these mock credentials to create a test ADP connection. Once the connection is created, you can create a flow with ADP as the trigger and execute the Flow. You will see one worker pulled from this mock ADP API.

API URL: https://7888a44c-09ec-40a6-b444-02afce5d54c1.mock.pstmn.io

Client ID: OnwardMockADPID

Client Secret: lygAwIBAgIURVtlTVOHkXvA4FJTC

Public Key:

-----BEGIN CERTIFICATE-----
MIIDdDCCAlygAwIBAgIURVtlTVOHkXvA4FJTC+2HGvIBkkgwDQYJKoZIhvcNAQEL
BQAwZzELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNVBAcM
DVNhbiBGcmFuY2lzY28xEzARBgNVBAoMCk15IENvbXBhbnkxFjAUBgNVBAMMDW15
Y29tcGFueS5jb20wHhcNMjQwMzA5MTUwNjIyWhcNMjQwMzE5MTUwNjIyWjBnMQsw
CQYDVQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNU2FuIEZy
YW5jaXNjbzETMBEGA1UECgwKTXkgQ29tcGFueTEWMBQGA1UEAwwNbXljb21wYW55
LmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKlsboijz18cCzP2
Ok+3+wHlk8jaW6kjx05ofbUG/Vlv5Oa7RPPKkkJN9i8x7bRQeMe0xQM76sbwafgY
hpuvljT/zLJDToBg+k2x7nRFYM2HOKggTPvODczmQDrWJuRKU4vFJz4SgIosAERK
OjDWrvnsGP/YvEbMmQAMgcMa71ivCD2fzYFhobEH9qlNgObSDs0kl+r8Pm56lgDb
ZRfNtq6SWFMMVs6knXRfBMJDxCndZORUrci6UONZzcEtHt7DXYv+TOabCpxVCmVo
wn4wIevyA1Khichf2nT6/DFwEAKxXomd2l99MgveaOI/h9zvI4Gm1dZwcXpVpQVj
3kvPp+0CAwEAAaMYMBYwFAYDVR0RBA0wC4IJbG9jYWxob3N0MA0GCSqGSIb3DQEB
CwUAA4IBAQAUo+CZ9UPAxvelIrK3VFuOYrO5C2uALpzHM7nPO8ss+NzzZXnFLbAa
wjc8IILgOBw2hbWuk6El6TH+B/p3F6FbzKrjUmuAWBTgUoI3vBcqgRXqNlGeA4pX
KvCJ8G78rNhqxg5WOVFcY9VXu2XY5OUXHtryca4rLpqkvDdgNWyrjlsheR3SAJzJ
zD4rCs6Bqb9JKDeS1djT2/cpyWjVgqDkvv1kU3JqnP3Q2QDg4KXvqPwgeXZI8rL4
aeco7pdQ18izdwTHPZpbREasjw02FZUoRFmUotKyrC8Zg+ZiTJpzM2i0MVFdHXM6
Gf8XCbye7TvWMNiMnYb9bW9GlD8DSCN/
-----END CERTIFICATE-----

Private Key

-----BEGIN PRIVATE KEY-----
MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQCpbG6Io89fHAsz
9jpPt/sB5ZPI2lupI8dOaH21Bv1Zb+Tmu0TzypJCTfYvMe20UHjHtMUDO+rG8Gn4
GIabr5Y0/8yyQ06AYPpNse50RWDNhzioIEz7zg3M5kA61ibkSlOLxSc+EoCKLABE
Sjow1q757Bj/2LxGzJkADIHDGu9Yrwg9n82BYaGxB/apTYDm0g7NJJfq/D5uepYA
22UXzbauklhTDFbOpJ10XwTCQ8Qp3WTkVK3IulDjWc3BLR7ew12L/kzmmwqcVQpl
aMJ+MCHr8gNSoYnIX9p0+vwxcBACsV6JndpffTIL3mjiP4fc7yOBptXWcHF6VaUF
Y95Lz6ftAgMBAAECggEBAI5Yuzn0n+viLQt4ap/GDZAXaqaLyA2BMRiQtGWfvMcj
Oygc2Z8XaPFqfVhD09r27bOlDw5bjjOdlPtM5/Pwf/yBm2N/J3q3gDY9NALes6mb
Xh/sG6JJCtFH91k3yq9uP2mkuQbvFq6Ar6ywzNlx1svG8W4slGvLxRUEbRYXEFfq
QWXAqJyT5QnFPviCm+oEmMMl1S61keO9UUKpGfmLuhBwixjtx8giL+0ezSPvo+Mu
kSL3ReTW18t00HUXJCrt0aQ/LmpyKMfyLAHc9ygLmrYF4AzVMojva9PIl68Qw26m
K6GEzD5Tyy3Ol5KPHVlyQh3f/E7xLVyB4nefmn9E0aUCgYEA2iFYapz12eTUxpsF
KZMqo2FxtmcFk26ixA+YXARe8T/aPIT2/jAk1bNvDZEl69onnWCx3N7C9tlL/99Y
hFOJInnNLUm1RSMge5Gc+ZZIDBuuiZz5ytiC1jLF7iR4zkaQwP7AxUHwOZP+Ym+B
clg9oi5vVi6N/PBriZxXP4U0racCgYEAxtZZhD1yUt3ezQmvu6/DD2xRqNf3gIXO
AW3+fTJLrRMPxsXypB5DtktegRWUjLdDwqmfdJDiPJXHXBHXFv5tB7X4hVNaf5AJ
sAu8TrSrLBlWWKVMU5crnhFcT4u5iTu6ItBTWud/qFJ8tO/4gH6I9OsCOh9Vsaw7
335VReSB+EsCgYBKrnv9FHw/+861qMGduFsy0NwD3UXVcl2bztMVPhHbe0cWzVdb
M9SIrgRpmrZnB6vkgASlYEdUCJWypx9BPvCGszkCNmgvoZUveW1LLp7ANoINb4c+
Yd55w6xsmmQaC6Ln0NDjOG4s6HSB8zdYlMmVS1ynHw1R+mZ3GOXuQ4cDpQKBgQCZ
ktEM/FCihE8jWknq0rP745Omrzewgqg8HnKizAf7I2/Z/OWNsPpngAr79GkJzjp9
zXklFQpH9P9Hs1fHoLchb4EFqP2K7Psuh8HnoE9c/izcxr8PCQFdUtdTcP3aatE3
NmRLH+ZPYXaEYZwz0oeBc0oDDlSnp/mOgwrlsrpXxQKBgQDD7oF5v2hSgKkdvBii
TRuvKvw6uJy/sqnV7TL3aYG3jqqoezyrK5/9yUuyuCchS9r/j54+ZC6fl48LdrNc
1dJ43GG3k76Xp5qq8Kh64lWhiILK1BsOw7rxvNbkeOyn1/X8zP5wyRZSQG1G52iD
Prw5zdoMU2p734Zr22dCzZvH4g==
-----END PRIVATE KEY-----

 

Dayforce

Here are the parameters you need to connect to Dayforce web services (Ref). To test, you can use the test credentials Dayforce provides here.

image-20240222-030759.png

 

SAP SuccessFactors

Here are the settings you need to connect to SuccessFactors:

API URL: e.g. https://apisalesdemo8.successfactors.com - see this for more info SAP SuccessFactors URLs

OnRamp supports Basic or OAuth authentication mechanism.

Basic Auth:

  • API Username: format is username@company_id, provide user access via: Admin Center >>  Manage Permission Roles >> Manage Integration Tools >> Enable Allow Admin to Access OData API through Basic Authentication. OnRamp requires access to these entities: User, UserAccount, EmpJob, EmpEmployment, EmpEmploymentTermination, PerPerson, PerEmail. See this link for instructions on finding your Company ID.

  • API Password: <api user’s password>

OAuth:

  • API Username: format is username@company_id, provide user access via: Admin Center >>  Manage Permission Roles >> Manage Integration Tools >> Enable Allow Admin to Access OData API through Basic Authentication. OnRamp requires access to these entities: User, UserAccount, EmpJob, EmpEmployment, EmpEmploymentTermination, PerPerson, PerEmail. See this link for instructions on finding your Company ID.

  • Create key pair using openssl command described here - create certificate. Copy the Public and Private keys from this step.

  • Register OAuth2 client application using instructions here - register application. Copy the API Key from this step.

Mock credentials for your testing:

Though Basic Auth is deprecated, SAP SuccessFactors officially supports it until end of 2026. SuccessFactors recommends adding IP address restrictions with Basic Auth for additional security. Here are the Atlassian IP addresses you need to whitelist.

System Triggers Scheduled Job

The scheduled jobs for system triggers run with a Forge imposed quotas. OnRamp’s scheduled jobs are designed with this quota limit in mind in order to ensure they do not impact data processing. Each scheduled job runs in a loop and processes 5 data records at a time, until all the data records are processed. If the job encounters a timeout, then the trigger is updated with a “last_error_time” along with an error message. In addition, the Last Successful Time is not updated to indicate that the job errored out. On the next scheduled run, the data is pulled again but OnRamp does a duplicate detection check to ignore records that were previously processed.