Building a new hires integration
This is a high-level overview of how to build a ‘new hires’ integration with SnapHire.
This sort of integration is useful if you are wanting to push data from SnapHire into another system such as payroll or an HRIS system.
Your app will receive event driven API calls to inform you of a candidate being hired, and optionally you can also poll to retrieve any hires that you may have missed.
Detailed developer docs are available in our article New hires, payroll and onboarding.
Define your app in Talent App Store
-
Sign up to https://developer.talentappstore.com
- Create an app
- Take note of the HMAC secret for your app, you’ll need this for making/receiving API calls, as it acts like an API key
- Browse to the APIs tab and define your app as per below
Producing
Method
API
SoT (Source of Truth)
GET
/appStatus
No
POST
/applications/views/at/hire/now/byID/{application}/pushes
No
You don't need to define the install / uninstall APIs here
Consuming
Method
API
SoT (Source of Truth)
GET (optional)
/applications?applications=<application>
Yes
GET
/applications/views/at/hire/ever?since=<sinceDate>
Yes
-
Browse to the Tazzy tab, and enter your backend server URL. For testing purposes you might want to use ngrok (https://ngrok.com/) to expose your locally running code from your IDE
TAS APIs your app must expose
Check that the value of the `tazzy-secret` header on all API calls matches the HMAC secret for your app.
App install
Core / Lifecycle API
This API is called when your app is installed by a tenant in the Talent App Store.
App uninstall
Core / Lifecycle API
This API is called when your app is uninstalled by a tenant in the Talent App Store.
App Status
Optional
This API is called when someone who has your app installed in their tenant, views your app in the Talent App Store marketplace. It is used to indicate if the app is ready to use for them, or if any further configuration is required.
Application in/out of hired phase
When a candidate in the ATS moves in or out of the hired phase, this API will be called on your app.
When the payload is not empty, the application has just been moved to the hired phase, so this is where you’ll do your work ie. Send it to another service such as payroll or an HRIS.
If the payload is empty, the application is moving out of the phase so you’re probably not interested in it.
The data received here can be configured in SnapHire phase views. If you don’t want to utilize phase views, you can simply use the applicationId passed in the URI to call the GET /applications API to retrieve the details instead.
APIs your app will call
These API calls can not be made from the front end, as that would result in exposing the HMAC secret for the app.
Set the tazzy-secret header with your app's HMAC secret value.
The host you call for these APIs will be https://{yourAppShortcode}.tazzy.io.
Retrieve application details
Optional
This will retrieve the application details for the provided application id.
Retrieve all applications that have ever been in the hired phase
Use this API to poll for all the applications which have ever been in the hired phase since the provided sinceDate parameter. This is useful to tidy up any applications that you may have missed a push for.