Skip to content

apideck-samples/ats-to-hris

Repository files navigation

Push hired ATS Applicant to HRIS Employee Onboarding

This is a sample project that contains a POC application that listens to webhooks from Apideck's Unified APIs and pushes hired Applicants (ATS) to HRIS systems for Employee Onboarding.

Prerequisites:

  • Node.js
  • Apideck account.
  • A consumer that has access to an ATS integration (like "TeamTailor") and an HRIS integration (like "Humaans").

Getting started

Clone the repository:

git clone git@github.com:apideck-samples/ats-to-hris.git

Install the dependencies:

npm install

Copy the .env.example file to .env and fill in the required values:

cp .env.example .env

Configure the environment variables

Configure the following environment variables in the .env file:

  • APIDECK_API_KEY: Your Apideck API key
  • APIDECK_APP_ID: Your Apideck App ID
  • APIDECK_CONSUMER_ID: Your Apideck Consumer ID
  • SERVICE_ID_ATS: The ID of the ATS service you want to use (e.g. "teamtailor")
  • SERVICE_ID_HRIS: The ID of the HRIS service you want to use (e.g. "humaans-io")

Launching the app

Now you can launch the app locally:

npm start

The app runs by default on port 7777 and is accessible on http://127.0.0.1:7777

Making this app public with ngrok

To make your app public using ngrok, enter:

npm run start:ngrok

Triggering the webhook

To trigger the webhook, you can use the following command:

curl --location --request POST '127.0.0.1:7777/start' \
--header 'Content-Type: application/json' \
--data-raw '{
  "payload": {
    "event_type": "ats.application.updated",
    "unified_api": "ats",
    "service_id": "teamtailor",
    "consumer_id": "test-consumer",
    "event_id": "d290f1ee-6c54-4b01-90e6-d701748f0851",
    "entity_id": "67305287",
    "entity_url": "https://unify.apideck.com/ats/applications/67305287",
    "entity_type": "application",
    "occurred_at": "2023-09-22T00:00:00.000Z"
  }
}'

INFO: Be sure to replace the entity_id and entity_url with an actual Application ID.

or use the Postman collection from the repository.

More details

More details can be found in the Apideck docs.