Personio HR node

The idea is:

The idea is to have a Personio API, similar to the feature request for BambooHR, to trigger when someone is hired, started or terminated.

My use case:

Personio → Google, Personio → AzureAD, or most interesting Personio → Jira Cloud

I think it would be beneficial to add this because:

Personio is one of the most used HR tool I know, from other companies. It would help a lot to automate the process.

Any resources to support this?

Are you willing to work on this?

Yes, but I am not full familiar with n8n and APIs.

Welcome to the community @zumzum

They do not have a webhook API, which sadly leaves us with the polling approach. Not sure if what you requested trigger-wise would be possible with polling. Would have to test it.

Using the regular API should be pretty straightforward with the HTTP node until the node is developed.

Haha, quite funny, this was my thread at Personio to get it integrated to n8n :grin:

Unfortunately there are no news at Personio :unamused:

@zumzum Maybe you could bump the thread at Personio once again. Unless there is no webhook yet, we could try to build a Personio API node.

I will.
Anyway, with the http request node, I can add the barer token and can GET the information.

I just dont understand why it is not possible to add client_ID and client_secret somehow.
with curl in shell or cli i just need an url and the API credentials to get the authentication barer.
But in the http request with oauth2 i need two urls which make it inpossible.

Maybe it is possible to use the command node and add the token somehow in the http request node?

Just tested,
with execute command and

curl --request POST --url 'https://api.personio.de/v1/auth?client_id=XXX&client_secret=YYY' --header 'Accept: application/json'

I receive a JSON output.
With IF node, i can check if this is successful.

Now I need an idea to grab the token and set this token to a value to give it the HTTP request.

"stdout": "{"success":true,"data":{"token":"TOKEN"}}"

But here I am lost and need to understand more about JSON and javascript.