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").
Clone the repository:
git clone [email protected]: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 following environment variables in the .env
file:
APIDECK_API_KEY
: Your Apideck API keyAPIDECK_APP_ID
: Your Apideck App IDAPIDECK_CONSUMER_ID
: Your Apideck Consumer IDSERVICE_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")
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
To make your app public using ngrok, enter:
npm run start:ngrok
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
andentity_url
with an actual Application ID.
or use the Postman collection from the repository.
More details can be found in the Apideck docs.