Most HR teams are still setting up Slack, email, and Jira accounts by hand every time someone new joins. And when requests come in from three different places at once? Someone has to manually sort through all of it.
In this episode, I sit down with Paul Karrmann — an automation consultant based in Germany who built two n8n workflows that fix both of these problems.
🔗 Free HR Template: https://go.n8n.io/hr-template
🔗 Personio Community Node: https://go.n8n.io/personio-npm
──────────────────────────
WHAT WE COVER
Workflow #1 — Automated Employee Onboarding
The moment someone joins the company, this agent automatically provisions every account (Slack, Jira, door access, and more) and sends a welcome message. Zero manual work.
Workflow #2 — HR Request Triage
No matter where a request comes in — Slack, Gmail, WhatsApp, or an online form — this workflow normalizes it, deduplicates it, scores it using the Eisenhower Matrix, logs it to Notion or Jira, and only alerts you when something is genuinely urgent.
We also go deep on the Personio community node Paul built for n8n, which makes it easy to connect Europe's most widely used HR system to your automation stack.
──────────────────────────
TIMESTAMPS
0:00 - Intro
1:21 - Welcome & overview of AI in HR automation
1:57 - Demo: Personio trigger node walkthrough
2:49 - The #1 HR pain point: employee onboarding
3:15 - How the onboarding agent works
3:56 - Setting up Slack notifications & welcome messages
8:06 - Client intake: mapping a company's tool stack
9:43 - On-prem deployments: hospitals & Docker environments
12:54 - HR Triage Workflow: handling requests from Slack, Gmail, WhatsApp
13:19 - Universal intake normalizer explained
14:16 - Eisenhower Matrix for request prioritization
15:14 - Full Eisenhower model breakdown
23:03 - Building the Personio community node
24:04 - Why Paul built it (and where to get it)
25:39 - How to connect with Paul
26:23 - Enterprise-grade automation vs. vibe coding
──────────────────────────
#n8n #WorkflowAutomation #HRAutomation #NoCode
Оглавление (16 сегментов)
Intro
saw one of your posts on LinkedIn. Now, go to try to deploy that in a 500-person company and let me know how that goes. — This alone saves hours probably of most people's time because it is — this the simplicity makes it so great as you can just repeat it for pretty much every company. You can always pay your way into a thing. It's very hard to get your time back. Today, we're going to go through a few things that I did in Germany, which is focused on AI in HR work. — Every time somebody joins a new company, somebody has to set up their Slack, their email, their project management, five, six, or even seven different accounts manually every single time. And when an HR request comes in, whether that's a sick day, vacation, or question, it comes from everywhere. Slack, email, WhatsApp, and somebody has to sort through all of that and figure out what is urgent. Paul Carman is an automation consultant in Germany, and he's built two N8N workflows that solve these problems. One handles new hire setups automatically the second somebody joins the company. The other one collects every HR request no matter where it comes from and makes sure that only the urgent ones interrupt you. And we are going to walk through both live in N8N. You can grab the templates in the description. Let's get into it. Hey Paul, welcome to the
Welcome & overview of AI in HR automation
show. So, what are we going to be learning today? Today, we're going to go through um a few things that I did in Germany, which is focused on AI in HR work. Um and especially focused on N8N. For example, I built the a community node for Personio, which is Europe's biggest HRS, so human resources information system. Um the key focus especially in Germany, it's one of the biggest unicorns we're having. Um and one agent uh workflow I built with it, and then we can go through uh how I set this all up.
Demo: Personio trigger node walkthrough
Amazing. Uh go ahead and share your screen and open up and we'll get into it. Yeah, I know with especially big businesses and enterprises, there's all these things. How do you handle requests at scale? HR requests at scale? And how do you handle it in a way that is uh native to what they do? And so, I know you have this Slack integration for this. So, let's step into it and uh let's show me what you've created. Awesome. So, yeah. Um as I said, this is obviously only on the cloud version on NPM directly. Um but the Personio uh trigger there are multiple triggers in Personio because obviously HR work, there's so many things that are happening. There's so many webhooks uh available. Very hard to play with if you don't have something uh like N8N. Um but this one here is just one a person's created, right? That happens a lot. Uh usually when somebody starts. And one of the biggest pains that
The #1 HR pain point: employee onboarding
probably every HR manager can feel is the onboarding. So many things that just can go wrong, right? So, what we built here is a very small onboarding uh agent. So, this one is literally just sent uh to the OpenAI chat model. So, what it does is uh asking, "Hey, we have this new person. Can you do something? " And in this case
How the onboarding agent works
it literally just creates accounts. So, the idea here is it accounts for Jira, for uh for the door, for example, for different company. They have a electronic door and everybody needs to go in there. Um that kind of stuff, right? But also stuff like Slack. And after that is done, it sends it directly to Slack. Um sends a welcome message to everybody to this person, letting everybody know that somebody else is starting, and reminding the manager that it's somebody starts, right? Super simple, but this alone saves hours probably of most people's time because it is this the simplicity makes it so great
Setting up Slack notifications & welcome messages
um as you can just repeat it for pretty much every company. Um and yeah. Amazing. And when I'm looking at this right now, what I like about this is it's a common problem. The common problem is with HR professionals trying to onboard new people and going through an onboarding flowing process. It's a it's one of those basic, boring, repetitive processes that can eat hours of your time. And what I like about this, too, is with the Personio, it's a you said unicorn, really big company uh that a lot of the uh European companies use um in order for their HR needs. And inside of here, it looks like you also have a sub workflow that then connects to those different accounts like Jira or you know, maybe creating a Google account or whatever it might be to set them up. So, let's go through it. Maybe you can open up the first your uh Personio trigger, and then we'll step through the onboarding agent and look at each one of these elements individually and so that we can understand a bit about how it works. So, yeah. Um if we look to Personio, right? This is super simple to create uh I already created credentials, right? The thing you already know and love from N8N, so simplest way, and then you have all the events. Again, there's a lot of them because Personio just tracks a lot of stuff because is happening with people. Um in this case, it's just a person created endpoint um which always triggers if somebody new is in the system. May it come from a different system like the applicant tracking system, right? The recruiting system. Uh or is by hand created from somebody, which obviously we want to somehow stop. And what it does then is pretty much just send it to uh the onboarding agent. In this case, this is pretty much just uh showing [snorts] how it should use, right? So, it gets a prompt, which is the user message in this case, everything that is in the person's uh uh profile. So, that can be a ton of stuff, but usually maybe we can just go through an evaluation if it's maybe uh execution beforehand, which is not in here anymore. Sorry for that. Interesting. Uh — But yeah, what would happen is um that it literally just takes the input from the entire thing. So, everything that the person has, right? Their name, their address, uh their role, and who they're working with. And then it pretty much gets complete hand to uh set up accounts. So, in this case, this one is a bit empty because it goes through a sub workflow that is set up in other systems, right? Because this is in my cloud environment. Uh so, it's a bit stolen from things I actually use in other companies um where I just use the API directly um at this point to an HTTP request. But what this essentially does usually is go through Jira, it's going through um Slack, it's going through Gmail, setting up their accounts, making sure that nobody really needs to do anything anymore when somebody new starts because at smaller companies, it's already like five to 10 accounts at big companies that can sprawl to absurdity. And one thing is also the different people need different accounts, right? An engineer might need access to GitHub while an HR person doesn't need that, but may need some access to uh some well, Personio, for example, to ensure that they can work. Got it. And then so, that's great. So, it's role, positions, and accounts. And then when you're going to set this up, uh Personio is going to get this universal uh thing for HR managers or HR employees to be able to use. And then we're going to go inside here, make a list of all of the different um uh platforms that they're going to need access to. And when you go and create this say meet with a company, can you talk me through the process if you're going to say uh set this up for a new company? Do you map out, you know, new hires and what that looks like? Or what's the process for actually um setting this up for a new company?
Client intake: mapping a company's tool stack
Depends on the company, right? Obviously, that's the answer, but usually what we start with is uh an intake meeting where we just see how do these companies work, right? What does this company do different? So, we're looking at the entire landscape of their tools, their tool set. Usually, it starts with a human resources system. Uh very rarely I work with companies that don't have one. Sometimes have ones that don't have API connections, uh which usually needs to make one very creative. Um And then when we figure all of that out, we usually just start mapping, right? Mapping where which process goes through, what is happening where, um and deciding what is actually valuable to automate. And usually, there are some things that are just standard, right? I mean, there's a reason my pitch usually doesn't change that much. People want to automate writing Slack when they're sick, which is super easy for uh N8N and other uh and uh this different kind of HRS, right? Because usually, you have the access to the sick leave and you have access to Slack already. So, this makes it super simple. Um those are like the top favorites. And everything else is connect my human resources information system with my applicant tracking system. Um and a lot of people nowadays, especially in companies that are like hospitals that have only on-prem servers, love N8N because it's on uh open source, right? So, I can actually build it in their own environment. Um and that is a lot more fun. So, there is a lot of cool stuff to be done
here. Got it. So, with the on-prem, do you, you know, get some sort of Mac mini or a NUC device of some kind, locally host it, and put it on-prem so that you're then hosting that in like on-premise? Or how do you actually set that up for say a hospital? Yeah, for I mean on-prem means obviously if you want to use LLMs, it's very hard. But so especially a hospital usually doesn't have the financial at least not in Germany. The public hospitals don't have the financial backing to buy the amount of hardware they would need for like a flagship model. Um but what we usually do is just the automation in itself is already so valuable, right? Especially if everything is on-prem, they usually are a few steps behind and in Germany we are already a few steps behind in terms of integration and automation. Um so what we usually do is just create a Docker environment because and it then already has that already have a Docker environment and I uh go into that, set up the n8n cloud and cloud environment and then connect all the tools from there. Um while on-prem sounds a bit archaic, usually the people responsible for the on-prem are very good at technology and so you usually can set up stuff very quickly. If we want to use models, sometimes we would buy then smaller Mac minis not really something I use, but a Linux server that has a bit of more power that allows us to at least use smaller models for embedded work, right? Find but find different kind of uh stuff in a different kind of sections in the contract so we can build a vector database for a very good rag or something. That would be something where we sometimes use AI, but on-prem usually is still just automate stuff, right? And there n8n is awesome because it's just very easy interface to use. Makes sense. And then with the on-prem you could always use like an Ollama if you wanted to. It's obviously not going to be as good. People expect it to be as good as ChatGPT 5. 1 or whatever, but it's not going to be as good. But if it can get the job done, especially if you train it up a bit on knowing the use cases, give it some example few-shot prompting, I could see how that could get it good enough to do what you want. And with this as well, you talked about a couple of different use cases. So this is an onboarding applica- onboarding for new employees. What are the ones is if people want to message cuz the thing is everybody wants to stay inside of Slack to get the job done. And the challenge with that is that sometimes that creates more noise than it does signal because you have a lot of messages coming into there that you actually want to put into in sort of a maybe a project management software or into a Notion or into some other system. So talk to me a bit of the flow cuz I don't I this is going to be for the onboarding, but how would it look like in terms of a flow if I was want to send a Slack message to do one of these activities? I mean I
HR Triage Workflow: handling requests from Slack, Gmail, WhatsApp
actually built a exactly that kind of workflow as well to ensure that people can have that freedom. So that triage requests come from different kind of sources. So let me just share this one. So this one is a bit more mature as you can see this is also available already on the as a template on n8n. So this one you can easily download or
Universal intake normalizer explained
integrate into your cloud environment. This is also in the cloud environment. So what I built here is actually really fun because the idea is that we have a universal intake normalizer, right? Uh maybe this is not a thing for everybody, but in HR you don't usually just get messages in Slack, you get them everywhere, right? WhatsApp or I message uh in Gmail, in some different kind of or LinkedIn. And the idea is that you can plug in everything. And one thing we plugged in here for example is the Slack message um which then normalizes the whole thing uh goes through all the database. So I use the database model the database node from n8n here. Um so the idea is to have an understand hey, did we already do this or not? Um and store the IDs behind that and then triage everything. I'm here I'm
Eisenhower Matrix for request prioritization
using the Eisenhower model because I'm a worked at BCG and I'm nerd. Um but that works really well. And at the end it does exactly what you're saying, right? It creates Notion tickets. And if something is really high importance, we're using ranking from 1 to 10 here that actually notifies the person on Slack, right? I don't know. I have a death in my family and need to take off really quickly. A person starts tomorrow and their laptop isn't here yet. What do we do? All right. So that would be notified directly and everything else is just neatly stored in something like Notion or whatever kind of board you're using to prioritize your work. And we're going to be able to make this template available. So down below inside of the YouTube video or on LinkedIn, wherever you're watching this content, there will be a link to that template so that you can download this, plug it in and then get up and going with it. So that's great. Can you explain a bit of the Eisenhower model? Uh so Eisenhower model is the idea that
Full Eisenhower model breakdown
you prioritize between something important and a something No, I need to translate to German from German. Uh something to be done in time. Sorry for my lack of better wording there. Um and the idea is that you have the four quadrants of something as needs to happen now, so it's uh high priority, right? So it needs to happen soon. Um and something is uh is important, right? So it has a high impact value. Um that would be in the quadrant of do it now, right? Then you have something is not important necessarily. Uh so it doesn't have a high impact, but needs to be happening fast, then you give it to somebody else. If something has a high impact, but isn't important, so you usually try to schedule for someone some somewhere else. And the last one it's not important and doesn't need to happen, so you just ignore it. Um that's usually how the Eisenhower matrix works. Here I just take the idea of it to prioritize because it's very good for uh chatbots if they get something that is more tangible like the Eisenhower matrix, um then they usually don't go as wild with the 1 to 10, right? If you just say hey, give me a 1 to 10 how important this is. It they sometimes have a fun way of changing between 5 and 10 for the same ticket. So that's why incorporated here. Yeah, so it's a matrix and it has basic four quadrants. There is urgent and non-urgent. There's important and then there's not important. And so what you're looking at is you want to ideally find the ones that are both urgent and important to do. If it's not urgent and not important, you want to set it on fire and get rid of it. But you're trying to rate it based upon that, the importancies and the urgencies. Is that correct? Perfectly explained. Thank you so much. — No problem. And then we're going back to this system that you have set up here. When you're talking about normalizing these and if you can slide your screen to the left where I can see the Slack and the email coming in, uh my I guess my left. And inside of here, so if people wanted to add to this, so for example iMessages or Telegram, WhatsApp, which is really common overseas, you would then create another node and an entry point inside that section where you can see the Slack and the mail Gmail coming in. Is that where you would add in the additional nodes inside of there? Exactly. You can just use a trigger. I mean I don't think WhatsApp So yeah, there's WhatsApp business cards in. Of course it is. Um — you use the trigger on message, right? Um I will not set it up because it would take forever. But you just pretty much take all of that and just connect it. Done. It will work immediately because the this is the cool thing about this universal Oh wow, this very small, sorry. Um very big. So what this essentially does, it if it would let me scroll down, uh what it essentially does, it sends all of it to the LLM, right? The LLM reads it and understands okay, where does this come from? What is it for thing? And how can we make sure it is the same across all messages, right? So the IDs for example are created by randomized ID plus WhatsApp in this case it would be. And then everything else it just normalizes through the model um at the bottom. So this way it usually works incredibly well in having exactly this output, right? The normalizer that just works with one JSON example. And here you can see, right? Source is Gmail, Slack from other form other. So if you have a online form, we have that as well, the timestamp, everything else. Because usually messages are built pretty much the same. They're just structured differently through well through how the message services do it. So all this does is just make it in the same structure, so it allows us to read it later from by our agent. Great. And then you're sending that from the normalizer into the data tables. Inside the data tables, you're taking that normalized data set, you're passing that into there, and then is the next one reading it? What's the next step? I'm trying to see it from here. Uh so what does this is these two data tables are pretty much just to make sure nothing is duplicated, right? Uh so all it does is read is this ID already existent? Because the ID will always be the same pretty much for a message because it can happen that sometimes you pick up the same message twice. Um and if it isn't it lets it go through and it stores the processed ID if it uh if it was or if it wasn't already in, right? And the next step here is the try triage with all the analyzation that happens um ensuring it is exactly how we want it to look like, right? With the output parser that allows just to have exactly the JSON we want that is easier to read by notion or by the filters in Slack. I can see there yeah, you're then kicking it into the notion data table or a database so that it's tracking it there. But it could be anything else. I mean it could be ClickUp. Uh could be I guess maybe Superbase if you're getting advanced inside of there. Yeah. Uh and so you're storing that again if it does exist or doesn't exist you can add it in there. You don't want to have duplicates inside the system. And then at the same time it's ranking on importance and then taking that and notifying in Slack. So if you're an HR manager someone's requesting a sick leave then it's not only going to be able to get that information putting it inside the system then you can also get notified as well. Is that accurate? That is perfectly described. Exactly that's what's happening, right? As you said whatever you want which system you use it can be just modified for that very easily. Fantastic. And what have you seen as common databases besides Notion? What are the other ones that you've seen in your space that people want to hook up into? I mean Notion is relatively rare in HR circles, right? Because in Germany at least it's a bit hard to really do that. So usually most companies rely on Jira as it is the standard thing. If you had Atlassian you have Jira. IT use Jira so why not HR as well? I see Trello quite a lot still but it starts to die out. And one software that's called Monday which is pretty much just a front end builder but some companies really love to use it to build their specific dashboard that makes the most sense for them. So really for any company that wants to use this all you need to do is map out what are my inputs? How are people messaging me? You know the Slack, Gmail, smoke signals. Whatever they're coming in. It gets processed. It gets added into the system. It then becomes triaged. Then gets added into the database and then you say okay, well then where are you what database are you hooking up into? And then for example if there isn't an API that is available to be able to plug into I know that one we can use the HTTP node to be able to connect to that with a copy curl command. Look at the documentations. But then you took it a step for forward uh farther and you created this persona API uh node. Can you talk to me through a little bit of how you did that? Yeah. So
Building the Personio community node
the Personio node is again as I said beforehand, right? Personio is the biggest um HRS it's especially in Germany that's not SAP but SAP is a very different beast so I'm not touching that. Uh but if we look at Personio it's pretty much focused on companies SMEs, right? Startups. And I was very frustrated because I use it a lot. I mean 80 to 90% of my customers use Personio. Um and I always needed to build it again and at one point you're like okay should be normalized. So what I did was take a long weekend um and created the Personio node, right? Um I saw something missing. I There are some people that claim there's a Personio node and you go in them and they're pretty much empty unfortunately. Um but what I did is take a long weekend build it out map pretty much the entire uh entire stack as you can see here are all the regular node things, the
Why Paul built it (and where to get it)
triggers. And it has a lot of custom IDs. It has it is everything pretty much that is not a beta feature for Personio you can already do with it. Um so that one is very fun. I send it out to be approved hopefully soon for N8N so everybody can install it in the cloud version but you could already currently take it from NPM and use it on your uh non-cloud version so you're either self-hosted or on prem, right? So that is how I currently use it most of the time. Um but yeah. Great. Yeah, we'll see if your community node gets approved before then and so it would be available on self-hosted. You just bring in go into the community node sections under the settings inside of N8N and then you put in that the that package name for it and then you can get access to the community node. What's the name of it again? Can you go to the top so we can see if they want if someone wanted to install this. It's N8N nodes Personio HR. There's also something about it on my blog and so it's very easy to find if you want to have a more easy digestible uh step-by-step that's not necessarily written in a way that GitHub does it. Sure. Well, I mean and to that point so if people want to find out about you they this node how do they do that? Where is the this content? Um so I mean I usually
How to connect with Paul
share everything on LinkedIn. So if you follow me on LinkedIn um you will probably get a lot of stuff. I try to focus on breaking down tech in simple English specifically for ops people help share all these templates that I build on the nodes but also generally talk about like AI and what is currently going through. Um and if you want to go even deeper and want to be the first person to know you can go to my website pk-consulting. ai where I have a newsletter and a blog where you can pretty much read about everything I'm up to but also what I'm currently building. Great. And one thing I love about this system is the fact that this is a practical use case
Enterprise-grade automation vs. vibe coding
for large-scale companies that actually have a real painful problem. This isn't a vibe coded application that you spun up. And I saw one of your posts on LinkedIn that I thought was great because there is I mean you know Claude code and these other systems that are out there that you can really you know spin up an application really quickly but then in one of the things you're talking about was like hey now go to try to deploy that in a 500 person company and let me know how that goes which is really true. If you want something scale There's kind of a I would say a vector between cool and awesome. There's an inverse relationship. Cool and awesome and cutting edge and stable and reliable and repeatable. And being able to have something like this really solves these painful problems for businesses or enterprises because while they would do like the concept of cutting edge and amazingly cool they really want something that is practical, reliable, repeatable and scalable. And that's why I really enjoyed this system and I wanted you to come on to show what is a practical business enterprise use case for people to actually get the highest form of value. There's one thing about making money. There's nothing about saving time. And saving time especially in a large-scale company when you have hundreds of employees is one of the most important things is you can always pay your way into a thing. It's very hard to get your time back. And this is what I love about this system. So you're looking to save time and you're in a large person company and you have HR issues where you want them to focus on higher level of activities maybe having one-on-ones with people, getting to know them, human-to-human connections, conversations, maybe disputes between team members. All the things that HR really good at the human relationships. This handles those types of automations that are really boring automations that don't really need human intervention but then become predictable, reliable and scalable over time. So uh Paul thank you so much for this. Is there anything else you'd like to let people know about before we conclude the podcast? Um I am very shortly before release of a tool which will hopefully help a lot of people especially if you're not on LinkedIn. A bit next week will be waitlist so that could be cool if that is something for you and then just follow me on LinkedIn, right? You will see everything about that. Fantastic. Paul thank you so much for your time brother. Have a blessed and beautiful day my friend and I'll see you on the other side. Bye now.