# Test & Production Deployment in n8n - n8n Builders Berlin

## Метаданные

- **Канал:** n8n
- **YouTube:** https://www.youtube.com/watch?v=oeEWjfJkD4I
- **Дата:** 31.10.2025
- **Длительность:** 30:46
- **Просмотры:** 3,622

## Описание

Learn how Exxeta built reliable, scalable, and secure automation environments with n8n Enterprise.
Recorded at n8n Berlin as part of the n8n in Production Track for enterprise customers, Bach Thi Dinh, n8n Solution Owner at Exxeta, shares practical insights from implementing and managing multiple environments for production-grade automation.

💡 Key topics
➡️ How to set up development, staging, and production environments in n8n
➡️ Best practices for Git integration, pull requests, and version control
➡️ How to handle access rules, testing, and data privacy
➡️ Common challenges and lessons from real enterprise use cases
➡️ How n8n Enterprise supports secure and collaborative automation at scale

00:00 – Introduction and why environments matter
02:25 – Early setup and production challenges
09:21 – Moving to n8n Enterprise and Git integration
10:40 – Managing branches, access, and processes
15:30 – Beyond Tech: Governance & Training
17:09 – Other approaches and limits
19:10 – Environments: Pros and Cons
20:00 – Key lessons and closing remarks
22:00 – Q&A session 

👤 Connect with Bach-Thi: https://www.linkedin.com/in/bach-thi-dinh-93987b93/
🔔 Follow Exxeta: 
https://www.linkedin.com/company/exxeta/posts/?feedView=all
https://exxeta.com/

#n8n  #automation   #apiautomation  #lowcode   #techgovernance

## Содержание

### [0:00](https://www.youtube.com/watch?v=oeEWjfJkD4I) Introduction and why environments matter

Hey everyone. Uh, good evening. Nice to see you all and thank you for, you know, the patience. I know you've been waiting for a while. Um, I'm excited today to welcome you to the NA10 builders event. Um, we have a couple of talks lined up for you today. The first one is T uh from Exta. So, Exta have been an NA10 uh, you know, I guess partner, solutions partner for a while, advising on a range of things uh, across industries including finance, banking, uh, energy, you name it. Uh and the talk today is going to focus on environments uh getting NA10 set up for production. Uh and looking forward to seeing uh what T has to present. T leads the NA10 solutions practice at ET. Over to you. — Thank you. — Thank you so much. Thank you so much for having me once again. This is actually my second talk or technically it's my fifth talk for NNN this year because last time I did four talks in two days but um it's amazing to be here and amazing to see so many of you uh interested in hearing about environments right because I know this is a very dry topic and uh I hope we all agree on that but uh actually one of my friends uh asked me uh a few weeks ago, why did you choose that topic? And when I got put on the spot on that day, I told him because I have no other topic to talk about, right? So that was my honest answer. But it made me thinking why did I choose that topic? And when I thought about it at that time as solution owner at and at exeta forn um it was everything I saw at every customer that I worked with and also for ourselves. It was the topic that I was most intrigued about and the biggest problem that I had to solve internally as well. So let me tell you today about this. It's not really a success story. It's more like a [ __ ] How we [ __ ] up a lot of times and what we learned from it. So, let me take you on this journey and tell you a little bit about environments.

### [2:25](https://www.youtube.com/watch?v=oeEWjfJkD4I&t=145s) Early setup and production challenges

When we first started, sorry. Um, we had everything running in a single NEN instance and it was fun, it was fast and we got things working but very quickly we ran into a problem. Me many of you might know what this means. Well, is the famous last words of any engineer working at any company. It works on my machine, but now production is broken. And when development and production are tightly tangled, it just creates stress. It creates downtime. Things can break. Is not good. So our first brilliant solution was this. We took every workflow and copied it into a new folder calling it brought. That was it. And it was it worked. It worked for a while, — a week maybe before things started to go south again. But be honest, guys. Who has been here or has done something similar? Like, can I All right. Okay. See, we're all in a boat here, right? Is it's is not the best start. It's terrible, actually, to be honest. But it's a human start, right? [clears throat] Something that you can start with and get experience with. So let's talk about why this is so terrible and why enterprises really care about production or staging in general. In a world where things have to run with business critical data also with a lot of um users and traffic, things have to go smooth in some kind of environment while other environments are meant to be playgrounds, right? You want to play around, test your code and just invent things sometimes. And that's why really distinguish um distinctly separating environments is also about compliance. It's about controlling your data, controlling privacy, controlling uh monitoring as well. You have scaling because if you're alone, you can do the solution that I told you about with the product and the dev copy. But if you work with teams, that's when you need environments and you need staging. and collaboration is kind of the same but you need some test environments so people can really test their code before it goes to production and it also a review process again right so I'll tell you a story about one of our clients that I in my very early times um when I was first working with the first clients with NN um one of the biggest automotive or like car manufacturers in Germany. I won't say any names but you might know who I'm talking about. Um told us about their problems or their basically that their vision. They wanted not only like in a general setup you would have one edit end instance and that is connected to different data and different systems that teams need to access right but in their organization they want to have one single instance for each team because they don't want any team to see the credentials the data the the access to tools from other teams. So for them environments were not a technical question. It was about organization. Right? Okay. So what does that mean? Basically there is no perfect setup. environment, scaling, production, whatever. It's all about you and your culture and your fit and also your maturity right inside of your company. what's going on? You need to find that out. And that's interesting. So, from someone who is so um overprotective about their data and inside of their own organization, how did we do it? Well, I first started with my team at Exada with this use case. This was our first use case. um right uh after I went back from we are developers when I last talked about NNN and this is the HubSpot deal enricher. So what this does is it basically um triggers whenever we get a new or a new deal in HubSpot. It then uh fetches the data from SharePoint that we have about the deal. It gives that to an agent and that uses Genai to analyze what's going on and then it feeds the data back into the HubSpot deal. So yeah, it enriches a deal in HubSpot. That's what it does. And very quickly after just two weeks we were done with our first P. It was amazing. Everybody was happy like wow N is amazing. But then was the question how do we run production? So as I told you before we just copied everything we had now deaf and pro within a project. But now I want to tell you about the real problems that this has. Well, it's it worked for a week, but then we started to just hot fix everything in production. So, whenever there's a bug, you just rush into production and then you fix it. You and that's not good. What happens also is now development is lagging behind. So, what you need to do is you copy the things back into dev. You have to adjust the credentials and then you end up with a ton of copies and you lose control over everything. Also, where's the versioning? Where's the backups? Anything of that type of matter? No, we didn't have anything. So, we looked at the enterprise features of NN and I guess some of you know them already, but NN has this um environments feature, and that's what I want to talk about.

### [9:21](https://www.youtube.com/watch?v=oeEWjfJkD4I&t=561s) Moving to n8n Enterprise and Git integration

about. And this is the vision that we had with it. Basically for us it means coupling each instance of NN that we have and now we're talking about two deaf and prod with a separate git repository. Code goes only to production if you use pull requests. So every time code goes to production you have to review it. Pro is um protected from any changes. So no nobody can just go into pro and change things or hot fix things. And we can allocate all of our important resources to the prod environment. So if you have monitoring, if you have any additional infrastructure that is dedicated to Nadn, you don't only have to do it for the prod instance, not for the deaf one. So you can save money, but at the same time, you now have two instances. So it's kind of like a trade-off. But this is the one that we think is best for our case. But NN has other um alternatives too. Two different use cases, two different companies. So this other one has two instances but

### [10:40](https://www.youtube.com/watch?v=oeEWjfJkD4I&t=640s) Managing branches, access, and processes

just one repository. So what does that mean? Basically how everything is set up right now dev and pro will basically always be the same because you push from dev and you pull into prod and there's no instance between which manages separation. Well, then you'll probably ask yourself, what is it good for then? Well, this is well, imagine you have a new version of NN. You could test that new version of NN on dev and pro doesn't break. The same goes for packages that you want to install in on the environment, etc., etc. So is more like yeah just like the diagram shows is a separation of instances and not really about code and versioning. The other alternative that we have is more like uh yeah now you can have a lot of branches. Well, does anyone have an idea why having a lot of branches with one NN instance would be good for anyone? I was the same when I looked at it. I didn't have any clue. But when if you think about it well what it does is well it enhances collaboration everybody can have their own branch create a new version and well then you can push to another branch and pull requests etc so it's only that part it's the pull request and review part that this has okay Sure. No, no. Sure. — So here if someone do some things on one of the instances maybe changing the version then everything is going to be break, right? — Yeah. Okay. Basically, if you if you don't have good process processes here like coding processes like reviews and stuff like that and uh you also like over here you don't have merging or any git things because workflows cannot be merged. So that's not a feature yet. You you don't have that the same advantages as you would have with code. It's more like a well I have this version on this branch. branch and then let's later look at it and then fix everything in the other branch. Okay. Yeah. — Can you hear? Okay. How you realistically work on different branches if you are using a single um NA10 instance? Well, that's um a good question. Well, oh yeah, just shut it off. That's the solution. No. Uh well, in NN you can link the different branches and then when you push or pull you can choose the branches that you're working with. So basically — so we are talking about enterprise version which allows — enterprise. Ah okay. Okay, I see. Thanks. — This is an enterprise feature, so yeah, it's behind a payw wall for sure. Yeah, but I mean, yeah, it works. It's not bad. And uh there's one more option, a good one, the one to one. So here we have one instance and one branch. That's it. Any ideas what this is for or what this does for you? — But your development is somewhere else. — Yeah, it's somewhere else. It's saved. You have a history, right? And you have a history in NNN, but this is a little bit more reliable, right? It's like a backup. So that's basically it. I'll be honest, but — like an approval process. — Yeah. But then again, that's an interesting point because the process that you mentioned doesn't get um it isn't enforced unless you enforce it. And that's where Perfect. That's how I

### [15:30](https://www.youtube.com/watch?v=oeEWjfJkD4I&t=930s) Beyond Tech: Governance & Training

get to my next slide, which is exactly about rules. Yeah, rules and processes. If you or let's let's say talk about us because you have your own goals, vision. But for us, we talk not only about tech, but we talk about governance and processes. We have now a playground. We have three levels. A playground environment, test and prod. you cannot reach it unless you have certification. So we have access restricted and you have to take the training which is a we call it the basic um end training. It gives you a rough understanding of how to use the tool and then after that we follow with a data compliance training where it's about hey if you take data from internet from intranet from our systems and then you push that into I don't know Google sheets but we don't work with Google sheets we only work with teams think about if that is a good idea and if that is good for our data privacy things. Okay, so that's the what the training is about and once they have done the training they get access to test and pro. So only trained team members can get there and that's something that might be also yeah important to what you asked

### [17:09](https://www.youtube.com/watch?v=oeEWjfJkD4I&t=1029s) Other approaches and limits

[clears throat] as I'm working with a lot of clients and as I told you guys I've seen this topic being a problem for almost all of them. uh there are other very interesting approaches and also questions that they had. So this is one of them um where one of our clients they tried not to use NN in the same way we did but they wanted to use NN just as the base process engine or aentic engine and their employees they never see the face of NNN because on top of NNN they're building their own application their own interface which they call aentic garden and then that's where you click pick like one preset and then it gets built via API in any end and you don't have to do anything. But for them they want to they were really interested in the topic of testing. They wanted to really thoroughly test um what's happening in NN um across production and development with the same test. So if you deploy it to prod it should be still working and we kind of know that NN doesn't have too many testing capabilities and they were thinking about unit test not only end to end does the workflow work and does it give the right outputs but test little steps so I told them about subworkflows that's how you can test end to end but in subworkflows yeah but well there's a lot of questions right now open topics and I think we're getting there with the next things that Jan just talked about. There's a lot of interesting features coming to the enterprise version that will for sure uh bring it to the next level.

### [19:10](https://www.youtube.com/watch?v=oeEWjfJkD4I&t=1150s) Environments: Pros and Cons

So to summarize it, if you use environments, you will get safety, you will get oversight, you will get collaboration, but if you use it, you will also get extra costs, extra time to market and slower hot fixes. And nobody likes slower hot fixes, right? But well, like I said before, it's a question for you. uh you need to find the right fit for your company. I'm going to say that on every slide that's coming now. But let me give you three different three other takeaways for um when you think about this topic. Everyone starts crappy and that's okay. All right.

### [20:00](https://www.youtube.com/watch?v=oeEWjfJkD4I&t=1200s) Key lessons and closing remarks

right. Environments are not just an technical design. It's organizational and the perfect setup is the one that fits your company's maturity and your company's culture. See, I told you I I'll say that on every slide. We're not done. So, I'm not going to tell you uh about the perfect world scenario. We're still on our journey. And that's exactly what it is. It's a journey. So, don't be afraid to just jump in there, start scrappy, uh, find your learnings. And I hope that at the end of the day, um, we we can I hope at the end of the day, we'll get good new features in the next versions of the enterprise. So, everything is solved. But if I think even then we will always have the same problem. We will always think about processes in combination with the technical features. And um I hope that at the end of the day you had some learnings in this talks or some interesting thoughts that you can take home and thank you for listening. That's it from my side. See, thank you so much. Um really insightful and thank you for walking us through what you've learned about implementing environments in real world environments, should we say. Uh as a small gesture of our thank you, we'd like to present you with this little TV. Uh you can actually turn it on and it will display some of our recent YouTube talks. We'll get it loaded up with your talk very soon as well. — Thank you so much. Before T leaves the stage, any questions though from the room? We've got about five minutes. — Sure. Go over there. I'm going to try and Do we have a mic chance? So shall I just pass this? — Yeah, thanks a lot. So um I don't know

### [22:00](https://www.youtube.com/watch?v=oeEWjfJkD4I&t=1320s) Q&A session

maybe this feature is solved in um enterprise version but mainly when I was working with different clients they were smaller and they didn't want actually to buy enterprise in A10 but they still had same issues and I think one really um unsolvable or difficult topic is how you pass web hook incoming web hook request to a necessary environment. ment because if you're pulling data, you can copy paste or create a workflow, test it on your data and it works. But for example, um some companies or some teams may have Slack as their corporate communication tool and Slack can send messages via web hooks and the question is how do you ever test the workflow when Slack only has a single address? — Okay. Um, I don't really think I get the question right, but if I understand you correctly, uh, you're talking about the Slack API and that calls your web hook and that's where your trigger starts, right? — Yeah. It's an example. Then there is an external system and it has only a single point of entry so to speak but you have two environments and we want to test on live data. — Yeah. So — all right. Um — yeah help me out here. — Just one of the things we did in the past was the exact same thing. I wanted to test them. I created a separate app in a different channel connected one up to my dev environment, one up my test and one production and that means it only triggered off my production one. So same thing I replicated three different environments you know is extra setup and credentials and all that type of stuff but that's how I did it. So I could test this once and then every workflow has a different channel so like I don't have all the messages going into a single channel as well. So that's how I did it. I'm not sure other people can add how they did it. Yeah. Uh ju just to add from my side how I solved it. Uh there were basically an easy way. You have a single workflow which receives web hooks and does nothing but routting. So you can have some sub workflows and then you can have a switch like okay today we are doing testing so we are sending actual data onto sub workflows or you are just copying the main system runs as it is but when you activate testing mode your testing uh environment starts receiving the same web hooks from a parent workflow — you that's smart you see that that's where we are friend — also um we fixed that in another way. So if I'm a solo developer, I would probably think the same way, right? You think smart, save money. Perfect. How we did, how we deal with things is we buy a second Slack environment and then that we call it tests. That no, no joke. That's how we do it. We pay for a second HubSpot environment just to call it test. And then we can test things with live data. And then we have pro and they have two separate web hooks. Yeah. Yeah. — Yeah. Sorry. U so the solution that you said it's behind the payw wall, right? You need to have the enterprise. But if you do not have the enterprise, but still you want to have two basically environment, how would you do it instead of the copy pasting? So is there any other suggestion that you might have — like a workaround — on the enterprise version? I don't know if I'm supposed to talk about that right now. So, how do I — So, what — the community? — Yeah. Yeah. Well, — this is the enterprise track though. — So, give a short answer. — Sorry. — I better give a very short answer. — Yeah, probably. I mean, I look after customer success, so I may be shooting myself in the foot here a little bit. Um, but you can of course still back up a community an ATL instance to a GitHub repository using a workflow. So you might be able to have one of the frameworks that T showed here with each instance backing up to its own repository. But of course there's many more reasons beyond environments. You might want to look at any enterprise as well. Yeah, you could do that. So any other questions? Do we still have time? — Meinda, are we okay for time? I think — yeah, quick question. Uh, one of your slides mentioned GitLab specifically, but I assume you also support GitHub or other Git repositories. Okay. — It just has to be SSH. — So, if you do the HTTPS, it doesn't work. And that's actually a big uh interesting. It was a big thing for us cuz — Oh, cool, cool, cool. See, that's why I'm here. We're doing something good. No, but we had to work around it and not around it, but we had to set up the Azure environment. So, it had a certain out IP and then only then our Jitlab um uh allowed the connection over SSH. So, it was a I had three days it working on it. It was pretty much a problem. So, think about it before you do it. You need to have SSH or soon update fix. Perfect. — [snorts] — Nice. Maybe one quick question. I'll go to the gentleman over there and we'll come back later if we have time. — Hello. Uh I was wondering in general if you when you're thinking about environments and especially the integrations with GitHub, how do you imagine your persona that you're working for or that is using these kinds of features? Because what I saw from the presentation is that there is no clear differentiation between the team that implements NATN within an organization and the people that then in the end use it to automate certain processes. And these are very different people with very different needs also and um I mean just in general how do you think about these two groups in context of environments? — Good question. So I thought I I made it clear in the presentation but uh that was exactly what I was um uh the what the two examples were about. So the first example of the automative um automotive the car manufacturer they wanted separate instances for every team right because those teams will be working in an end and they're not like the end users they have a lot of IT guys it's actually the AI daughter of the car manufacturer so it's all engineers uh in on the other company where I talked about the AI guard where it sits behind this interface. Um that's where uh the end user uh doesn't see anything and they use different staging or deployments just for having control over access over monitoring etc underneath right so if you have if you look at the end user the it's I mean you could also send um have an have a setup where you have deaf and broad and you let people test workflows or anything on tests. So again, it really depends on your setup how you want to involve it and into your structures and how you lay it out for your people to use it. I know it's not a very good answer, but it really depends. That's the short answer. — We'll wrap up that tea. Thank you so much once again and thanks to the audience for your questions.

---
*Источник: https://ekstraktznaniy.ru/video/15215*