diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6019451..86e87a0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -31,7 +31,6 @@ jobs: - run: docker compose logs if: always() - run: npm run migrate - - run: npm run import-data - run: npm run build - run: >- docker build diff --git a/Dockerfile b/Dockerfile index 906561c..820ba40 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,7 +6,6 @@ RUN npm ci COPY .next .next COPY scripts/ scripts/ COPY src/ src/ -COPY export/ export/ COPY tsconfig.json tsconfig.json EXPOSE 3000 diff --git a/README.md b/README.md index a5eff66..df405e4 100644 --- a/README.md +++ b/README.md @@ -52,35 +52,6 @@ npm run build npm run standalone ``` -## Data Export +## Data source -Exports all import/export-enabled Payload collections as JSON files into [`export/`](./export). - -```powershell -npm run export-data -``` - -Notes: - -- The script requires a valid Payload user. -- The script loads environment variables from your Next.js `.env` files. -- Existing JSON files in `export/` are overwritten. - -## Data Import - -Imports all `*.json` files from [`export/`](./export) into the matching Payload collections. - -```powershell -npm run import-data -``` - -Notes: - -- The database schema / tables must already exist before running the import. -- Run `npm run migrate` first if the target database is still empty. -- The script always creates or reuses a temporary Payload user for the import process. -- The script uses `upsert` with `matchField: "id"`. -- If a document with the same `id` already exists, it is updated. -- If no document with that `id` exists, it is created. -- Existing documents with different IDs remain untouched. -- JSON files without a matching import-enabled collection are skipped. +Content is loaded directly from the configured Postgres database via Payload queries. diff --git a/export/blog.json b/export/blog.json deleted file mode 100644 index fa9a8e3..0000000 --- a/export/blog.json +++ /dev/null @@ -1 +0,0 @@ -[{"id":18,"title":{"en":"CodeZero publishes new first stable canary release","de":"CodeZero publishes new first stable canary release"},"slug":"canary-2479774825","isPinned":true,"author":{"id":6,"name":"Nico Sammito","image":10,"shortDescription":{"en":null},"about":{"en":null},"role":{"en":"Co-Founder / Managing Director"},"joinedAt":null,"updatedAt":"2026-04-25T21:22:23.438Z","createdAt":"2026-03-25T12:10:33.040Z"},"content":{"en":{"root":{"type":"root","format":"","indent":0,"version":1,"children":[{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"We are announcing the release of our latest canary version, marking another step in the development of CodeZero. This update focuses on the essential foundations within the IDE and the Runtime to ensure architectural stability for the platform's future.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Finalizing action connection endpoints","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"A major milestone in this release is the completion of the endpoints designed for action connections. While the official SDK is still under development, these endpoints are now fully operational. They provide the necessary communication layer for external actions to interface with the backend, ensuring that the infrastructure is ready for upcoming integration tools.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Improvements to the runtime and core services","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"This version includes significant refinements to the Runtime, specifically within the Taurus and Aquila services. These updates enhance the stability of the execution logic and the gateway management. By optimizing how the Runtime handles data, we have created a more reliable environment for executing automated flows.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Enhanced IDE and organization tools","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"We have continued to refine the IDE to improve the overall building experience. The latest changes include updates to the suggestion menus and more robust organization management features within the frontend. These tools allow for more precise control over roles and members, facilitating a better structure for teams working within the IDE.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Credits and Documentation","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"This release was made possible by the dedicated efforts of our contributors. We would like to thank everyone who contributed to this canary version:","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"ul","type":"list","start":1,"format":"","indent":0,"version":1,"children":[{"type":"listitem","value":1,"format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Niklas van Schrick","type":"text","style":"","detail":0,"format":1,"version":1}],"direction":null},{"type":"listitem","value":2,"format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Raphael Arun Götz","type":"text","style":"","detail":0,"format":1,"version":1}],"direction":null},{"type":"listitem","value":3,"format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Nicolas Morawietz","type":"text","style":"","detail":0,"format":1,"version":1}],"direction":null},{"type":"listitem","value":4,"format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Dario Pranjić","type":"text","style":"","detail":0,"format":1,"version":1}],"direction":null},{"type":"listitem","value":5,"format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Marius Ahsmus","type":"text","style":"","detail":0,"format":1,"version":1}],"direction":null},{"type":"listitem","value":6,"format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Nico Sammito","type":"text","style":"","detail":0,"format":1,"version":1}],"direction":null}],"listType":"bullet","direction":null},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"For those who want to dive deeper into the technical details or start testing the latest build, our documentation provides all the necessary resources:","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"ul","type":"list","start":1,"format":"","indent":0,"version":1,"children":[{"type":"listitem","value":1,"format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Detailed Changes:","type":"text","style":"","detail":0,"format":1,"version":1},{"mode":"normal","text":" For a full list of all technical modifications and updates, visit our ","type":"text","style":"","detail":0,"format":0,"version":1},{"id":"69ed319d96445d35a32568eb","type":"link","fields":{"url":"https://docs.code0.tech/general/changelog","newTab":false,"linkType":"custom"},"format":"","indent":0,"version":3,"children":[{"mode":"normal","text":"Changelog","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"mode":"normal","text":".","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":2,"format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Getting Started:","type":"text","style":"","detail":0,"format":1,"version":1},{"mode":"normal","text":" Step-by-step instructions for setting up the latest version can be found in our ","type":"text","style":"","detail":0,"format":0,"version":1},{"id":"69ed319d96445d35a32568ec","type":"link","fields":{"url":"https://docs.code0.tech/general/install/","newTab":false,"linkType":"custom"},"format":"","indent":0,"version":3,"children":[{"mode":"normal","text":"Installation Guide","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"mode":"normal","text":".","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null}],"listType":"bullet","direction":null},{"tag":"h2","type":"heading","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Ongoing development status","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"As CodeZero is currently in the development phase, this canary release serves as a critical foundation for the features yet to come. Our priority remains the stabilization of the API environment and the completion of the underlying logic within both the IDE and the Runtime. These updates ensure that the platform remains scalable and performant as we move toward a more complete version.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0}],"direction":null}},"de":{"root":{"type":"root","format":"","indent":0,"version":1,"children":[{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"We are announcing the release of our latest canary version, marking another step in the development of CodeZero. This update focuses on the essential foundations within the IDE and the Runtime to ensure architectural stability for the platform's future.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Finalizing action connection endpoints","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"A major milestone in this release is the completion of the endpoints designed for action connections. While the official SDK is still under development, these endpoints are now fully operational. They provide the necessary communication layer for external actions to interface with the backend, ensuring that the infrastructure is ready for upcoming integration tools.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Improvements to the runtime and core services","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"This version includes significant refinements to the Runtime, specifically within the Taurus and Aquila services. These updates enhance the stability of the execution logic and the gateway management. By optimizing how the Runtime handles data, we have created a more reliable environment for executing automated flows.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Enhanced IDE and organization tools","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"We have continued to refine the IDE to improve the overall building experience. The latest changes include updates to the suggestion menus and more robust organization management features within the frontend. These tools allow for more precise control over roles and members, facilitating a better structure for teams working within the IDE.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Credits and Documentation","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"This release was made possible by the dedicated efforts of our contributors. We would like to thank everyone who contributed to this canary version:","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"ul","type":"list","start":1,"format":"","indent":0,"version":1,"children":[{"type":"listitem","value":1,"format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Niklas van Schrick","type":"text","style":"","detail":0,"format":1,"version":1}],"direction":null},{"type":"listitem","value":2,"format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Raphael Arun Götz","type":"text","style":"","detail":0,"format":1,"version":1}],"direction":null},{"type":"listitem","value":3,"format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Nicolas Morawietz","type":"text","style":"","detail":0,"format":1,"version":1}],"direction":null},{"type":"listitem","value":4,"format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Dario Pranjić","type":"text","style":"","detail":0,"format":1,"version":1}],"direction":null},{"type":"listitem","value":5,"format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Marius Ahsmus","type":"text","style":"","detail":0,"format":1,"version":1}],"direction":null},{"type":"listitem","value":6,"format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Nico Sammito","type":"text","style":"","detail":0,"format":1,"version":1}],"direction":null}],"listType":"bullet","direction":null},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"For those who want to dive deeper into the technical details or start testing the latest build, our documentation provides all the necessary resources:","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"ul","type":"list","start":1,"format":"","indent":0,"version":1,"children":[{"type":"listitem","value":1,"format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Detailed Changes:","type":"text","style":"","detail":0,"format":1,"version":1},{"mode":"normal","text":" For a full list of all technical modifications and updates, visit our ","type":"text","style":"","detail":0,"format":0,"version":1},{"id":"69ed319d96445d35a32568eb","type":"link","fields":{"url":"https://docs.code0.tech/general/changelog","newTab":false,"linkType":"custom"},"format":"","indent":0,"version":3,"children":[{"mode":"normal","text":"Changelog","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"mode":"normal","text":".","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":2,"format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Getting Started:","type":"text","style":"","detail":0,"format":1,"version":1},{"mode":"normal","text":" Step-by-step instructions for setting up the latest version can be found in our ","type":"text","style":"","detail":0,"format":0,"version":1},{"id":"69ed319d96445d35a32568ec","type":"link","fields":{"url":"https://docs.code0.tech/general/install/","newTab":false,"linkType":"custom"},"format":"","indent":0,"version":3,"children":[{"mode":"normal","text":"Installation Guide","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"mode":"normal","text":".","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null}],"listType":"bullet","direction":null},{"tag":"h2","type":"heading","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Ongoing development status","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"As CodeZero is currently in the development phase, this canary release serves as a critical foundation for the features yet to come. Our priority remains the stabilization of the API environment and the completion of the underlying logic within both the IDE and the Runtime. These updates ensure that the platform remains scalable and performant as we move toward a more complete version.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0}],"direction":null}}},"shortDescription":{"en":"Explore the latest CodeZero canary release featuring finalized action connection endpoints, significant Runtime stability improvements to Taurus and Aquila, and refined organization management tools within the IDE.","de":"Explore the latest CodeZero canary release featuring finalized action connection endpoints, significant Runtime stability improvements to Taurus and Aquila, and refined organization management tools within the IDE."},"heroImage":{"id":43,"alt":"CodeZero releases new canary version","href":null,"updatedAt":"2026-04-25T21:27:30.288Z","createdAt":"2026-04-25T21:27:30.288Z","url":"/api/media/file/CodeZeroVersionCanary.png","thumbnailURL":null,"filename":"CodeZeroVersionCanary.png","mimeType":"image/png","filesize":755706,"width":1920,"height":1080,"focalX":50,"focalY":50},"meta":{"title":{"en":"CodeZero publishes new first stable canary release","de":"CodeZero publishes new first stable canary release"},"description":{"en":"CodeZero publishes a new canary version. Discover the latest progress on our IDE and infrastructure as we move closer to a finished product.","de":"CodeZero publishes a new canary version. Discover the latest progress on our IDE and infrastructure as we move closer to a finished product."},"image":{"en":{"id":43,"alt":"CodeZero releases new canary version","href":null,"updatedAt":"2026-04-25T21:27:30.288Z","createdAt":"2026-04-25T21:27:30.288Z","url":"/api/media/file/CodeZeroVersionCanary.png","thumbnailURL":null,"filename":"CodeZeroVersionCanary.png","mimeType":"image/png","filesize":755706,"width":1920,"height":1080,"focalX":50,"focalY":50},"de":{"id":43,"alt":"CodeZero releases new canary version","href":null,"updatedAt":"2026-04-25T21:27:30.288Z","createdAt":"2026-04-25T21:27:30.288Z","url":"/api/media/file/CodeZeroVersionCanary.png","thumbnailURL":null,"filename":"CodeZeroVersionCanary.png","mimeType":"image/png","filesize":755706,"width":1920,"height":1080,"focalX":50,"focalY":50}}},"updatedAt":"2026-04-25T21:30:11.864Z","createdAt":"2026-04-25T21:30:06.135Z"},{"id":1,"title":{"en":"CodeZero vs Kestra: Why CodeZero is the better automation platform","de":"CodeZero vs Kestra: Why CodeZero is the better automation platform"},"slug":"codezero-vs-kestra-performance-benchmark","isPinned":false,"author":{"id":6,"name":"Nico Sammito","image":10,"shortDescription":{"en":null},"about":{"en":null},"role":{"en":"Co-Founder / Managing Director"},"joinedAt":null,"updatedAt":"2026-04-25T21:22:23.438Z","createdAt":"2026-03-25T12:10:33.040Z"},"content":{"en":{"root":{"type":"root","format":"","indent":0,"version":1,"children":[{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"The world of orchestration and automation often promises \"high performance,\" but performance is relative. At CodeZero, we believe that efficiency is not just a technical detail, it is the foundation of a scalable business. To see how we stack up against the best in the industry, we put CodeZero head-to-head against ","type":"text","style":"","detail":0,"format":0,"version":1},{"id":"69e63a0afbaba85c943f78ae","type":"link","fields":{"url":"http://kestra.io","newTab":true,"linkType":"custom"},"format":"","indent":0,"version":3,"children":[{"mode":"normal","text":"Kestra","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"mode":"normal","text":".","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"To ensure the results were undeniable, we used an Apple M3 MacBook Air and built the exact same workflow on both platforms. The result is a wake-up call for anyone who thinks enterprise orchestration has to be resource-heavy.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"The setup: identical logic, no excuses","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"A benchmark only works if the playing field is level. We mirrored the same logic on both CodeZero and Kestra: a simple HTTP webhook that receives a request and returns a 200 OK response. By stripping away external API calls and database delays, we focused solely on the execution engine's raw speed.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"For this test, we capped resources at 1.0 vCPU and 4GB of RAM to simulate a standard production instance.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Throughput: 69x more work on the same hardware","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Throughput is the ultimate measure of how much your system can handle before it collapses. If your engine spends more energy managing itself than executing your tasks, you hit a performance wall.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"id":"69e63a3bfbaba85c943f78af","type":"upload","value":{"id":3,"alt":"CodeZero vs Kestra Requests per second","href":null,"updatedAt":"2026-04-20T14:37:47.391Z","createdAt":"2026-04-20T14:37:47.390Z","url":"/api/media/file/CodeZeroBenchmarkvsKestra_1_reqs.png","thumbnailURL":null,"filename":"CodeZeroBenchmarkvsKestra_1_reqs.png","mimeType":"image/png","filesize":851039,"width":1920,"height":1080,"focalX":50,"focalY":50},"fields":null,"format":"","version":3,"relationTo":"media"},{"type":"paragraph","format":"","indent":0,"version":1,"children":[],"direction":null,"textStyle":"","textFormat":0},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"The data is staggering. At a peak load of 200 virtual users, CodeZero maintains a massive ","type":"text","style":"","detail":0,"format":0,"version":1},{"mode":"normal","text":"2,147 req/s","type":"text","style":"","detail":0,"format":1,"version":1},{"mode":"normal","text":". In the exact same environment, Kestra drops to just ","type":"text","style":"","detail":0,"format":0,"version":1},{"mode":"normal","text":"31.05 req/s","type":"text","style":"","detail":0,"format":1,"version":1},{"mode":"normal","text":". This means CodeZero is doing the work of 69 Kestra instances on a single core. When you scale your business, this difference is the gap between a $100 monthly server bill and a $7,000 one.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Latency: why Kestra keeps your users waiting","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Latency is where the end-user feels the weight of the architecture. High latency doesn't just feel slow, it breaks real-time webhooks and causes timeouts in critical business processes.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"id":"69e63a6bfbaba85c943f78b2","type":"upload","value":{"id":2,"alt":"CodeZero vs Kestra Average response time","href":null,"updatedAt":"2026-04-20T14:38:35.074Z","createdAt":"2026-04-20T14:38:35.073Z","url":"/api/media/file/CodeZeroBenchmarkvsKestra_1_avg.png","thumbnailURL":null,"filename":"CodeZeroBenchmarkvsKestra_1_avg.png","mimeType":"image/png","filesize":838804,"width":1920,"height":1080,"focalX":50,"focalY":50},"fields":null,"format":"","version":3,"relationTo":"media"},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[],"direction":null,"textStyle":"","textFormat":0},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"While CodeZero responds in a rock-solid ","type":"text","style":"","detail":0,"format":0,"version":1},{"mode":"normal","text":"0.1s","type":"text","style":"","detail":0,"format":1,"version":1},{"mode":"normal","text":", ","type":"text","style":"","detail":0,"format":0,"version":1},{"id":"69e63a4cfbaba85c943f78b0","type":"link","fields":{"url":"http://kestra.io","newTab":true,"linkType":"custom"},"format":"","indent":0,"version":3,"children":[{"mode":"normal","text":"Kestra’s","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"mode":"normal","text":" response time spikes to ","type":"text","style":"","detail":0,"format":0,"version":1},{"mode":"normal","text":"1.7s","type":"text","style":"","detail":0,"format":1,"version":1},{"mode":"normal","text":" under load. Kestra is effectively 17x slower than CodeZero. In a world where every millisecond costs money, waiting nearly two seconds for a simple webhook response is a total system failure. CodeZero ensures your automations feel like raw code, providing instant feedback regardless of the load.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Why the gap is so large","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Since the workflows were identical, the 69x difference in throughput isn't about the logic. It is about the language.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Legacy tools like Kestra are built on the JVM (Java Virtual Machine). While powerful, these platforms carry massive internal bloat, require \"warm-up\" periods, and consume significant memory just to stay active. CodeZero, however, is ","type":"text","style":"","detail":0,"format":0,"version":1},{"mode":"normal","text":"built from the ground up in Rust","type":"text","style":"","detail":0,"format":1,"version":1},{"mode":"normal","text":".","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"By using Rust, we’ve eliminated the typical \"no-code tax.\" Our engine offers:","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"ul","type":"list","start":1,"format":"","indent":0,"version":1,"children":[{"type":"listitem","value":1,"format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Zero-cost abstractions:","type":"text","style":"","detail":0,"format":1,"version":1},{"mode":"normal","text":" We get the safety of no-code with the raw speed of a low-level language.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":2,"format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Minimal memory footprint:","type":"text","style":"","detail":0,"format":1,"version":1},{"mode":"normal","text":" CodeZero is up to 160x smaller than traditional engines, leaving the RAM for your data, not the engine's overhead.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":3,"format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Fearless concurrency:","type":"text","style":"","detail":0,"format":1,"version":1},{"mode":"normal","text":" Rust allows us to handle thousands of requests simultaneously without the context-switching bottlenecks that cause legacy tools to choke.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null}],"listType":"bullet","direction":null,"textFormat":1}],"direction":null}},"de":{"root":{"type":"root","format":"","indent":0,"version":1,"children":[{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"The world of orchestration and automation often promises \"high performance,\" but performance is relative. At CodeZero, we believe that efficiency is not just a technical detail, it is the foundation of a scalable business. To see how we stack up against the best in the industry, we put CodeZero head-to-head against ","type":"text","style":"","detail":0,"format":0,"version":1},{"id":"69e63a0afbaba85c943f78ae","type":"link","fields":{"url":"http://kestra.io","newTab":true,"linkType":"custom"},"format":"","indent":0,"version":3,"children":[{"mode":"normal","text":"Kestra","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"mode":"normal","text":".","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"To ensure the results were undeniable, we used an Apple M3 MacBook Air and built the exact same workflow on both platforms. The result is a wake-up call for anyone who thinks enterprise orchestration has to be resource-heavy.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"The setup: identical logic, no excuses","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"A benchmark only works if the playing field is level. We mirrored the same logic on both CodeZero and Kestra: a simple HTTP webhook that receives a request and returns a 200 OK response. By stripping away external API calls and database delays, we focused solely on the execution engine's raw speed.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"For this test, we capped resources at 1.0 vCPU and 4GB of RAM to simulate a standard production instance.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Throughput: 69x more work on the same hardware","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Throughput is the ultimate measure of how much your system can handle before it collapses. If your engine spends more energy managing itself than executing your tasks, you hit a performance wall.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"id":"69e63a3bfbaba85c943f78af","type":"upload","value":{"id":3,"alt":"CodeZero vs Kestra Requests per second","href":null,"updatedAt":"2026-04-20T14:37:47.391Z","createdAt":"2026-04-20T14:37:47.390Z","url":"/api/media/file/CodeZeroBenchmarkvsKestra_1_reqs.png","thumbnailURL":null,"filename":"CodeZeroBenchmarkvsKestra_1_reqs.png","mimeType":"image/png","filesize":851039,"width":1920,"height":1080,"focalX":50,"focalY":50},"fields":null,"format":"","version":3,"relationTo":"media"},{"type":"paragraph","format":"","indent":0,"version":1,"children":[],"direction":null,"textStyle":"","textFormat":0},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"The data is staggering. At a peak load of 200 virtual users, CodeZero maintains a massive ","type":"text","style":"","detail":0,"format":0,"version":1},{"mode":"normal","text":"2,147 req/s","type":"text","style":"","detail":0,"format":1,"version":1},{"mode":"normal","text":". In the exact same environment, Kestra drops to just ","type":"text","style":"","detail":0,"format":0,"version":1},{"mode":"normal","text":"31.05 req/s","type":"text","style":"","detail":0,"format":1,"version":1},{"mode":"normal","text":". This means CodeZero is doing the work of 69 Kestra instances on a single core. When you scale your business, this difference is the gap between a $100 monthly server bill and a $7,000 one.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Latency: why Kestra keeps your users waiting","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Latency is where the end-user feels the weight of the architecture. High latency doesn't just feel slow, it breaks real-time webhooks and causes timeouts in critical business processes.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"id":"69e63a6bfbaba85c943f78b2","type":"upload","value":{"id":2,"alt":"CodeZero vs Kestra Average response time","href":null,"updatedAt":"2026-04-20T14:38:35.074Z","createdAt":"2026-04-20T14:38:35.073Z","url":"/api/media/file/CodeZeroBenchmarkvsKestra_1_avg.png","thumbnailURL":null,"filename":"CodeZeroBenchmarkvsKestra_1_avg.png","mimeType":"image/png","filesize":838804,"width":1920,"height":1080,"focalX":50,"focalY":50},"fields":null,"format":"","version":3,"relationTo":"media"},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[],"direction":null,"textStyle":"","textFormat":0},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"While CodeZero responds in a rock-solid ","type":"text","style":"","detail":0,"format":0,"version":1},{"mode":"normal","text":"0.1s","type":"text","style":"","detail":0,"format":1,"version":1},{"mode":"normal","text":", ","type":"text","style":"","detail":0,"format":0,"version":1},{"id":"69e63a4cfbaba85c943f78b0","type":"link","fields":{"url":"http://kestra.io","newTab":true,"linkType":"custom"},"format":"","indent":0,"version":3,"children":[{"mode":"normal","text":"Kestra’s","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"mode":"normal","text":" response time spikes to ","type":"text","style":"","detail":0,"format":0,"version":1},{"mode":"normal","text":"1.7s","type":"text","style":"","detail":0,"format":1,"version":1},{"mode":"normal","text":" under load. Kestra is effectively 17x slower than CodeZero. In a world where every millisecond costs money, waiting nearly two seconds for a simple webhook response is a total system failure. CodeZero ensures your automations feel like raw code, providing instant feedback regardless of the load.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Why the gap is so large","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Since the workflows were identical, the 69x difference in throughput isn't about the logic. It is about the language.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Legacy tools like Kestra are built on the JVM (Java Virtual Machine). While powerful, these platforms carry massive internal bloat, require \"warm-up\" periods, and consume significant memory just to stay active. CodeZero, however, is ","type":"text","style":"","detail":0,"format":0,"version":1},{"mode":"normal","text":"built from the ground up in Rust","type":"text","style":"","detail":0,"format":1,"version":1},{"mode":"normal","text":".","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"By using Rust, we’ve eliminated the typical \"no-code tax.\" Our engine offers:","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"ul","type":"list","start":1,"format":"","indent":0,"version":1,"children":[{"type":"listitem","value":1,"format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Zero-cost abstractions:","type":"text","style":"","detail":0,"format":1,"version":1},{"mode":"normal","text":" We get the safety of no-code with the raw speed of a low-level language.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":2,"format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Minimal memory footprint:","type":"text","style":"","detail":0,"format":1,"version":1},{"mode":"normal","text":" CodeZero is up to 160x smaller than traditional engines, leaving the RAM for your data, not the engine's overhead.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":3,"format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Fearless concurrency:","type":"text","style":"","detail":0,"format":1,"version":1},{"mode":"normal","text":" Rust allows us to handle thousands of requests simultaneously without the context-switching bottlenecks that cause legacy tools to choke.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null}],"listType":"bullet","direction":null,"textFormat":1}],"direction":null}}},"shortDescription":{"en":"CodeZero vs Kestra. We mirrored identical workflows to see how Kestra perform's against our platform CodeZero","de":"CodeZero vs Kestra. We mirrored identical workflows to see how Kestra perform's against our platform CodeZero"},"heroImage":{"id":1,"alt":"CodeZero vs Kestra","href":null,"updatedAt":"2026-04-20T14:40:21.446Z","createdAt":"2026-04-20T14:40:21.446Z","url":"/api/media/file/CodeZeroVSKestra.png","thumbnailURL":null,"filename":"CodeZeroVSKestra.png","mimeType":"image/png","filesize":704879,"width":1920,"height":1080,"focalX":50,"focalY":50},"meta":{"title":{"en":"CodeZero vs Kestra: Why CodeZero is the better platform","de":"CodeZero vs Kestra: Why CodeZero is the better platform"},"description":{"en":"CodeZero vs Kestra. We mirrored identical workflows to see how Kestra perform's against our platform CodeZero","de":"CodeZero vs Kestra. We mirrored identical workflows to see how Kestra perform's against our platform CodeZero"},"image":{"en":{"id":1,"alt":"CodeZero vs Kestra","href":null,"updatedAt":"2026-04-20T14:40:21.446Z","createdAt":"2026-04-20T14:40:21.446Z","url":"/api/media/file/CodeZeroVSKestra.png","thumbnailURL":null,"filename":"CodeZeroVSKestra.png","mimeType":"image/png","filesize":704879,"width":1920,"height":1080,"focalX":50,"focalY":50},"de":{"id":1,"alt":"CodeZero vs Kestra","href":null,"updatedAt":"2026-04-20T14:40:21.446Z","createdAt":"2026-04-20T14:40:21.446Z","url":"/api/media/file/CodeZeroVSKestra.png","thumbnailURL":null,"filename":"CodeZeroVSKestra.png","mimeType":"image/png","filesize":704879,"width":1920,"height":1080,"focalX":50,"focalY":50}}},"updatedAt":"2026-04-25T21:22:23.463Z","createdAt":"2026-04-20T14:43:02.995Z"},{"id":2,"title":{"en":"CodeZero is 30x times faster than n8n's platform","de":"CodeZero is 30x times faster than n8n's platform"},"slug":"codezero-faster-than-n8n","isPinned":false,"author":{"id":6,"name":"Nico Sammito","image":10,"shortDescription":{"en":null},"about":{"en":null},"role":{"en":"Co-Founder / Managing Director"},"joinedAt":null,"updatedAt":"2026-04-25T21:22:23.438Z","createdAt":"2026-03-25T12:10:33.040Z"},"content":{"en":{"root":{"type":"root","format":"","indent":0,"version":1,"children":[{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"The biggest lie in the software industry is that no-code has to be slow. For years, developers and enterprises have paid a \"no-code tax,\" trading performance for ease of use. At CodeZero, we decided to kill that trade-off.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"To prove it, we staged a battle against n8n, the current industry standard. We didn't use theoretical models. We used an Apple M3 MacBook Air and identical workflows on both platforms. The result is that CodeZero isn’t just an alternative, it’s a generational leap in efficiency.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"The setup: identical logic, no excuses","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"A benchmark is only as good as its transparency. We mirrored the exact same logic on both platforms: a simple HTTP webhook that returns a 200 OK response. By removing external variables like API delays or database latency, we isolated the raw overhead of the execution engines themselves.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Using Docker, we capped resources at three tiers (1.0, 0.5, and 0.25 vCPU) and used k6 to simulate high-concurrency traffic.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"1.0 vCPU: 12x more throughput","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Even when given a full core, legacy architecture hits a wall. While n8n struggles to manage its own internal processes, CodeZero focuses entirely on moving data.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"id":"69e013dd27ab88292f627347","type":"upload","value":{"id":4,"alt":"CodeZero is 30x faster than n8n","href":null,"updatedAt":"2026-04-15T22:38:50.886Z","createdAt":"2026-04-15T22:38:50.886Z","url":"/api/media/file/CodeZeroBenchmarkvsN8N_1_reqs.png","thumbnailURL":null,"filename":"CodeZeroBenchmarkvsN8N_1_reqs.png","mimeType":"image/png","filesize":650638,"width":1920,"height":1080,"focalX":50,"focalY":50},"fields":null,"format":"","version":3,"relationTo":"media"},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[],"direction":null,"textStyle":"","textFormat":0},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"The data shows that CodeZero scaled effortlessly to ","type":"text","style":"","detail":0,"format":0,"version":1},{"mode":"normal","text":"2,147 req/s","type":"text","style":"","detail":0,"format":1,"version":1},{"mode":"normal","text":", while n8n peaked at a mere ","type":"text","style":"","detail":0,"format":0,"version":1},{"mode":"normal","text":"177 req/s","type":"text","style":"","detail":0,"format":1,"version":1},{"mode":"normal","text":". This gap represents the difference between a system that thrives under pressure and one that merely survives.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"id":"69e013d727ab88292f627346","type":"upload","value":{"id":5,"alt":"CodeZero is 30x faster than n8n","href":null,"updatedAt":"2026-04-15T22:38:50.859Z","createdAt":"2026-04-15T22:38:50.859Z","url":"/api/media/file/CodeZeroBenchmarkvsN8N_1_avg.png","thumbnailURL":null,"filename":"CodeZeroBenchmarkvsN8N_1_avg.png","mimeType":"image/png","filesize":287156,"width":1920,"height":1080,"focalX":50,"focalY":50},"fields":null,"format":"","version":3,"relationTo":"media"},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[],"direction":null,"textStyle":"","textFormat":0},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"At 200 concurrent users, n8n delayed for ","type":"text","style":"","detail":0,"format":0,"version":1},{"mode":"normal","text":"1.1s","type":"text","style":"","detail":0,"format":1,"version":1},{"mode":"normal","text":" while CodeZero stayed at ","type":"text","style":"","detail":0,"format":0,"version":1},{"mode":"normal","text":"0.1s","type":"text","style":"","detail":0,"format":1,"version":1},{"mode":"normal","text":". In a production environment, this means you can handle an entire marketing spike on a single core that would have crashed a legacy setup. CodeZero is 11x faster out of the gate.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"0.5 vCPU: 20x higher efficiency","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Most cloud instances run on limited resources to save costs. This is where CodeZero’s lean architecture turns into a massive financial advantage for any business scaling its automation.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"id":"69e013cb27ab88292f627345","type":"upload","value":{"id":8,"alt":"CodeZero is 30x faster than n8n","href":null,"updatedAt":"2026-04-15T22:38:50.787Z","createdAt":"2026-04-15T22:38:50.787Z","url":"/api/media/file/CodeZeroBenchmarkvsN8N_0.5_reqs.png","thumbnailURL":null,"filename":"CodeZeroBenchmarkvsN8N_0.5_reqs.png","mimeType":"image/png","filesize":843552,"width":1920,"height":1080,"focalX":50,"focalY":50},"fields":null,"format":"","version":3,"relationTo":"media"},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[],"direction":null,"textStyle":"","textFormat":0},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"In this mid-tier setup, CodeZero maintained a rock-solid ","type":"text","style":"","detail":0,"format":0,"version":1},{"mode":"normal","text":"1,279 req/s","type":"text","style":"","detail":0,"format":1,"version":1},{"mode":"normal","text":". In contrast, n8n’s throughput dropped to ","type":"text","style":"","detail":0,"format":0,"version":1},{"mode":"normal","text":"64 req/s","type":"text","style":"","detail":0,"format":1,"version":1},{"mode":"normal","text":". The efficiency multiplier here is 20x, meaning your hardware is significantly more productive with CodeZero.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"id":"69e013c227ab88292f627344","type":"upload","value":{"id":9,"alt":"CodeZero is 30x faster than n8n","href":null,"updatedAt":"2026-04-15T22:38:50.765Z","createdAt":"2026-04-15T22:38:50.765Z","url":"/api/media/file/CodeZeroBenchmarkvsN8N_0.5_avg.png","thumbnailURL":null,"filename":"CodeZeroBenchmarkvsN8N_0.5_avg.png","mimeType":"image/png","filesize":821676,"width":1920,"height":1080,"focalX":50,"focalY":50},"fields":null,"format":"","version":3,"relationTo":"media"},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[],"direction":null,"textStyle":"","textFormat":0},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"This is where it gets dangerous for legacy systems. The response times for n8n spiked to ","type":"text","style":"","detail":0,"format":0,"version":1},{"mode":"normal","text":"3.0s","type":"text","style":"","detail":0,"format":1,"version":1},{"mode":"normal","text":", which is unacceptable for modern real-time applications. CodeZero held steady at ","type":"text","style":"","detail":0,"format":0,"version":1},{"mode":"normal","text":"0.2s","type":"text","style":"","detail":0,"format":1,"version":1},{"mode":"normal","text":", ensuring that the end-user never feels the load.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"0.25 vCPU: the 17-second collapse","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"We pushed both engines into a resource-starved environment to see which one would break first. The results were staggering and highlight the fundamental architectural differences.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"id":"69e013ae27ab88292f627343","type":"upload","value":{"id":6,"alt":"CodeZero is 30x faster than n8n","href":null,"updatedAt":"2026-04-15T22:38:50.834Z","createdAt":"2026-04-15T22:38:50.834Z","url":"/api/media/file/CodeZeroBenchmarkvsN8N_0.25_reqs.png","thumbnailURL":null,"filename":"CodeZeroBenchmarkvsN8N_0.25_reqs.png","mimeType":"image/png","filesize":757568,"width":1920,"height":1080,"focalX":50,"focalY":50},"fields":null,"format":"","version":3,"relationTo":"media"},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[],"direction":null,"textStyle":"","textFormat":0},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Under extreme pressure, n8n gasped for air at ","type":"text","style":"","detail":0,"format":0,"version":1},{"mode":"normal","text":"10 req/s","type":"text","style":"","detail":0,"format":1,"version":1},{"mode":"normal","text":". CodeZero still pushed a functional ","type":"text","style":"","detail":0,"format":0,"version":1},{"mode":"normal","text":"339 req/s","type":"text","style":"","detail":0,"format":1,"version":1},{"mode":"normal","text":". This proves that CodeZero can handle significant traffic even on the cheapest possible entry-level hardware.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"id":"69e013a327ab88292f627342","type":"upload","value":{"id":7,"alt":"CodeZero is 30x faster than n8n","href":null,"updatedAt":"2026-04-15T22:38:50.810Z","createdAt":"2026-04-15T22:38:50.810Z","url":"/api/media/file/CodeZeroBenchmarkvsN8N_0.25_avg.png","thumbnailURL":null,"filename":"CodeZeroBenchmarkvsN8N_0.25_avg.png","mimeType":"image/png","filesize":851616,"width":1920,"height":1080,"focalX":50,"focalY":50},"fields":null,"format":"","version":3,"relationTo":"media"},{"tag":"h3","type":"heading","format":"start","indent":0,"version":1,"children":[],"direction":null},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"The latency results here are the final breaking point. n8n exploded to ","type":"text","style":"","detail":0,"format":0,"version":1},{"mode":"normal","text":"17.6s","type":"text","style":"","detail":0,"format":1,"version":1},{"mode":"normal","text":", which is effectively a total system failure. CodeZero finished the same task in ","type":"text","style":"","detail":0,"format":0,"version":1},{"mode":"normal","text":"0.6s","type":"text","style":"","detail":0,"format":1,"version":1},{"mode":"normal","text":". CodeZero is 29.3x faster when resources are tight, keeping the lights on while others fail.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Why the gap is so large","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Since the workflows were identical, this isn't about the complexity of the tasks. It is about the plumbing. Legacy tools carry massive internal bloat and require hundreds of megabytes of RAM just to sit idle.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"CodeZero was engineered with a zero-bloat philosophy and a 160x smaller memory footprint. The M3 chip spends its energy executing your logic rather than managing the engine's weight. We optimized the concurrency model so that thousands of requests do not cause the system to choke on context-switching.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Stop paying the no-code tax","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"The era of slow, resource-heavy automation is over. The data from these six scenarios proves that with the right architecture, no-code is as fast as raw code. By switching to CodeZero, you can scale 30x further on your existing hardware and slash cloud costs by deploying on significantly smaller instances. You deliver instant responses that never timeout, even under heavy load.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"No-code is officially fast. Welcome to the future of execution.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0}],"direction":null}},"de":{"root":{"type":"root","format":"","indent":0,"version":1,"children":[{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"The biggest lie in the software industry is that no-code has to be slow. For years, developers and enterprises have paid a \"no-code tax,\" trading performance for ease of use. At CodeZero, we decided to kill that trade-off.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"To prove it, we staged a battle against n8n, the current industry standard. We didn't use theoretical models. We used an Apple M3 MacBook Air and identical workflows on both platforms. The result is that CodeZero isn’t just an alternative, it’s a generational leap in efficiency.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"The setup: identical logic, no excuses","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"A benchmark is only as good as its transparency. We mirrored the exact same logic on both platforms: a simple HTTP webhook that returns a 200 OK response. By removing external variables like API delays or database latency, we isolated the raw overhead of the execution engines themselves.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Using Docker, we capped resources at three tiers (1.0, 0.5, and 0.25 vCPU) and used k6 to simulate high-concurrency traffic.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"1.0 vCPU: 12x more throughput","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Even when given a full core, legacy architecture hits a wall. While n8n struggles to manage its own internal processes, CodeZero focuses entirely on moving data.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"id":"69e013dd27ab88292f627347","type":"upload","value":{"id":4,"alt":"CodeZero is 30x faster than n8n","href":null,"updatedAt":"2026-04-15T22:38:50.886Z","createdAt":"2026-04-15T22:38:50.886Z","url":"/api/media/file/CodeZeroBenchmarkvsN8N_1_reqs.png","thumbnailURL":null,"filename":"CodeZeroBenchmarkvsN8N_1_reqs.png","mimeType":"image/png","filesize":650638,"width":1920,"height":1080,"focalX":50,"focalY":50},"fields":null,"format":"","version":3,"relationTo":"media"},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[],"direction":null,"textStyle":"","textFormat":0},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"The data shows that CodeZero scaled effortlessly to ","type":"text","style":"","detail":0,"format":0,"version":1},{"mode":"normal","text":"2,147 req/s","type":"text","style":"","detail":0,"format":1,"version":1},{"mode":"normal","text":", while n8n peaked at a mere ","type":"text","style":"","detail":0,"format":0,"version":1},{"mode":"normal","text":"177 req/s","type":"text","style":"","detail":0,"format":1,"version":1},{"mode":"normal","text":". This gap represents the difference between a system that thrives under pressure and one that merely survives.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"id":"69e013d727ab88292f627346","type":"upload","value":{"id":5,"alt":"CodeZero is 30x faster than n8n","href":null,"updatedAt":"2026-04-15T22:38:50.859Z","createdAt":"2026-04-15T22:38:50.859Z","url":"/api/media/file/CodeZeroBenchmarkvsN8N_1_avg.png","thumbnailURL":null,"filename":"CodeZeroBenchmarkvsN8N_1_avg.png","mimeType":"image/png","filesize":287156,"width":1920,"height":1080,"focalX":50,"focalY":50},"fields":null,"format":"","version":3,"relationTo":"media"},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[],"direction":null,"textStyle":"","textFormat":0},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"At 200 concurrent users, n8n delayed for ","type":"text","style":"","detail":0,"format":0,"version":1},{"mode":"normal","text":"1.1s","type":"text","style":"","detail":0,"format":1,"version":1},{"mode":"normal","text":" while CodeZero stayed at ","type":"text","style":"","detail":0,"format":0,"version":1},{"mode":"normal","text":"0.1s","type":"text","style":"","detail":0,"format":1,"version":1},{"mode":"normal","text":". In a production environment, this means you can handle an entire marketing spike on a single core that would have crashed a legacy setup. CodeZero is 11x faster out of the gate.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"0.5 vCPU: 20x higher efficiency","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Most cloud instances run on limited resources to save costs. This is where CodeZero’s lean architecture turns into a massive financial advantage for any business scaling its automation.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"id":"69e013cb27ab88292f627345","type":"upload","value":{"id":8,"alt":"CodeZero is 30x faster than n8n","href":null,"updatedAt":"2026-04-15T22:38:50.787Z","createdAt":"2026-04-15T22:38:50.787Z","url":"/api/media/file/CodeZeroBenchmarkvsN8N_0.5_reqs.png","thumbnailURL":null,"filename":"CodeZeroBenchmarkvsN8N_0.5_reqs.png","mimeType":"image/png","filesize":843552,"width":1920,"height":1080,"focalX":50,"focalY":50},"fields":null,"format":"","version":3,"relationTo":"media"},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[],"direction":null,"textStyle":"","textFormat":0},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"In this mid-tier setup, CodeZero maintained a rock-solid ","type":"text","style":"","detail":0,"format":0,"version":1},{"mode":"normal","text":"1,279 req/s","type":"text","style":"","detail":0,"format":1,"version":1},{"mode":"normal","text":". In contrast, n8n’s throughput dropped to ","type":"text","style":"","detail":0,"format":0,"version":1},{"mode":"normal","text":"64 req/s","type":"text","style":"","detail":0,"format":1,"version":1},{"mode":"normal","text":". The efficiency multiplier here is 20x, meaning your hardware is significantly more productive with CodeZero.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"id":"69e013c227ab88292f627344","type":"upload","value":{"id":9,"alt":"CodeZero is 30x faster than n8n","href":null,"updatedAt":"2026-04-15T22:38:50.765Z","createdAt":"2026-04-15T22:38:50.765Z","url":"/api/media/file/CodeZeroBenchmarkvsN8N_0.5_avg.png","thumbnailURL":null,"filename":"CodeZeroBenchmarkvsN8N_0.5_avg.png","mimeType":"image/png","filesize":821676,"width":1920,"height":1080,"focalX":50,"focalY":50},"fields":null,"format":"","version":3,"relationTo":"media"},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[],"direction":null,"textStyle":"","textFormat":0},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"This is where it gets dangerous for legacy systems. The response times for n8n spiked to ","type":"text","style":"","detail":0,"format":0,"version":1},{"mode":"normal","text":"3.0s","type":"text","style":"","detail":0,"format":1,"version":1},{"mode":"normal","text":", which is unacceptable for modern real-time applications. CodeZero held steady at ","type":"text","style":"","detail":0,"format":0,"version":1},{"mode":"normal","text":"0.2s","type":"text","style":"","detail":0,"format":1,"version":1},{"mode":"normal","text":", ensuring that the end-user never feels the load.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"0.25 vCPU: the 17-second collapse","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"We pushed both engines into a resource-starved environment to see which one would break first. The results were staggering and highlight the fundamental architectural differences.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"id":"69e013ae27ab88292f627343","type":"upload","value":{"id":6,"alt":"CodeZero is 30x faster than n8n","href":null,"updatedAt":"2026-04-15T22:38:50.834Z","createdAt":"2026-04-15T22:38:50.834Z","url":"/api/media/file/CodeZeroBenchmarkvsN8N_0.25_reqs.png","thumbnailURL":null,"filename":"CodeZeroBenchmarkvsN8N_0.25_reqs.png","mimeType":"image/png","filesize":757568,"width":1920,"height":1080,"focalX":50,"focalY":50},"fields":null,"format":"","version":3,"relationTo":"media"},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[],"direction":null,"textStyle":"","textFormat":0},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Under extreme pressure, n8n gasped for air at ","type":"text","style":"","detail":0,"format":0,"version":1},{"mode":"normal","text":"10 req/s","type":"text","style":"","detail":0,"format":1,"version":1},{"mode":"normal","text":". CodeZero still pushed a functional ","type":"text","style":"","detail":0,"format":0,"version":1},{"mode":"normal","text":"339 req/s","type":"text","style":"","detail":0,"format":1,"version":1},{"mode":"normal","text":". This proves that CodeZero can handle significant traffic even on the cheapest possible entry-level hardware.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"id":"69e013a327ab88292f627342","type":"upload","value":{"id":7,"alt":"CodeZero is 30x faster than n8n","href":null,"updatedAt":"2026-04-15T22:38:50.810Z","createdAt":"2026-04-15T22:38:50.810Z","url":"/api/media/file/CodeZeroBenchmarkvsN8N_0.25_avg.png","thumbnailURL":null,"filename":"CodeZeroBenchmarkvsN8N_0.25_avg.png","mimeType":"image/png","filesize":851616,"width":1920,"height":1080,"focalX":50,"focalY":50},"fields":null,"format":"","version":3,"relationTo":"media"},{"tag":"h3","type":"heading","format":"start","indent":0,"version":1,"children":[],"direction":null},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"The latency results here are the final breaking point. n8n exploded to ","type":"text","style":"","detail":0,"format":0,"version":1},{"mode":"normal","text":"17.6s","type":"text","style":"","detail":0,"format":1,"version":1},{"mode":"normal","text":", which is effectively a total system failure. CodeZero finished the same task in ","type":"text","style":"","detail":0,"format":0,"version":1},{"mode":"normal","text":"0.6s","type":"text","style":"","detail":0,"format":1,"version":1},{"mode":"normal","text":". CodeZero is 29.3x faster when resources are tight, keeping the lights on while others fail.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Why the gap is so large","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Since the workflows were identical, this isn't about the complexity of the tasks. It is about the plumbing. Legacy tools carry massive internal bloat and require hundreds of megabytes of RAM just to sit idle.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"CodeZero was engineered with a zero-bloat philosophy and a 160x smaller memory footprint. The M3 chip spends its energy executing your logic rather than managing the engine's weight. We optimized the concurrency model so that thousands of requests do not cause the system to choke on context-switching.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Stop paying the no-code tax","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"The era of slow, resource-heavy automation is over. The data from these six scenarios proves that with the right architecture, no-code is as fast as raw code. By switching to CodeZero, you can scale 30x further on your existing hardware and slash cloud costs by deploying on significantly smaller instances. You deliver instant responses that never timeout, even under heavy load.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"No-code is officially fast. Welcome to the future of execution.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0}],"direction":null}}},"shortDescription":{"en":"We mirrored the exact same workflow on both platforms and ran them through 6 brutal scenarios. The results: CodeZero isn't just an alternative; it’s a technological leap, delivering up to 33x more throughput on identical hardware.","de":"We mirrored the exact same workflow on both platforms and ran them through 6 brutal scenarios. The results: CodeZero isn't just an alternative; it’s a technological leap, delivering up to 33x more throughput on identical hardware."},"heroImage":{"id":13,"alt":"CodeZero vs n8n","href":null,"updatedAt":"2026-04-15T22:23:33.819Z","createdAt":"2026-04-15T22:23:33.819Z","url":"/api/media/file/CodeZeroVSn8n.png","thumbnailURL":null,"filename":"CodeZeroVSn8n.png","mimeType":"image/png","filesize":718568,"width":1920,"height":1080,"focalX":50,"focalY":50},"meta":{"title":{"en":"CodeZero is 30x times faster than n8n's platform","de":"CodeZero is 30x times faster than n8n's platform"},"description":{"en":"CodeZero vs n8n benchmark: 30x faster response times and 33x more throughput. Identical workflows. See why CodeZero is the new speed standard.","de":"CodeZero vs n8n benchmark: 30x faster response times and 33x more throughput. Identical workflows. See why CodeZero is the new speed standard."},"image":{"en":{"id":13,"alt":"CodeZero vs n8n","href":null,"updatedAt":"2026-04-15T22:23:33.819Z","createdAt":"2026-04-15T22:23:33.819Z","url":"/api/media/file/CodeZeroVSn8n.png","thumbnailURL":null,"filename":"CodeZeroVSn8n.png","mimeType":"image/png","filesize":718568,"width":1920,"height":1080,"focalX":50,"focalY":50},"de":{"id":13,"alt":"CodeZero vs n8n","href":null,"updatedAt":"2026-04-15T22:23:33.819Z","createdAt":"2026-04-15T22:23:33.819Z","url":"/api/media/file/CodeZeroVSn8n.png","thumbnailURL":null,"filename":"CodeZeroVSn8n.png","mimeType":"image/png","filesize":718568,"width":1920,"height":1080,"focalX":50,"focalY":50}}},"updatedAt":"2026-04-25T21:22:23.479Z","createdAt":"2026-04-15T22:38:04.237Z"},{"id":3,"title":{"en":"CodeZero partners with startup Cnap for deployment","de":"CodeZero partners with startup Cnap for deployment"},"slug":"codezero-x-cnap","isPinned":false,"author":{"id":6,"name":"Nico Sammito","image":10,"shortDescription":{"en":null},"about":{"en":null},"role":{"en":"Co-Founder / Managing Director"},"joinedAt":null,"updatedAt":"2026-04-25T21:22:23.438Z","createdAt":"2026-03-25T12:10:33.040Z"},"content":{"en":{"root":{"type":"root","format":"","indent":0,"version":1,"children":[{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"At CodeZero, we have always believed that you should own your business logic and your data. This is why we prioritize a self-hosted approach. However, we also understand that not every company has the internal resources to maintain, update, and monitor their own infrastructure around the clock.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"To bridge this gap, we are thrilled to announce our official deployment partnership with ","type":"text","style":"","detail":0,"format":0,"version":1},{"id":"69e010aa27ab88292f627339","type":"link","fields":{"url":"https://cnap.tech/","newTab":true,"linkType":"custom"},"format":"","indent":0,"version":3,"children":[{"mode":"normal","text":"CNAP","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"mode":"normal","text":".","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"The best of both worlds: Sovereignty meets service","type":"text","style":"","detail":0,"format":1,"version":1}],"direction":null},{"type":"paragraph","format":"left","indent":0,"version":1,"children":[{"mode":"normal","text":"This partnership is designed for businesses that want the privacy of a self-hosted environment but require the reliability of a managed service. When you choose CodeZero for your organization, you now have two clear paths for your infrastructure:","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"ol","type":"list","start":1,"format":"","indent":0,"version":1,"children":[{"type":"listitem","value":1,"format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Full self-management","type":"text","style":"","detail":0,"format":1,"version":1},{"mode":"normal","text":": You deploy and manage CodeZero entirely within your own local infrastructure and team.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":2,"format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Managed self-hosting with cnap","type":"text","style":"","detail":0,"format":1,"version":1},{"mode":"normal","text":": You bring in our expert partner, cnap, to handle the lifting.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null}],"listType":"number","direction":null,"textFormat":1},{"tag":"h2","type":"heading","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Who is CNAP?","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"CNAP specializes in professional deployment and infrastructure management. As our dedicated deployment partner, they understand the architecture of CodeZero inside and out. They ensure that your instance is not just \"running,\" but performing at its peak.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"id":"69e010b327ab88292f62733c","type":"upload","value":{"id":14,"alt":"CNAP landing page","href":null,"updatedAt":"2026-04-15T22:22:10.322Z","createdAt":"2026-04-15T22:22:10.322Z","url":"/api/media/file/CNAP_landing_page-1.png","thumbnailURL":null,"filename":"CNAP_landing_page-1.png","mimeType":"image/png","filesize":1797068,"width":2940,"height":1666,"focalX":50,"focalY":50},"fields":null,"format":"","version":3,"relationTo":"media"},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"How the partnership works for you","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"tag":"ul","type":"list","start":1,"format":"","indent":0,"version":1,"children":[{"type":"listitem","value":1,"format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Streamlined setup","type":"text","style":"","detail":0,"format":1,"version":1},{"mode":"normal","text":": CNAP automates the initial installation and configuration so your CodeZero instance is up and running quickly from day one.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":2,"format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Seamless updates","type":"text","style":"","detail":0,"format":1,"version":1},{"mode":"normal","text":": Never worry about missing a version. CNAP delivers updates and patches to your instance, so you always have the latest CodeZero features and security enhancements.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":3,"format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Proactive monitoring","type":"text","style":"","detail":0,"format":1,"version":1},{"mode":"normal","text":": CNAP continuously monitors the health of your deployment and surfaces issues early, helping prevent problems before they affect your workflows.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":4,"format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Operational orchestration","type":"text","style":"","detail":0,"format":1,"version":1},{"mode":"normal","text":": From server orchestration to deployment management and scaling, CNAP handles the technical operation of your self-hosted instance, while your application data and infrastructure remain under your control.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null}],"listType":"bullet","direction":null,"textFormat":1},{"tag":"h2","type":"heading","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Focus on your workflows, not your servers","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"left","indent":0,"version":1,"children":[{"mode":"normal","text":"The goal of this partnership is simple: we want you to spend your time building powerful automations and organizing your teams, not worrying about server uptimes or complex deployments.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"type":"paragraph","format":"left","indent":0,"version":1,"children":[{"mode":"normal","text":"By partnering with cnap, we are providing our business customers with a \"hands-off\" experience for self-hosted software. You maintain the data sovereignty that makes CodeZero unique, while benefiting from the peace of mind that comes with professional management.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Shaping the future of managed open source","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"As we continue through our Canary phase, this partnership with cnap is a vital part of our mission to make professional automation accessible to everyone. We are excited to offer this new level of support to our business customers and organizations.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0}],"direction":null}},"de":{"root":{"type":"root","format":"","indent":0,"version":1,"children":[{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"At CodeZero, we have always believed that you should own your business logic and your data. This is why we prioritize a self-hosted approach. However, we also understand that not every company has the internal resources to maintain, update, and monitor their own infrastructure around the clock.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"To bridge this gap, we are thrilled to announce our official deployment partnership with ","type":"text","style":"","detail":0,"format":0,"version":1},{"id":"69e010aa27ab88292f627339","type":"link","fields":{"url":"https://cnap.tech/","newTab":true,"linkType":"custom"},"format":"","indent":0,"version":3,"children":[{"mode":"normal","text":"CNAP","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"mode":"normal","text":".","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"The best of both worlds: Sovereignty meets service","type":"text","style":"","detail":0,"format":1,"version":1}],"direction":null},{"type":"paragraph","format":"left","indent":0,"version":1,"children":[{"mode":"normal","text":"This partnership is designed for businesses that want the privacy of a self-hosted environment but require the reliability of a managed service. When you choose CodeZero for your organization, you now have two clear paths for your infrastructure:","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"ol","type":"list","start":1,"format":"","indent":0,"version":1,"children":[{"type":"listitem","value":1,"format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Full self-management","type":"text","style":"","detail":0,"format":1,"version":1},{"mode":"normal","text":": You deploy and manage CodeZero entirely within your own local infrastructure and team.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":2,"format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Managed self-hosting with cnap","type":"text","style":"","detail":0,"format":1,"version":1},{"mode":"normal","text":": You bring in our expert partner, cnap, to handle the lifting.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null}],"listType":"number","direction":null,"textFormat":1},{"tag":"h2","type":"heading","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Who is CNAP?","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"CNAP specializes in professional deployment and infrastructure management. As our dedicated deployment partner, they understand the architecture of CodeZero inside and out. They ensure that your instance is not just \"running,\" but performing at its peak.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"id":"69e010b327ab88292f62733c","type":"upload","value":{"id":14,"alt":"CNAP landing page","href":null,"updatedAt":"2026-04-15T22:22:10.322Z","createdAt":"2026-04-15T22:22:10.322Z","url":"/api/media/file/CNAP_landing_page-1.png","thumbnailURL":null,"filename":"CNAP_landing_page-1.png","mimeType":"image/png","filesize":1797068,"width":2940,"height":1666,"focalX":50,"focalY":50},"fields":null,"format":"","version":3,"relationTo":"media"},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"How the partnership works for you","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"tag":"ul","type":"list","start":1,"format":"","indent":0,"version":1,"children":[{"type":"listitem","value":1,"format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Streamlined setup","type":"text","style":"","detail":0,"format":1,"version":1},{"mode":"normal","text":": CNAP automates the initial installation and configuration so your CodeZero instance is up and running quickly from day one.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":2,"format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Seamless updates","type":"text","style":"","detail":0,"format":1,"version":1},{"mode":"normal","text":": Never worry about missing a version. CNAP delivers updates and patches to your instance, so you always have the latest CodeZero features and security enhancements.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":3,"format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Proactive monitoring","type":"text","style":"","detail":0,"format":1,"version":1},{"mode":"normal","text":": CNAP continuously monitors the health of your deployment and surfaces issues early, helping prevent problems before they affect your workflows.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":4,"format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Operational orchestration","type":"text","style":"","detail":0,"format":1,"version":1},{"mode":"normal","text":": From server orchestration to deployment management and scaling, CNAP handles the technical operation of your self-hosted instance, while your application data and infrastructure remain under your control.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null}],"listType":"bullet","direction":null,"textFormat":1},{"tag":"h2","type":"heading","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Focus on your workflows, not your servers","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"left","indent":0,"version":1,"children":[{"mode":"normal","text":"The goal of this partnership is simple: we want you to spend your time building powerful automations and organizing your teams, not worrying about server uptimes or complex deployments.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"type":"paragraph","format":"left","indent":0,"version":1,"children":[{"mode":"normal","text":"By partnering with cnap, we are providing our business customers with a \"hands-off\" experience for self-hosted software. You maintain the data sovereignty that makes CodeZero unique, while benefiting from the peace of mind that comes with professional management.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Shaping the future of managed open source","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"As we continue through our Canary phase, this partnership with cnap is a vital part of our mission to make professional automation accessible to everyone. We are excited to offer this new level of support to our business customers and organizations.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0}],"direction":null}}},"shortDescription":{"en":"Own your data without the operational headache. Our new partnership with cnap provides CodeZero customers with expert deployment and management services for self-hosted instances.","de":"Own your data without the operational headache. Our new partnership with cnap provides CodeZero customers with expert deployment and management services for self-hosted instances."},"heroImage":{"id":12,"alt":"CodeZero partners with CNAP","href":null,"updatedAt":"2026-04-15T22:23:33.847Z","createdAt":"2026-04-15T22:23:33.847Z","url":"/api/media/file/CodeZeroXCnap-1.png","thumbnailURL":null,"filename":"CodeZeroXCnap-1.png","mimeType":"image/png","filesize":723820,"width":1920,"height":1080,"focalX":50,"focalY":50},"meta":{"title":{"en":"CodeZero partners with startup Cnap for deployment","de":"CodeZero partners with startup Cnap for deployment"},"description":{"en":"CodeZero partners with cnap to offer managed self-hosting. Get professional deployment, maintenance, and updates for your CodeZero instance.","de":"CodeZero partners with cnap to offer managed self-hosting. Get professional deployment, maintenance, and updates for your CodeZero instance."},"image":{"en":{"id":12,"alt":"CodeZero partners with CNAP","href":null,"updatedAt":"2026-04-15T22:23:33.847Z","createdAt":"2026-04-15T22:23:33.847Z","url":"/api/media/file/CodeZeroXCnap-1.png","thumbnailURL":null,"filename":"CodeZeroXCnap-1.png","mimeType":"image/png","filesize":723820,"width":1920,"height":1080,"focalX":50,"focalY":50},"de":{"id":12,"alt":"CodeZero partners with CNAP","href":null,"updatedAt":"2026-04-15T22:23:33.847Z","createdAt":"2026-04-15T22:23:33.847Z","url":"/api/media/file/CodeZeroXCnap-1.png","thumbnailURL":null,"filename":"CodeZeroXCnap-1.png","mimeType":"image/png","filesize":723820,"width":1920,"height":1080,"focalX":50,"focalY":50}}},"updatedAt":"2026-04-25T21:22:23.494Z","createdAt":"2026-04-15T22:27:30.327Z"},{"id":4,"title":{"en":"CodeZero partners with parcel logistic giant GLS","de":"CodeZero partners with parcel logistic giant GLS"},"slug":"codezero-x-gls","isPinned":false,"author":{"id":6,"name":"Nico Sammito","image":10,"shortDescription":{"en":null},"about":{"en":null},"role":{"en":"Co-Founder / Managing Director"},"joinedAt":null,"updatedAt":"2026-04-25T21:22:23.438Z","createdAt":"2026-03-25T12:10:33.040Z"},"content":{"en":{"root":{"type":"root","format":"","indent":0,"version":1,"children":[{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Shipping is the heartbeat of many businesses, but it is often the most time-consuming part of the day. Packages need to be registered, labels printed, and customers kept informed. To simplify this journey, we are thrilled to announce a new partnership with GLS, one of Europe’s leading logistics experts.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Starting today, professional GLS shipping services are available directly within CodeZero. For you, this means logistics becomes an automatic process that runs reliably in the background while you focus on growing your business.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Logistics without the manual labor","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"In the past, employees often had to manually copy shipping data from one system to another. This is not only time-consuming but also prone to errors. Through the collaboration between CodeZero and GLS, these steps can now be easily linked together.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Imagine an order comes in, and CodeZero automatically creates the shipment in the background. No more copying addresses, no more manual clicking.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"What you can do with GLS in CodeZero","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"We have prepared all the essential shipping functions so that you can use them like simple building blocks for your business:","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"ul","type":"list","start":1,"format":"","indent":0,"version":1,"children":[{"type":"listitem","value":1,"format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Automatic shipment registration","type":"text","style":"","detail":0,"format":1,"version":1},{"mode":"normal","text":": As soon as an order is ready, the shipment is registered with GLS automatically.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":2,"format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Print labels effortlessly","type":"text","style":"","detail":0,"format":1,"version":1},{"mode":"normal","text":": Generate ready-to-use shipping labels directly from your workflow.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":3,"format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"End-of-Day management","type":"text","style":"","detail":0,"format":1,"version":1},{"mode":"normal","text":": Automatically transmit all shipping data for the day to GLS to ensure a smooth pickup.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":4,"format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Real-Time Tracking","type":"text","style":"","detail":0,"format":1,"version":1},{"mode":"normal","text":": Keep everyone in the loop. Tracking information is updated automatically so you and your customers always know where the package is. (Coming soon)","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null}],"listType":"bullet","direction":null},{"tag":"h2","type":"heading","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Security and control for your company","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Shipping involves sensitive customer data. Because CodeZero gives you full control over where your system runs, your data remains secure and private.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Building the future of logistics together","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"This partnership is a major milestone. We want to show that high-level logistics automation is no longer a privilege reserved for giant corporations. With CodeZero and GLS, any business can access professional and fast shipping workflows.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0}],"direction":null}},"de":{"root":{"type":"root","format":"","indent":0,"version":1,"children":[{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Shipping is the heartbeat of many businesses, but it is often the most time-consuming part of the day. Packages need to be registered, labels printed, and customers kept informed. To simplify this journey, we are thrilled to announce a new partnership with GLS, one of Europe’s leading logistics experts.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Starting today, professional GLS shipping services are available directly within CodeZero. For you, this means logistics becomes an automatic process that runs reliably in the background while you focus on growing your business.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Logistics without the manual labor","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"In the past, employees often had to manually copy shipping data from one system to another. This is not only time-consuming but also prone to errors. Through the collaboration between CodeZero and GLS, these steps can now be easily linked together.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Imagine an order comes in, and CodeZero automatically creates the shipment in the background. No more copying addresses, no more manual clicking.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"What you can do with GLS in CodeZero","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"We have prepared all the essential shipping functions so that you can use them like simple building blocks for your business:","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"ul","type":"list","start":1,"format":"","indent":0,"version":1,"children":[{"type":"listitem","value":1,"format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Automatic shipment registration","type":"text","style":"","detail":0,"format":1,"version":1},{"mode":"normal","text":": As soon as an order is ready, the shipment is registered with GLS automatically.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":2,"format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Print labels effortlessly","type":"text","style":"","detail":0,"format":1,"version":1},{"mode":"normal","text":": Generate ready-to-use shipping labels directly from your workflow.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":3,"format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"End-of-Day management","type":"text","style":"","detail":0,"format":1,"version":1},{"mode":"normal","text":": Automatically transmit all shipping data for the day to GLS to ensure a smooth pickup.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":4,"format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Real-Time Tracking","type":"text","style":"","detail":0,"format":1,"version":1},{"mode":"normal","text":": Keep everyone in the loop. Tracking information is updated automatically so you and your customers always know where the package is. (Coming soon)","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null}],"listType":"bullet","direction":null},{"tag":"h2","type":"heading","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Security and control for your company","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Shipping involves sensitive customer data. Because CodeZero gives you full control over where your system runs, your data remains secure and private.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Building the future of logistics together","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"This partnership is a major milestone. We want to show that high-level logistics automation is no longer a privilege reserved for giant corporations. With CodeZero and GLS, any business can access professional and fast shipping workflows.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0}],"direction":null}}},"shortDescription":{"en":"Say goodbye to manual label printing and data entry. Our new partnership with GLS integrates professional shipping directly into your workflows. Discover how to save time and simplify your entire delivery process.","de":"Say goodbye to manual label printing and data entry. Our new partnership with GLS integrates professional shipping directly into your workflows. Discover how to save time and simplify your entire delivery process."},"heroImage":{"id":11,"alt":"CodeZero partners with logistic giant GLS","href":null,"updatedAt":"2026-04-15T22:23:33.871Z","createdAt":"2026-04-15T22:23:33.871Z","url":"/api/media/file/CodeZeroXGLS-1.png","thumbnailURL":null,"filename":"CodeZeroXGLS-1.png","mimeType":"image/png","filesize":725654,"width":1920,"height":1080,"focalX":50,"focalY":50},"meta":{"title":{"en":"CodeZero partners with parcel logistic giant GLS","de":"CodeZero partners with parcel logistic giant GLS"},"description":{"en":"Automate your GLS shipping with CodeZero. Generate labels and track packages. Discover the future of automated logistics for your business.","de":"Automate your GLS shipping with CodeZero. Generate labels and track packages. Discover the future of automated logistics for your business."},"image":{"en":{"id":11,"alt":"CodeZero partners with logistic giant GLS","href":null,"updatedAt":"2026-04-15T22:23:33.871Z","createdAt":"2026-04-15T22:23:33.871Z","url":"/api/media/file/CodeZeroXGLS-1.png","thumbnailURL":null,"filename":"CodeZeroXGLS-1.png","mimeType":"image/png","filesize":725654,"width":1920,"height":1080,"focalX":50,"focalY":50},"de":{"id":11,"alt":"CodeZero partners with logistic giant GLS","href":null,"updatedAt":"2026-04-15T22:23:33.871Z","createdAt":"2026-04-15T22:23:33.871Z","url":"/api/media/file/CodeZeroXGLS-1.png","thumbnailURL":null,"filename":"CodeZeroXGLS-1.png","mimeType":"image/png","filesize":725654,"width":1920,"height":1080,"focalX":50,"focalY":50}}},"updatedAt":"2026-04-25T21:22:23.507Z","createdAt":"2026-04-15T22:26:12.136Z"},{"id":5,"title":{"en":"CodeZero vs. n8n: Choosing the right open-source automation builder","de":"CodeZero vs. n8n: Choosing the right open-source automation builder"},"slug":"codezero-vs-n8n","isPinned":false,"author":{"id":6,"name":"Nico Sammito","image":10,"shortDescription":{"en":null},"about":{"en":null},"role":{"en":"Co-Founder / Managing Director"},"joinedAt":null,"updatedAt":"2026-04-25T21:22:23.438Z","createdAt":"2026-03-25T12:10:33.040Z"},"content":{"en":{"root":{"type":"root","format":"","indent":0,"version":1,"children":[{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"In the world of open-source automation, n8n has long been a popular choice for developers looking to move away from restricted platforms. However, as business needs evolve toward more complex organizational structures and modular scaling, a new contender has arrived.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"CodeZero takes the power of no-code automation and adds a professional layer of organizational management that changes how teams work together.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Beyond the workflow: Organisational structure","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"While n8n is excellent for building individual workflows, CodeZero is built to manage entire companies.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"ul","type":"list","start":1,"format":"","indent":0,"version":1,"children":[{"type":"listitem","value":1,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"n8n: Focuses primarily on the flow itself. Managing large teams and multiple distinct projects can often feel cluttered.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":2,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"CodeZero: Introduces a native hierarchy of Organizations, Projects, and Members. You can define specific Roles and permissions, making it an enterprise-ready solution from day one. It is designed for B2B environments where access control is just as important as the automation itself.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null}],"listType":"bullet","direction":null},{"id":"69d7a36215ccb7589bcbf9ea","type":"upload","value":{"id":26,"alt":"Organization overview page CodeZero","href":null,"updatedAt":"2026-03-25T11:30:37.189Z","createdAt":"2026-03-25T11:30:37.189Z","url":"/api/media/file/Organization_Overview_Page.png","thumbnailURL":null,"filename":"Organization_Overview_Page.png","mimeType":"image/png","filesize":340618,"width":2940,"height":1666,"focalX":50,"focalY":50},"fields":null,"format":"","version":3,"relationTo":"media"},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"(","type":"text","style":"","detail":0,"format":0,"version":1},{"id":"69d7a4c715ccb7589bcbf9ec","type":"link","fields":{"url":"/blog/organization-feature","newTab":true,"linkType":"custom"},"format":"","indent":0,"version":3,"children":[{"mode":"normal","text":"learn more about organisations","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"mode":"normal","text":")","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"id":"69d7a42a15ccb7589bcbf9eb","type":"upload","value":{"id":31,"alt":"Member overview page CodeZero","href":null,"updatedAt":"2026-03-25T11:13:20.805Z","createdAt":"2026-03-25T11:13:20.805Z","url":"/api/media/file/Member_Overview_Page.png","thumbnailURL":null,"filename":"Member_Overview_Page.png","mimeType":"image/png","filesize":390811,"width":2940,"height":1668,"focalX":50,"focalY":50},"fields":null,"format":"","version":3,"relationTo":"media"},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"(","type":"text","style":"","detail":0,"format":0,"version":1},{"id":"69d7a63915ccb7589bcbf9ef","type":"link","fields":{"url":"/blog/member-management-feature","newTab":true,"linkType":"custom"},"format":"","indent":0,"version":3,"children":[{"mode":"normal","text":"learn more about member management","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"mode":"normal","text":")","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Modular architecture vs. monolithic design","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"The way these two platforms are built under the hood dictates how they scale.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"ul","type":"list","start":1,"format":"","indent":0,"version":1,"children":[{"type":"listitem","value":1,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"n8n: Generally runs as a single application. While powerful, scaling individual parts of the process can be challenging.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":2,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"CodeZero: Built on a modular \"Block\" architecture. Our system separates the user interface from the execution engine. This means you can run your dashboard in one place while your \"Runtimes\" (the engines that do the work) run locally or across different servers. This provides superior data sovereignty and scalability.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null}],"listType":"bullet","direction":null},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Data sovereignty and hybrid setup","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Both platforms champion the \"self-hosted\" movement, but CodeZero offers a unique hybrid approach. With CodeZero, you can use a central management interface while keeping your actual data processing entirely on your own local infrastructure via our Runtime tokens. This gives you the convenience of a modern web app with the security of a local setup.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Community and extensibility","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Both projects thrive on community contributions. n8n has a vast library of existing nodes. CodeZero, currently in its canary phase, is building an ecosystem where the community can shape the very foundation of the tool. Our Action SDK is designed to be highly extensible, allowing developers to build not just nodes, but entirely new flow types and organizational rules.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"(","type":"text","style":"","detail":0,"format":0,"version":1},{"id":"69d7a6c615ccb7589bcbf9f0","type":"link","fields":{"url":"/blog/actions-feature","newTab":true,"linkType":"custom"},"format":"","indent":0,"version":3,"children":[{"mode":"normal","text":"learn more about our Action SDK","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"mode":"normal","text":")","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Comparison at a glance","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"tag":"h3","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"n8n: The workflow specialist","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"tag":"ul","type":"list","start":1,"format":"","indent":0,"version":1,"children":[{"type":"listitem","value":1,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Focus: Individual workflow automation with a massive library of pre-built integrations.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":2,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Structure: Primarily monolithic, where the interface and execution usually happen in the same place.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":3,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Organization: Designed for users and developers who need quick, standalone automations without complex team hierarchies.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":4,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Deployment: Strong self-hosting options, but scaling specific parts of the engine can be complex.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null}],"listType":"bullet","direction":null},{"tag":"h3","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"CodeZero: The allrounder","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"tag":"ul","type":"list","start":1,"format":"","indent":0,"version":1,"children":[{"type":"listitem","value":1,"format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Focus: Enterprise-grade process management and B2B-ready automation.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":2,"format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Structure: Fully modular and distributed. The interface (Sculptor) and the execution engines (Runtimes) are separate.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":3,"format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Organization: Built-in native hierarchy with Organizations, Projects, and granular Role-Based Access Control.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":4,"format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Deployment: Designed for hybrid setups. You can manage everything centrally while keeping the actual data processing on your own local servers for maximum sovereignty.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null}],"listType":"bullet","direction":null},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"The verdict","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"If you need a tool for simple, standalone automations with a massive library of existing integrations, n8n is a great starting point.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"However, if you are building a professional ecosystem, need to manage complex team permissions, or require a modular architecture that grows with your company, CodeZero is the future. We are building more than a workflow tool; we are building the digital backbone for modern organisations.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Join our ","type":"text","style":"","detail":0,"format":0,"version":1},{"id":"69d7a7a415ccb7589bcbf9f1","type":"link","fields":{"url":"https://discord.com/invite/AyMB7DtA7P","newTab":true,"linkType":"custom"},"format":"","indent":0,"version":3,"children":[{"mode":"normal","text":"Discord","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"mode":"normal","text":" and follow our ","type":"text","style":"","detail":0,"format":0,"version":1},{"id":"69d7a7a415ccb7589bcbf9f2","type":"link","fields":{"url":"https://docs.code0.tech/general/install/","newTab":true,"linkType":"custom"},"format":"","indent":0,"version":3,"children":[{"mode":"normal","text":"Installation Guide","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"mode":"normal","text":" to launch your own CodeZero instance today.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0}],"direction":null}},"de":{"root":{"type":"root","format":"","indent":0,"version":1,"children":[{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"In the world of open-source automation, n8n has long been a popular choice for developers looking to move away from restricted platforms. However, as business needs evolve toward more complex organizational structures and modular scaling, a new contender has arrived.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"CodeZero takes the power of no-code automation and adds a professional layer of organizational management that changes how teams work together.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Beyond the workflow: Organisational structure","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"While n8n is excellent for building individual workflows, CodeZero is built to manage entire companies.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"ul","type":"list","start":1,"format":"","indent":0,"version":1,"children":[{"type":"listitem","value":1,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"n8n: Focuses primarily on the flow itself. Managing large teams and multiple distinct projects can often feel cluttered.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":2,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"CodeZero: Introduces a native hierarchy of Organizations, Projects, and Members. You can define specific Roles and permissions, making it an enterprise-ready solution from day one. It is designed for B2B environments where access control is just as important as the automation itself.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null}],"listType":"bullet","direction":null},{"id":"69d7a36215ccb7589bcbf9ea","type":"upload","value":{"id":26,"alt":"Organization overview page CodeZero","href":null,"updatedAt":"2026-03-25T11:30:37.189Z","createdAt":"2026-03-25T11:30:37.189Z","url":"/api/media/file/Organization_Overview_Page.png","thumbnailURL":null,"filename":"Organization_Overview_Page.png","mimeType":"image/png","filesize":340618,"width":2940,"height":1666,"focalX":50,"focalY":50},"fields":null,"format":"","version":3,"relationTo":"media"},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"(","type":"text","style":"","detail":0,"format":0,"version":1},{"id":"69d7a4c715ccb7589bcbf9ec","type":"link","fields":{"url":"/blog/organization-feature","newTab":true,"linkType":"custom"},"format":"","indent":0,"version":3,"children":[{"mode":"normal","text":"learn more about organisations","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"mode":"normal","text":")","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"id":"69d7a42a15ccb7589bcbf9eb","type":"upload","value":{"id":31,"alt":"Member overview page CodeZero","href":null,"updatedAt":"2026-03-25T11:13:20.805Z","createdAt":"2026-03-25T11:13:20.805Z","url":"/api/media/file/Member_Overview_Page.png","thumbnailURL":null,"filename":"Member_Overview_Page.png","mimeType":"image/png","filesize":390811,"width":2940,"height":1668,"focalX":50,"focalY":50},"fields":null,"format":"","version":3,"relationTo":"media"},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"(","type":"text","style":"","detail":0,"format":0,"version":1},{"id":"69d7a63915ccb7589bcbf9ef","type":"link","fields":{"url":"/blog/member-management-feature","newTab":true,"linkType":"custom"},"format":"","indent":0,"version":3,"children":[{"mode":"normal","text":"learn more about member management","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"mode":"normal","text":")","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Modular architecture vs. monolithic design","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"The way these two platforms are built under the hood dictates how they scale.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"ul","type":"list","start":1,"format":"","indent":0,"version":1,"children":[{"type":"listitem","value":1,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"n8n: Generally runs as a single application. While powerful, scaling individual parts of the process can be challenging.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":2,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"CodeZero: Built on a modular \"Block\" architecture. Our system separates the user interface from the execution engine. This means you can run your dashboard in one place while your \"Runtimes\" (the engines that do the work) run locally or across different servers. This provides superior data sovereignty and scalability.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null}],"listType":"bullet","direction":null},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Data sovereignty and hybrid setup","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Both platforms champion the \"self-hosted\" movement, but CodeZero offers a unique hybrid approach. With CodeZero, you can use a central management interface while keeping your actual data processing entirely on your own local infrastructure via our Runtime tokens. This gives you the convenience of a modern web app with the security of a local setup.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Community and extensibility","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Both projects thrive on community contributions. n8n has a vast library of existing nodes. CodeZero, currently in its canary phase, is building an ecosystem where the community can shape the very foundation of the tool. Our Action SDK is designed to be highly extensible, allowing developers to build not just nodes, but entirely new flow types and organizational rules.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"(","type":"text","style":"","detail":0,"format":0,"version":1},{"id":"69d7a6c615ccb7589bcbf9f0","type":"link","fields":{"url":"/blog/actions-feature","newTab":true,"linkType":"custom"},"format":"","indent":0,"version":3,"children":[{"mode":"normal","text":"learn more about our Action SDK","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"mode":"normal","text":")","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Comparison at a glance","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"tag":"h3","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"n8n: The workflow specialist","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"tag":"ul","type":"list","start":1,"format":"","indent":0,"version":1,"children":[{"type":"listitem","value":1,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Focus: Individual workflow automation with a massive library of pre-built integrations.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":2,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Structure: Primarily monolithic, where the interface and execution usually happen in the same place.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":3,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Organization: Designed for users and developers who need quick, standalone automations without complex team hierarchies.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":4,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Deployment: Strong self-hosting options, but scaling specific parts of the engine can be complex.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null}],"listType":"bullet","direction":null},{"tag":"h3","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"CodeZero: The allrounder","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"tag":"ul","type":"list","start":1,"format":"","indent":0,"version":1,"children":[{"type":"listitem","value":1,"format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Focus: Enterprise-grade process management and B2B-ready automation.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":2,"format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Structure: Fully modular and distributed. The interface (Sculptor) and the execution engines (Runtimes) are separate.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":3,"format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Organization: Built-in native hierarchy with Organizations, Projects, and granular Role-Based Access Control.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":4,"format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Deployment: Designed for hybrid setups. You can manage everything centrally while keeping the actual data processing on your own local servers for maximum sovereignty.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null}],"listType":"bullet","direction":null},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"The verdict","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"If you need a tool for simple, standalone automations with a massive library of existing integrations, n8n is a great starting point.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"However, if you are building a professional ecosystem, need to manage complex team permissions, or require a modular architecture that grows with your company, CodeZero is the future. We are building more than a workflow tool; we are building the digital backbone for modern organisations.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Join our ","type":"text","style":"","detail":0,"format":0,"version":1},{"id":"69d7a7a415ccb7589bcbf9f1","type":"link","fields":{"url":"https://discord.com/invite/AyMB7DtA7P","newTab":true,"linkType":"custom"},"format":"","indent":0,"version":3,"children":[{"mode":"normal","text":"Discord","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"mode":"normal","text":" and follow our ","type":"text","style":"","detail":0,"format":0,"version":1},{"id":"69d7a7a415ccb7589bcbf9f2","type":"link","fields":{"url":"https://docs.code0.tech/general/install/","newTab":true,"linkType":"custom"},"format":"","indent":0,"version":3,"children":[{"mode":"normal","text":"Installation Guide","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"mode":"normal","text":" to launch your own CodeZero instance today.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0}],"direction":null}}},"shortDescription":{"en":"Is n8n or CodeZero right for your business? We compare these open-source giants, highlighting why CodeZero’s modular architecture and native organizational management offer a superior foundation for professional B2B process automation.","de":"Is n8n or CodeZero right for your business? We compare these open-source giants, highlighting why CodeZero’s modular architecture and native organizational management offer a superior foundation for professional B2B process automation."},"heroImage":{"id":13,"alt":"CodeZero vs n8n","href":null,"updatedAt":"2026-04-15T22:23:33.819Z","createdAt":"2026-04-15T22:23:33.819Z","url":"/api/media/file/CodeZeroVSn8n.png","thumbnailURL":null,"filename":"CodeZeroVSn8n.png","mimeType":"image/png","filesize":718568,"width":1920,"height":1080,"focalX":50,"focalY":50},"meta":{"title":{"en":"CodeZero vs. n8n: Choosing the right automation builder","de":"CodeZero vs. n8n: Choosing the right automation builder"},"description":{"en":"CodeZero vs. n8n: Discover why a modular, open-source workflow builder is the better choice for enterprise-grade automation and scaling.","de":"CodeZero vs. n8n: Discover why a modular, open-source workflow builder is the better choice for enterprise-grade automation and scaling."},"image":{"en":{"id":13,"alt":"CodeZero vs n8n","href":null,"updatedAt":"2026-04-15T22:23:33.819Z","createdAt":"2026-04-15T22:23:33.819Z","url":"/api/media/file/CodeZeroVSn8n.png","thumbnailURL":null,"filename":"CodeZeroVSn8n.png","mimeType":"image/png","filesize":718568,"width":1920,"height":1080,"focalX":50,"focalY":50},"de":{"id":13,"alt":"CodeZero vs n8n","href":null,"updatedAt":"2026-04-15T22:23:33.819Z","createdAt":"2026-04-15T22:23:33.819Z","url":"/api/media/file/CodeZeroVSn8n.png","thumbnailURL":null,"filename":"CodeZeroVSn8n.png","mimeType":"image/png","filesize":718568,"width":1920,"height":1080,"focalX":50,"focalY":50}}},"updatedAt":"2026-04-25T21:22:23.522Z","createdAt":"2026-04-09T13:06:33.055Z"},{"id":6,"title":{"en":"The Open-Source Standard for Workflow Automation","de":"The Open-Source Standard for Workflow Automation"},"slug":"the-no-code-workflow-automation-tool","isPinned":false,"author":{"id":6,"name":"Nico Sammito","image":10,"shortDescription":{"en":null},"about":{"en":null},"role":{"en":"Co-Founder / Managing Director"},"joinedAt":null,"updatedAt":"2026-04-25T21:22:23.438Z","createdAt":"2026-03-25T12:10:33.040Z"},"content":{"en":{"root":{"type":"root","format":"","indent":0,"version":1,"children":[{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"In an era where every company is becoming a software company, the tools we use to manage our logic and processes have become increasingly closed off. Most workflow builders today are \"black boxes\" where you plug in your data, but you don't own the engine.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"CodeZero is here to change that. We are building the world's most flexible open-source no-code automation builder, designed to give control back to the builders, the hobbyists, and the organizations that value transparency and sovereignty.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"id":"69d79c7615ccb7589bcbf9d9","type":"upload","value":{"id":26,"alt":"Organization overview page CodeZero","href":null,"updatedAt":"2026-03-25T11:30:37.189Z","createdAt":"2026-03-25T11:30:37.189Z","url":"/api/media/file/Organization_Overview_Page.png","thumbnailURL":null,"filename":"Organization_Overview_Page.png","mimeType":"image/png","filesize":340618,"width":2940,"height":1666,"focalX":50,"focalY":50},"fields":null,"format":"","version":3,"relationTo":"media"},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"What is CodeZero?","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"CodeZero is a modular platform that allows you to build, manage, and automate \"Flows.\" Whether you are organizing a small team or a large scale enterprise, CodeZero acts as the digital nervous system for your operations.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"By using a visual, node based interface, you can map out complex business logic and process automation without writing a single line of code. But unlike proprietary platforms, CodeZero is built from the ground up to be open and extensible.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Why We Are Different","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Our mission is to combine the user friendliness of modern B2B SaaS with the core values of the open-source community.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"ul","type":"list","start":1,"format":"","indent":0,"version":1,"children":[{"type":"listitem","value":1,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Total Sovereignty: With our current self hosted canary release, you have the power to run your entire automation infrastructure on your own terms. Your data never has to leave your sight.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":2,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Organizational Intelligence: CodeZero isn't just about moving data; it’s about structure. Manage organizations, projects, and members with granular roles, making it the perfect fit for professional environments.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":3,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Community Led Growth: We believe the best features aren't born in a closed boardroom, but in a vibrant community. Every contributor and early adopter helps shape the roadmap of our ecosystem.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null}],"listType":"bullet","direction":null},{"id":"69d79df815ccb7589bcbf9dd","type":"upload","value":{"id":25,"alt":"Flow builder nodes feature CodeZero","href":null,"updatedAt":"2026-03-25T11:38:02.809Z","createdAt":"2026-03-25T11:38:02.809Z","url":"/api/media/file/Flow_Builder_Nodes_Feature.png","thumbnailURL":null,"filename":"Flow_Builder_Nodes_Feature.png","mimeType":"image/png","filesize":407177,"width":2940,"height":1666,"focalX":50,"focalY":50},"fields":null,"format":"","version":3,"relationTo":"media"},{"type":"paragraph","format":"","indent":0,"version":1,"children":[],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"The Phase One Goal: Community First","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Right now, CodeZero is in an active state of evolution. Our current goal isn't just to ship a product; it’s to build a community. We are currently inviting hobbyists, open-source contributors, and forward thinking companies to join our canary phase. This is an invitation to get in on the ground floor, test the limits of our self-hosted version, and help us build a tool that truly serves the needs of its users.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"How to Get Involved","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"We are building CodeZero in the open, and there are many ways to become part of the journey:","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"ul","type":"list","start":1,"format":"","indent":0,"version":1,"children":[{"type":"listitem","value":1,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Explore the Project: Check out our ","type":"text","style":"","detail":0,"format":0,"version":1},{"id":"69d79d3715ccb7589bcbf9da","type":"link","fields":{"url":"https://github.com/code0-tech/","newTab":true,"linkType":"custom"},"format":"","indent":0,"version":3,"children":[{"mode":"normal","text":"GitHub","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"mode":"normal","text":" to see the progress we’re making on the core platform.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":2,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Join the Discussion: Our ","type":"text","style":"","detail":0,"format":0,"version":1},{"id":"69d79d5a15ccb7589bcbf9db","type":"link","fields":{"url":"https://discord.com/invite/AyMB7DtA7P","newTab":true,"linkType":"custom"},"format":"","indent":0,"version":3,"children":[{"mode":"normal","text":"Discord","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"mode":"normal","text":" is the hub for all things CodeZero. It’s the best place to ask questions, suggest features, and meet the team.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":3,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Host Your Own: Follow our ","type":"text","style":"","detail":0,"format":0,"version":1},{"id":"69d79d7215ccb7589bcbf9dc","type":"link","fields":{"url":"https://docs.code0.tech/general/install/","newTab":true,"linkType":"custom"},"format":"","indent":0,"version":3,"children":[{"mode":"normal","text":"Installation Guide","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"mode":"normal","text":" to set up your own CodeZero instance and start building your first flows today.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null}],"listType":"bullet","direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"CodeZero is more than just a workflow builder. It’s a commitment to open, accessible, and powerful automation for everyone.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0}],"direction":null}},"de":{"root":{"type":"root","format":"","indent":0,"version":1,"children":[{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"In an era where every company is becoming a software company, the tools we use to manage our logic and processes have become increasingly closed off. Most workflow builders today are \"black boxes\" where you plug in your data, but you don't own the engine.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"CodeZero is here to change that. We are building the world's most flexible open-source no-code automation builder, designed to give control back to the builders, the hobbyists, and the organizations that value transparency and sovereignty.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"id":"69d79c7615ccb7589bcbf9d9","type":"upload","value":{"id":26,"alt":"Organization overview page CodeZero","href":null,"updatedAt":"2026-03-25T11:30:37.189Z","createdAt":"2026-03-25T11:30:37.189Z","url":"/api/media/file/Organization_Overview_Page.png","thumbnailURL":null,"filename":"Organization_Overview_Page.png","mimeType":"image/png","filesize":340618,"width":2940,"height":1666,"focalX":50,"focalY":50},"fields":null,"format":"","version":3,"relationTo":"media"},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"What is CodeZero?","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"CodeZero is a modular platform that allows you to build, manage, and automate \"Flows.\" Whether you are organizing a small team or a large scale enterprise, CodeZero acts as the digital nervous system for your operations.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"By using a visual, node based interface, you can map out complex business logic and process automation without writing a single line of code. But unlike proprietary platforms, CodeZero is built from the ground up to be open and extensible.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Why We Are Different","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Our mission is to combine the user friendliness of modern B2B SaaS with the core values of the open-source community.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"ul","type":"list","start":1,"format":"","indent":0,"version":1,"children":[{"type":"listitem","value":1,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Total Sovereignty: With our current self hosted canary release, you have the power to run your entire automation infrastructure on your own terms. Your data never has to leave your sight.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":2,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Organizational Intelligence: CodeZero isn't just about moving data; it’s about structure. Manage organizations, projects, and members with granular roles, making it the perfect fit for professional environments.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":3,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Community Led Growth: We believe the best features aren't born in a closed boardroom, but in a vibrant community. Every contributor and early adopter helps shape the roadmap of our ecosystem.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null}],"listType":"bullet","direction":null},{"id":"69d79df815ccb7589bcbf9dd","type":"upload","value":{"id":25,"alt":"Flow builder nodes feature CodeZero","href":null,"updatedAt":"2026-03-25T11:38:02.809Z","createdAt":"2026-03-25T11:38:02.809Z","url":"/api/media/file/Flow_Builder_Nodes_Feature.png","thumbnailURL":null,"filename":"Flow_Builder_Nodes_Feature.png","mimeType":"image/png","filesize":407177,"width":2940,"height":1666,"focalX":50,"focalY":50},"fields":null,"format":"","version":3,"relationTo":"media"},{"type":"paragraph","format":"","indent":0,"version":1,"children":[],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"The Phase One Goal: Community First","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Right now, CodeZero is in an active state of evolution. Our current goal isn't just to ship a product; it’s to build a community. We are currently inviting hobbyists, open-source contributors, and forward thinking companies to join our canary phase. This is an invitation to get in on the ground floor, test the limits of our self-hosted version, and help us build a tool that truly serves the needs of its users.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"How to Get Involved","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"We are building CodeZero in the open, and there are many ways to become part of the journey:","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"ul","type":"list","start":1,"format":"","indent":0,"version":1,"children":[{"type":"listitem","value":1,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Explore the Project: Check out our ","type":"text","style":"","detail":0,"format":0,"version":1},{"id":"69d79d3715ccb7589bcbf9da","type":"link","fields":{"url":"https://github.com/code0-tech/","newTab":true,"linkType":"custom"},"format":"","indent":0,"version":3,"children":[{"mode":"normal","text":"GitHub","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"mode":"normal","text":" to see the progress we’re making on the core platform.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":2,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Join the Discussion: Our ","type":"text","style":"","detail":0,"format":0,"version":1},{"id":"69d79d5a15ccb7589bcbf9db","type":"link","fields":{"url":"https://discord.com/invite/AyMB7DtA7P","newTab":true,"linkType":"custom"},"format":"","indent":0,"version":3,"children":[{"mode":"normal","text":"Discord","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"mode":"normal","text":" is the hub for all things CodeZero. It’s the best place to ask questions, suggest features, and meet the team.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":3,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Host Your Own: Follow our ","type":"text","style":"","detail":0,"format":0,"version":1},{"id":"69d79d7215ccb7589bcbf9dc","type":"link","fields":{"url":"https://docs.code0.tech/general/install/","newTab":true,"linkType":"custom"},"format":"","indent":0,"version":3,"children":[{"mode":"normal","text":"Installation Guide","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"mode":"normal","text":" to set up your own CodeZero instance and start building your first flows today.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null}],"listType":"bullet","direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"CodeZero is more than just a workflow builder. It’s a commitment to open, accessible, and powerful automation for everyone.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0}],"direction":null}}},"shortDescription":{"en":"The modular open-source workflow builder. Learn how we are combining no-code automation with enterprise-grade organization management to give hobbyists and companies total control over their digital processes.","de":"The modular open-source workflow builder. Learn how we are combining no-code automation with enterprise-grade organization management to give hobbyists and companies total control over their digital processes."},"heroImage":{"id":21,"alt":"Code0 OG Image","href":null,"updatedAt":"2026-03-26T18:45:03.880Z","createdAt":"2026-03-26T18:45:03.880Z","url":"/api/media/file/og-image.png","thumbnailURL":null,"filename":"og-image.png","mimeType":"image/png","filesize":1003908,"width":1920,"height":1080,"focalX":50,"focalY":50},"meta":{"title":{"en":"The Open-Source Standard for Workflow Automation","de":"The Open-Source Standard for Workflow Automation"},"description":{"en":"Discover CodeZero, the open-source no-code workflow builder. Automate processes and manage organizations with full data sovereignty.","de":"Discover CodeZero, the open-source no-code workflow builder. Automate processes and manage organizations with full data sovereignty."},"image":{"en":{"id":21,"alt":"Code0 OG Image","href":null,"updatedAt":"2026-03-26T18:45:03.880Z","createdAt":"2026-03-26T18:45:03.880Z","url":"/api/media/file/og-image.png","thumbnailURL":null,"filename":"og-image.png","mimeType":"image/png","filesize":1003908,"width":1920,"height":1080,"focalX":50,"focalY":50},"de":{"id":21,"alt":"Code0 OG Image","href":null,"updatedAt":"2026-03-26T18:45:03.880Z","createdAt":"2026-03-26T18:45:03.880Z","url":"/api/media/file/og-image.png","thumbnailURL":null,"filename":"og-image.png","mimeType":"image/png","filesize":1003908,"width":1920,"height":1080,"focalX":50,"focalY":50}}},"updatedAt":"2026-04-25T21:22:23.537Z","createdAt":"2026-04-09T12:41:58.859Z"},{"id":7,"title":{"en":"Understanding Actions and the Action SDK","de":"Understanding Actions and the Action SDK"},"slug":"actions-feature","isPinned":false,"author":{"id":7,"name":"Marius Ahsmus","image":null,"shortDescription":{"en":null},"about":{"en":null},"role":{"en":"Software developer"},"joinedAt":null,"updatedAt":"2026-04-25T21:22:23.444Z","createdAt":"2026-03-01T18:39:55.157Z"},"content":{"en":{"root":{"type":"root","format":"","indent":0,"version":1,"children":[{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"A truly future-proof automation platform must be able to grow alongside the technology it manages. While many tools limit users to a fixed set of features, CodeZero is built on a foundation of infinite modularity. The key to this flexibility is the Actions system. Actions are the plugins that extend our runtimes, allowing developers to define new flow types, custom nodes, and unique triggers that meet specific business requirements.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Extending the Runtime with Custom Logic","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"In the CodeZero architecture, the runtime components like Aquila and Taurus handle the heavy lifting of execution, but they are designed to be \"Action-aware.\" An Action is a standalone package that connects to the runtime and tells it how to handle new types of processes. By developing and deploying an Action, you aren't just adding a script; you are expanding the fundamental capabilities of your entire automation infrastructure.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"The Developer Experience: The Action SDK","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"To make this extensibility accessible, we have created the CodeZero Action SDK. This specialized toolkit provides developers with everything they need to build their own plugins independently of the core backend. Using the SDK, you can map out the logic for a specialized industry tool, integrate a proprietary database, or create custom AI-driven decision nodes. These Actions can be developed, versioned, and deployed as modular units, ensuring that your core system remains clean and stable while your capabilities expand.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Modular Architecture for Hybrid Environments","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Because Actions are decoupled from the central Sagittarius service, they support the true spirit of a hybrid cloud setup. You can develop a custom Action to interact with local hardware or sensitive on-premise data and deploy it specifically on your local runtime. This ensures that the specialized logic and the data it processes remain within your sovereign network, while the flow itself is still managed through the global CodeZero interface.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"A Community-Driven Ecosystem","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"The modular nature of Actions invites collaboration and contribution. As the CodeZero community grows, so does the library of available Actions. This ecosystem allows users to benefit from the work of others, whether that means a new connector for a popular CRM or a sophisticated adapter for MQTT-based IoT communication. Every new Action added to a runtime immediately populates the Suggestion Menu in the Flow Builder, making new power available to every member of your organization.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Conclusion: Future-Proofing Your Automation","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"The Actions system is what prevents CodeZero from ever becoming a \"black box\" solution. By providing the tools to build, manage, and share custom logic through the Action SDK, we empower you to solve the automation challenges of today and the unforeseen requirements of tomorrow. Your automation platform should be as unique as your business, and with Actions, it finally can be.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"type":"paragraph","format":"","indent":0,"version":1,"children":[],"direction":null,"textStyle":"","textFormat":0},{"type":"block","fields":{"id":"69c4fd2bf5fffad10edaead9","source":"si:sap Triggers on order creation within SAP;\ncrm:hubspot Syncs new contact data into HubSpot;\nerp:oracle Starts invoice validation in Oracle ERP;\ndb:postgres Stores approved order records in Postgres;\napi:stripe Triggers payment capture through Stripe API;\nmsg:rabbitmq Pushes fulfillment event into RabbitMQ;\nmail:sendgrid Sends confirmation email via SendGrid;\nbi:powerbi Refreshes sales dashboard in Power BI;","blockName":"","blockType":"trigger"},"format":"","version":2},{"type":"block","fields":{"id":"69c4fd47f5fffad10edaeada","source":"API -> Queue\nTest -> Queue","blockName":"","blockType":"graph"},"format":"","version":2},{"type":"paragraph","format":"","indent":0,"version":1,"children":[],"direction":null,"textStyle":"","textFormat":0}],"direction":null}},"de":{"root":{"type":"root","format":"","indent":0,"version":1,"children":[{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"A truly future-proof automation platform must be able to grow alongside the technology it manages. While many tools limit users to a fixed set of features, CodeZero is built on a foundation of infinite modularity. The key to this flexibility is the Actions system. Actions are the plugins that extend our runtimes, allowing developers to define new flow types, custom nodes, and unique triggers that meet specific business requirements.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Extending the Runtime with Custom Logic","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"In the CodeZero architecture, the runtime components like Aquila and Taurus handle the heavy lifting of execution, but they are designed to be \"Action-aware.\" An Action is a standalone package that connects to the runtime and tells it how to handle new types of processes. By developing and deploying an Action, you aren't just adding a script; you are expanding the fundamental capabilities of your entire automation infrastructure.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"The Developer Experience: The Action SDK","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"To make this extensibility accessible, we have created the CodeZero Action SDK. This specialized toolkit provides developers with everything they need to build their own plugins independently of the core backend. Using the SDK, you can map out the logic for a specialized industry tool, integrate a proprietary database, or create custom AI-driven decision nodes. These Actions can be developed, versioned, and deployed as modular units, ensuring that your core system remains clean and stable while your capabilities expand.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Modular Architecture for Hybrid Environments","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Because Actions are decoupled from the central Sagittarius service, they support the true spirit of a hybrid cloud setup. You can develop a custom Action to interact with local hardware or sensitive on-premise data and deploy it specifically on your local runtime. This ensures that the specialized logic and the data it processes remain within your sovereign network, while the flow itself is still managed through the global CodeZero interface.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"A Community-Driven Ecosystem","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"The modular nature of Actions invites collaboration and contribution. As the CodeZero community grows, so does the library of available Actions. This ecosystem allows users to benefit from the work of others, whether that means a new connector for a popular CRM or a sophisticated adapter for MQTT-based IoT communication. Every new Action added to a runtime immediately populates the Suggestion Menu in the Flow Builder, making new power available to every member of your organization.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Conclusion: Future-Proofing Your Automation","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"The Actions system is what prevents CodeZero from ever becoming a \"black box\" solution. By providing the tools to build, manage, and share custom logic through the Action SDK, we empower you to solve the automation challenges of today and the unforeseen requirements of tomorrow. Your automation platform should be as unique as your business, and with Actions, it finally can be.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0}],"direction":null}}},"shortDescription":{"en":"Unlock infinite extensibility with CodeZero Actions. Discover how the Action SDK allows you to build custom nodes, triggers, and flow types to create a tailored automation infrastructure that scales with your unique business needs.","de":"Unlock infinite extensibility with CodeZero Actions. Discover how the Action SDK allows you to build custom nodes, triggers, and flow types to create a tailored automation infrastructure that scales with your unique business needs."},"heroImage":{"id":22,"alt":"Github action SDK CodeZero","href":null,"updatedAt":"2026-03-25T12:01:38.170Z","createdAt":"2026-03-25T12:01:38.169Z","url":"/api/media/file/Github_Action_SDK_CodeZero.png","thumbnailURL":null,"filename":"Github_Action_SDK_CodeZero.png","mimeType":"image/png","filesize":524187,"width":2940,"height":1666,"focalX":50,"focalY":50},"meta":{"title":{"en":"Understanding Actions and the Action SDK","de":"Understanding Actions and the Action SDK"},"description":{"en":"Unlock infinite extensibility with CodeZero Actions. Discover how the Action SDK allows you to build custom nodes, triggers, and flow types to create a tailored automation infrastructure that scales with your unique business needs.","de":"Unlock infinite extensibility with CodeZero Actions. Discover how the Action SDK allows you to build custom nodes, triggers, and flow types to create a tailored automation infrastructure that scales with your unique business needs."},"image":{"en":{"id":22,"alt":"Github action SDK CodeZero","href":null,"updatedAt":"2026-03-25T12:01:38.170Z","createdAt":"2026-03-25T12:01:38.169Z","url":"/api/media/file/Github_Action_SDK_CodeZero.png","thumbnailURL":null,"filename":"Github_Action_SDK_CodeZero.png","mimeType":"image/png","filesize":524187,"width":2940,"height":1666,"focalX":50,"focalY":50},"de":{"id":22,"alt":"Github action SDK CodeZero","href":null,"updatedAt":"2026-03-25T12:01:38.170Z","createdAt":"2026-03-25T12:01:38.169Z","url":"/api/media/file/Github_Action_SDK_CodeZero.png","thumbnailURL":null,"filename":"Github_Action_SDK_CodeZero.png","mimeType":"image/png","filesize":524187,"width":2940,"height":1666,"focalX":50,"focalY":50}}},"updatedAt":"2026-04-25T21:22:23.551Z","createdAt":"2026-03-25T12:01:51.272Z"},{"id":8,"title":{"en":"Accelerating workflows with the CodeZero suggestion menu","de":"Accelerating workflows with the CodeZero suggestion menu"},"slug":"flow-builder-suggestion-menu-feature","isPinned":false,"author":{"id":7,"name":"Marius Ahsmus","image":null,"shortDescription":{"en":null},"about":{"en":null},"role":{"en":"Software developer"},"joinedAt":null,"updatedAt":"2026-04-25T21:22:23.444Z","createdAt":"2026-03-01T18:39:55.157Z"},"content":{"en":{"root":{"type":"root","format":"","indent":0,"version":1,"children":[{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Efficiency in automation is not just about how fast a process runs, but how quickly it can be built. In the CodeZero Flow Builder, the transition from a conceptual idea to a functional node sequence is powered by the Suggestion Menu. This intelligent interface acts as a real-time catalog of your entire automation toolkit, ensuring that the right logic is always just a click away.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Intelligent Node Selection at Your Fingertips","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"The Suggestion Menu is the central entry point for expanding any flow. As you develop your automation, the menu provides a searchable and categorized list of every available node type. This includes everything from standard boolean logic and control flow operators to specialized HTTP request nodes. By presenting these options in a structured overlay, CodeZero eliminates the need to navigate deep sub-menus, allowing you to maintain your creative momentum.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"id":"69e00eb7d0a8d142deb440a1","type":"upload","value":{"id":23,"alt":"Flow builder suggestion menu CodeZero","href":null,"updatedAt":"2026-03-25T11:55:33.672Z","createdAt":"2026-03-25T11:55:33.672Z","url":"/api/media/file/Flow_Builder_Suggestion_Menu_Feature.png","thumbnailURL":null,"filename":"Flow_Builder_Suggestion_Menu_Feature.png","mimeType":"image/png","filesize":490427,"width":2940,"height":1664,"focalX":50,"focalY":50},"fields":null,"format":"","version":3,"relationTo":"media"},{"type":"paragraph","format":"","indent":0,"version":1,"children":[],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"A Library of Modular Capabilities","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Every item in the Suggestion Menu represents a modular capability of the CodeZero runtime. These building blocks are organized into logical groups such as:","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"ul","type":"list","start":1,"format":"","indent":0,"version":1,"children":[{"type":"listitem","value":1,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Standard Control: Manage the flow of execution with \"If-Else\" conditions, \"Return\" statements, and \"Stop\" functions.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":2,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Data Handling: Transform and validate information using boolean operations and list processing tools.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":3,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"External Integration: Trigger and respond to REST API calls to bridge your flow with third-party services.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null}],"listType":"bullet","direction":null},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Extensibility in Real-Time","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Because CodeZero is built on a modular plugin architecture, the Suggestion Menu is dynamic. When you add new \"Actions\" via our Action SDK, the custom nodes and triggers defined in those plugins automatically populate the menu. This means that as you extend your runtime capabilities, your design interface evolves alongside it, immediately offering your new custom tools for use in any project.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Seamless Flow Construction","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"The menu is designed to support the \"sequence of connected nodes\" that defines a CodeZero flow. By allowing you to \"Add next node\" through a simple search, the interface helps you visualize the directed graph as it grows. This tight integration between the visual builder and the underlying logic parameters ensures that every connection is valid and every step is configured correctly from the start.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Conclusion: Empowering Fast and Flexible Automation","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"The Suggestion Menu is more than just a search bar; it is the bridge between your technical requirements and the Taurus execution engine. By making the platform's extensive library of nodes instantly accessible, CodeZero empowers you to build, test, and iterate on complex business logic with unprecedented speed. High-performance automation begins with an interface that works at the speed of your thoughts.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0}],"direction":null}},"de":{"root":{"type":"root","format":"","indent":0,"version":1,"children":[{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Efficiency in automation is not just about how fast a process runs, but how quickly it can be built. In the CodeZero Flow Builder, the transition from a conceptual idea to a functional node sequence is powered by the Suggestion Menu. This intelligent interface acts as a real-time catalog of your entire automation toolkit, ensuring that the right logic is always just a click away.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Intelligent Node Selection at Your Fingertips","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"The Suggestion Menu is the central entry point for expanding any flow. As you develop your automation, the menu provides a searchable and categorized list of every available node type. This includes everything from standard boolean logic and control flow operators to specialized HTTP request nodes. By presenting these options in a structured overlay, CodeZero eliminates the need to navigate deep sub-menus, allowing you to maintain your creative momentum.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"id":"69e00eb7d0a8d142deb440a1","type":"upload","value":{"id":23,"alt":"Flow builder suggestion menu CodeZero","href":null,"updatedAt":"2026-03-25T11:55:33.672Z","createdAt":"2026-03-25T11:55:33.672Z","url":"/api/media/file/Flow_Builder_Suggestion_Menu_Feature.png","thumbnailURL":null,"filename":"Flow_Builder_Suggestion_Menu_Feature.png","mimeType":"image/png","filesize":490427,"width":2940,"height":1664,"focalX":50,"focalY":50},"fields":null,"format":"","version":3,"relationTo":"media"},{"type":"paragraph","format":"","indent":0,"version":1,"children":[],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"A Library of Modular Capabilities","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Every item in the Suggestion Menu represents a modular capability of the CodeZero runtime. These building blocks are organized into logical groups such as:","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"ul","type":"list","start":1,"format":"","indent":0,"version":1,"children":[{"type":"listitem","value":1,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Standard Control: Manage the flow of execution with \"If-Else\" conditions, \"Return\" statements, and \"Stop\" functions.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":2,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Data Handling: Transform and validate information using boolean operations and list processing tools.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":3,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"External Integration: Trigger and respond to REST API calls to bridge your flow with third-party services.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null}],"listType":"bullet","direction":null},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Extensibility in Real-Time","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Because CodeZero is built on a modular plugin architecture, the Suggestion Menu is dynamic. When you add new \"Actions\" via our Action SDK, the custom nodes and triggers defined in those plugins automatically populate the menu. This means that as you extend your runtime capabilities, your design interface evolves alongside it, immediately offering your new custom tools for use in any project.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Seamless Flow Construction","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"The menu is designed to support the \"sequence of connected nodes\" that defines a CodeZero flow. By allowing you to \"Add next node\" through a simple search, the interface helps you visualize the directed graph as it grows. This tight integration between the visual builder and the underlying logic parameters ensures that every connection is valid and every step is configured correctly from the start.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Conclusion: Empowering Fast and Flexible Automation","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"The Suggestion Menu is more than just a search bar; it is the bridge between your technical requirements and the Taurus execution engine. By making the platform's extensive library of nodes instantly accessible, CodeZero empowers you to build, test, and iterate on complex business logic with unprecedented speed. High-performance automation begins with an interface that works at the speed of your thoughts.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0}],"direction":null}}},"shortDescription":{"en":"Speed up your workflow development with the CodeZero Suggestion Menu. Discover how to instantly access triggers, logic blocks, and custom nodes to build powerful automated flows without ever leaving the builder.","de":"Speed up your workflow development with the CodeZero Suggestion Menu. Discover how to instantly access triggers, logic blocks, and custom nodes to build powerful automated flows without ever leaving the builder."},"heroImage":{"id":23,"alt":"Flow builder suggestion menu CodeZero","href":null,"updatedAt":"2026-03-25T11:55:33.672Z","createdAt":"2026-03-25T11:55:33.672Z","url":"/api/media/file/Flow_Builder_Suggestion_Menu_Feature.png","thumbnailURL":null,"filename":"Flow_Builder_Suggestion_Menu_Feature.png","mimeType":"image/png","filesize":490427,"width":2940,"height":1664,"focalX":50,"focalY":50},"meta":{"title":{"en":"Accelerating workflows with the CodeZero suggestion menu","de":"Accelerating workflows with the CodeZero suggestion menu"},"description":{"en":"Speed up your workflow development with the CodeZero Suggestion Menu. Discover how to instantly access triggers, logic blocks, and custom nodes to build powerful automated flows without ever leaving the builder.","de":"Speed up your workflow development with the CodeZero Suggestion Menu. Discover how to instantly access triggers, logic blocks, and custom nodes to build powerful automated flows without ever leaving the builder."},"image":{"en":{"id":23,"alt":"Flow builder suggestion menu CodeZero","href":null,"updatedAt":"2026-03-25T11:55:33.672Z","createdAt":"2026-03-25T11:55:33.672Z","url":"/api/media/file/Flow_Builder_Suggestion_Menu_Feature.png","thumbnailURL":null,"filename":"Flow_Builder_Suggestion_Menu_Feature.png","mimeType":"image/png","filesize":490427,"width":2940,"height":1664,"focalX":50,"focalY":50},"de":{"id":23,"alt":"Flow builder suggestion menu CodeZero","href":null,"updatedAt":"2026-03-25T11:55:33.672Z","createdAt":"2026-03-25T11:55:33.672Z","url":"/api/media/file/Flow_Builder_Suggestion_Menu_Feature.png","thumbnailURL":null,"filename":"Flow_Builder_Suggestion_Menu_Feature.png","mimeType":"image/png","filesize":490427,"width":2940,"height":1664,"focalX":50,"focalY":50}}},"updatedAt":"2026-04-25T21:22:23.563Z","createdAt":"2026-03-25T11:57:48.287Z"},{"id":9,"title":{"en":"Understanding runtimes and how to scale automations","de":"Understanding runtimes and how to scale automations"},"slug":"runtime-type-feature","isPinned":false,"author":{"id":7,"name":"Marius Ahsmus","image":null,"shortDescription":{"en":null},"about":{"en":null},"role":{"en":"Software developer"},"joinedAt":null,"updatedAt":"2026-04-25T21:22:23.444Z","createdAt":"2026-03-01T18:39:55.157Z"},"content":{"en":{"root":{"type":"root","format":"","indent":0,"version":1,"children":[{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"The power of an automation platform is measured by how it executes the logic you design. CodeZero provides a sophisticated runtime architecture that allows you to choose exactly how your flows are deployed and processed. By categorizing runtimes into two distinct dimensions—Deployment Method and Execution Mode—we empower you to optimize for either extreme flexibility or maximum performance.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Deployment Strategy: Static vs. Dynamic Runtimes","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"The first choice in setting up your CodeZero infrastructure is determining how your flows are delivered to the execution engine. This choice defines the relationship between your design environment (the IDE) and the active runtime.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h3","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Static Runtimes for Autonomous Operations","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"In a static setup, the runtime operates independently of the IDE. Your flows are stored as physical files directly within the runtime environment. This approach is ideal for production systems that require total autonomy. Even if the central application interface is offline, the static runtime continues to execute its local files without interruption.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h3","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Dynamic Runtimes for Real-Time Development","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Dynamic runtimes offer the exact opposite experience by maintaining a live connection to the IDE. Instead of relying on local files, these runtimes load and update flows on the fly as you make changes in the interface. This creates a seamless developer experience where logic can be tested and tweaked in real-time without manual deployment steps.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Execution Performance: Interpreted vs. Compiled Logic","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"The second dimension of the CodeZero architecture defines how the runtime actually processes the underlying JSON structure of your flow.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h3","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Interpreted Execution for High Flexibility","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"An interpreted runtime processes the flow step-by-step. It reads the JSON definition of each node at the moment of execution and performs the logic sequentially. This mode is highly versatile and allows for rapid debugging and easy adjustments, making it the preferred choice for most standard automation tasks.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h3","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Compiled Execution for Peak Performance","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"For high-volume environments where every millisecond counts, CodeZero offers a compiled execution mode. In this scenario, the entire JSON flow is transformed into optimized, executable code before it runs. By eliminating the overhead of step-by-step interpretation, compiled flows achieve significantly higher throughput and reduced latency for enterprise-grade workloads.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Combining Categories for Custom Solutions","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"The true strength of CodeZero lies in the ability to combine these categories to suit your specific use case. You might choose a Dynamic-Interpreted setup during the prototyping phase to benefit from instant updates and easy debugging. Conversely, a mission-critical logistics operation might deploy a Static-Compiled runtime to ensure the system runs autonomously at the highest possible speed.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Conclusion: Tailored Execution for Every Use Case","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"By decoupling the deployment method from the execution mode, CodeZero provides a modular infrastructure that fits any requirement. Whether you need the agility of a live-updated development tool or the rock-solid stability of a compiled autonomous engine, our runtime architecture ensures your business logic is always running exactly where and how it should.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0}],"direction":null}},"de":{"root":{"type":"root","format":"","indent":0,"version":1,"children":[{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"The power of an automation platform is measured by how it executes the logic you design. CodeZero provides a sophisticated runtime architecture that allows you to choose exactly how your flows are deployed and processed. By categorizing runtimes into two distinct dimensions—Deployment Method and Execution Mode—we empower you to optimize for either extreme flexibility or maximum performance.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Deployment Strategy: Static vs. Dynamic Runtimes","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"The first choice in setting up your CodeZero infrastructure is determining how your flows are delivered to the execution engine. This choice defines the relationship between your design environment (the IDE) and the active runtime.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h3","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Static Runtimes for Autonomous Operations","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"In a static setup, the runtime operates independently of the IDE. Your flows are stored as physical files directly within the runtime environment. This approach is ideal for production systems that require total autonomy. Even if the central application interface is offline, the static runtime continues to execute its local files without interruption.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h3","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Dynamic Runtimes for Real-Time Development","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Dynamic runtimes offer the exact opposite experience by maintaining a live connection to the IDE. Instead of relying on local files, these runtimes load and update flows on the fly as you make changes in the interface. This creates a seamless developer experience where logic can be tested and tweaked in real-time without manual deployment steps.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Execution Performance: Interpreted vs. Compiled Logic","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"The second dimension of the CodeZero architecture defines how the runtime actually processes the underlying JSON structure of your flow.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h3","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Interpreted Execution for High Flexibility","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"An interpreted runtime processes the flow step-by-step. It reads the JSON definition of each node at the moment of execution and performs the logic sequentially. This mode is highly versatile and allows for rapid debugging and easy adjustments, making it the preferred choice for most standard automation tasks.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h3","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Compiled Execution for Peak Performance","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"For high-volume environments where every millisecond counts, CodeZero offers a compiled execution mode. In this scenario, the entire JSON flow is transformed into optimized, executable code before it runs. By eliminating the overhead of step-by-step interpretation, compiled flows achieve significantly higher throughput and reduced latency for enterprise-grade workloads.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Combining Categories for Custom Solutions","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"The true strength of CodeZero lies in the ability to combine these categories to suit your specific use case. You might choose a Dynamic-Interpreted setup during the prototyping phase to benefit from instant updates and easy debugging. Conversely, a mission-critical logistics operation might deploy a Static-Compiled runtime to ensure the system runs autonomously at the highest possible speed.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Conclusion: Tailored Execution for Every Use Case","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"By decoupling the deployment method from the execution mode, CodeZero provides a modular infrastructure that fits any requirement. Whether you need the agility of a live-updated development tool or the rock-solid stability of a compiled autonomous engine, our runtime architecture ensures your business logic is always running exactly where and how it should.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0}],"direction":null}}},"shortDescription":{"en":"Explore the flexibility of CodeZero Runtime Types. Learn the differences between Static vs. Dynamic deployment and Interpreted vs. Compiled execution to optimize your automation for speed, autonomy, and scale.","de":"Explore the flexibility of CodeZero Runtime Types. Learn the differences between Static vs. Dynamic deployment and Interpreted vs. Compiled execution to optimize your automation for speed, autonomy, and scale."},"heroImage":{"id":24,"alt":"Runtime overview page CodeZero","href":null,"updatedAt":"2026-03-25T11:53:05.308Z","createdAt":"2026-03-25T11:53:05.307Z","url":"/api/media/file/Runtime_Overview_Page.png","thumbnailURL":null,"filename":"Runtime_Overview_Page.png","mimeType":"image/png","filesize":333824,"width":2940,"height":1668,"focalX":50,"focalY":50},"meta":{"title":{"en":"Understanding runtimes and how to scale automations","de":"Understanding runtimes and how to scale automations"},"description":{"en":"Explore the flexibility of CodeZero Runtime Types. Learn the differences between Static vs. Dynamic deployment and Interpreted vs. Compiled execution to optimize your automation for speed, autonomy, and scale.","de":"Explore the flexibility of CodeZero Runtime Types. Learn the differences between Static vs. Dynamic deployment and Interpreted vs. Compiled execution to optimize your automation for speed, autonomy, and scale."},"image":{"en":{"id":24,"alt":"Runtime overview page CodeZero","href":null,"updatedAt":"2026-03-25T11:53:05.308Z","createdAt":"2026-03-25T11:53:05.307Z","url":"/api/media/file/Runtime_Overview_Page.png","thumbnailURL":null,"filename":"Runtime_Overview_Page.png","mimeType":"image/png","filesize":333824,"width":2940,"height":1668,"focalX":50,"focalY":50},"de":{"id":24,"alt":"Runtime overview page CodeZero","href":null,"updatedAt":"2026-03-25T11:53:05.308Z","createdAt":"2026-03-25T11:53:05.307Z","url":"/api/media/file/Runtime_Overview_Page.png","thumbnailURL":null,"filename":"Runtime_Overview_Page.png","mimeType":"image/png","filesize":333824,"width":2940,"height":1668,"focalX":50,"focalY":50}}},"updatedAt":"2026-04-25T21:22:23.574Z","createdAt":"2026-03-25T11:53:15.132Z"},{"id":10,"title":{"en":"The building blocks of automation: Nodes in CodeZero","de":"The building blocks of automation: Nodes in CodeZero"},"slug":"flow-builder-node-feature","isPinned":false,"author":{"id":7,"name":"Marius Ahsmus","image":null,"shortDescription":{"en":null},"about":{"en":null},"role":{"en":"Software developer"},"joinedAt":null,"updatedAt":"2026-04-25T21:22:23.444Z","createdAt":"2026-03-01T18:39:55.157Z"},"content":{"en":{"root":{"type":"root","format":"","indent":0,"version":1,"children":[{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"At the heart of every automated process within CodeZero lies the \"Flow,\" a directed graph that transforms complex business logic into a visual and manageable sequence. The fundamental unit of these flows is the Node. Each node represents a distinct, individual step in a process, acting as the essential building block for everything from simple data transfers to sophisticated AI-driven operations.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"What is a Node?","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"In the CodeZero ecosystem, a node is more than just a visual element. It is a functional container that holds specific parameters and logic. By connecting these nodes, users define the path that data takes and the actions that occur at every stage of a workflow. This modular approach ensures that even the most intricate systems remain understandable and easy to maintain.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"id":"69e00e6ad0a8d142deb440a0","type":"upload","value":{"id":25,"alt":"Flow builder nodes feature CodeZero","href":null,"updatedAt":"2026-03-25T11:38:02.809Z","createdAt":"2026-03-25T11:38:02.809Z","url":"/api/media/file/Flow_Builder_Nodes_Feature.png","thumbnailURL":null,"filename":"Flow_Builder_Nodes_Feature.png","mimeType":"image/png","filesize":407177,"width":2940,"height":1666,"focalX":50,"focalY":50},"fields":null,"format":"","version":3,"relationTo":"media"},{"type":"paragraph","format":"","indent":0,"version":1,"children":[],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Logic and Parameters","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Every node is defined by its parameters, which dictate its input and configuration. For example, a \"Trigger\" node might wait for an incoming HTTP request, while a \"Function\" node processes that data before passing it to the next step. This granular configuration allows for \"Complex Flow Logic,\" enabling the system to handle loops, conditional branches, and error handling without requiring traditional coding.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Extensibility through the Action SDK","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"One of the most powerful aspects of CodeZero is that the variety of available nodes is not fixed. Through our Action SDK, developers can create custom \"Actions\" that extend the runtime with entirely new node types. This plugin system allows organizations to build specialized nodes for their unique needs, whether that involves connecting to legacy hardware via MQTT or deploying custom AI agents.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Scalable Execution","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"While nodes are designed and organized within the \"Sculptor\" frontend, their actual execution is handled by the \"Taurus\" runtime. This separation of concerns ensures that your logic remains platform-agnostic. Whether a node is performing a simple calculation or a deep integration with an enterprise ERP like SAP, the underlying infrastructure scales automatically to meet the demand.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Conclusion: Designing with Precision","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"By mastering the use of nodes, you gain the ability to map any business process into a high-performance automated hub. CodeZero provides the canvas and the tools, but the nodes provide the power. Start building your sequences today and see how modular logic can transform your organizational management.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0}],"direction":null}},"de":{"root":{"type":"root","format":"","indent":0,"version":1,"children":[{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"At the heart of every automated process within CodeZero lies the \"Flow,\" a directed graph that transforms complex business logic into a visual and manageable sequence. The fundamental unit of these flows is the Node. Each node represents a distinct, individual step in a process, acting as the essential building block for everything from simple data transfers to sophisticated AI-driven operations.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"What is a Node?","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"In the CodeZero ecosystem, a node is more than just a visual element. It is a functional container that holds specific parameters and logic. By connecting these nodes, users define the path that data takes and the actions that occur at every stage of a workflow. This modular approach ensures that even the most intricate systems remain understandable and easy to maintain.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"id":"69e00e6ad0a8d142deb440a0","type":"upload","value":{"id":25,"alt":"Flow builder nodes feature CodeZero","href":null,"updatedAt":"2026-03-25T11:38:02.809Z","createdAt":"2026-03-25T11:38:02.809Z","url":"/api/media/file/Flow_Builder_Nodes_Feature.png","thumbnailURL":null,"filename":"Flow_Builder_Nodes_Feature.png","mimeType":"image/png","filesize":407177,"width":2940,"height":1666,"focalX":50,"focalY":50},"fields":null,"format":"","version":3,"relationTo":"media"},{"type":"paragraph","format":"","indent":0,"version":1,"children":[],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Logic and Parameters","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Every node is defined by its parameters, which dictate its input and configuration. For example, a \"Trigger\" node might wait for an incoming HTTP request, while a \"Function\" node processes that data before passing it to the next step. This granular configuration allows for \"Complex Flow Logic,\" enabling the system to handle loops, conditional branches, and error handling without requiring traditional coding.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Extensibility through the Action SDK","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"One of the most powerful aspects of CodeZero is that the variety of available nodes is not fixed. Through our Action SDK, developers can create custom \"Actions\" that extend the runtime with entirely new node types. This plugin system allows organizations to build specialized nodes for their unique needs, whether that involves connecting to legacy hardware via MQTT or deploying custom AI agents.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Scalable Execution","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"While nodes are designed and organized within the \"Sculptor\" frontend, their actual execution is handled by the \"Taurus\" runtime. This separation of concerns ensures that your logic remains platform-agnostic. Whether a node is performing a simple calculation or a deep integration with an enterprise ERP like SAP, the underlying infrastructure scales automatically to meet the demand.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Conclusion: Designing with Precision","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"By mastering the use of nodes, you gain the ability to map any business process into a high-performance automated hub. CodeZero provides the canvas and the tools, but the nodes provide the power. Start building your sequences today and see how modular logic can transform your organizational management.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0}],"direction":null}}},"shortDescription":{"en":"Unlock the power of modular automation with CodeZero Nodes. Learn how to use individual logic blocks to build complex flows, integrate third-party data, and scale your business processes with ease.","de":"Unlock the power of modular automation with CodeZero Nodes. Learn how to use individual logic blocks to build complex flows, integrate third-party data, and scale your business processes with ease."},"heroImage":{"id":25,"alt":"Flow builder nodes feature CodeZero","href":null,"updatedAt":"2026-03-25T11:38:02.809Z","createdAt":"2026-03-25T11:38:02.809Z","url":"/api/media/file/Flow_Builder_Nodes_Feature.png","thumbnailURL":null,"filename":"Flow_Builder_Nodes_Feature.png","mimeType":"image/png","filesize":407177,"width":2940,"height":1666,"focalX":50,"focalY":50},"meta":{"title":{"en":"The building blocks of automation: Nodes in CodeZero","de":"The building blocks of automation: Nodes in CodeZero"},"description":{"en":"Unlock the power of modular automation with CodeZero Nodes. Learn how to use individual logic blocks to build complex flows, integrate third-party data, and scale your business processes with ease.","de":"Unlock the power of modular automation with CodeZero Nodes. Learn how to use individual logic blocks to build complex flows, integrate third-party data, and scale your business processes with ease."},"image":{"en":{"id":25,"alt":"Flow builder nodes feature CodeZero","href":null,"updatedAt":"2026-03-25T11:38:02.809Z","createdAt":"2026-03-25T11:38:02.809Z","url":"/api/media/file/Flow_Builder_Nodes_Feature.png","thumbnailURL":null,"filename":"Flow_Builder_Nodes_Feature.png","mimeType":"image/png","filesize":407177,"width":2940,"height":1666,"focalX":50,"focalY":50},"de":{"id":25,"alt":"Flow builder nodes feature CodeZero","href":null,"updatedAt":"2026-03-25T11:38:02.809Z","createdAt":"2026-03-25T11:38:02.809Z","url":"/api/media/file/Flow_Builder_Nodes_Feature.png","thumbnailURL":null,"filename":"Flow_Builder_Nodes_Feature.png","mimeType":"image/png","filesize":407177,"width":2940,"height":1666,"focalX":50,"focalY":50}}},"updatedAt":"2026-04-25T21:22:23.586Z","createdAt":"2026-03-25T11:40:33.195Z"},{"id":11,"title":{"en":"Managing Organizations in CodeZero","de":"Managing Organizations in CodeZero"},"slug":"organization-feature","isPinned":false,"author":{"id":7,"name":"Marius Ahsmus","image":null,"shortDescription":{"en":null},"about":{"en":null},"role":{"en":"Software developer"},"joinedAt":null,"updatedAt":"2026-04-25T21:22:23.444Z","createdAt":"2026-03-01T18:39:55.157Z"},"content":{"en":{"root":{"type":"root","format":"","indent":0,"version":1,"children":[{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"The highest level of structure within the CodeZero ecosystem is the Organization. While projects and flows handle the technical execution, the Organization layer provides the administrative framework necessary for business-wide management. This architectural layer is designed to represent a company or a large department, serving as the ultimate container for users, projects, and shared resources.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Centralized Management for Complex Teams","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Organizations allow administrators to manage a group of users and a multitude of projects from a single centralized interface. This is especially useful for companies running parallel automation initiatives across different departments such as marketing, logistics, and customer success. By using organizations, you can ensure that each department has its own dedicated space while maintaining global visibility for high-level stakeholders.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"id":"69e00d2bd0a8d142deb44096","type":"upload","value":{"id":31,"alt":"Member overview page CodeZero","href":null,"updatedAt":"2026-03-25T11:13:20.805Z","createdAt":"2026-03-25T11:13:20.805Z","url":"/api/media/file/Member_Overview_Page.png","thumbnailURL":null,"filename":"Member_Overview_Page.png","mimeType":"image/png","filesize":390811,"width":2940,"height":1668,"focalX":50,"focalY":50},"fields":null,"format":"","version":3,"relationTo":"media"},{"type":"paragraph","format":"","indent":0,"version":1,"children":[],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Building Your Organizational Framework","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Creating an organization is the first step toward building a scalable automation strategy. This process establishes the root namespace where all subsequent projects and roles will reside. By defining clear organization names and structures, businesses can replicate their real-world corporate hierarchy within the CodeZero platform, making it easier to manage large-scale digital transformations.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"id":"69e00d14d0a8d142deb44095","type":"upload","value":{"id":26,"alt":"Organization overview page CodeZero","href":null,"updatedAt":"2026-03-25T11:30:37.189Z","createdAt":"2026-03-25T11:30:37.189Z","url":"/api/media/file/Organization_Overview_Page.png","thumbnailURL":null,"filename":"Organization_Overview_Page.png","mimeType":"image/png","filesize":340618,"width":2940,"height":1666,"focalX":50,"focalY":50},"fields":null,"format":"","version":3,"relationTo":"media"},{"type":"paragraph","format":"","indent":0,"version":1,"children":[],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Resource Sharing and Data Sovereignty","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"One of the primary advantages of the Organization layer is the ability to manage global runtimes. These shared runtimes can be utilized across multiple projects within the same organization, optimizing infrastructure costs and performance. Because CodeZero allows for hybrid setups, an organization can choose to link its own local runtimes to the global orchestrator, ensuring that the company maintains total sovereignty over its sensitive data processing.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Cross-Project Collaboration and Governance","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Organizations facilitate a higher level of governance by allowing for role definitions that span across multiple projects. This means a security officer can be assigned a role at the organizational level to oversee all automation projects, while developers are limited to the specific project workspaces they are assigned to. This multi-layered approach to access control is what makes CodeZero a truly enterprise-ready platform.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Conclusion: The Foundation of Digital Maturity","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"The Organization layer is what transforms CodeZero from a simple automation tool into a comprehensive process management system. By providing a clear structure for users, projects, and runtimes, we enable businesses to scale their automation efforts with confidence. Establishing a strong organizational foundation today ensures that your automated future is secure, transparent, and built to grow.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0}],"direction":null}},"de":{"root":{"type":"root","format":"","indent":0,"version":1,"children":[{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"The highest level of structure within the CodeZero ecosystem is the Organization. While projects and flows handle the technical execution, the Organization layer provides the administrative framework necessary for business-wide management. This architectural layer is designed to represent a company or a large department, serving as the ultimate container for users, projects, and shared resources.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Centralized Management for Complex Teams","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Organizations allow administrators to manage a group of users and a multitude of projects from a single centralized interface. This is especially useful for companies running parallel automation initiatives across different departments such as marketing, logistics, and customer success. By using organizations, you can ensure that each department has its own dedicated space while maintaining global visibility for high-level stakeholders.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"id":"69e00d2bd0a8d142deb44096","type":"upload","value":{"id":31,"alt":"Member overview page CodeZero","href":null,"updatedAt":"2026-03-25T11:13:20.805Z","createdAt":"2026-03-25T11:13:20.805Z","url":"/api/media/file/Member_Overview_Page.png","thumbnailURL":null,"filename":"Member_Overview_Page.png","mimeType":"image/png","filesize":390811,"width":2940,"height":1668,"focalX":50,"focalY":50},"fields":null,"format":"","version":3,"relationTo":"media"},{"type":"paragraph","format":"","indent":0,"version":1,"children":[],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Building Your Organizational Framework","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Creating an organization is the first step toward building a scalable automation strategy. This process establishes the root namespace where all subsequent projects and roles will reside. By defining clear organization names and structures, businesses can replicate their real-world corporate hierarchy within the CodeZero platform, making it easier to manage large-scale digital transformations.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"id":"69e00d14d0a8d142deb44095","type":"upload","value":{"id":26,"alt":"Organization overview page CodeZero","href":null,"updatedAt":"2026-03-25T11:30:37.189Z","createdAt":"2026-03-25T11:30:37.189Z","url":"/api/media/file/Organization_Overview_Page.png","thumbnailURL":null,"filename":"Organization_Overview_Page.png","mimeType":"image/png","filesize":340618,"width":2940,"height":1666,"focalX":50,"focalY":50},"fields":null,"format":"","version":3,"relationTo":"media"},{"type":"paragraph","format":"","indent":0,"version":1,"children":[],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Resource Sharing and Data Sovereignty","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"One of the primary advantages of the Organization layer is the ability to manage global runtimes. These shared runtimes can be utilized across multiple projects within the same organization, optimizing infrastructure costs and performance. Because CodeZero allows for hybrid setups, an organization can choose to link its own local runtimes to the global orchestrator, ensuring that the company maintains total sovereignty over its sensitive data processing.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Cross-Project Collaboration and Governance","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Organizations facilitate a higher level of governance by allowing for role definitions that span across multiple projects. This means a security officer can be assigned a role at the organizational level to oversee all automation projects, while developers are limited to the specific project workspaces they are assigned to. This multi-layered approach to access control is what makes CodeZero a truly enterprise-ready platform.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Conclusion: The Foundation of Digital Maturity","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"The Organization layer is what transforms CodeZero from a simple automation tool into a comprehensive process management system. By providing a clear structure for users, projects, and runtimes, we enable businesses to scale their automation efforts with confidence. Establishing a strong organizational foundation today ensures that your automated future is secure, transparent, and built to grow.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0}],"direction":null}}},"shortDescription":{"en":"Learn how CodeZero Organizations provide the essential framework for managing complex teams and projects. Discover how to establish namespaces, share runtimes, and maintain enterprise-grade governance over your entire automation ecosystem.","de":"Learn how CodeZero Organizations provide the essential framework for managing complex teams and projects. Discover how to establish namespaces, share runtimes, and maintain enterprise-grade governance over your entire automation ecosystem."},"heroImage":{"id":26,"alt":"Organization overview page CodeZero","href":null,"updatedAt":"2026-03-25T11:30:37.189Z","createdAt":"2026-03-25T11:30:37.189Z","url":"/api/media/file/Organization_Overview_Page.png","thumbnailURL":null,"filename":"Organization_Overview_Page.png","mimeType":"image/png","filesize":340618,"width":2940,"height":1666,"focalX":50,"focalY":50},"meta":{"title":{"en":"Managing Organizations in CodeZero","de":"Managing Organizations in CodeZero"},"description":{"en":"Learn how CodeZero Organizations provide the essential framework for managing complex teams and projects. Discover how to establish namespaces, share runtimes, and maintain enterprise-grade governance over your entire automation ecosystem.","de":"Learn how CodeZero Organizations provide the essential framework for managing complex teams and projects. Discover how to establish namespaces, share runtimes, and maintain enterprise-grade governance over your entire automation ecosystem."},"image":{"en":{"id":26,"alt":"Organization overview page CodeZero","href":null,"updatedAt":"2026-03-25T11:30:37.189Z","createdAt":"2026-03-25T11:30:37.189Z","url":"/api/media/file/Organization_Overview_Page.png","thumbnailURL":null,"filename":"Organization_Overview_Page.png","mimeType":"image/png","filesize":340618,"width":2940,"height":1666,"focalX":50,"focalY":50},"de":{"id":26,"alt":"Organization overview page CodeZero","href":null,"updatedAt":"2026-03-25T11:30:37.189Z","createdAt":"2026-03-25T11:30:37.189Z","url":"/api/media/file/Organization_Overview_Page.png","thumbnailURL":null,"filename":"Organization_Overview_Page.png","mimeType":"image/png","filesize":340618,"width":2940,"height":1666,"focalX":50,"focalY":50}}},"updatedAt":"2026-04-25T21:22:23.597Z","createdAt":"2026-03-25T11:32:36.516Z"},{"id":12,"title":{"en":"Designing custom permissions with CodeZero role management","de":"Designing custom permissions with CodeZero role management"},"slug":"role-feature","isPinned":false,"author":{"id":7,"name":"Marius Ahsmus","image":null,"shortDescription":{"en":null},"about":{"en":null},"role":{"en":"Software developer"},"joinedAt":null,"updatedAt":"2026-04-25T21:22:23.444Z","createdAt":"2026-03-01T18:39:55.157Z"},"content":{"en":{"root":{"type":"root","format":"","indent":0,"version":1,"children":[{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"In any professional automation environment, the ability to control access is as important as the automation itself. As organizations grow, the \"all or nothing\" approach to permissions becomes a security risk and an operational bottleneck. CodeZero addresses this by offering a sophisticated Role Management system that allows administrators to define exactly what each user can see, edit, and execute across the entire infrastructure.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"The Power of Role-Based Access Control","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Role Management in CodeZero serves as the security backbone of your workspace. It ensures that developers have the tools they need to build flows while restricting sensitive organizational settings to high-level administrators. By decoupling users from static permissions and instead assigning them to dynamic roles, the platform provides a flexible framework that adapts to any team structure.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"id":"69e00e43d0a8d142deb4409f","type":"upload","value":{"id":28,"alt":"Role overview page CodeZero","href":null,"updatedAt":"2026-03-25T11:21:38.738Z","createdAt":"2026-03-25T11:21:38.738Z","url":"/api/media/file/Role_Overview_Page.png","thumbnailURL":null,"filename":"Role_Overview_Page.png","mimeType":"image/png","filesize":396501,"width":2940,"height":1666,"focalX":50,"focalY":50},"fields":null,"format":"","version":3,"relationTo":"media"},{"type":"paragraph","format":"","indent":0,"version":1,"children":[],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Precision Engineering for Permissions","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"The true strength of CodeZero lies in its granular control. Administrators are not limited to generic presets. Instead, the platform allows for the toggling of specific permissions across member management, project administration, and role creation itself. This level of detail ensures that your security policy reflects your actual business processes.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"id":"69e00e38d0a8d142deb4409e","type":"upload","value":{"id":29,"alt":"Role add page CodeZero","href":null,"updatedAt":"2026-03-25T11:21:38.691Z","createdAt":"2026-03-25T11:21:38.691Z","url":"/api/media/file/Role_Add_Page.png","thumbnailURL":null,"filename":"Role_Add_Page.png","mimeType":"image/png","filesize":338014,"width":2940,"height":1666,"focalX":50,"focalY":50},"fields":null,"format":"","version":3,"relationTo":"media"},{"type":"paragraph","format":"","indent":0,"version":1,"children":[],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Streamlining Setup with Role Templates","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"To accelerate the onboarding process, CodeZero includes pre-defined role templates designed for common industry personas. Whether you need a \"Flow Developer\" who focuses on logic or a \"Runtime Manager\" who oversees infrastructure, these templates provide a secure starting point that can be further customized as needed.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"id":"69e00e2bd0a8d142deb4409d","type":"upload","value":{"id":30,"alt":"Role permission page CodeZero","href":null,"updatedAt":"2026-03-25T11:21:38.647Z","createdAt":"2026-03-25T11:21:38.647Z","url":"/api/media/file/Role_Permission_Page.png","thumbnailURL":null,"filename":"Role_Permission_Page.png","mimeType":"image/png","filesize":613737,"width":2940,"height":1666,"focalX":50,"focalY":50},"fields":null,"format":"","version":3,"relationTo":"media"},{"type":"paragraph","format":"","indent":0,"version":1,"children":[],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Ownership and Sovereignty in Large Teams","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"As your organization scales into multiple projects, the Role Management system keeps the environment manageable. By assigning roles to specific projects, you prevent cross-contamination of logic and ensure that sensitive API keys or runtime configurations remain protected. This structured approach to governance allows teams to move fast without breaking critical security protocols.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Conclusion: Secure Growth through Modular Governance","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"CodeZero empowers organizations to scale their automation without sacrificing control. By providing an intuitive interface for managing complex permissions, the platform ensures that every team member has a clear scope of action. A well-defined role system is the first step toward a secure and professional automation strategy.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0}],"direction":null}},"de":{"root":{"type":"root","format":"","indent":0,"version":1,"children":[{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"In any professional automation environment, the ability to control access is as important as the automation itself. As organizations grow, the \"all or nothing\" approach to permissions becomes a security risk and an operational bottleneck. CodeZero addresses this by offering a sophisticated Role Management system that allows administrators to define exactly what each user can see, edit, and execute across the entire infrastructure.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"The Power of Role-Based Access Control","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Role Management in CodeZero serves as the security backbone of your workspace. It ensures that developers have the tools they need to build flows while restricting sensitive organizational settings to high-level administrators. By decoupling users from static permissions and instead assigning them to dynamic roles, the platform provides a flexible framework that adapts to any team structure.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"id":"69e00e43d0a8d142deb4409f","type":"upload","value":{"id":28,"alt":"Role overview page CodeZero","href":null,"updatedAt":"2026-03-25T11:21:38.738Z","createdAt":"2026-03-25T11:21:38.738Z","url":"/api/media/file/Role_Overview_Page.png","thumbnailURL":null,"filename":"Role_Overview_Page.png","mimeType":"image/png","filesize":396501,"width":2940,"height":1666,"focalX":50,"focalY":50},"fields":null,"format":"","version":3,"relationTo":"media"},{"type":"paragraph","format":"","indent":0,"version":1,"children":[],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Precision Engineering for Permissions","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"The true strength of CodeZero lies in its granular control. Administrators are not limited to generic presets. Instead, the platform allows for the toggling of specific permissions across member management, project administration, and role creation itself. This level of detail ensures that your security policy reflects your actual business processes.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"id":"69e00e38d0a8d142deb4409e","type":"upload","value":{"id":29,"alt":"Role add page CodeZero","href":null,"updatedAt":"2026-03-25T11:21:38.691Z","createdAt":"2026-03-25T11:21:38.691Z","url":"/api/media/file/Role_Add_Page.png","thumbnailURL":null,"filename":"Role_Add_Page.png","mimeType":"image/png","filesize":338014,"width":2940,"height":1666,"focalX":50,"focalY":50},"fields":null,"format":"","version":3,"relationTo":"media"},{"type":"paragraph","format":"","indent":0,"version":1,"children":[],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Streamlining Setup with Role Templates","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"To accelerate the onboarding process, CodeZero includes pre-defined role templates designed for common industry personas. Whether you need a \"Flow Developer\" who focuses on logic or a \"Runtime Manager\" who oversees infrastructure, these templates provide a secure starting point that can be further customized as needed.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"id":"69e00e2bd0a8d142deb4409d","type":"upload","value":{"id":30,"alt":"Role permission page CodeZero","href":null,"updatedAt":"2026-03-25T11:21:38.647Z","createdAt":"2026-03-25T11:21:38.647Z","url":"/api/media/file/Role_Permission_Page.png","thumbnailURL":null,"filename":"Role_Permission_Page.png","mimeType":"image/png","filesize":613737,"width":2940,"height":1666,"focalX":50,"focalY":50},"fields":null,"format":"","version":3,"relationTo":"media"},{"type":"paragraph","format":"","indent":0,"version":1,"children":[],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Ownership and Sovereignty in Large Teams","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"As your organization scales into multiple projects, the Role Management system keeps the environment manageable. By assigning roles to specific projects, you prevent cross-contamination of logic and ensure that sensitive API keys or runtime configurations remain protected. This structured approach to governance allows teams to move fast without breaking critical security protocols.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Conclusion: Secure Growth through Modular Governance","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"CodeZero empowers organizations to scale their automation without sacrificing control. By providing an intuitive interface for managing complex permissions, the platform ensures that every team member has a clear scope of action. A well-defined role system is the first step toward a secure and professional automation strategy.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0}],"direction":null}}},"shortDescription":{"en":"Discover how CodeZero Role Management provides granular control over your automation workspace. Learn to use role templates and custom permissions to secure your projects and empower your team safely.","de":"Discover how CodeZero Role Management provides granular control over your automation workspace. Learn to use role templates and custom permissions to secure your projects and empower your team safely."},"heroImage":{"id":28,"alt":"Role overview page CodeZero","href":null,"updatedAt":"2026-03-25T11:21:38.738Z","createdAt":"2026-03-25T11:21:38.738Z","url":"/api/media/file/Role_Overview_Page.png","thumbnailURL":null,"filename":"Role_Overview_Page.png","mimeType":"image/png","filesize":396501,"width":2940,"height":1666,"focalX":50,"focalY":50},"meta":{"title":{"en":"Designing custom permissions with CodeZero role management","de":"Designing custom permissions with CodeZero role management"},"description":{"en":"Discover how CodeZero Role Management provides granular control over your automation workspace. Learn to use role templates and custom permissions to secure your projects and empower your team safely.","de":"Discover how CodeZero Role Management provides granular control over your automation workspace. Learn to use role templates and custom permissions to secure your projects and empower your team safely."},"image":{"en":{"id":28,"alt":"Role overview page CodeZero","href":null,"updatedAt":"2026-03-25T11:21:38.738Z","createdAt":"2026-03-25T11:21:38.738Z","url":"/api/media/file/Role_Overview_Page.png","thumbnailURL":null,"filename":"Role_Overview_Page.png","mimeType":"image/png","filesize":396501,"width":2940,"height":1666,"focalX":50,"focalY":50},"de":{"id":28,"alt":"Role overview page CodeZero","href":null,"updatedAt":"2026-03-25T11:21:38.738Z","createdAt":"2026-03-25T11:21:38.738Z","url":"/api/media/file/Role_Overview_Page.png","thumbnailURL":null,"filename":"Role_Overview_Page.png","mimeType":"image/png","filesize":396501,"width":2940,"height":1666,"focalX":50,"focalY":50}}},"updatedAt":"2026-04-25T21:22:23.609Z","createdAt":"2026-03-25T11:26:01.351Z"},{"id":13,"title":{"en":"Mastering member management in CodeZero organisations","de":"Mastering member management in CodeZero organisations"},"slug":"member-management-feature","isPinned":false,"author":{"id":7,"name":"Marius Ahsmus","image":null,"shortDescription":{"en":null},"about":{"en":null},"role":{"en":"Software developer"},"joinedAt":null,"updatedAt":"2026-04-25T21:22:23.444Z","createdAt":"2026-03-01T18:39:55.157Z"},"content":{"en":{"root":{"type":"root","format":"","indent":0,"version":1,"children":[{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Automation is rarely a solo endeavor. As processes become more integrated into a company’s core operations, the need for secure, structured, and fine-grained user management becomes paramount. At CodeZero, we provide a comprehensive Member Management system designed to facilitate seamless collaboration while maintaining strict security standards.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"The Foundation of Collaborative Workspaces","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"In CodeZero, collaboration happens within the context of Organizations and Projects. The \"Members\" section is your central command for seeing exactly who has access to your automation ecosystem. Whether you are working with internal developers or external stakeholders, the interface provides a clear overview of every participant in your workspace.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"id":"69e00dc8d0a8d142deb44099","type":"upload","value":{"id":31,"alt":"Member overview page CodeZero","href":null,"updatedAt":"2026-03-25T11:13:20.805Z","createdAt":"2026-03-25T11:13:20.805Z","url":"/api/media/file/Member_Overview_Page.png","thumbnailURL":null,"filename":"Member_Overview_Page.png","mimeType":"image/png","filesize":390811,"width":2940,"height":1668,"focalX":50,"focalY":50},"fields":null,"format":"","version":3,"relationTo":"media"},{"type":"paragraph","format":"","indent":0,"version":1,"children":[],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Seamless Onboarding: Adding New Talent","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Bringing new members into your project should be frictionless. CodeZero allows administrators to quickly add users to a project or organization. This streamlined onboarding process ensures that team members can get to work immediately without navigating complex setup hurdles.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"id":"69e00dd2d0a8d142deb4409a","type":"upload","value":{"id":34,"alt":"Member add feature CodeZero","href":null,"updatedAt":"2026-03-25T11:13:20.742Z","createdAt":"2026-03-25T11:13:20.742Z","url":"/api/media/file/Member_Add_Feature.png","thumbnailURL":null,"filename":"Member_Add_Feature.png","mimeType":"image/png","filesize":350024,"width":2940,"height":1666,"focalX":50,"focalY":50},"fields":null,"format":"","version":3,"relationTo":"media"},{"type":"paragraph","format":"","indent":0,"version":1,"children":[],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Fine-Grained Permissions: Defining Roles","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Security in automation means ensuring that users only have the permissions they truly need. CodeZero utilizes a robust Role-Based Access Control (RBAC) system. Administrators can assign specific roles—such as Owner, Maintainer, or Member—to define exactly what an individual can do, from managing high-level organizational settings to simply editing specific flows.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"id":"69e00ddad0a8d142deb4409b","type":"upload","value":{"id":33,"alt":"Member assign roles feature CodeZero","href":null,"updatedAt":"2026-03-25T11:13:20.769Z","createdAt":"2026-03-25T11:13:20.769Z","url":"/api/media/file/Member_Assign_Roles_Feature.png","thumbnailURL":null,"filename":"Member_Assign_Roles_Feature.png","mimeType":"image/png","filesize":379400,"width":2940,"height":1664,"focalX":50,"focalY":50},"fields":null,"format":"","version":3,"relationTo":"media"},{"type":"paragraph","format":"","indent":0,"version":1,"children":[],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Maintaining a Clean Workspace","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"As teams evolve, so do their access requirements. CodeZero makes it easy to audit and adjust your member list. If a team member changes roles or leaves a project, administrators can revoke access or remove members instantly, ensuring that your automation infrastructure remains secure and up-to-date.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"id":"69e00de7d0a8d142deb4409c","type":"upload","value":{"id":32,"alt":"Member remove feature CodeZero","href":null,"updatedAt":"2026-03-25T11:13:20.787Z","createdAt":"2026-03-25T11:13:20.787Z","url":"/api/media/file/Member_Remove_Feature.png","thumbnailURL":null,"filename":"Member_Remove_Feature.png","mimeType":"image/png","filesize":354065,"width":2940,"height":1664,"focalX":50,"focalY":50},"fields":null,"format":"","version":3,"relationTo":"media"},{"type":"paragraph","format":"","indent":0,"version":1,"children":[],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Conclusion: Secure Teamwork for Complex Workflows","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"CodeZero’s Member Management is built for teams that value both speed and security. By providing clear visibility into user roles and making access control intuitive, we empower organizations to build complex automated systems together. True scalability is not just about the number of flows you run—it is about how effectively your team can manage them together.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0}],"direction":null}},"de":{"root":{"type":"root","format":"","indent":0,"version":1,"children":[{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Automation is rarely a solo endeavor. As processes become more integrated into a company’s core operations, the need for secure, structured, and fine-grained user management becomes paramount. At CodeZero, we provide a comprehensive Member Management system designed to facilitate seamless collaboration while maintaining strict security standards.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"The Foundation of Collaborative Workspaces","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"In CodeZero, collaboration happens within the context of Organizations and Projects. The \"Members\" section is your central command for seeing exactly who has access to your automation ecosystem. Whether you are working with internal developers or external stakeholders, the interface provides a clear overview of every participant in your workspace.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"id":"69e00dc8d0a8d142deb44099","type":"upload","value":{"id":31,"alt":"Member overview page CodeZero","href":null,"updatedAt":"2026-03-25T11:13:20.805Z","createdAt":"2026-03-25T11:13:20.805Z","url":"/api/media/file/Member_Overview_Page.png","thumbnailURL":null,"filename":"Member_Overview_Page.png","mimeType":"image/png","filesize":390811,"width":2940,"height":1668,"focalX":50,"focalY":50},"fields":null,"format":"","version":3,"relationTo":"media"},{"type":"paragraph","format":"","indent":0,"version":1,"children":[],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Seamless Onboarding: Adding New Talent","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Bringing new members into your project should be frictionless. CodeZero allows administrators to quickly add users to a project or organization. This streamlined onboarding process ensures that team members can get to work immediately without navigating complex setup hurdles.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"id":"69e00dd2d0a8d142deb4409a","type":"upload","value":{"id":34,"alt":"Member add feature CodeZero","href":null,"updatedAt":"2026-03-25T11:13:20.742Z","createdAt":"2026-03-25T11:13:20.742Z","url":"/api/media/file/Member_Add_Feature.png","thumbnailURL":null,"filename":"Member_Add_Feature.png","mimeType":"image/png","filesize":350024,"width":2940,"height":1666,"focalX":50,"focalY":50},"fields":null,"format":"","version":3,"relationTo":"media"},{"type":"paragraph","format":"","indent":0,"version":1,"children":[],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Fine-Grained Permissions: Defining Roles","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Security in automation means ensuring that users only have the permissions they truly need. CodeZero utilizes a robust Role-Based Access Control (RBAC) system. Administrators can assign specific roles—such as Owner, Maintainer, or Member—to define exactly what an individual can do, from managing high-level organizational settings to simply editing specific flows.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"id":"69e00ddad0a8d142deb4409b","type":"upload","value":{"id":33,"alt":"Member assign roles feature CodeZero","href":null,"updatedAt":"2026-03-25T11:13:20.769Z","createdAt":"2026-03-25T11:13:20.769Z","url":"/api/media/file/Member_Assign_Roles_Feature.png","thumbnailURL":null,"filename":"Member_Assign_Roles_Feature.png","mimeType":"image/png","filesize":379400,"width":2940,"height":1664,"focalX":50,"focalY":50},"fields":null,"format":"","version":3,"relationTo":"media"},{"type":"paragraph","format":"","indent":0,"version":1,"children":[],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Maintaining a Clean Workspace","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"As teams evolve, so do their access requirements. CodeZero makes it easy to audit and adjust your member list. If a team member changes roles or leaves a project, administrators can revoke access or remove members instantly, ensuring that your automation infrastructure remains secure and up-to-date.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"id":"69e00de7d0a8d142deb4409c","type":"upload","value":{"id":32,"alt":"Member remove feature CodeZero","href":null,"updatedAt":"2026-03-25T11:13:20.787Z","createdAt":"2026-03-25T11:13:20.787Z","url":"/api/media/file/Member_Remove_Feature.png","thumbnailURL":null,"filename":"Member_Remove_Feature.png","mimeType":"image/png","filesize":354065,"width":2940,"height":1664,"focalX":50,"focalY":50},"fields":null,"format":"","version":3,"relationTo":"media"},{"type":"paragraph","format":"","indent":0,"version":1,"children":[],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Conclusion: Secure Teamwork for Complex Workflows","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"CodeZero’s Member Management is built for teams that value both speed and security. By providing clear visibility into user roles and making access control intuitive, we empower organizations to build complex automated systems together. True scalability is not just about the number of flows you run—it is about how effectively your team can manage them together.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0}],"direction":null}}},"shortDescription":{"en":"Empower your team with CodeZero’s robust Member Management. Learn how to onboard users, assign fine-grained roles, and secure your automation workflows through intuitive, enterprise-grade access control.","de":"Empower your team with CodeZero’s robust Member Management. Learn how to onboard users, assign fine-grained roles, and secure your automation workflows through intuitive, enterprise-grade access control."},"heroImage":{"id":31,"alt":"Member overview page CodeZero","href":null,"updatedAt":"2026-03-25T11:13:20.805Z","createdAt":"2026-03-25T11:13:20.805Z","url":"/api/media/file/Member_Overview_Page.png","thumbnailURL":null,"filename":"Member_Overview_Page.png","mimeType":"image/png","filesize":390811,"width":2940,"height":1668,"focalX":50,"focalY":50},"meta":{"title":{"en":"Mastering member management in CodeZero organisations","de":"Mastering member management in CodeZero organisations"},"description":{"en":"Empower your team with CodeZero’s robust Member Management. Learn how to onboard users, assign fine-grained roles, and secure your automation workflows through intuitive, enterprise-grade access control.","de":"Empower your team with CodeZero’s robust Member Management. Learn how to onboard users, assign fine-grained roles, and secure your automation workflows through intuitive, enterprise-grade access control."},"image":{"en":{"id":31,"alt":"Member overview page CodeZero","href":null,"updatedAt":"2026-03-25T11:13:20.805Z","createdAt":"2026-03-25T11:13:20.805Z","url":"/api/media/file/Member_Overview_Page.png","thumbnailURL":null,"filename":"Member_Overview_Page.png","mimeType":"image/png","filesize":390811,"width":2940,"height":1668,"focalX":50,"focalY":50},"de":{"id":31,"alt":"Member overview page CodeZero","href":null,"updatedAt":"2026-03-25T11:13:20.805Z","createdAt":"2026-03-25T11:13:20.805Z","url":"/api/media/file/Member_Overview_Page.png","thumbnailURL":null,"filename":"Member_Overview_Page.png","mimeType":"image/png","filesize":390811,"width":2940,"height":1668,"focalX":50,"focalY":50}}},"updatedAt":"2026-04-25T21:22:23.621Z","createdAt":"2026-03-25T11:15:53.179Z"},{"id":14,"title":{"en":"Managing automated workflows within CodeZero projects","de":"Managing automated workflows within CodeZero projects"},"slug":"project-feature","isPinned":false,"author":{"id":7,"name":"Marius Ahsmus","image":null,"shortDescription":{"en":null},"about":{"en":null},"role":{"en":"Software developer"},"joinedAt":null,"updatedAt":"2026-04-25T21:22:23.444Z","createdAt":"2026-03-01T18:39:55.157Z"},"content":{"en":{"root":{"type":"root","format":"","indent":0,"version":1,"children":[{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"In the world of complex automation, organization is the difference between a scalable operation and a chaotic one. As your automation needs grow—spanning from logistics integration to AI-driven bots—the ability to group, isolate, and manage these processes becomes critical. At CodeZero, we solve this through our fundamental organizational unit: The Project.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"What is a CodeZero Project?","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"A Project is more than just a folder for your flows. It is a dedicated workspace that serves as the central hub for your automation resources, configurations, and team collaboration. It allows you to partition your business logic—for example, keeping your \"Logistics Automation\" strictly separate from your \"Customer Support AI\"—while maintaining a bird's-eye view of your entire infrastructure.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"id":"69e00d58d0a8d142deb44097","type":"upload","value":{"id":35,"alt":"Project overview page CodeZero","href":null,"updatedAt":"2026-03-25T11:05:42.234Z","createdAt":"2026-03-25T11:05:42.234Z","url":"/api/media/file/Project_Overview_Feature.png","thumbnailURL":null,"filename":"Project_Overview_Feature.png","mimeType":"image/png","filesize":330250,"width":2940,"height":1666,"focalX":50,"focalY":50},"fields":null,"format":"","version":3,"relationTo":"media"},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Structured for Scalability","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Every project in CodeZero is designed to be self-contained but globally accessible within your organization. This structure provides three core benefits:","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"ul","type":"list","start":1,"format":"","indent":0,"version":1,"children":[{"type":"listitem","value":1,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Logical Grouping: Group related flows, such as those connecting Shopify to GLS, into a single environment.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":2,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Resource Allocation: Assign specific runtimes (like your local Taurus engine) to a project to ensure dedicated processing power.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":3,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Security and Access Control: Projects act as the primary boundary for permissions. By assigning roles to members at the project level, you ensure that only the right people have the power to create or modify critical flows.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null}],"listType":"bullet","direction":null},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Creating Your First Workspace","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Starting a new initiative in CodeZero is simple but powerful. When you create a new project, you aren't just naming a container; you are defining the scope of a new automation ecosystem.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"id":"69e00d66d0a8d142deb44098","type":"upload","value":{"id":36,"alt":"Create project in CodeZero","href":null,"updatedAt":"2026-03-25T11:05:01.102Z","createdAt":"2026-03-25T11:05:01.102Z","url":"/api/media/file/Create_Project_Feature.png","thumbnailURL":null,"filename":"Create_Project_Feature.png","mimeType":"image/png","filesize":378671,"width":2940,"height":1666,"focalX":50,"focalY":50},"fields":null,"format":"","version":3,"relationTo":"media"},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"The Project Lifecycle","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"As your project evolves, CodeZero’s modular architecture allows it to scale with you. You can start with a single flow in a sample project and gradually expand into a multi-node, high-volume operation. Because runtimes are assigned per project, you can migrate a project from a shared cloud runtime to a dedicated local runtime as your data sovereignty or performance requirements increase.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Conclusion: Foundation for Excellence","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Effective automation starts with effective organization. By utilizing Projects, CodeZero users can build complex, enterprise-ready systems that remain manageable, secure, and easy to navigate. Whether you are a small team or a global organization, the Project structure is your foundation for operational excellence.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0}],"direction":null}},"de":{"root":{"type":"root","format":"","indent":0,"version":1,"children":[{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"In the world of complex automation, organization is the difference between a scalable operation and a chaotic one. As your automation needs grow—spanning from logistics integration to AI-driven bots—the ability to group, isolate, and manage these processes becomes critical. At CodeZero, we solve this through our fundamental organizational unit: The Project.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"What is a CodeZero Project?","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"A Project is more than just a folder for your flows. It is a dedicated workspace that serves as the central hub for your automation resources, configurations, and team collaboration. It allows you to partition your business logic—for example, keeping your \"Logistics Automation\" strictly separate from your \"Customer Support AI\"—while maintaining a bird's-eye view of your entire infrastructure.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"id":"69e00d58d0a8d142deb44097","type":"upload","value":{"id":35,"alt":"Project overview page CodeZero","href":null,"updatedAt":"2026-03-25T11:05:42.234Z","createdAt":"2026-03-25T11:05:42.234Z","url":"/api/media/file/Project_Overview_Feature.png","thumbnailURL":null,"filename":"Project_Overview_Feature.png","mimeType":"image/png","filesize":330250,"width":2940,"height":1666,"focalX":50,"focalY":50},"fields":null,"format":"","version":3,"relationTo":"media"},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Structured for Scalability","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Every project in CodeZero is designed to be self-contained but globally accessible within your organization. This structure provides three core benefits:","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"ul","type":"list","start":1,"format":"","indent":0,"version":1,"children":[{"type":"listitem","value":1,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Logical Grouping: Group related flows, such as those connecting Shopify to GLS, into a single environment.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":2,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Resource Allocation: Assign specific runtimes (like your local Taurus engine) to a project to ensure dedicated processing power.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":3,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Security and Access Control: Projects act as the primary boundary for permissions. By assigning roles to members at the project level, you ensure that only the right people have the power to create or modify critical flows.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null}],"listType":"bullet","direction":null},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Creating Your First Workspace","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Starting a new initiative in CodeZero is simple but powerful. When you create a new project, you aren't just naming a container; you are defining the scope of a new automation ecosystem.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"id":"69e00d66d0a8d142deb44098","type":"upload","value":{"id":36,"alt":"Create project in CodeZero","href":null,"updatedAt":"2026-03-25T11:05:01.102Z","createdAt":"2026-03-25T11:05:01.102Z","url":"/api/media/file/Create_Project_Feature.png","thumbnailURL":null,"filename":"Create_Project_Feature.png","mimeType":"image/png","filesize":378671,"width":2940,"height":1666,"focalX":50,"focalY":50},"fields":null,"format":"","version":3,"relationTo":"media"},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"The Project Lifecycle","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"As your project evolves, CodeZero’s modular architecture allows it to scale with you. You can start with a single flow in a sample project and gradually expand into a multi-node, high-volume operation. Because runtimes are assigned per project, you can migrate a project from a shared cloud runtime to a dedicated local runtime as your data sovereignty or performance requirements increase.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Conclusion: Foundation for Excellence","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"start","indent":0,"version":1,"children":[{"mode":"normal","text":"Effective automation starts with effective organization. By utilizing Projects, CodeZero users can build complex, enterprise-ready systems that remain manageable, secure, and easy to navigate. Whether you are a small team or a global organization, the Project structure is your foundation for operational excellence.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0}],"direction":null}}},"shortDescription":{"en":"Streamline your automation management with CodeZero Projects. Learn how to organize workflows, manage team roles, and scale your business logic within a secure, modular workspace designed for enterprise-grade orchestration.","de":"Streamline your automation management with CodeZero Projects. Learn how to organize workflows, manage team roles, and scale your business logic within a secure, modular workspace designed for enterprise-grade orchestration."},"heroImage":{"id":35,"alt":"Project overview page CodeZero","href":null,"updatedAt":"2026-03-25T11:05:42.234Z","createdAt":"2026-03-25T11:05:42.234Z","url":"/api/media/file/Project_Overview_Feature.png","thumbnailURL":null,"filename":"Project_Overview_Feature.png","mimeType":"image/png","filesize":330250,"width":2940,"height":1666,"focalX":50,"focalY":50},"meta":{"title":{"en":"Managing automated workflows within CodeZero projects","de":"Managing automated workflows within CodeZero projects"},"description":{"en":"Streamline your automation management with CodeZero Projects. Learn how to organize workflows, manage team roles, and scale your business logic.","de":"Streamline your automation management with CodeZero Projects. Learn how to organize workflows, manage team roles, and scale your business logic."},"image":{"en":{"id":35,"alt":"Project overview page CodeZero","href":null,"updatedAt":"2026-03-25T11:05:42.234Z","createdAt":"2026-03-25T11:05:42.234Z","url":"/api/media/file/Project_Overview_Feature.png","thumbnailURL":null,"filename":"Project_Overview_Feature.png","mimeType":"image/png","filesize":330250,"width":2940,"height":1666,"focalX":50,"focalY":50},"de":{"id":35,"alt":"Project overview page CodeZero","href":null,"updatedAt":"2026-03-25T11:05:42.234Z","createdAt":"2026-03-25T11:05:42.234Z","url":"/api/media/file/Project_Overview_Feature.png","thumbnailURL":null,"filename":"Project_Overview_Feature.png","mimeType":"image/png","filesize":330250,"width":2940,"height":1666,"focalX":50,"focalY":50}}},"updatedAt":"2026-04-25T21:22:23.633Z","createdAt":"2026-03-25T11:06:22.085Z"},{"id":15,"title":{"en":"Smart AI agents with CodeZero automation","de":"Smart AI agents with CodeZero automation"},"slug":"smart-ai-agents-use-case","isPinned":false,"author":{"id":7,"name":"Marius Ahsmus","image":null,"shortDescription":{"en":null},"about":{"en":null},"role":{"en":"Software developer"},"joinedAt":null,"updatedAt":"2026-04-25T21:22:23.444Z","createdAt":"2026-03-01T18:39:55.157Z"},"content":{"en":{"root":{"type":"root","format":"","indent":0,"version":1,"children":[{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"The rapid evolution of Artificial Intelligence has moved beyond simple chat interfaces. Today, the real value lies in \"Agentic Workflows\"—AI agents that don't just talk, but act. However, many businesses find themselves locked into closed ecosystems or rigid platforms. At CodeZero, we provide a sovereign alternative, allowing you to build sophisticated AI agents that remain independent of a single provider while integrating deeply into your existing tech stack.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Model Agnostic: Total Flexibility in LLM Selection","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"One of the biggest risks in modern AI implementation is vendor lock-in. A model that performs perfectly today might be surpassed by a competitor tomorrow. CodeZero addresses this by being entirely model-agnostic. You can select your preferred Large Language Model (LLM)—whether it is OpenAI, Anthropic, or Mistral—and switch between them with a single configuration change. This ensures that your automated workflows always benefit from the best-performing intelligence available on the market.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Extending Intelligence with MCP Tool Integration","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"An AI model is only as powerful as the data it can access and the actions it can perform. By utilizing the Model Context Protocol (MCP), CodeZero allows you to attach a vast array of compatible tools to your AI agents. Whether it is querying a local database, interacting with specialized APIs, or reading internal documentation, MCP integration provides your agents with the necessary context and \"hands\" to perform real-world tasks autonomously.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Complex Flow Logic for Sophisticated Operations","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"True automation requires more than just a single prompt; it requires a structured sequence of decisions and actions. Our platform enables the creation of complex flow logic where AI models are embedded into multi-step processes. You can define specific system prompts for different stages of a workflow, allowing the AI to handle everything from initial data analysis to final execution. This ensures that the agent follows your business logic while maintaining the flexibility to handle edge cases.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Seamless Deployment and Enterprise Readiness","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Moving from a prototype to a production-ready AI agent often involves significant infrastructure hurdles. CodeZero simplifies this transition by providing a stable, high-performance environment for your automated flows. By combining your custom-defined prompts with professional-grade tool-calling capabilities, you can deploy agents that handle high-volume tasks with precision and reliability.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Conclusion: Empowering the Next Generation of AI Agents","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"The ability to combine the reasoning power of top-tier LLMs with the practical utility of MCP-compatible tools marks a new era in automation. CodeZero empowers you to build these systems without the constraints of a single ecosystem. By focusing on model independence and logical flow construction, you can create a future-proof AI infrastructure that evolves alongside the industry.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0}],"direction":null}},"de":{"root":{"type":"root","format":"","indent":0,"version":1,"children":[{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"The rapid evolution of Artificial Intelligence has moved beyond simple chat interfaces. Today, the real value lies in \"Agentic Workflows\"—AI agents that don't just talk, but act. However, many businesses find themselves locked into closed ecosystems or rigid platforms. At CodeZero, we provide a sovereign alternative, allowing you to build sophisticated AI agents that remain independent of a single provider while integrating deeply into your existing tech stack.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Model Agnostic: Total Flexibility in LLM Selection","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"One of the biggest risks in modern AI implementation is vendor lock-in. A model that performs perfectly today might be surpassed by a competitor tomorrow. CodeZero addresses this by being entirely model-agnostic. You can select your preferred Large Language Model (LLM)—whether it is OpenAI, Anthropic, or Mistral—and switch between them with a single configuration change. This ensures that your automated workflows always benefit from the best-performing intelligence available on the market.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Extending Intelligence with MCP Tool Integration","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"An AI model is only as powerful as the data it can access and the actions it can perform. By utilizing the Model Context Protocol (MCP), CodeZero allows you to attach a vast array of compatible tools to your AI agents. Whether it is querying a local database, interacting with specialized APIs, or reading internal documentation, MCP integration provides your agents with the necessary context and \"hands\" to perform real-world tasks autonomously.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Complex Flow Logic for Sophisticated Operations","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"True automation requires more than just a single prompt; it requires a structured sequence of decisions and actions. Our platform enables the creation of complex flow logic where AI models are embedded into multi-step processes. You can define specific system prompts for different stages of a workflow, allowing the AI to handle everything from initial data analysis to final execution. This ensures that the agent follows your business logic while maintaining the flexibility to handle edge cases.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Seamless Deployment and Enterprise Readiness","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Moving from a prototype to a production-ready AI agent often involves significant infrastructure hurdles. CodeZero simplifies this transition by providing a stable, high-performance environment for your automated flows. By combining your custom-defined prompts with professional-grade tool-calling capabilities, you can deploy agents that handle high-volume tasks with precision and reliability.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Conclusion: Empowering the Next Generation of AI Agents","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"The ability to combine the reasoning power of top-tier LLMs with the practical utility of MCP-compatible tools marks a new era in automation. CodeZero empowers you to build these systems without the constraints of a single ecosystem. By focusing on model independence and logical flow construction, you can create a future-proof AI infrastructure that evolves alongside the industry.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0}],"direction":null}}},"shortDescription":{"en":"Build sovereign, model-agnostic AI agents with CodeZero. Leverage the Model Context Protocol (MCP) to integrate custom tools, define complex flow logic, and create automated agentic workflows that scale without vendor lock-in.","de":"Build sovereign, model-agnostic AI agents with CodeZero. Leverage the Model Context Protocol (MCP) to integrate custom tools, define complex flow logic, and create automated agentic workflows that scale without vendor lock-in."},"heroImage":{"id":39,"alt":"AI Use Case ChatGPT MCP Claude CodeZero","href":null,"updatedAt":"2026-03-25T10:05:48.123Z","createdAt":"2026-03-25T10:05:48.123Z","url":"/api/media/file/AI_Use-Case-1.png","thumbnailURL":null,"filename":"AI_Use-Case-1.png","mimeType":"image/png","filesize":126673,"width":1920,"height":1080,"focalX":50,"focalY":50},"meta":{"title":{"en":"Smart AI agents with CodeZero automation","de":"Smart AI agents with CodeZero automation"},"description":{"en":"Build sovereign, model-agnostic AI agents with CodeZero. Leverage the Model Context Protocol (MCP) to integrate custom tools, define complex flow logic, and create automated agentic workflows that scale without vendor lock-in.","de":"Build sovereign, model-agnostic AI agents with CodeZero. Leverage the Model Context Protocol (MCP) to integrate custom tools, define complex flow logic, and create automated agentic workflows that scale without vendor lock-in."},"image":{"en":{"id":39,"alt":"AI Use Case ChatGPT MCP Claude CodeZero","href":null,"updatedAt":"2026-03-25T10:05:48.123Z","createdAt":"2026-03-25T10:05:48.123Z","url":"/api/media/file/AI_Use-Case-1.png","thumbnailURL":null,"filename":"AI_Use-Case-1.png","mimeType":"image/png","filesize":126673,"width":1920,"height":1080,"focalX":50,"focalY":50},"de":{"id":39,"alt":"AI Use Case ChatGPT MCP Claude CodeZero","href":null,"updatedAt":"2026-03-25T10:05:48.123Z","createdAt":"2026-03-25T10:05:48.123Z","url":"/api/media/file/AI_Use-Case-1.png","thumbnailURL":null,"filename":"AI_Use-Case-1.png","mimeType":"image/png","filesize":126673,"width":1920,"height":1080,"focalX":50,"focalY":50}}},"updatedAt":"2026-04-25T21:22:23.643Z","createdAt":"2026-03-25T10:45:01.566Z"},{"id":16,"title":{"en":"Smart chatbots with CodeZero automation","de":"Smart chatbots with CodeZero automation"},"slug":"smart-chatbots-use-case","isPinned":false,"author":{"id":7,"name":"Marius Ahsmus","image":null,"shortDescription":{"en":null},"about":{"en":null},"role":{"en":"Software developer"},"joinedAt":null,"updatedAt":"2026-04-25T21:22:23.444Z","createdAt":"2026-03-01T18:39:55.157Z"},"content":{"en":{"root":{"type":"root","format":"","indent":0,"version":1,"children":[{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Discord has evolved from a simple communication tool into a mission-critical hub for communities, brands, and automated operations. However, the true potential of a server is often locked behind complex coding requirements and expensive developer hours. At CodeZero, we are breaking these barriers by enabling anyone to build sophisticated, fully functional Discord bots through an intuitive flow-based configuration.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Empowering Community Management through Visual Logic","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"The foundation of a great Discord experience is a bot that reflects the unique needs of its community. Our Visual Bot Builder allows users to define complex interactions by connecting logical blocks and triggers. This approach removes the steep learning curve of programming languages, allowing community managers to go from a conceptual idea to a live bot in minutes by simply configuring the desired behavior.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Intelligent Automation for Seamless Moderation","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Managing a growing server requires constant vigilance, which can quickly become an overwhelming manual task. CodeZero introduces intelligent automation that handles everything from welcoming new members to sophisticated moderation flows. By setting up custom triggers and automated responses within your flow, you can ensure your server remains a safe and organized environment without requiring 24/7 human supervision.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Bridging the Gap with Deep Third-Party Integrations","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"A Discord bot truly becomes powerful when it can interact with the world outside of the chat app. CodeZero enables deep integrations that allow your bot to pull real-time data from external APIs, update your internal databases, or connect to your existing tech stack. Whether you need to sync member roles with your CRM or provide live project updates directly in a channel, our platform handles the technical heavy lifting of data exchange.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Total Customization and Scalability","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"We believe that no-code should not mean limited functionality. Every bot built on CodeZero is highly customizable, allowing you to define unique commands, personalities, and multi-step workflows. As your server scales from a few dozen members to several thousand, the underlying infrastructure scales automatically to ensure your bot remains responsive and reliable under high traffic.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Conclusion: The New Era of Community Operations","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"The future of Discord lies in automation that is accessible to everyone. By combining a logical flow builder with powerful automation and deep integration capabilities, CodeZero empowers you to transform your server into a high-performance automated hub. Start building today and focus on what truly matters: engaging your community and growing your brand.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0}],"direction":null}},"de":{"root":{"type":"root","format":"","indent":0,"version":1,"children":[{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Discord has evolved from a simple communication tool into a mission-critical hub for communities, brands, and automated operations. However, the true potential of a server is often locked behind complex coding requirements and expensive developer hours. At CodeZero, we are breaking these barriers by enabling anyone to build sophisticated, fully functional Discord bots through an intuitive flow-based configuration.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Empowering Community Management through Visual Logic","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"The foundation of a great Discord experience is a bot that reflects the unique needs of its community. Our Visual Bot Builder allows users to define complex interactions by connecting logical blocks and triggers. This approach removes the steep learning curve of programming languages, allowing community managers to go from a conceptual idea to a live bot in minutes by simply configuring the desired behavior.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Intelligent Automation for Seamless Moderation","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Managing a growing server requires constant vigilance, which can quickly become an overwhelming manual task. CodeZero introduces intelligent automation that handles everything from welcoming new members to sophisticated moderation flows. By setting up custom triggers and automated responses within your flow, you can ensure your server remains a safe and organized environment without requiring 24/7 human supervision.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Bridging the Gap with Deep Third-Party Integrations","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"A Discord bot truly becomes powerful when it can interact with the world outside of the chat app. CodeZero enables deep integrations that allow your bot to pull real-time data from external APIs, update your internal databases, or connect to your existing tech stack. Whether you need to sync member roles with your CRM or provide live project updates directly in a channel, our platform handles the technical heavy lifting of data exchange.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Total Customization and Scalability","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"We believe that no-code should not mean limited functionality. Every bot built on CodeZero is highly customizable, allowing you to define unique commands, personalities, and multi-step workflows. As your server scales from a few dozen members to several thousand, the underlying infrastructure scales automatically to ensure your bot remains responsive and reliable under high traffic.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Conclusion: The New Era of Community Operations","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"The future of Discord lies in automation that is accessible to everyone. By combining a logical flow builder with powerful automation and deep integration capabilities, CodeZero empowers you to transform your server into a high-performance automated hub. Start building today and focus on what truly matters: engaging your community and growing your brand.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0}],"direction":null}}},"shortDescription":{"en":"Build powerful Discord bots without writing a single line of code. Use CodeZero’s intuitive flow-based builder to automate community management, integrate real-time data from third-party APIs, and transform your server into a fully automated hub.","de":"Build powerful Discord bots without writing a single line of code. Use CodeZero’s intuitive flow-based builder to automate community management, integrate real-time data from third-party APIs, and transform your server into a fully automated hub."},"heroImage":{"id":38,"alt":"Discord bot automation CodeZero","href":null,"updatedAt":"2026-03-25T10:05:48.152Z","createdAt":"2026-03-25T10:05:48.152Z","url":"/api/media/file/Chatbot_Use-Case-1.png","thumbnailURL":null,"filename":"Chatbot_Use-Case-1.png","mimeType":"image/png","filesize":74140,"width":1920,"height":1080,"focalX":50,"focalY":50},"meta":{"title":{"en":"Smart chatbots with CodeZero automation","de":"Smart chatbots with CodeZero automation"},"description":{"en":"Build powerful Discord bots without writing a single line of code. Use CodeZero’s intuitive flow-based builder to automate community management, integrate real-time data from third-party APIs, and transform your server into a fully automated hub.","de":"Build powerful Discord bots without writing a single line of code. Use CodeZero’s intuitive flow-based builder to automate community management, integrate real-time data from third-party APIs, and transform your server into a fully automated hub."},"image":{"en":{"id":38,"alt":"Discord bot automation CodeZero","href":null,"updatedAt":"2026-03-25T10:05:48.152Z","createdAt":"2026-03-25T10:05:48.152Z","url":"/api/media/file/Chatbot_Use-Case-1.png","thumbnailURL":null,"filename":"Chatbot_Use-Case-1.png","mimeType":"image/png","filesize":74140,"width":1920,"height":1080,"focalX":50,"focalY":50},"de":{"id":38,"alt":"Discord bot automation CodeZero","href":null,"updatedAt":"2026-03-25T10:05:48.152Z","createdAt":"2026-03-25T10:05:48.152Z","url":"/api/media/file/Chatbot_Use-Case-1.png","thumbnailURL":null,"filename":"Chatbot_Use-Case-1.png","mimeType":"image/png","filesize":74140,"width":1920,"height":1080,"focalX":50,"focalY":50}}},"updatedAt":"2026-04-25T21:22:23.655Z","createdAt":"2026-03-25T10:42:24.535Z"},{"id":17,"title":{"en":"Smart logistic with CodeZero automation","de":"Smart logistic with CodeZero automation"},"slug":"smart-logistic-use-case","isPinned":false,"author":{"id":7,"name":"Marius Ahsmus","image":null,"shortDescription":{"en":null},"about":{"en":null},"role":{"en":"Software developer"},"joinedAt":null,"updatedAt":"2026-04-25T21:22:23.444Z","createdAt":"2026-03-01T18:39:55.157Z"},"content":{"en":{"root":{"type":"root","format":"","indent":0,"version":1,"children":[{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"The modern logistics landscape is reaching a digital turning point. While e-commerce platforms like Shopify and marketplaces such as Amazon continue to drive rapid global growth, the operational fulfillment in the background often remains trapped in manual workflows. Many companies struggle with the challenge of maintaining data consistency between their ERP systems like SAP, their storefront platforms, and shipping carriers like GLS.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"The Challenge of Fragmented Data Streams","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"The primary bottleneck in many shipping departments lies in the lack of communication between individual software solutions. When order data must be manually transferred from Shopify to GLS, delays and errors become inevitable. These manual interfaces often result in incorrect address data, delayed label creation, and a lack of transparency for the end customer, as tracking numbers often appear in the system with a significant time lag.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Automation as a Strategic Competitive Advantage","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"CodeZero acts as an intelligent bridge between these disparate worlds, creating an automated data flow from the moment an order is placed to the final delivery. As soon as a customer completes a purchase on Amazon or Shopify, the relevant shipping information is transmitted to GLS without any human intervention. This process guarantees the immediate generation of shipping labels and ensures that the logistics chain never stalls due to administrative bottlenecks.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Seamless Integration with SAP and Enterprise Systems","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"For larger organizations, returning logistics data to the primary system of record is a critical requirement. CodeZero automates this feedback loop by recording shipping statuses and tracking IDs directly back into SAP as soon as they are generated by GLS. This eliminates the need for daily spreadsheet reconciliations, while accounting and inventory management teams can access real-time data at any time.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Proactive Customer Communication via Real-Time Updates","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"A vital component of logistics automation involves the post-purchase customer experience. By directly linking the GLS interface with the company’s communication tools, customers receive automated updates at every delivery milestone. This significantly reduces the volume of support inquiries and strengthens brand trust through a policy of transparent and proactive information sharing.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Scalability Without Increasing Administrative Overhead","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"The architecture of CodeZero is designed to grow alongside the demands of the business. Because the processes are modular, there is no difference in administrative effort whether ten or ten thousand parcels are shipped per day. Companies can thus scale their order volume effectively without being forced to increase their staff within logistics administration.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Conclusion: The Future of Efficient Logistics","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Automating the logistics chain is no longer a luxury but a necessity for competitive enterprises. By intelligently connecting sales channels, ERP systems, and shipping carriers, CodeZero creates an infrastructure that eliminates errors and frees up resources for core business activities. Investing in this digital architecture today ensures the operational excellence required for the markets of tomorrow.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0}],"direction":null}},"de":{"root":{"type":"root","format":"","indent":0,"version":1,"children":[{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"The modern logistics landscape is reaching a digital turning point. While e-commerce platforms like Shopify and marketplaces such as Amazon continue to drive rapid global growth, the operational fulfillment in the background often remains trapped in manual workflows. Many companies struggle with the challenge of maintaining data consistency between their ERP systems like SAP, their storefront platforms, and shipping carriers like GLS.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"The Challenge of Fragmented Data Streams","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"The primary bottleneck in many shipping departments lies in the lack of communication between individual software solutions. When order data must be manually transferred from Shopify to GLS, delays and errors become inevitable. These manual interfaces often result in incorrect address data, delayed label creation, and a lack of transparency for the end customer, as tracking numbers often appear in the system with a significant time lag.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Automation as a Strategic Competitive Advantage","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"CodeZero acts as an intelligent bridge between these disparate worlds, creating an automated data flow from the moment an order is placed to the final delivery. As soon as a customer completes a purchase on Amazon or Shopify, the relevant shipping information is transmitted to GLS without any human intervention. This process guarantees the immediate generation of shipping labels and ensures that the logistics chain never stalls due to administrative bottlenecks.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Seamless Integration with SAP and Enterprise Systems","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"For larger organizations, returning logistics data to the primary system of record is a critical requirement. CodeZero automates this feedback loop by recording shipping statuses and tracking IDs directly back into SAP as soon as they are generated by GLS. This eliminates the need for daily spreadsheet reconciliations, while accounting and inventory management teams can access real-time data at any time.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Proactive Customer Communication via Real-Time Updates","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"A vital component of logistics automation involves the post-purchase customer experience. By directly linking the GLS interface with the company’s communication tools, customers receive automated updates at every delivery milestone. This significantly reduces the volume of support inquiries and strengthens brand trust through a policy of transparent and proactive information sharing.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Scalability Without Increasing Administrative Overhead","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"The architecture of CodeZero is designed to grow alongside the demands of the business. Because the processes are modular, there is no difference in administrative effort whether ten or ten thousand parcels are shipped per day. Companies can thus scale their order volume effectively without being forced to increase their staff within logistics administration.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Conclusion: The Future of Efficient Logistics","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Automating the logistics chain is no longer a luxury but a necessity for competitive enterprises. By intelligently connecting sales channels, ERP systems, and shipping carriers, CodeZero creates an infrastructure that eliminates errors and frees up resources for core business activities. Investing in this digital architecture today ensures the operational excellence required for the markets of tomorrow.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0}],"direction":null}}},"shortDescription":{"en":"Maximize your shipping efficiency by automating the link between Shopify, SAP, and GLS. Learn how CodeZero eliminates manual data entry, reduces errors, and scales your logistics from checkout to delivery with seamless no-code integrations.","de":"Maximize your shipping efficiency by automating the link between Shopify, SAP, and GLS. Learn how CodeZero eliminates manual data entry, reduces errors, and scales your logistics from checkout to delivery with seamless no-code integrations."},"heroImage":{"id":37,"alt":"Logistic automation workflow GLS CodeZero","href":null,"updatedAt":"2026-03-25T10:05:48.175Z","createdAt":"2026-03-25T10:05:48.175Z","url":"/api/media/file/Logistic_Use-Case-1.png","thumbnailURL":null,"filename":"Logistic_Use-Case-1.png","mimeType":"image/png","filesize":113308,"width":1920,"height":1080,"focalX":50,"focalY":50},"meta":{"title":{"en":"Smart logistic with CodeZero automation","de":"Smart logistic with CodeZero automation"},"description":{"en":"Maximize your shipping efficiency by automating the link between Shopify, SAP, and GLS. Learn how CodeZero eliminates manual data entry, reduces errors, and scales your logistics from checkout to delivery with seamless no-code integrations.","de":"Maximize your shipping efficiency by automating the link between Shopify, SAP, and GLS. Learn how CodeZero eliminates manual data entry, reduces errors, and scales your logistics from checkout to delivery with seamless no-code integrations."},"image":{"en":{"id":37,"alt":"Logistic automation workflow GLS CodeZero","href":null,"updatedAt":"2026-03-25T10:05:48.175Z","createdAt":"2026-03-25T10:05:48.175Z","url":"/api/media/file/Logistic_Use-Case-1.png","thumbnailURL":null,"filename":"Logistic_Use-Case-1.png","mimeType":"image/png","filesize":113308,"width":1920,"height":1080,"focalX":50,"focalY":50},"de":{"id":37,"alt":"Logistic automation workflow GLS CodeZero","href":null,"updatedAt":"2026-03-25T10:05:48.175Z","createdAt":"2026-03-25T10:05:48.175Z","url":"/api/media/file/Logistic_Use-Case-1.png","thumbnailURL":null,"filename":"Logistic_Use-Case-1.png","mimeType":"image/png","filesize":113308,"width":1920,"height":1080,"focalX":50,"focalY":50}}},"updatedAt":"2026-04-25T21:22:23.666Z","createdAt":"2026-03-25T10:35:34.698Z"}] \ No newline at end of file diff --git a/export/cookie-banner.json b/export/cookie-banner.json deleted file mode 100644 index 0637a08..0000000 --- a/export/cookie-banner.json +++ /dev/null @@ -1 +0,0 @@ -[] \ No newline at end of file diff --git a/export/features.json b/export/features.json deleted file mode 100644 index 080e279..0000000 --- a/export/features.json +++ /dev/null @@ -1 +0,0 @@ -[{"id":1,"slug":"projects","title":{"en":"Projects","de":"Projekte"},"description":{"en":"Create projects and manage workflows inside.","de":"Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor"},"link":{"label":{"en":"Learn more","de":"Lerne mehr"},"url":"/blog/project-feature"},"updatedAt":"2026-04-25T21:22:23.341Z","createdAt":"2026-03-12T05:51:26.904Z"},{"id":2,"slug":"nodes","title":{"en":"Nodes","de":"Nodes"},"description":{"en":"Unlock the power of modular automation with CodeZero Nodes.","de":"Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua."},"link":{"label":{"en":"Learn more","de":"Lerne mehr"},"url":"/blog/flow-builder-node-feature"},"updatedAt":"2026-04-25T21:22:23.349Z","createdAt":"2026-03-12T04:53:11.722Z"},{"id":3,"slug":"action-list","title":{"en":"Actions","de":"Aktionsliste"},"description":{"en":"Unlock infinite extensibility with CodeZero Actions. Discover how the Action SDK allows you to build custom nodes, triggers, and flow types to create a tailored automation infrastructure that scales with your unique business needs.","de":"Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat"},"link":{"label":{"en":"Learn more","de":"Lerne mehr"},"url":"/blog/actions-feature"},"updatedAt":"2026-04-25T21:22:23.356Z","createdAt":"2026-03-09T05:08:20.406Z"},{"id":4,"slug":"runtime-types","title":{"en":"Runtime Types","de":"Runtime Typen"},"description":{"en":"Explore the flexibility of CodeZero Runtime Types.","de":"Lorem ipsum dolor sit amet, consetetur sadipscing elitr"},"link":{"label":{"en":"Learn more","de":"Lerne mehr"},"url":"/blog/runtime-type-feature"},"updatedAt":"2026-04-25T21:22:23.362Z","createdAt":"2026-03-09T05:07:23.891Z"},{"id":5,"slug":"suggestion-menu","title":{"en":"Suggestion Menu","de":"Vorschlagsmenü"},"description":{"en":"Speed up your workflow development with the CodeZero Suggestion Menu.","de":"Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod"},"link":{"label":{"en":"Learn more","de":"Lerne mehr"},"url":"/blog/flow-builder-suggestion-menu-feature"},"updatedAt":"2026-04-25T21:22:23.368Z","createdAt":"2026-03-09T05:05:54.068Z"},{"id":6,"slug":"organizations","title":{"en":"Organizations","de":"Organisationen"},"description":{"en":"Create or join organizations.","de":"Erstelle oder trete Organisationen bei."},"link":{"label":{"en":"Learn more about organizations","de":"Lerne mehr über Organisationen"},"url":"/blog/organization-feature"},"updatedAt":"2026-04-25T21:22:23.374Z","createdAt":"2026-02-15T09:06:33.851Z"},{"id":7,"slug":"member-management","title":{"en":"Member Management","de":"Mitgliederverwaltung"},"description":{"en":"Manage your team members.","de":"Verwalte die Mitglieder deiner Organisation und deines Teams."},"link":{"label":{"en":"Learn more about member management","de":"Lerne mehr über Mitgliederverwaltung"},"url":"/blog/member-management-feature"},"updatedAt":"2026-04-25T21:22:23.380Z","createdAt":"2026-02-15T08:36:58.428Z"},{"id":8,"slug":"role-system","title":{"en":"Create custom roles","de":"Lege Rollen an"},"description":{"en":"Give your team mebers custom roles.","de":"Verwalte Rollen in deinem Team."},"link":{"label":{"en":"Learn more about roles","de":"Lerne mehr über Rollen"},"url":"/blog/role-feature"},"updatedAt":"2026-04-25T21:22:23.385Z","createdAt":"2026-02-15T06:31:25.633Z"}] \ No newline at end of file diff --git a/export/footer.json b/export/footer.json deleted file mode 100644 index 0977f0e..0000000 --- a/export/footer.json +++ /dev/null @@ -1 +0,0 @@ -[{"id":1,"company_name":{"en":"Code0 UG (haftungsbeschränkt)","de":"Code0 UG (haftungsbeschränkt)"},"description":{"en":"The automation world gets to the next era with the CodeZero's no-code platform. From end-to-end automation to scalable backend endpoints in no-time.","de":null},"contactEmail":"nsammito@code0.tech","legalLinks":{"privacy":{"label":{"en":"Privacy Policy","de":"Privacy Policy"},"url":"/privacy"},"legalNotice":{"label":{"en":"Legal Notice","de":"Legal Notice"},"url":"/legal-notice"}},"socialLinks":[],"groups":[{"id":"698ec580b893c93524e025f1","items":[{"id":"698ec59fb893c93524e025f3","url":"/about-us","label":{"en":"About Us","de":"About Us"}},{"id":"698edf2efee39446daeca23a","url":"/jobs","label":{"en":"Jobs","de":"Jobs"}},{"id":"6995ddab09329cbf85efcb2f","url":"/contact","label":{"en":"Contact","de":"Contact"}}],"heading":{"en":"Company","de":"Company"}},{"id":"698ec5b1b893c93524e025f7","items":[{"id":"69ce71c6fa51a3543d6d81eb","url":"/community-edition","label":{"en":"Community Edition","de":"Community Edition"}},{"id":"69ce71c8fa51a3543d6d81ed","url":"/enterprise-edition","label":{"en":"Enterprise Edition","de":"Enterprise Edition"}}],"heading":{"en":"Product","de":"Product"}}],"updatedAt":"2026-04-25T21:25:07.905Z","createdAt":"2026-02-13T06:34:07.778Z"}] \ No newline at end of file diff --git a/export/jobs.json b/export/jobs.json deleted file mode 100644 index 519c337..0000000 --- a/export/jobs.json +++ /dev/null @@ -1 +0,0 @@ -[{"id":1,"title":{"en":"Senior Software Engineer","de":"Senior Softwarentwickler"},"slug":"senior-software-engineer","category":"engineering","type":"full-time","location":"remote","description":{"en":"Job Description","de":"Job Beschreibung"},"content":{"en":{"root":{"type":"root","format":"","indent":0,"version":1,"children":[{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Benefits","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"bla","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"type":"paragraph","format":"","indent":0,"version":1,"children":[],"direction":null,"textStyle":"","textFormat":0},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. ","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0}],"direction":null}},"de":{"root":{"type":"root","format":"","indent":0,"version":1,"children":[{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Vorteile","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"bla bla","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0}],"direction":null}}},"order":1,"updatedAt":"2026-04-25T21:22:23.394Z","createdAt":"2026-02-13T10:27:10.076Z"}] \ No newline at end of file diff --git a/export/media.json b/export/media.json deleted file mode 100644 index 85afb9f..0000000 --- a/export/media.json +++ /dev/null @@ -1 +0,0 @@ -[{"id":43,"alt":"CodeZero releases new canary version","href":null,"updatedAt":"2026-04-25T21:27:30.288Z","createdAt":"2026-04-25T21:27:30.288Z","url":"/api/media/file/CodeZeroVersionCanary.png","thumbnailURL":null,"filename":"CodeZeroVersionCanary.png","mimeType":"image/png","filesize":755706,"width":1920,"height":1080,"focalX":50,"focalY":50},{"id":1,"alt":"CodeZero vs Kestra","href":null,"updatedAt":"2026-04-20T14:40:21.446Z","createdAt":"2026-04-20T14:40:21.446Z","url":"/api/media/file/CodeZeroVSKestra.png","thumbnailURL":null,"filename":"CodeZeroVSKestra.png","mimeType":"image/png","filesize":704879,"width":1920,"height":1080,"focalX":50,"focalY":50},{"id":2,"alt":"CodeZero vs Kestra Average response time","href":null,"updatedAt":"2026-04-20T14:38:35.074Z","createdAt":"2026-04-20T14:38:35.073Z","url":"/api/media/file/CodeZeroBenchmarkvsKestra_1_avg.png","thumbnailURL":null,"filename":"CodeZeroBenchmarkvsKestra_1_avg.png","mimeType":"image/png","filesize":838804,"width":1920,"height":1080,"focalX":50,"focalY":50},{"id":3,"alt":"CodeZero vs Kestra Requests per second","href":null,"updatedAt":"2026-04-20T14:37:47.391Z","createdAt":"2026-04-20T14:37:47.390Z","url":"/api/media/file/CodeZeroBenchmarkvsKestra_1_reqs.png","thumbnailURL":null,"filename":"CodeZeroBenchmarkvsKestra_1_reqs.png","mimeType":"image/png","filesize":851039,"width":1920,"height":1080,"focalX":50,"focalY":50},{"id":4,"alt":"CodeZero is 30x faster than n8n","href":null,"updatedAt":"2026-04-15T22:38:50.886Z","createdAt":"2026-04-15T22:38:50.886Z","url":"/api/media/file/CodeZeroBenchmarkvsN8N_1_reqs.png","thumbnailURL":null,"filename":"CodeZeroBenchmarkvsN8N_1_reqs.png","mimeType":"image/png","filesize":650638,"width":1920,"height":1080,"focalX":50,"focalY":50},{"id":5,"alt":"CodeZero is 30x faster than n8n","href":null,"updatedAt":"2026-04-15T22:38:50.859Z","createdAt":"2026-04-15T22:38:50.859Z","url":"/api/media/file/CodeZeroBenchmarkvsN8N_1_avg.png","thumbnailURL":null,"filename":"CodeZeroBenchmarkvsN8N_1_avg.png","mimeType":"image/png","filesize":287156,"width":1920,"height":1080,"focalX":50,"focalY":50},{"id":6,"alt":"CodeZero is 30x faster than n8n","href":null,"updatedAt":"2026-04-15T22:38:50.834Z","createdAt":"2026-04-15T22:38:50.834Z","url":"/api/media/file/CodeZeroBenchmarkvsN8N_0.25_reqs.png","thumbnailURL":null,"filename":"CodeZeroBenchmarkvsN8N_0.25_reqs.png","mimeType":"image/png","filesize":757568,"width":1920,"height":1080,"focalX":50,"focalY":50},{"id":7,"alt":"CodeZero is 30x faster than n8n","href":null,"updatedAt":"2026-04-15T22:38:50.810Z","createdAt":"2026-04-15T22:38:50.810Z","url":"/api/media/file/CodeZeroBenchmarkvsN8N_0.25_avg.png","thumbnailURL":null,"filename":"CodeZeroBenchmarkvsN8N_0.25_avg.png","mimeType":"image/png","filesize":851616,"width":1920,"height":1080,"focalX":50,"focalY":50},{"id":8,"alt":"CodeZero is 30x faster than n8n","href":null,"updatedAt":"2026-04-15T22:38:50.787Z","createdAt":"2026-04-15T22:38:50.787Z","url":"/api/media/file/CodeZeroBenchmarkvsN8N_0.5_reqs.png","thumbnailURL":null,"filename":"CodeZeroBenchmarkvsN8N_0.5_reqs.png","mimeType":"image/png","filesize":843552,"width":1920,"height":1080,"focalX":50,"focalY":50},{"id":9,"alt":"CodeZero is 30x faster than n8n","href":null,"updatedAt":"2026-04-15T22:38:50.765Z","createdAt":"2026-04-15T22:38:50.765Z","url":"/api/media/file/CodeZeroBenchmarkvsN8N_0.5_avg.png","thumbnailURL":null,"filename":"CodeZeroBenchmarkvsN8N_0.5_avg.png","mimeType":"image/png","filesize":821676,"width":1920,"height":1080,"focalX":50,"focalY":50},{"id":10,"alt":"Nico Sammito CEO and founder of CodeZero","href":null,"updatedAt":"2026-04-15T22:28:53.888Z","createdAt":"2026-04-15T22:28:53.888Z","url":"/api/media/file/Nico_Sammito_CEO_CodeZero.jpg","thumbnailURL":null,"filename":"Nico_Sammito_CEO_CodeZero.jpg","mimeType":"image/jpeg","filesize":454394,"width":1594,"height":1594,"focalX":50,"focalY":50},{"id":11,"alt":"CodeZero partners with logistic giant GLS","href":null,"updatedAt":"2026-04-15T22:23:33.871Z","createdAt":"2026-04-15T22:23:33.871Z","url":"/api/media/file/CodeZeroXGLS-1.png","thumbnailURL":null,"filename":"CodeZeroXGLS-1.png","mimeType":"image/png","filesize":725654,"width":1920,"height":1080,"focalX":50,"focalY":50},{"id":12,"alt":"CodeZero partners with CNAP","href":null,"updatedAt":"2026-04-15T22:23:33.847Z","createdAt":"2026-04-15T22:23:33.847Z","url":"/api/media/file/CodeZeroXCnap-1.png","thumbnailURL":null,"filename":"CodeZeroXCnap-1.png","mimeType":"image/png","filesize":723820,"width":1920,"height":1080,"focalX":50,"focalY":50},{"id":13,"alt":"CodeZero vs n8n","href":null,"updatedAt":"2026-04-15T22:23:33.819Z","createdAt":"2026-04-15T22:23:33.819Z","url":"/api/media/file/CodeZeroVSn8n.png","thumbnailURL":null,"filename":"CodeZeroVSn8n.png","mimeType":"image/png","filesize":718568,"width":1920,"height":1080,"focalX":50,"focalY":50},{"id":14,"alt":"CNAP landing page","href":null,"updatedAt":"2026-04-15T22:22:10.322Z","createdAt":"2026-04-15T22:22:10.322Z","url":"/api/media/file/CNAP_landing_page-1.png","thumbnailURL":null,"filename":"CNAP_landing_page-1.png","mimeType":"image/png","filesize":1797068,"width":2940,"height":1666,"focalX":50,"focalY":50},{"id":15,"alt":"Integrate AI in your already existing business processes","href":null,"updatedAt":"2026-04-08T11:43:36.194Z","createdAt":"2026-04-08T11:43:36.194Z","url":"/api/media/file/Integrate_AI.png","thumbnailURL":null,"filename":"Integrate_AI.png","mimeType":"image/png","filesize":74648,"width":1920,"height":1080,"focalX":50,"focalY":50},{"id":16,"alt":"Connect everything to CodeZero. Even your own tools.","href":null,"updatedAt":"2026-04-08T11:39:12.870Z","createdAt":"2026-04-08T11:32:18.782Z","url":"/api/media/file/Connect_Everything-1.png","thumbnailURL":null,"filename":"Connect_Everything-1.png","mimeType":"image/png","filesize":69548,"width":1920,"height":1080,"focalX":50,"focalY":50},{"id":17,"alt":"Google Gemini X CodeZero","href":"https://gemini.google.com","updatedAt":"2026-04-08T10:01:35.607Z","createdAt":"2026-04-08T10:01:35.607Z","url":"/api/media/file/googlegemini.png","thumbnailURL":null,"filename":"googlegemini.png","mimeType":"image/png","filesize":20166,"width":640,"height":640,"focalX":50,"focalY":50},{"id":18,"alt":"GLS X CodeZero","href":"https://www.gls-pakete.de","updatedAt":"2026-04-08T10:00:51.022Z","createdAt":"2026-04-08T10:00:51.022Z","url":"/api/media/file/gls.svg","thumbnailURL":null,"filename":"gls.svg","mimeType":"image/svg+xml","filesize":4020,"width":24,"height":24,"focalX":null,"focalY":null},{"id":19,"alt":"Notion X CodeZero","href":"https://www.notion.com","updatedAt":"2026-04-08T10:00:05.824Z","createdAt":"2026-04-08T10:00:05.823Z","url":"/api/media/file/notion.svg","thumbnailURL":null,"filename":"notion.svg","mimeType":"image/svg+xml","filesize":978,"width":24,"height":24,"focalX":null,"focalY":null},{"id":20,"alt":"SAP X CodeZero","href":"https://www.sap.com","updatedAt":"2026-04-08T09:52:16.320Z","createdAt":"2026-04-08T09:52:16.320Z","url":"/api/media/file/sap.svg","thumbnailURL":null,"filename":"sap.svg","mimeType":"image/svg+xml","filesize":1027,"width":24,"height":24,"focalX":null,"focalY":null},{"id":21,"alt":"Code0 OG Image","href":null,"updatedAt":"2026-03-26T18:45:03.880Z","createdAt":"2026-03-26T18:45:03.880Z","url":"/api/media/file/og-image.png","thumbnailURL":null,"filename":"og-image.png","mimeType":"image/png","filesize":1003908,"width":1920,"height":1080,"focalX":50,"focalY":50},{"id":22,"alt":"Github action SDK CodeZero","href":null,"updatedAt":"2026-03-25T12:01:38.170Z","createdAt":"2026-03-25T12:01:38.169Z","url":"/api/media/file/Github_Action_SDK_CodeZero.png","thumbnailURL":null,"filename":"Github_Action_SDK_CodeZero.png","mimeType":"image/png","filesize":524187,"width":2940,"height":1666,"focalX":50,"focalY":50},{"id":23,"alt":"Flow builder suggestion menu CodeZero","href":null,"updatedAt":"2026-03-25T11:55:33.672Z","createdAt":"2026-03-25T11:55:33.672Z","url":"/api/media/file/Flow_Builder_Suggestion_Menu_Feature.png","thumbnailURL":null,"filename":"Flow_Builder_Suggestion_Menu_Feature.png","mimeType":"image/png","filesize":490427,"width":2940,"height":1664,"focalX":50,"focalY":50},{"id":24,"alt":"Runtime overview page CodeZero","href":null,"updatedAt":"2026-03-25T11:53:05.308Z","createdAt":"2026-03-25T11:53:05.307Z","url":"/api/media/file/Runtime_Overview_Page.png","thumbnailURL":null,"filename":"Runtime_Overview_Page.png","mimeType":"image/png","filesize":333824,"width":2940,"height":1668,"focalX":50,"focalY":50},{"id":25,"alt":"Flow builder nodes feature CodeZero","href":null,"updatedAt":"2026-03-25T11:38:02.809Z","createdAt":"2026-03-25T11:38:02.809Z","url":"/api/media/file/Flow_Builder_Nodes_Feature.png","thumbnailURL":null,"filename":"Flow_Builder_Nodes_Feature.png","mimeType":"image/png","filesize":407177,"width":2940,"height":1666,"focalX":50,"focalY":50},{"id":26,"alt":"Organization overview page CodeZero","href":null,"updatedAt":"2026-03-25T11:30:37.189Z","createdAt":"2026-03-25T11:30:37.189Z","url":"/api/media/file/Organization_Overview_Page.png","thumbnailURL":null,"filename":"Organization_Overview_Page.png","mimeType":"image/png","filesize":340618,"width":2940,"height":1666,"focalX":50,"focalY":50},{"id":27,"alt":"Organization create page CodeZero","href":null,"updatedAt":"2026-03-25T11:30:37.164Z","createdAt":"2026-03-25T11:30:37.164Z","url":"/api/media/file/Organization_Create_Page.png","thumbnailURL":null,"filename":"Organization_Create_Page.png","mimeType":"image/png","filesize":348465,"width":2940,"height":1664,"focalX":50,"focalY":50},{"id":28,"alt":"Role overview page CodeZero","href":null,"updatedAt":"2026-03-25T11:21:38.738Z","createdAt":"2026-03-25T11:21:38.738Z","url":"/api/media/file/Role_Overview_Page.png","thumbnailURL":null,"filename":"Role_Overview_Page.png","mimeType":"image/png","filesize":396501,"width":2940,"height":1666,"focalX":50,"focalY":50},{"id":29,"alt":"Role add page CodeZero","href":null,"updatedAt":"2026-03-25T11:21:38.691Z","createdAt":"2026-03-25T11:21:38.691Z","url":"/api/media/file/Role_Add_Page.png","thumbnailURL":null,"filename":"Role_Add_Page.png","mimeType":"image/png","filesize":338014,"width":2940,"height":1666,"focalX":50,"focalY":50},{"id":30,"alt":"Role permission page CodeZero","href":null,"updatedAt":"2026-03-25T11:21:38.647Z","createdAt":"2026-03-25T11:21:38.647Z","url":"/api/media/file/Role_Permission_Page.png","thumbnailURL":null,"filename":"Role_Permission_Page.png","mimeType":"image/png","filesize":613737,"width":2940,"height":1666,"focalX":50,"focalY":50},{"id":31,"alt":"Member overview page CodeZero","href":null,"updatedAt":"2026-03-25T11:13:20.805Z","createdAt":"2026-03-25T11:13:20.805Z","url":"/api/media/file/Member_Overview_Page.png","thumbnailURL":null,"filename":"Member_Overview_Page.png","mimeType":"image/png","filesize":390811,"width":2940,"height":1668,"focalX":50,"focalY":50},{"id":32,"alt":"Member remove feature CodeZero","href":null,"updatedAt":"2026-03-25T11:13:20.787Z","createdAt":"2026-03-25T11:13:20.787Z","url":"/api/media/file/Member_Remove_Feature.png","thumbnailURL":null,"filename":"Member_Remove_Feature.png","mimeType":"image/png","filesize":354065,"width":2940,"height":1664,"focalX":50,"focalY":50},{"id":33,"alt":"Member assign roles feature CodeZero","href":null,"updatedAt":"2026-03-25T11:13:20.769Z","createdAt":"2026-03-25T11:13:20.769Z","url":"/api/media/file/Member_Assign_Roles_Feature.png","thumbnailURL":null,"filename":"Member_Assign_Roles_Feature.png","mimeType":"image/png","filesize":379400,"width":2940,"height":1664,"focalX":50,"focalY":50},{"id":34,"alt":"Member add feature CodeZero","href":null,"updatedAt":"2026-03-25T11:13:20.742Z","createdAt":"2026-03-25T11:13:20.742Z","url":"/api/media/file/Member_Add_Feature.png","thumbnailURL":null,"filename":"Member_Add_Feature.png","mimeType":"image/png","filesize":350024,"width":2940,"height":1666,"focalX":50,"focalY":50},{"id":35,"alt":"Project overview page CodeZero","href":null,"updatedAt":"2026-03-25T11:05:42.234Z","createdAt":"2026-03-25T11:05:42.234Z","url":"/api/media/file/Project_Overview_Feature.png","thumbnailURL":null,"filename":"Project_Overview_Feature.png","mimeType":"image/png","filesize":330250,"width":2940,"height":1666,"focalX":50,"focalY":50},{"id":36,"alt":"Create project in CodeZero","href":null,"updatedAt":"2026-03-25T11:05:01.102Z","createdAt":"2026-03-25T11:05:01.102Z","url":"/api/media/file/Create_Project_Feature.png","thumbnailURL":null,"filename":"Create_Project_Feature.png","mimeType":"image/png","filesize":378671,"width":2940,"height":1666,"focalX":50,"focalY":50},{"id":37,"alt":"Logistic automation workflow GLS CodeZero","href":null,"updatedAt":"2026-03-25T10:05:48.175Z","createdAt":"2026-03-25T10:05:48.175Z","url":"/api/media/file/Logistic_Use-Case-1.png","thumbnailURL":null,"filename":"Logistic_Use-Case-1.png","mimeType":"image/png","filesize":113308,"width":1920,"height":1080,"focalX":50,"focalY":50},{"id":38,"alt":"Discord bot automation CodeZero","href":null,"updatedAt":"2026-03-25T10:05:48.152Z","createdAt":"2026-03-25T10:05:48.152Z","url":"/api/media/file/Chatbot_Use-Case-1.png","thumbnailURL":null,"filename":"Chatbot_Use-Case-1.png","mimeType":"image/png","filesize":74140,"width":1920,"height":1080,"focalX":50,"focalY":50},{"id":39,"alt":"AI Use Case ChatGPT MCP Claude CodeZero","href":null,"updatedAt":"2026-03-25T10:05:48.123Z","createdAt":"2026-03-25T10:05:48.123Z","url":"/api/media/file/AI_Use-Case-1.png","thumbnailURL":null,"filename":"AI_Use-Case-1.png","mimeType":"image/png","filesize":126673,"width":1920,"height":1080,"focalX":50,"focalY":50},{"id":40,"alt":"Blog sample Image","href":null,"updatedAt":"2026-03-07T05:59:34.732Z","createdAt":"2026-03-07T05:59:34.731Z","url":"/api/media/file/blog-sample-image.jpg","thumbnailURL":null,"filename":"blog-sample-image.jpg","mimeType":"image/jpeg","filesize":75240,"width":864,"height":576,"focalX":50,"focalY":50},{"id":41,"alt":"Marius Ahsmus Bild","href":null,"updatedAt":"2026-03-07T05:28:39.443Z","createdAt":"2026-03-07T05:15:45.957Z","url":"/api/media/file/NDOLqYAv_400x400.jpg","thumbnailURL":null,"filename":"NDOLqYAv_400x400.jpg","mimeType":"image/jpeg","filesize":28513,"width":400,"height":400,"focalX":50,"focalY":50},{"id":42,"alt":"GLS Logo","href":"https://gls-group.com/","updatedAt":"2026-02-25T11:12:48.228Z","createdAt":"2026-02-25T11:08:24.824Z","url":"/api/media/file/gls_logo.png","thumbnailURL":null,"filename":"gls_logo.png","mimeType":"image/png","filesize":19352,"width":960,"height":337,"focalX":50,"focalY":50}] \ No newline at end of file diff --git a/export/navbarItems.json b/export/navbarItems.json deleted file mode 100644 index 724d423..0000000 --- a/export/navbarItems.json +++ /dev/null @@ -1 +0,0 @@ -[{"id":1,"title":{"en":"Product","de":"Product"},"href":"","order":0,"subMenu":[{"id":"69ce7131fa51a3543d6d81e7","key":"community","href":"/community-edition","icon":"users-group","title":{"en":"Community Edition","de":"Community Edition"},"description":{"en":"Realise your private project for free without coding","de":"Realise your private project for free without coding"}},{"id":"69ce7171fa51a3543d6d81e9","key":"enterprise","href":"/enterprise-edition","icon":"sparkles","title":{"en":"Enterprise Edition","de":"Enterprise Edition"},"description":{"en":"Scale up your business with our Enterprise Edition","de":"Scale up your business with our Enterprise Edition"}}],"updatedAt":"2026-04-25T21:25:26.824Z","createdAt":"2026-04-02T13:39:25.485Z"},{"id":2,"title":{"en":"Contact","de":"Kontakt"},"href":"/contact","order":4,"subMenu":[],"updatedAt":"2026-04-25T21:22:22.784Z","createdAt":"2026-02-18T15:42:23.612Z"},{"id":3,"title":{"en":"Docs","de":"Docs"},"href":"https://docs.code0.tech","order":2,"subMenu":[],"updatedAt":"2026-04-25T21:22:22.796Z","createdAt":"2026-02-13T06:56:56.633Z"},{"id":4,"title":{"en":"Blog","de":"Blog"},"href":"/blog","order":3,"subMenu":[],"updatedAt":"2026-04-25T21:22:22.807Z","createdAt":"2026-02-13T06:56:16.204Z"},{"id":5,"title":{"en":"Use Cases","de":"Use Cases"},"href":"","order":1,"subMenu":[{"id":"69901333ef36d1a48e09221a","key":"logistic-automation","href":"/blog/smart-logistic-use-case","icon":"cube","title":{"en":"Smart logistic","de":"Smart logistic"},"description":{"en":"Maximize your shipping efficiency.","de":"Maximize your shipping efficiency."}},{"id":"69b2da175ab22f727de99a13","key":"chatbot-building","href":"/blog/smart-chatbots-use-case","icon":"cube","title":{"en":"Smart chatbots","de":"Smart chatbots"},"description":{"en":"Turn your Discord server into a powerful automated hub.","de":"Turn your Discord server into a powerful automated hub."}},{"id":"69b2da3f5ab22f727de99a15","key":"ai-automation-and-integration","href":"/blog/smart-ai-agents-use-case","icon":"cube","title":{"en":"Smart AI agents","de":"Smart AI agents"},"description":{"en":"Build sovereign, model-agnostic AI agents with CodeZero.","de":"Build sovereign, model-agnostic AI agents with CodeZero."}}],"updatedAt":"2026-04-25T21:22:22.817Z","createdAt":"2026-02-13T06:31:37.386Z"}] \ No newline at end of file diff --git a/export/pages.json b/export/pages.json deleted file mode 100644 index f66eac0..0000000 --- a/export/pages.json +++ /dev/null @@ -1 +0,0 @@ -[{"id":1,"title":{"en":"Enterprise Edition for every business and use case","de":"Enterprise Edition for every business and use case"},"slug":"enterprise-edition","layout":{"en":[{"id":"69ce7ac281fa540200b61d6d","heading":"Scale up your business with our Enterprise Edition","imageAlt":"Enterprise Edition Preview","blockName":null,"texts":[{"id":"69ce7ac681fa540200b61d6f","text":"Automate your business, save costs and scale to your needs. All within one tool. Everything within CodeZero."}],"buttons":[{"id":"69ce7ac981fa540200b61d71","label":"Coming soon. Contact us for a demo.","url":"/contact","variant":"normal"}],"blockType":"editionHero"},{"id":"69ce9707637549b1ff2ac715","blockName":"feature 1","features":[{"id":"69ce9709637549b1ff2ac717","label":"Manage your workflows within projects","title":"Manage your workflows within projects","description":"Streamline your automation management with CodeZero Projects. Learn how to organize workflows, manage team roles, and scale your business logic within a secure, modular workspace designed for enterprise-grade orchestration.","image":{"id":35,"alt":"Project overview page CodeZero","href":null,"updatedAt":"2026-03-25T11:05:42.234Z","createdAt":"2026-03-25T11:05:42.234Z","url":"/api/media/file/Project_Overview_Feature.png","thumbnailURL":null,"filename":"Project_Overview_Feature.png","mimeType":"image/png","filesize":330250,"width":2940,"height":1666,"focalX":50,"focalY":50},"bulletPoints":["Projects"],"link":{"label":"Learn more about projects","url":"/blog/project-feature"}},{"id":"69d62c281dece12ba2e2ad3d","label":"Manage your employees and grant permissions","title":"Manage your employees and grant permissions","description":"Empower your team with CodeZero’s robust Member Management. Learn how to onboard users, assign fine-grained roles, and secure your automation workflows through intuitive, enterprise-grade access control.","image":{"id":31,"alt":"Member overview page CodeZero","href":null,"updatedAt":"2026-03-25T11:13:20.805Z","createdAt":"2026-03-25T11:13:20.805Z","url":"/api/media/file/Member_Overview_Page.png","thumbnailURL":null,"filename":"Member_Overview_Page.png","mimeType":"image/png","filesize":390811,"width":2940,"height":1668,"focalX":50,"focalY":50},"bulletPoints":["team","permission management"],"link":{"label":"Learn more about teams","url":"/blog/member-management-feature"}},{"id":"69d62cb91dece12ba2e2ad3f","label":"Your data stays your data","title":"Your data stays your data","description":"With our different available deployment options you can choose weither your workflows are executed within your infrastructure or our cloud solution.","image":{"id":24,"alt":"Runtime overview page CodeZero","href":null,"updatedAt":"2026-03-25T11:53:05.308Z","createdAt":"2026-03-25T11:53:05.307Z","url":"/api/media/file/Runtime_Overview_Page.png","thumbnailURL":null,"filename":"Runtime_Overview_Page.png","mimeType":"image/png","filesize":333824,"width":2940,"height":1668,"focalX":50,"focalY":50},"bulletPoints":["Deployment","Your data","Infrastructure"],"link":{"label":"Learn more about deployment","url":"/blog/runtime-type-feature"}},{"id":"69d62daf1dece12ba2e2ad41","label":"No need to hire costly developers any more.","title":"No need to hire costly developers any more.","description":"With CodeZero everyone is able to build complex workflows and integrate them into your already existing infrastructure. Integrate AI or complex end-to-end automations into your business processes.","image":{"id":25,"alt":"Flow builder nodes feature CodeZero","href":null,"updatedAt":"2026-03-25T11:38:02.809Z","createdAt":"2026-03-25T11:38:02.809Z","url":"/api/media/file/Flow_Builder_Nodes_Feature.png","thumbnailURL":null,"filename":"Flow_Builder_Nodes_Feature.png","mimeType":"image/png","filesize":407177,"width":2940,"height":1666,"focalX":50,"focalY":50},"bulletPoints":["Automations","End-to-End automations","AI integration","Reduce costs"],"link":{"label":"Learn more about our workflow builder","url":"/blog/flow-builder-node-feature"}}],"blockType":"editionFeatures"},{"id":"69d62ffe1dece12ba2e2ad43","heading":"Example use cases for your business","subheading":"Automate your business, save costs and scale to your needs. All within one tool. Everything within CodeZero.","blockName":null,"useCases":[{"id":"69d630031dece12ba2e2ad45","title":"Smart logistic with CodeZero and GLS","description":"Maximize your shipping efficiency by automating the link between Shopify, SAP, and GLS. Learn how CodeZero eliminates manual data entry, reduces errors, and scales your logistics from checkout to delivery with seamless no-code integrations.","image":{"id":37,"alt":"Logistic automation workflow GLS CodeZero","href":null,"updatedAt":"2026-03-25T10:05:48.175Z","createdAt":"2026-03-25T10:05:48.175Z","url":"/api/media/file/Logistic_Use-Case-1.png","thumbnailURL":null,"filename":"Logistic_Use-Case-1.png","mimeType":"image/png","filesize":113308,"width":1920,"height":1080,"focalX":50,"focalY":50},"link":{"label":"Learn more about smart logistic","url":"/blog/smart-ai-agents-use-case"}},{"id":"69d636a91dece12ba2e2ad47","title":"Smart AI agents with CodeZero","description":"Build sovereign, model-agnostic AI agents with CodeZero. Leverage the Model Context Protocol (MCP) to integrate custom tools, define complex flow logic, and create automated agentic workflows that scale without vendor lock-in.","image":{"id":39,"alt":"AI Use Case ChatGPT MCP Claude CodeZero","href":null,"updatedAt":"2026-03-25T10:05:48.123Z","createdAt":"2026-03-25T10:05:48.123Z","url":"/api/media/file/AI_Use-Case-1.png","thumbnailURL":null,"filename":"AI_Use-Case-1.png","mimeType":"image/png","filesize":126673,"width":1920,"height":1080,"focalX":50,"focalY":50},"link":{"label":"Learn more about AI agents","url":"/blog/smart-ai-agents-use-case"}}],"blockType":"editionUseCases"},{"id":"69d637341dece12ba2e2ad49","blockName":"feature 2","features":[{"id":"69d637381dece12ba2e2ad4b","label":"Integrate AI in your business processes","title":"Integrate AI in your business processes","description":"No matter what infrastructure or tools you are using within your company. Simply extend your processes with CodeZero and integrate and automate with custom AI agents.","image":{"id":15,"alt":"Integrate AI in your already existing business processes","href":null,"updatedAt":"2026-04-08T11:43:36.194Z","createdAt":"2026-04-08T11:43:36.194Z","url":"/api/media/file/Integrate_AI.png","thumbnailURL":null,"filename":"Integrate_AI.png","mimeType":"image/png","filesize":74648,"width":1920,"height":1080,"focalX":50,"focalY":50},"bulletPoints":["AI integration"],"link":{"label":"Learn more about ","url":null}},{"id":"69d63a6af565b946f1316b5d","label":"Easily connect your tools to one another","title":"Easily connect your tools to one another","description":"Weither you are using standardized software or custom made applications. Simply connect them with our workflow builder and save costs and increase efficiency.","image":{"id":16,"alt":"Connect everything to CodeZero. Even your own tools.","href":null,"updatedAt":"2026-04-08T11:39:12.870Z","createdAt":"2026-04-08T11:32:18.782Z","url":"/api/media/file/Connect_Everything-1.png","thumbnailURL":null,"filename":"Connect_Everything-1.png","mimeType":"image/png","filesize":69548,"width":1920,"height":1080,"focalX":50,"focalY":50},"bulletPoints":["Connect everything"],"link":{"label":null,"url":null}}],"blockType":"editionFeatures"},{"id":"69cea92bd0cd360346d128fc","heading":"Scale up your business with our Enterprise Edition","subheading":"Automate your business, save costs and scale to your needs. All within one tool. Everything within CodeZero.","blockName":null,"blockType":"cta","ctaLink":{"label":"Coming soon. Contact us for a demo.","url":"/contact"}}],"de":[{"id":"69d66b9212a3ce145f9eccbf","heading":"Scale up your business with our Enterprise Edition","imageAlt":"Enterprise Edition Preview","blockName":null,"texts":[{"id":"69d66b9212a3ce145f9eccbd","text":"Automate your business, save costs and scale to your needs. All within one tool. Everything within CodeZero."}],"buttons":[{"id":"69d66b9212a3ce145f9eccbe","label":"Coming soon. Contact us for a demo.","url":"/contact","variant":"normal"}],"blockType":"editionHero"},{"id":"69d66b9212a3ce145f9eccc4","blockName":"feature 1","features":[{"id":"69d66b9212a3ce145f9eccc0","label":"Manage your workflows within projects","title":"Manage your workflows within projects","description":"Streamline your automation management with CodeZero Projects. Learn how to organize workflows, manage team roles, and scale your business logic within a secure, modular workspace designed for enterprise-grade orchestration.","image":{"id":35,"alt":"Project overview page CodeZero","href":null,"updatedAt":"2026-03-25T11:05:42.234Z","createdAt":"2026-03-25T11:05:42.234Z","url":"/api/media/file/Project_Overview_Feature.png","thumbnailURL":null,"filename":"Project_Overview_Feature.png","mimeType":"image/png","filesize":330250,"width":2940,"height":1666,"focalX":50,"focalY":50},"bulletPoints":["Projects"],"link":{"label":"Learn more about projects","url":"/blog/project-feature"}},{"id":"69d66b9212a3ce145f9eccc1","label":"Manage your employees and grant permissions","title":"Manage your employees and grant permissions","description":"Empower your team with CodeZero’s robust Member Management. Learn how to onboard users, assign fine-grained roles, and secure your automation workflows through intuitive, enterprise-grade access control.","image":{"id":31,"alt":"Member overview page CodeZero","href":null,"updatedAt":"2026-03-25T11:13:20.805Z","createdAt":"2026-03-25T11:13:20.805Z","url":"/api/media/file/Member_Overview_Page.png","thumbnailURL":null,"filename":"Member_Overview_Page.png","mimeType":"image/png","filesize":390811,"width":2940,"height":1668,"focalX":50,"focalY":50},"bulletPoints":["team","permission management"],"link":{"label":"Learn more about teams","url":"/blog/member-management-feature"}},{"id":"69d66b9212a3ce145f9eccc2","label":"Your data stays your data","title":"Your data stays your data","description":"With our different available deployment options you can choose weither your workflows are executed within your infrastructure or our cloud solution.","image":{"id":24,"alt":"Runtime overview page CodeZero","href":null,"updatedAt":"2026-03-25T11:53:05.308Z","createdAt":"2026-03-25T11:53:05.307Z","url":"/api/media/file/Runtime_Overview_Page.png","thumbnailURL":null,"filename":"Runtime_Overview_Page.png","mimeType":"image/png","filesize":333824,"width":2940,"height":1668,"focalX":50,"focalY":50},"bulletPoints":["Deployment","Your data","Infrastructure"],"link":{"label":"Learn more about deployment","url":"/blog/runtime-type-feature"}},{"id":"69d66b9212a3ce145f9eccc3","label":"No need to hire costly developers any more.","title":"No need to hire costly developers any more.","description":"With CodeZero everyone is able to build complex workflows and integrate them into your already existing infrastructure. Integrate AI or complex end-to-end automations into your business processes.","image":{"id":25,"alt":"Flow builder nodes feature CodeZero","href":null,"updatedAt":"2026-03-25T11:38:02.809Z","createdAt":"2026-03-25T11:38:02.809Z","url":"/api/media/file/Flow_Builder_Nodes_Feature.png","thumbnailURL":null,"filename":"Flow_Builder_Nodes_Feature.png","mimeType":"image/png","filesize":407177,"width":2940,"height":1666,"focalX":50,"focalY":50},"bulletPoints":["Automations","End-to-End automations","AI integration","Reduce costs"],"link":{"label":"Learn more about our workflow builder","url":"/blog/flow-builder-node-feature"}}],"blockType":"editionFeatures"},{"id":"69d66b9212a3ce145f9eccc7","heading":"Example use cases for your business","subheading":"Automate your business, save costs and scale to your needs. All within one tool. Everything within CodeZero.","blockName":null,"useCases":[{"id":"69d66b9212a3ce145f9eccc5","title":"Smart logistic with CodeZero and GLS","description":"Maximize your shipping efficiency by automating the link between Shopify, SAP, and GLS. Learn how CodeZero eliminates manual data entry, reduces errors, and scales your logistics from checkout to delivery with seamless no-code integrations.","image":{"id":37,"alt":"Logistic automation workflow GLS CodeZero","href":null,"updatedAt":"2026-03-25T10:05:48.175Z","createdAt":"2026-03-25T10:05:48.175Z","url":"/api/media/file/Logistic_Use-Case-1.png","thumbnailURL":null,"filename":"Logistic_Use-Case-1.png","mimeType":"image/png","filesize":113308,"width":1920,"height":1080,"focalX":50,"focalY":50},"link":{"label":"Learn more about smart logistic","url":"/blog/smart-ai-agents-use-case"}},{"id":"69d66b9212a3ce145f9eccc6","title":"Smart AI agents with CodeZero","description":"Build sovereign, model-agnostic AI agents with CodeZero. Leverage the Model Context Protocol (MCP) to integrate custom tools, define complex flow logic, and create automated agentic workflows that scale without vendor lock-in.","image":{"id":39,"alt":"AI Use Case ChatGPT MCP Claude CodeZero","href":null,"updatedAt":"2026-03-25T10:05:48.123Z","createdAt":"2026-03-25T10:05:48.123Z","url":"/api/media/file/AI_Use-Case-1.png","thumbnailURL":null,"filename":"AI_Use-Case-1.png","mimeType":"image/png","filesize":126673,"width":1920,"height":1080,"focalX":50,"focalY":50},"link":{"label":"Learn more about AI agents","url":"/blog/smart-ai-agents-use-case"}}],"blockType":"editionUseCases"},{"id":"69d66b9212a3ce145f9eccca","blockName":"feature 2","features":[{"id":"69d66b9212a3ce145f9eccc8","label":"Integrate AI in your business processes","title":"Integrate AI in your business processes","description":"No matter what infrastructure or tools you are using within your company. Simply extend your processes with CodeZero and integrate and automate with custom AI agents.","image":{"id":15,"alt":"Integrate AI in your already existing business processes","href":null,"updatedAt":"2026-04-08T11:43:36.194Z","createdAt":"2026-04-08T11:43:36.194Z","url":"/api/media/file/Integrate_AI.png","thumbnailURL":null,"filename":"Integrate_AI.png","mimeType":"image/png","filesize":74648,"width":1920,"height":1080,"focalX":50,"focalY":50},"bulletPoints":["AI integration"],"link":{"label":"Learn more about ","url":null}},{"id":"69d66b9212a3ce145f9eccc9","label":"Easily connect your tools to one another","title":"Easily connect your tools to one another","description":"Weither you are using standardized software or custom made applications. Simply connect them with our workflow builder and save costs and increase efficiency.","image":{"id":16,"alt":"Connect everything to CodeZero. Even your own tools.","href":null,"updatedAt":"2026-04-08T11:39:12.870Z","createdAt":"2026-04-08T11:32:18.782Z","url":"/api/media/file/Connect_Everything-1.png","thumbnailURL":null,"filename":"Connect_Everything-1.png","mimeType":"image/png","filesize":69548,"width":1920,"height":1080,"focalX":50,"focalY":50},"bulletPoints":["Connect everything"],"link":{"label":null,"url":null}}],"blockType":"editionFeatures"},{"id":"69d66b9212a3ce145f9ecccb","heading":"Scale up your business with our Enterprise Edition","subheading":"Automate your business, save costs and scale to your needs. All within one tool. Everything within CodeZero.","blockName":null,"blockType":"cta","ctaLink":{"label":"Coming soon. Contact us for a demo.","url":"/contact"}}]},"meta":{"title":{"en":"Enterprise Edition for every business and use case","de":"Enterprise Edition for every business and use case"},"description":{"en":"Automate and scale your business with CodeZero Enterprise. Secure workflows, AI integration, and team management. Coming soon, contact us for a demo.","de":"Automate and scale your business with CodeZero Enterprise. Secure workflows, AI integration, and team management. Coming soon, contact us for a demo."},"image":{"en":{"id":21,"alt":"Code0 OG Image","href":null,"updatedAt":"2026-03-26T18:45:03.880Z","createdAt":"2026-03-26T18:45:03.880Z","url":"/api/media/file/og-image.png","thumbnailURL":null,"filename":"og-image.png","mimeType":"image/png","filesize":1003908,"width":1920,"height":1080,"focalX":50,"focalY":50},"de":{"id":21,"alt":"Code0 OG Image","href":null,"updatedAt":"2026-03-26T18:45:03.880Z","createdAt":"2026-03-26T18:45:03.880Z","url":"/api/media/file/og-image.png","thumbnailURL":null,"filename":"og-image.png","mimeType":"image/png","filesize":1003908,"width":1920,"height":1080,"focalX":50,"focalY":50}}},"updatedAt":"2026-04-25T21:22:22.984Z","createdAt":"2026-04-02T14:18:36.355Z"},{"id":2,"title":{"en":"Realise your private project for free without coding","de":"Realise your private project for free without coding"},"slug":"community-edition","layout":{"en":[{"id":"69ce7a1481fa540200b61d5b","heading":"Realise your private project for free without coding","imageAlt":"Community Edition Preview","blockName":null,"texts":[{"id":"69ce7a2981fa540200b61d5d","text":"Automate your smart home, build chatbots or just play around. Every great idea starts at zero. Start with CodeZero."}],"buttons":[{"id":"69ce7a2f81fa540200b61d5f","label":"Self-host our first beta release","url":"https://github.com/code0-tech/codezero/releases/tag/0.0.0-canary-2356067148-c06e576791513b10dbcb10aa3b0420b87178a205","variant":"normal"}],"blockType":"editionHero"},{"id":"69ce9694637549b1ff2ac70f","blockName":"feature 1","features":[{"id":"69d640b83e7629373fbcd896","label":"Manage your workflows within projects","title":"Manage your workflows within projects","description":"Streamline your automation management with CodeZero Projects. Learn how to organize workflows, manage team roles, and scale your business logic within a secure, modular workspace designed for enterprise-grade orchestration.","image":{"id":35,"alt":"Project overview page CodeZero","href":null,"updatedAt":"2026-03-25T11:05:42.234Z","createdAt":"2026-03-25T11:05:42.234Z","url":"/api/media/file/Project_Overview_Feature.png","thumbnailURL":null,"filename":"Project_Overview_Feature.png","mimeType":"image/png","filesize":330250,"width":2940,"height":1666,"focalX":50,"focalY":50},"bulletPoints":["Projects"],"link":{"label":"Learn more about projects","url":"/blog/project-feature"}},{"id":"69d640b83e7629373fbcd897","label":"Manage your employees and grant permissions","title":"Manage your employees and grant permissions","description":"Empower your team with CodeZero’s robust Member Management. Learn how to onboard users, assign fine-grained roles, and secure your automation workflows through intuitive, enterprise-grade access control.","image":{"id":31,"alt":"Member overview page CodeZero","href":null,"updatedAt":"2026-03-25T11:13:20.805Z","createdAt":"2026-03-25T11:13:20.805Z","url":"/api/media/file/Member_Overview_Page.png","thumbnailURL":null,"filename":"Member_Overview_Page.png","mimeType":"image/png","filesize":390811,"width":2940,"height":1668,"focalX":50,"focalY":50},"bulletPoints":["team","permission management"],"link":{"label":"Learn more about teams","url":"/blog/member-management-feature"}},{"id":"69d640b83e7629373fbcd898","label":"Your data stays your data","title":"Your data stays your data","description":"With our different available deployment options you can choose weither your workflows are executed within your infrastructure or our cloud solution.","image":{"id":24,"alt":"Runtime overview page CodeZero","href":null,"updatedAt":"2026-03-25T11:53:05.308Z","createdAt":"2026-03-25T11:53:05.307Z","url":"/api/media/file/Runtime_Overview_Page.png","thumbnailURL":null,"filename":"Runtime_Overview_Page.png","mimeType":"image/png","filesize":333824,"width":2940,"height":1668,"focalX":50,"focalY":50},"bulletPoints":["Deployment","Your data","Infrastructure"],"link":{"label":"Learn more about deployment","url":"/blog/runtime-type-feature"}},{"id":"69d640b83e7629373fbcd899","label":"No need to hire costly developers any more.","title":"No need to hire costly developers any more.","description":"With CodeZero everyone is able to build complex workflows and integrate them into your already existing infrastructure. Integrate AI or complex end-to-end automations into your business processes.","image":{"id":25,"alt":"Flow builder nodes feature CodeZero","href":null,"updatedAt":"2026-03-25T11:38:02.809Z","createdAt":"2026-03-25T11:38:02.809Z","url":"/api/media/file/Flow_Builder_Nodes_Feature.png","thumbnailURL":null,"filename":"Flow_Builder_Nodes_Feature.png","mimeType":"image/png","filesize":407177,"width":2940,"height":1666,"focalX":50,"focalY":50},"bulletPoints":["Automations","End-to-End automations","AI integration","Reduce costs"],"link":{"label":"Learn more about our workflow builder","url":"/blog/flow-builder-node-feature"}}],"blockType":"editionFeatures"},{"id":"69ce96d2637549b1ff2ac713","heading":"How to install","subheading":"Simply clone the latest release from our GitHub repository and adjust your initial credentials and select the Community Edition. For more information visit our documentation page under docs.code0.tech.","label":"Install","code":"git clone --branch 0.0.0-canary-2356067148-c06e576791513b10dbcb10aa3b0420b87178a205 https://github.com/code0-tech/codezero.git\ncd codezero/docker-compose/\nnano .env //adjust your INITIAL_ROOT_PASSWORD and INITIAL_ROOT_MAIL and select IMAGE_EDITION as ce\ndocker compose up -d","blockName":null,"blockType":"editionInstall"},{"id":"69cea8fdd0cd360346d128fa","heading":"Realise your private project for free without coding","subheading":"Automate your smart home, build chatbots or just play around. Every great idea starts at zero. Start with CodeZero.","blockName":null,"blockType":"cta","ctaLink":{"label":"Self-host our first beta release","url":"https://github.com/code0-tech/codezero/releases/tag/0.0.0-canary-2356067148-c06e576791513b10dbcb10aa3b0420b87178a205"}}],"de":[{"id":"69d66ba412a3ce145f9eccce","heading":"Realise your private project for free without coding","imageAlt":"Community Edition Preview","blockName":null,"texts":[{"id":"69d66ba412a3ce145f9ecccc","text":"Automate your smart home, build chatbots or just play around. Every great idea starts at zero. Start with CodeZero."}],"buttons":[{"id":"69d66ba412a3ce145f9ecccd","label":"Self-host our first beta release","url":"https://github.com/code0-tech/codezero/releases/tag/0.0.0-canary-2356067148-c06e576791513b10dbcb10aa3b0420b87178a205","variant":"normal"}],"blockType":"editionHero"},{"id":"69d66ba412a3ce145f9eccd3","blockName":"feature 1","features":[{"id":"69d66ba412a3ce145f9ecccf","label":"Manage your workflows within projects","title":"Manage your workflows within projects","description":"Streamline your automation management with CodeZero Projects. Learn how to organize workflows, manage team roles, and scale your business logic within a secure, modular workspace designed for enterprise-grade orchestration.","image":{"id":35,"alt":"Project overview page CodeZero","href":null,"updatedAt":"2026-03-25T11:05:42.234Z","createdAt":"2026-03-25T11:05:42.234Z","url":"/api/media/file/Project_Overview_Feature.png","thumbnailURL":null,"filename":"Project_Overview_Feature.png","mimeType":"image/png","filesize":330250,"width":2940,"height":1666,"focalX":50,"focalY":50},"bulletPoints":["Projects"],"link":{"label":"Learn more about projects","url":"/blog/project-feature"}},{"id":"69d66ba412a3ce145f9eccd0","label":"Manage your employees and grant permissions","title":"Manage your employees and grant permissions","description":"Empower your team with CodeZero’s robust Member Management. Learn how to onboard users, assign fine-grained roles, and secure your automation workflows through intuitive, enterprise-grade access control.","image":{"id":31,"alt":"Member overview page CodeZero","href":null,"updatedAt":"2026-03-25T11:13:20.805Z","createdAt":"2026-03-25T11:13:20.805Z","url":"/api/media/file/Member_Overview_Page.png","thumbnailURL":null,"filename":"Member_Overview_Page.png","mimeType":"image/png","filesize":390811,"width":2940,"height":1668,"focalX":50,"focalY":50},"bulletPoints":["team","permission management"],"link":{"label":"Learn more about teams","url":"/blog/member-management-feature"}},{"id":"69d66ba412a3ce145f9eccd1","label":"Your data stays your data","title":"Your data stays your data","description":"With our different available deployment options you can choose weither your workflows are executed within your infrastructure or our cloud solution.","image":{"id":24,"alt":"Runtime overview page CodeZero","href":null,"updatedAt":"2026-03-25T11:53:05.308Z","createdAt":"2026-03-25T11:53:05.307Z","url":"/api/media/file/Runtime_Overview_Page.png","thumbnailURL":null,"filename":"Runtime_Overview_Page.png","mimeType":"image/png","filesize":333824,"width":2940,"height":1668,"focalX":50,"focalY":50},"bulletPoints":["Deployment","Your data","Infrastructure"],"link":{"label":"Learn more about deployment","url":"/blog/runtime-type-feature"}},{"id":"69d66ba412a3ce145f9eccd2","label":"No need to hire costly developers any more.","title":"No need to hire costly developers any more.","description":"With CodeZero everyone is able to build complex workflows and integrate them into your already existing infrastructure. Integrate AI or complex end-to-end automations into your business processes.","image":{"id":25,"alt":"Flow builder nodes feature CodeZero","href":null,"updatedAt":"2026-03-25T11:38:02.809Z","createdAt":"2026-03-25T11:38:02.809Z","url":"/api/media/file/Flow_Builder_Nodes_Feature.png","thumbnailURL":null,"filename":"Flow_Builder_Nodes_Feature.png","mimeType":"image/png","filesize":407177,"width":2940,"height":1666,"focalX":50,"focalY":50},"bulletPoints":["Automations","End-to-End automations","AI integration","Reduce costs"],"link":{"label":"Learn more about our workflow builder","url":"/blog/flow-builder-node-feature"}}],"blockType":"editionFeatures"},{"id":"69d66ba412a3ce145f9eccd4","heading":"How to install","subheading":"Simply clone the latest release from our GitHub repository and adjust your initial credentials and select the Community Edition. For more information visit our documentation page under docs.code0.tech.","label":"Install","code":"git clone --branch 0.0.0-canary-2356067148-c06e576791513b10dbcb10aa3b0420b87178a205 https://github.com/code0-tech/codezero.git\ncd codezero/docker-compose/\nnano .env //adjust your INITIAL_ROOT_PASSWORD and INITIAL_ROOT_MAIL and select IMAGE_EDITION as ce\ndocker compose up -d","blockName":null,"blockType":"editionInstall"},{"id":"69d66ba412a3ce145f9eccd5","heading":"Realise your private project for free without coding","subheading":"Automate your smart home, build chatbots or just play around. Every great idea starts at zero. Start with CodeZero.","blockName":null,"blockType":"cta","ctaLink":{"label":"Self-host our first beta release","url":"https://github.com/code0-tech/codezero/releases/tag/0.0.0-canary-2356067148-c06e576791513b10dbcb10aa3b0420b87178a205"}}]},"meta":{"title":{"en":"Realise your private project for free without coding","de":"Realise your private project for free without coding"},"description":{"en":"Build free automations without coding. Use CodeZero Community Edition for smart homes, chatbots, and more. Self-host our first beta release today.","de":"Build free automations without coding. Use CodeZero Community Edition for smart homes, chatbots, and more. Self-host our first beta release today."},"image":{"en":{"id":21,"alt":"Code0 OG Image","href":null,"updatedAt":"2026-03-26T18:45:03.880Z","createdAt":"2026-03-26T18:45:03.880Z","url":"/api/media/file/og-image.png","thumbnailURL":null,"filename":"og-image.png","mimeType":"image/png","filesize":1003908,"width":1920,"height":1080,"focalX":50,"focalY":50},"de":{"id":21,"alt":"Code0 OG Image","href":null,"updatedAt":"2026-03-26T18:45:03.880Z","createdAt":"2026-03-26T18:45:03.880Z","url":"/api/media/file/og-image.png","thumbnailURL":null,"filename":"og-image.png","mimeType":"image/png","filesize":1003908,"width":1920,"height":1080,"focalX":50,"focalY":50}}},"updatedAt":"2026-04-25T21:22:23.046Z","createdAt":"2026-04-02T14:17:27.836Z"},{"id":3,"title":{"en":"Get to know the team behind CodeZero","de":"Get to know the team behind CodeZero"},"slug":"about-us","layout":{"en":[{"id":"69b25d3a2b47cb300d5a3116","content":{"root":{"type":"root","format":"","indent":0,"version":1,"children":[{"tag":"h1","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"About us","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"At CodeZero, we are reimagining the way organizations build, manage, and scale process automation. Founded in October 2023, our mission is to provide an open-source framework that bridges the gap between high-level orchestration and sovereign technical execution. We believe that automation should be modular, extensible, and above all, owned by the people who build it.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Our Story","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Our journey began in late 2023 with a vision to move beyond the limitations of closed-source automation tools. We recognized a growing need for a platform that allows businesses to maintain total data sovereignty while benefiting from a modern, cloud-native user interface. From our headquarters in Solingen, Germany, we have developed a hybrid architecture that empowers teams to keep their sensitive logic on-premise while leveraging powerful global management tools.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"The Team Behind the Vision","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"We are a dedicated team of eight specialists distributed across Germany. Our diverse backgrounds in software engineering, system architecture, and product design allow us to approach automation from multiple angles. While our physical roots are in Solingen, our collaborative spirit spans the entire country, reflecting the same decentralized and flexible nature of the CodeZero platform itself.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Our Philosophy","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"The core of our philosophy is modularity. We designed CodeZero to be a \"living\" system where every component, from the Sagittarius backend to the Taurus execution engine, can be scaled independently. By providing a robust Action SDK, we invite our community to extend the platform beyond its original scope, ensuring that CodeZero remains at the cutting edge of technological innovation.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Built with Passion","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"CodeZero is more than just a software project for us. It is a commitment to the open-source community and a testament to what a small, focused team can achieve when driven by a shared goal. We are constantly evolving our system to help organizations of all sizes turn complex business logic into seamless, automated reality.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0}],"direction":null}},"blockName":null,"blockType":"markdown"}],"de":[{"id":"69d66bb912a3ce145f9eccd6","content":{"root":{"type":"root","format":"","indent":0,"version":1,"children":[{"tag":"h1","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"About us","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"At CodeZero, we are reimagining the way organizations build, manage, and scale process automation. Founded in October 2023, our mission is to provide an open-source framework that bridges the gap between high-level orchestration and sovereign technical execution. We believe that automation should be modular, extensible, and above all, owned by the people who build it.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Our Story","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Our journey began in late 2023 with a vision to move beyond the limitations of closed-source automation tools. We recognized a growing need for a platform that allows businesses to maintain total data sovereignty while benefiting from a modern, cloud-native user interface. From our headquarters in Solingen, Germany, we have developed a hybrid architecture that empowers teams to keep their sensitive logic on-premise while leveraging powerful global management tools.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"The Team Behind the Vision","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"We are a dedicated team of eight specialists distributed across Germany. Our diverse backgrounds in software engineering, system architecture, and product design allow us to approach automation from multiple angles. While our physical roots are in Solingen, our collaborative spirit spans the entire country, reflecting the same decentralized and flexible nature of the CodeZero platform itself.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Our Philosophy","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"The core of our philosophy is modularity. We designed CodeZero to be a \"living\" system where every component, from the Sagittarius backend to the Taurus execution engine, can be scaled independently. By providing a robust Action SDK, we invite our community to extend the platform beyond its original scope, ensuring that CodeZero remains at the cutting edge of technological innovation.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Built with Passion","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"CodeZero is more than just a software project for us. It is a commitment to the open-source community and a testament to what a small, focused team can achieve when driven by a shared goal. We are constantly evolving our system to help organizations of all sizes turn complex business logic into seamless, automated reality.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0}],"direction":null}},"blockName":null,"blockType":"markdown"}]},"meta":{"title":{"en":"Get to know the team behind CodeZero","de":"Get to know the team behind CodeZero"},"description":{"en":"Meet the team behind CodeZero. We provide an open-source framework for sovereign, modular, and scalable workflow and process automation from Germany.","de":"Meet the team behind CodeZero. We provide an open-source framework for sovereign, modular, and scalable workflow and process automation from Germany."},"image":{"en":{"id":21,"alt":"Code0 OG Image","href":null,"updatedAt":"2026-03-26T18:45:03.880Z","createdAt":"2026-03-26T18:45:03.880Z","url":"/api/media/file/og-image.png","thumbnailURL":null,"filename":"og-image.png","mimeType":"image/png","filesize":1003908,"width":1920,"height":1080,"focalX":50,"focalY":50},"de":{"id":21,"alt":"Code0 OG Image","href":null,"updatedAt":"2026-03-26T18:45:03.880Z","createdAt":"2026-03-26T18:45:03.880Z","url":"/api/media/file/og-image.png","thumbnailURL":null,"filename":"og-image.png","mimeType":"image/png","filesize":1003908,"width":1920,"height":1080,"focalX":50,"focalY":50}}},"updatedAt":"2026-04-25T21:22:23.092Z","createdAt":"2026-02-18T15:48:06.272Z"},{"id":4,"title":{"en":"Terms","de":"Terms"},"slug":"terms","layout":{"en":[{"id":"6995de5f09329cbf85efcb37","content":{"root":{"type":"root","format":"","indent":0,"version":1,"children":[{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Test","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0}],"direction":null}},"blockName":null,"blockType":"markdown"}],"de":[{"id":"69d66bd312a3ce145f9eccd7","content":{"root":{"type":"root","format":"","indent":0,"version":1,"children":[{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Test","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0}],"direction":null}},"blockName":null,"blockType":"markdown"}]},"meta":{"title":{"en":"Terms","de":"Terms"},"description":{"en":null,"de":null},"image":{"en":null,"de":null}},"updatedAt":"2026-04-25T21:22:23.126Z","createdAt":"2026-02-18T15:44:37.032Z"},{"id":5,"title":{"en":"Privacy","de":"Privatsphäre"},"slug":"privacy","layout":{"en":[{"id":"6995de4b09329cbf85efcb35","content":{"root":{"type":"root","format":"","indent":0,"version":1,"children":[{"tag":"h1","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Privacy Policy","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Last updated: February 18th 2026, 4:44 PM","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"1. Controller","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"The controller responsible for data processing on this website is:","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Code0 UG (haftungsbeschränkt) i.G.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Grünewalder Str. 29-31","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"c/o Gründer- & Technologiezentrum, Haus 4","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"42657 Solingen","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"type":"autolink","fields":{"url":"mailto:nsammito@code0.tech","linkType":"custom"},"format":"","indent":0,"version":2,"children":[{"mode":"normal","text":"nsammito@code0.tech","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null}],"direction":null,"textStyle":"","textFormat":0},{"type":"paragraph","format":"","indent":0,"version":1,"children":[],"direction":null,"textStyle":"","textFormat":0},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Managing Directors: Nico Sammito, Raphael Arun Götz","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"2. General Information","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"We take the protection of your personal data seriously. This Privacy Policy explains what data we collect, how we use it, and your rights under applicable data protection laws, including the General Data Protection Regulation (GDPR).","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"3. Data We Collect","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"We may collect and process the following personal data:","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h3","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"a) When visiting the website","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"tag":"ul","type":"list","start":1,"format":"","indent":0,"version":1,"children":[{"type":"listitem","value":1,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"IP address","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":2,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Browser type and version","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":3,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Operating system","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":4,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Referrer URL","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":5,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Date and time of access","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null}],"listType":"bullet","direction":null},{"tag":"h3","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"b) Contact form","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"When you contact us via our contact form, we collect:","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"ul","type":"list","start":1,"format":"","indent":0,"version":1,"children":[{"type":"listitem","value":1,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Name","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":2,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Email address","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":3,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Message content","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null}],"listType":"bullet","direction":null},{"tag":"h3","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"c) Application form","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"When you submit a job application, we collect:","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"ul","type":"list","start":1,"format":"","indent":0,"version":1,"children":[{"type":"listitem","value":1,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Name","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":2,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Email address","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":3,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Message content","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":4,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Desired position","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null}],"listType":"bullet","direction":null},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"4. Purpose of Processing","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"We process your data for the following purposes:","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"ul","type":"list","start":1,"format":"","indent":0,"version":1,"children":[{"type":"listitem","value":1,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"To provide and maintain our website","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":2,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"To respond to inquiries","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":3,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"To process job applications","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":4,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"To analyze website usage and improve our services","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null}],"listType":"bullet","direction":null},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"5. Legal Basis","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"We process personal data based on the following legal grounds:","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"ul","type":"list","start":1,"format":"","indent":0,"version":1,"children":[{"type":"listitem","value":1,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Art. 6(1)(a) GDPR (consent)","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":2,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Art. 6(1)(b) GDPR (performance of a contract or pre-contractual measures)","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":3,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Art. 6(1)(f) GDPR (legitimate interests, e.g., website security and analytics)","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null}],"listType":"bullet","direction":null},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"6. Analytics and Tracking","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"We use **Google Analytics**, a web analytics service provided by Google, to understand how users interact with our website.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Google Analytics uses cookies and similar technologies to collect information such as:","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"ul","type":"list","start":1,"format":"","indent":0,"version":1,"children":[{"type":"listitem","value":1,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Pages visited","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":2,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Time spent on the website","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":3,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Interaction data","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null}],"listType":"bullet","direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"We also use **Google Search Console** to monitor and maintain our website’s presence in Google search results.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Data may be transferred to servers outside the EU. We rely on appropriate safeguards such as Standard Contractual Clauses where applicable.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"You can prevent the collection of your data by Google Analytics by using a browser plugin or adjusting your cookie preferences.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"7. Social Media Links","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Our website contains links to external social media platforms, including:","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"ul","type":"list","start":1,"format":"","indent":0,"version":1,"children":[{"type":"listitem","value":1,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"GitHub","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":2,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Instagram","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":3,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"X (formerly Twitter)","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":4,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"YouTube","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":5,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Discord","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null}],"listType":"bullet","direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"When you click on these links, you will be redirected to the respective platform. These platforms may collect personal data independently. Please refer to their respective privacy policies for more information.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"8. Data Sharing","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"We do not sell your personal data. We only share data with third parties when necessary, such as:","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"ul","type":"list","start":1,"format":"","indent":0,"version":1,"children":[{"type":"listitem","value":1,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Service providers (e.g., hosting providers)","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":2,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Analytics providers (e.g., Google)","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null}],"listType":"bullet","direction":null},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"9. Data Retention","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"We retain personal data only for as long as necessary:","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"ul","type":"list","start":1,"format":"","indent":0,"version":1,"children":[{"type":"listitem","value":1,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Contact inquiries: until resolved","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":2,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Application data: typically up to 6 months after the application process ends, unless consent for longer storage is given","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":3,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Technical data: according to operational necessity","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null}],"listType":"bullet","direction":null},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"10. Your Rights","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Under GDPR, you have the following rights:","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"ul","type":"list","start":1,"format":"","indent":0,"version":1,"children":[{"type":"listitem","value":1,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Right of access (Art. 15 GDPR)","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":2,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Right to rectification (Art. 16 GDPR)","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":3,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Right to erasure (Art. 17 GDPR)","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":4,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Right to restriction of processing (Art. 18 GDPR)","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":5,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Right to data portability (Art. 20 GDPR)","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"listitem","value":6,"format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Right to object (Art. 21 GDPR)","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null}],"listType":"bullet","direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"You also have the right to withdraw consent at any time.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"11. Right to Lodge a Complaint","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"You have the right to lodge a complaint with a supervisory authority if you believe your data is being processed unlawfully.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"12. Security Measures","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"We implement appropriate technical and organizational measures to protect your data against unauthorized access, loss, or destruction.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"13. Changes to This Privacy Policy","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"We may update this Privacy Policy from time to time. The latest version will always be available on this page.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"tag":"h2","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"14. Contact","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"If you have any questions about this Privacy Policy, please contact us at:","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"type":"autolink","fields":{"url":"mailto:nsammito@code0.tech","linkType":"custom"},"format":"","indent":0,"version":2,"children":[{"mode":"normal","text":"nsammito@code0.tech","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null}],"direction":null,"textStyle":"","textFormat":0}],"direction":null}},"blockName":null,"blockType":"markdown"}]},"meta":{"title":{"en":"Privacy","de":"Privatsphäre"},"description":{"en":null,"de":null},"image":{"en":null,"de":null}},"updatedAt":"2026-04-25T21:22:23.164Z","createdAt":"2026-02-18T15:44:04.849Z"},{"id":6,"title":{"en":"Legal Notice","de":"Legal Notice"},"slug":"legal-notice","layout":{"en":[{"id":"6995de1509329cbf85efcb33","content":{"root":{"type":"root","format":"","indent":0,"version":1,"children":[{"tag":"h1","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Legal Notice","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Code0 UG (haftungsbeschränkt) i.G.","type":"text","style":"","detail":0,"format":0,"version":1},{"type":"linebreak","version":1},{"type":"linebreak","version":1},{"mode":"normal","text":"Grünewalder Str. 29-31","type":"text","style":"","detail":0,"format":0,"version":1},{"type":"linebreak","version":1},{"mode":"normal","text":"c/o Gründer- & Technologiezentrum, Haus 4","type":"text","style":"","detail":0,"format":0,"version":1},{"type":"linebreak","version":1},{"mode":"normal","text":"42657 Solingen","type":"text","style":"","detail":0,"format":0,"version":1},{"type":"linebreak","version":1},{"type":"autolink","fields":{"url":"mailto:nsammito@code0.tech","linkType":"custom"},"format":"","indent":0,"version":2,"children":[{"mode":"normal","text":"nsammito@code0.tech","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"mode":"normal","text":" ","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Managing Directors: Nico Sammito, Raphael Arun Götz","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"We are neither obligated nor willing to participate in dispute resolution proceedings before a consumer arbitration board.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0}],"direction":null}},"blockName":null,"blockType":"markdown"}],"de":[{"id":"69d66be112a3ce145f9eccd8","content":{"root":{"type":"root","format":"","indent":0,"version":1,"children":[{"tag":"h1","type":"heading","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Legal Notice","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Code0 UG (haftungsbeschränkt) i.G.","type":"text","style":"","detail":0,"format":0,"version":1},{"type":"linebreak","version":1},{"type":"linebreak","version":1},{"mode":"normal","text":"Grünewalder Str. 29-31","type":"text","style":"","detail":0,"format":0,"version":1},{"type":"linebreak","version":1},{"mode":"normal","text":"c/o Gründer- & Technologiezentrum, Haus 4","type":"text","style":"","detail":0,"format":0,"version":1},{"type":"linebreak","version":1},{"mode":"normal","text":"42657 Solingen","type":"text","style":"","detail":0,"format":0,"version":1},{"type":"linebreak","version":1},{"type":"autolink","fields":{"url":"mailto:nsammito@code0.tech","linkType":"custom"},"format":"","indent":0,"version":2,"children":[{"mode":"normal","text":"nsammito@code0.tech","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null},{"mode":"normal","text":" ","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"Managing Directors: Nico Sammito, Raphael Arun Götz","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0},{"type":"paragraph","format":"","indent":0,"version":1,"children":[{"mode":"normal","text":"We are neither obligated nor willing to participate in dispute resolution proceedings before a consumer arbitration board.","type":"text","style":"","detail":0,"format":0,"version":1}],"direction":null,"textStyle":"","textFormat":0}],"direction":null}},"blockName":null,"blockType":"markdown"}]},"meta":{"title":{"en":"Legal Notice","de":"Legal Notice"},"description":{"en":null,"de":null},"image":{"en":null,"de":null}},"updatedAt":"2026-04-25T21:22:23.198Z","createdAt":"2026-02-18T15:43:24.547Z"},{"id":7,"title":{"en":"Get in touch with us for workflow automation solutions","de":"Get in touch with us for workflow automation solutions"},"slug":"contact","meta":{"title":{"en":"Get in touch with us for workflow automation solutions","de":"Get in touch with us for workflow automation solutions"},"description":{"en":"Have questions about CodeZero? Contact our team for a demo, partnerships or support. Let’s discuss how to scale your business with automation.","de":"Have questions about CodeZero? Contact our team for a demo, partnerships or support. Let’s discuss how to scale your business with automation."},"image":{"en":null,"de":null}},"updatedAt":"2026-04-25T21:22:23.229Z","createdAt":"2026-02-18T15:42:54.620Z","layout":[]},{"id":8,"title":{"en":"Jobs","de":"Jobs"},"slug":"jobs","layout":{"en":[{"id":"6990a95041fa90fc8d755daf","heading":"Join Our Team","searchPlaceholder":"Search jobs","allLocationsLabel":"All locations","allJobTypesLabel":"All job types","allCategoriesLabel":"All categories","noJobsFoundLabel":"No jobs found for your filter.","applicationHeading":"Apply now","applicationNameLabel":"Name","applicationNamePlaceholder":"Your name","applicationEmailLabel":"Email","applicationEmailPlaceholder":"you@example.com","applicationMessageLabel":"Message","applicationMessagePlaceholder":"Tell us a bit about yourself...","applicationSubmitLabel":"Send application","blockName":null,"blockType":"jobs"}],"de":[{"id":"6990a91c41fa90fc8d755dad","heading":"Trete unserem Team bei","searchPlaceholder":"Suche Jobs","allLocationsLabel":"Alle Orte","allJobTypesLabel":"Alle Typen","allCategoriesLabel":"Alle Kategorien","noJobsFoundLabel":"Keine Jobs für diesen Filter gefunden.","applicationHeading":"Apply now","applicationNameLabel":"Name","applicationNamePlaceholder":"Your name","applicationEmailLabel":"Email","applicationEmailPlaceholder":"you@example.com","applicationMessageLabel":"Message","applicationMessagePlaceholder":"Tell us a bit about yourself...","applicationSubmitLabel":"Send application","blockName":null,"blockType":"jobs"}]},"meta":{"title":{"en":"Jobs","de":"Jobs"},"description":{"en":null,"de":null},"image":{"en":null,"de":null}},"updatedAt":"2026-04-25T21:22:23.264Z","createdAt":"2026-02-14T16:56:39.430Z"},{"id":9,"title":{"en":"Open-Source No-Code Automation & AI Orchestration","de":"Open-Source No-Code Automation & AI Orchestration"},"slug":"main","layout":{"en":[{"id":"6990a5be6ae95b3dc93760fc","badge":"0.0.0-canary-2479774825","badge_link":"https://github.com/code0-tech/codezero/releases/tag/0.0.0-canary-2479774825-5f30e1cf348478a20d0d708f31e863f5e521b368","heading":"Every great idea starts at zero. Start with CodeZero.","blockName":null,"texts":[{"id":"6990a5dc6ae95b3dc93760fe","text":"The automation world gets to the next era with the CodeZero's no-code platform."},{"id":"6990a5e66ae95b3dc9376100","text":"From end-to-end automation to scalable backend endpoints in no-time."}],"buttons":[{"id":"6990a5f06ae95b3dc9376102","label":"Read the docs","url":"https://docs.code0.tech","variant":"normal"},{"id":"6990a5fe6ae95b3dc9376104","label":"Start building","url":"https://docs.code0.tech","variant":"filled"}],"blockType":"hero"},{"id":"6990a60d6ae95b3dc9376106","description":"Our partners or developed extensions by us","blockName":null,"logos":[{"id":"699ed8115b5164abdccf58c9","logo":{"id":18,"alt":"GLS X CodeZero","href":"https://www.gls-pakete.de","updatedAt":"2026-04-08T10:00:51.022Z","createdAt":"2026-04-08T10:00:51.022Z","url":"/api/media/file/gls.svg","thumbnailURL":null,"filename":"gls.svg","mimeType":"image/svg+xml","filesize":4020,"width":24,"height":24,"focalX":null,"focalY":null}},{"id":"69d6251b1dece12ba2e2ad37","logo":{"id":20,"alt":"SAP X CodeZero","href":"https://www.sap.com","updatedAt":"2026-04-08T09:52:16.320Z","createdAt":"2026-04-08T09:52:16.320Z","url":"/api/media/file/sap.svg","thumbnailURL":null,"filename":"sap.svg","mimeType":"image/svg+xml","filesize":1027,"width":24,"height":24,"focalX":null,"focalY":null}},{"id":"69d627091dece12ba2e2ad39","logo":{"id":19,"alt":"Notion X CodeZero","href":"https://www.notion.com","updatedAt":"2026-04-08T10:00:05.824Z","createdAt":"2026-04-08T10:00:05.823Z","url":"/api/media/file/notion.svg","thumbnailURL":null,"filename":"notion.svg","mimeType":"image/svg+xml","filesize":978,"width":24,"height":24,"focalX":null,"focalY":null}},{"id":"69d627281dece12ba2e2ad3b","logo":{"id":17,"alt":"Google Gemini X CodeZero","href":"https://gemini.google.com","updatedAt":"2026-04-08T10:01:35.607Z","createdAt":"2026-04-08T10:01:35.607Z","url":"/api/media/file/googlegemini.png","thumbnailURL":null,"filename":"googlegemini.png","mimeType":"image/png","filesize":20166,"width":640,"height":640,"focalX":50,"focalY":50}}],"blockType":"brand"},{"id":"6990a6186ae95b3dc9376108","blockName":null,"useCases":[{"id":"6990a61b6ae95b3dc937610a","label":"Logistic automation","title":"Logistic automation","description":"Streamline your shipping operations by bridging the gap between your systems and GLS. Our automation layer eliminates manual data entry, reduces human error, and ensures a frictionless flow from order to delivery.","image":{"id":37,"alt":"Logistic automation workflow GLS CodeZero","href":null,"updatedAt":"2026-03-25T10:05:48.175Z","createdAt":"2026-03-25T10:05:48.175Z","url":"/api/media/file/Logistic_Use-Case-1.png","thumbnailURL":null,"filename":"Logistic_Use-Case-1.png","mimeType":"image/png","filesize":113308,"width":1920,"height":1080,"focalX":50,"focalY":50},"bulletPoints":["Automated Label Generation","Real-Time Status Sync","Error-Resistant Workflows"],"link":{"label":"Learn more","url":"/blog/smart-logistic-use-case"}},{"id":"6990a62f6ae95b3dc937610c","label":"Chatbot building","title":"Chatbot building","description":"Turn your Discord server into a powerful automated hub. Build custom bots without writing a single line of code, enabling you to manage your community, automate moderation, and integrate third-party data seamlessly.","image":{"id":38,"alt":"Discord bot automation CodeZero","href":null,"updatedAt":"2026-03-25T10:05:48.152Z","createdAt":"2026-03-25T10:05:48.152Z","url":"/api/media/file/Chatbot_Use-Case-1.png","thumbnailURL":null,"filename":"Chatbot_Use-Case-1.png","mimeType":"image/png","filesize":74140,"width":1920,"height":1080,"focalX":50,"focalY":50},"bulletPoints":["Visual Bot Builder","Intelligent Automation","Deep Integrations"],"link":{"label":"Learn more","url":"/blog/smart-chatbots-use-case"}},{"id":"6990a6396ae95b3dc937610e","label":"AI automation and integration","title":"AI automation and integration","description":"Build sophisticated AI agents without being locked into a single ecosystem. Select your preferred LLM, define your system prompts, and extend its capabilities by attaching any MCP-compatible tools to create a seamless, automated workflow.","image":{"id":39,"alt":"AI Use Case ChatGPT MCP Claude CodeZero","href":null,"updatedAt":"2026-03-25T10:05:48.123Z","createdAt":"2026-03-25T10:05:48.123Z","url":"/api/media/file/AI_Use-Case-1.png","thumbnailURL":null,"filename":"AI_Use-Case-1.png","mimeType":"image/png","filesize":126673,"width":1920,"height":1080,"focalX":50,"focalY":50},"bulletPoints":["Model Agnostic","MCP Tool Integration","Complex Flow Logic"],"link":{"label":"Learn more","url":"/blog/smart-ai-agents-use-case"}}],"blockType":"usecase"},{"id":"6990a6566ae95b3dc9376110","blockName":null,"items":[{"id":"6990a6596ae95b3dc9376112","question":"How does CodeZero work?","answer":"CodeZero allows you to build complex automations and backend logic through a visual interface without writing code."},{"id":"6990a6706ae95b3dc9376114","question":"Can i deploy my project anywhere?","answer":"Yes, CodeZero projects can be deployed on various environments including cloud providers."},{"id":"6990a6806ae95b3dc9376116","question":"Is there a free version?","answer":"Yes, we offer a free plan and also a community edition license to explore the core features."}],"blockType":"faq"},{"id":"6990a6906ae95b3dc9376118","heading":"Build better automations with CodeZero","subheading":"The automation world gets to the next era with the CodeZero's no-code platform. From end-to-end automation to scalable backend endpoints in no-time.","blockName":null,"blockType":"cta","ctaLink":{"label":"Start building","url":"https://docs.code0.tech"}},{"id":"6997f08e25746cbd0f1e4153","cloudTitle":"Cloud Hosting","cloudDescription":"Get started in minutes with our managed cloud setup. Updates, scaling, and monitoring are built in.","selfhostTitle":"Self-Hosting","selfhostDescription":"Run CodeZero on your own infrastructure with full control over data, security, and deployment workflows.","dynamicTitle":"Dynamic-Hosting","dynamicDescription":"Run CodeZero's workflow execution on your own infrastructure with full control over data, security, and deployment workflows and use our cloud as the editor.","blockName":null,"blockType":"deployment","cloudLink":{"label":"","url":""},"selfhostLink":{"label":"","url":""},"dynamicLink":{"label":"","url":""}}],"de":[{"id":"69ed3168710d46295a4828e9","badge":"0.0.0-canary-2479774825","badge_link":"https://github.com/code0-tech/codezero/releases/tag/0.0.0-canary-2479774825-5f30e1cf348478a20d0d708f31e863f5e521b368","heading":"Every great idea starts at zero. Start with CodeZero.","blockName":null,"texts":[{"id":"69ed3168710d46295a4828e5","text":"The automation world gets to the next era with the CodeZero's no-code platform."},{"id":"69ed3168710d46295a4828e6","text":"From end-to-end automation to scalable backend endpoints in no-time."}],"buttons":[{"id":"69ed3168710d46295a4828e7","label":"Read the docs","url":"https://docs.code0.tech","variant":"normal"},{"id":"69ed3168710d46295a4828e8","label":"Start building","url":"https://docs.code0.tech","variant":"filled"}],"blockType":"hero"},{"id":"69ed3168710d46295a4828ee","description":"Our partners or developed extensions by us","blockName":null,"logos":[{"id":"69ed3168710d46295a4828ea","logo":{"id":18,"alt":"GLS X CodeZero","href":"https://www.gls-pakete.de","updatedAt":"2026-04-08T10:00:51.022Z","createdAt":"2026-04-08T10:00:51.022Z","url":"/api/media/file/gls.svg","thumbnailURL":null,"filename":"gls.svg","mimeType":"image/svg+xml","filesize":4020,"width":24,"height":24,"focalX":null,"focalY":null}},{"id":"69ed3168710d46295a4828eb","logo":{"id":20,"alt":"SAP X CodeZero","href":"https://www.sap.com","updatedAt":"2026-04-08T09:52:16.320Z","createdAt":"2026-04-08T09:52:16.320Z","url":"/api/media/file/sap.svg","thumbnailURL":null,"filename":"sap.svg","mimeType":"image/svg+xml","filesize":1027,"width":24,"height":24,"focalX":null,"focalY":null}},{"id":"69ed3168710d46295a4828ec","logo":{"id":19,"alt":"Notion X CodeZero","href":"https://www.notion.com","updatedAt":"2026-04-08T10:00:05.824Z","createdAt":"2026-04-08T10:00:05.823Z","url":"/api/media/file/notion.svg","thumbnailURL":null,"filename":"notion.svg","mimeType":"image/svg+xml","filesize":978,"width":24,"height":24,"focalX":null,"focalY":null}},{"id":"69ed3168710d46295a4828ed","logo":{"id":17,"alt":"Google Gemini X CodeZero","href":"https://gemini.google.com","updatedAt":"2026-04-08T10:01:35.607Z","createdAt":"2026-04-08T10:01:35.607Z","url":"/api/media/file/googlegemini.png","thumbnailURL":null,"filename":"googlegemini.png","mimeType":"image/png","filesize":20166,"width":640,"height":640,"focalX":50,"focalY":50}}],"blockType":"brand"},{"id":"69ed3168710d46295a4828f2","blockName":null,"useCases":[{"id":"69ed3168710d46295a4828ef","label":"Logistic automation","title":"Logistic automation","description":"Streamline your shipping operations by bridging the gap between your systems and GLS. Our automation layer eliminates manual data entry, reduces human error, and ensures a frictionless flow from order to delivery.","image":{"id":37,"alt":"Logistic automation workflow GLS CodeZero","href":null,"updatedAt":"2026-03-25T10:05:48.175Z","createdAt":"2026-03-25T10:05:48.175Z","url":"/api/media/file/Logistic_Use-Case-1.png","thumbnailURL":null,"filename":"Logistic_Use-Case-1.png","mimeType":"image/png","filesize":113308,"width":1920,"height":1080,"focalX":50,"focalY":50},"bulletPoints":["Automated Label Generation","Real-Time Status Sync","Error-Resistant Workflows"],"link":{"label":"Learn more","url":"/blog/smart-logistic-use-case"}},{"id":"69ed3168710d46295a4828f0","label":"Chatbot building","title":"Chatbot building","description":"Turn your Discord server into a powerful automated hub. Build custom bots without writing a single line of code, enabling you to manage your community, automate moderation, and integrate third-party data seamlessly.","image":{"id":38,"alt":"Discord bot automation CodeZero","href":null,"updatedAt":"2026-03-25T10:05:48.152Z","createdAt":"2026-03-25T10:05:48.152Z","url":"/api/media/file/Chatbot_Use-Case-1.png","thumbnailURL":null,"filename":"Chatbot_Use-Case-1.png","mimeType":"image/png","filesize":74140,"width":1920,"height":1080,"focalX":50,"focalY":50},"bulletPoints":["Visual Bot Builder","Intelligent Automation","Deep Integrations"],"link":{"label":"Learn more","url":"/blog/smart-chatbots-use-case"}},{"id":"69ed3168710d46295a4828f1","label":"AI automation and integration","title":"AI automation and integration","description":"Build sophisticated AI agents without being locked into a single ecosystem. Select your preferred LLM, define your system prompts, and extend its capabilities by attaching any MCP-compatible tools to create a seamless, automated workflow.","image":{"id":39,"alt":"AI Use Case ChatGPT MCP Claude CodeZero","href":null,"updatedAt":"2026-03-25T10:05:48.123Z","createdAt":"2026-03-25T10:05:48.123Z","url":"/api/media/file/AI_Use-Case-1.png","thumbnailURL":null,"filename":"AI_Use-Case-1.png","mimeType":"image/png","filesize":126673,"width":1920,"height":1080,"focalX":50,"focalY":50},"bulletPoints":["Model Agnostic","MCP Tool Integration","Complex Flow Logic"],"link":{"label":"Learn more","url":"/blog/smart-ai-agents-use-case"}}],"blockType":"usecase"},{"id":"69ed3168710d46295a4828f6","blockName":null,"items":[{"id":"69ed3168710d46295a4828f3","question":"How does CodeZero work?","answer":"CodeZero allows you to build complex automations and backend logic through a visual interface without writing code."},{"id":"69ed3168710d46295a4828f4","question":"Can i deploy my project anywhere?","answer":"Yes, CodeZero projects can be deployed on various environments including cloud providers."},{"id":"69ed3168710d46295a4828f5","question":"Is there a free version?","answer":"Yes, we offer a free plan and also a community edition license to explore the core features."}],"blockType":"faq"},{"id":"69ed3168710d46295a4828f7","heading":"Build better automations with CodeZero","subheading":"The automation world gets to the next era with the CodeZero's no-code platform. From end-to-end automation to scalable backend endpoints in no-time.","blockName":null,"blockType":"cta","ctaLink":{"label":"Start building","url":"https://docs.code0.tech"}},{"id":"69ed3168710d46295a4828f8","cloudTitle":"Cloud Hosting","cloudDescription":"Get started in minutes with our managed cloud setup. Updates, scaling, and monitoring are built in.","selfhostTitle":"Self-Hosting","selfhostDescription":"Run CodeZero on your own infrastructure with full control over data, security, and deployment workflows.","dynamicTitle":"Dynamic-Hosting","dynamicDescription":"Run CodeZero's workflow execution on your own infrastructure with full control over data, security, and deployment workflows and use our cloud as the editor.","blockName":null,"blockType":"deployment","cloudLink":{"label":"","url":""},"selfhostLink":{"label":"","url":""},"dynamicLink":{"label":"","url":""}}]},"meta":{"title":{"en":"Open-Source No-Code Automation & AI Orchestration","de":"Open-Source No-Code Automation & AI Orchestration"},"description":{"en":"Start with CodeZero to build scalable no-code automations. From logistics to custom chatbots, manage complex workflows with total data sovereignty.","de":"Start with CodeZero to build scalable no-code automations. From logistics to custom chatbots, manage complex workflows with total data sovereignty."},"image":{"en":{"id":21,"alt":"Code0 OG Image","href":null,"updatedAt":"2026-03-26T18:45:03.880Z","createdAt":"2026-03-26T18:45:03.880Z","url":"/api/media/file/og-image.png","thumbnailURL":null,"filename":"og-image.png","mimeType":"image/png","filesize":1003908,"width":1920,"height":1080,"focalX":50,"focalY":50},"de":{"id":21,"alt":"Code0 OG Image","href":null,"updatedAt":"2026-03-26T18:45:03.880Z","createdAt":"2026-03-26T18:45:03.880Z","url":"/api/media/file/og-image.png","thumbnailURL":null,"filename":"og-image.png","mimeType":"image/png","filesize":1003908,"width":1920,"height":1080,"focalX":50,"focalY":50}}},"updatedAt":"2026-04-25T21:26:00.403Z","createdAt":"2026-02-13T06:35:27.227Z"}] \ No newline at end of file diff --git a/export/roadmapItems.json b/export/roadmapItems.json deleted file mode 100644 index b4f7b6c..0000000 --- a/export/roadmapItems.json +++ /dev/null @@ -1 +0,0 @@ -[{"id":1,"time":{"en":"Q1 2026","de":"Q1 2026"},"title":{"en":"Partnership with logistic giant GLS","de":"Partnership with logistic giant GLS"},"description":{"en":"We're thrilled to be partnered with GLS to help customers world wide to automate their logistic processes.","de":"We're thrilled to be partnered with GLS to help customers world wide to automate their logistic processes."},"updatedAt":"2026-03-25T05:11:19.869Z","createdAt":"2026-03-25T05:11:19.869Z"},{"id":2,"time":{"en":"Q1 2026","de":"Q1 2026"},"title":{"en":"First canary release","de":"First canary release"},"description":{"en":"We've created our first test release to be able to get feedback from customers and our community.","de":"We've created our first test release to be able to get feedback from customers and our community."},"updatedAt":"2026-03-25T05:09:49.661Z","createdAt":"2026-03-25T05:09:49.660Z"},{"id":3,"time":{"en":"Q4 2025","de":"Q4 2025"},"title":{"en":"Preparation of first canary release","de":"Preparation of first canary release"},"description":{"en":"We've integrated a complex CI/CD setup to automatically create releases for our software.","de":"We've integrated a complex CI/CD setup to automatically create releases for our software."},"updatedAt":"2026-03-25T05:07:29.034Z","createdAt":"2026-03-25T05:07:29.034Z"},{"id":4,"time":{"en":"Q3 2024","de":"Q3 2024"},"title":{"en":"First UI concepts","de":"First UI concepts"},"description":{"en":"We've implemented our first own UI language and started to implement all core systems.","de":"We've implemented our first own UI language and started to implement all core systems."},"updatedAt":"2026-02-23T07:42:56.113Z","createdAt":"2026-02-23T07:42:56.113Z"},{"id":5,"time":{"en":"Q4 2023","de":"Q4 2023"},"title":{"en":"The idea was born","de":"The idea was born"},"description":{"en":"We started with a team of 3 developers building the next big all-in-one automation platform that really scales.","de":"We started with a team of 3 developers building the next big all-in-one automation platform that really scales."},"updatedAt":"2026-02-23T07:39:47.597Z","createdAt":"2026-02-23T07:39:47.597Z"}] \ No newline at end of file diff --git a/export/sections.json b/export/sections.json deleted file mode 100644 index f1fe4eb..0000000 --- a/export/sections.json +++ /dev/null @@ -1 +0,0 @@ -[{"id":1,"heading":{"en":"Deployment options","de":"Hosting Optionen"},"subheading":{"en":"We offer different options to host your CodeZero application.","de":"Wir bieten verschiedene Möglichkeiten deine CodeZero Applikation zu hosten."},"sectionType":"DeploymentSection","link_button":{"label":{"en":"","de":"Lerne mehr"},"url":""},"updatedAt":"2026-04-25T21:22:22.834Z","createdAt":"2026-02-20T05:25:00.144Z"},{"id":2,"heading":{"en":"Use cases","de":"Anwendungsfälle"},"subheading":{"en":"Discover the power of modular automation. From logistics to AI agents, connect your favorite tools and transform complex workflows into simple, automated processes.","de":"Das ist eine Beschreibung für mögliche Anwendungsfälle."},"sectionType":"UseCaseSection","link_button":{"label":{"en":"","de":"Mehr erfahren"},"url":""},"updatedAt":"2026-04-25T21:22:22.843Z","createdAt":"2026-02-13T06:29:55.464Z"},{"id":3,"heading":{"en":"Runtime and operations that scale","de":"Runtime und Betrieb, die mitwächst"},"subheading":{"en":"Launch flows in seconds, monitor load, and scale without downtime.","de":"Starte Flows in Sekunden, überwache Auslastung und skaliere ohne Downtime."},"sectionType":"RuntimeFeatureSection","link_button":{"label":{"en":"","de":"Lerne mehr"},"url":""},"updatedAt":"2026-04-25T21:22:22.851Z","createdAt":"2026-02-13T06:29:07.750Z"},{"id":4,"heading":{"en":"Our journey","de":"Unsere Reise"},"subheading":{"en":"What we've done so far to build the best automation builder on the current market.","de":"Was wir bisher gemacht haben um den besten Backend-Builder auf den Markt zu erstellen."},"sectionType":"RoadmapSection","link_button":{"label":{"en":null,"de":""},"url":null},"updatedAt":"2026-04-25T21:22:22.860Z","createdAt":"2026-02-13T06:28:35.483Z"},{"id":5,"heading":{"en":"Frequently asked questions","de":"Häufig gestellte Fragen"},"subheading":{"en":"Answers to common questions about code0 and its features.","de":"Antworten auf die häufigsten Fragen zu CodeZero und seinen Funktionen.\""},"sectionType":"FaqSection","link_button":{"label":{"en":null,"de":null},"url":null},"updatedAt":"2026-04-25T21:22:22.868Z","createdAt":"2026-02-13T06:28:12.715Z"},{"id":6,"heading":{"en":"Strong features for your team","de":"Leistungsstarke Funktionen für dein Backend"},"subheading":{"en":"Discover the versatile features of CodeZero that help you create complex automations quickly and efficiently.","de":"Entdecke die vielseitigen Funktionen von CodeZero, die dir helfen, komplexe Backends schnell und effizient zu erstellen."},"sectionType":"AppFeatureSection","link_button":{"label":{"en":"","de":"Lerne mehr"},"url":""},"updatedAt":"2026-04-25T21:22:22.877Z","createdAt":"2026-02-13T06:25:52.204Z"}] \ No newline at end of file diff --git a/export/subscriptionConfig.json b/export/subscriptionConfig.json deleted file mode 100644 index 0637a08..0000000 --- a/export/subscriptionConfig.json +++ /dev/null @@ -1 +0,0 @@ -[] \ No newline at end of file diff --git a/export/team-members.json b/export/team-members.json deleted file mode 100644 index 511d384..0000000 --- a/export/team-members.json +++ /dev/null @@ -1 +0,0 @@ -[{"id":1,"name":"Dario Pranjic","image":null,"shortDescription":{"en":null},"about":{"en":null},"role":{"en":"Software developer"},"joinedAt":null,"updatedAt":"2026-04-25T21:22:23.404Z","createdAt":"2026-03-25T12:13:12.314Z"},{"id":2,"name":"Nicolas Morawietz","image":null,"shortDescription":{"en":null},"about":{"en":null},"role":{"en":"Software developer"},"joinedAt":null,"updatedAt":"2026-04-25T21:22:23.412Z","createdAt":"2026-03-25T12:12:38.423Z"},{"id":3,"name":"Niklas van Schrick","image":null,"shortDescription":{"en":null},"about":{"en":null},"role":{"en":"Software developer"},"joinedAt":null,"updatedAt":"2026-04-25T21:22:23.418Z","createdAt":"2026-03-25T12:12:13.928Z"},{"id":4,"name":"Maximilian Städler","image":null,"shortDescription":{"en":null},"about":{"en":null},"role":{"en":"Chief financial officer"},"joinedAt":null,"updatedAt":"2026-04-25T21:22:23.424Z","createdAt":"2026-03-25T12:11:34.736Z"},{"id":5,"name":"Raphael Arun Götz","image":null,"shortDescription":{"en":null},"about":{"en":null},"role":{"en":"Co-Founder / Managing Director"},"joinedAt":null,"updatedAt":"2026-04-25T21:22:23.431Z","createdAt":"2026-03-25T12:11:00.346Z"},{"id":6,"name":"Nico Sammito","image":{"id":10,"alt":"Nico Sammito CEO and founder of CodeZero","href":null,"updatedAt":"2026-04-15T22:28:53.888Z","createdAt":"2026-04-15T22:28:53.888Z","url":"/api/media/file/Nico_Sammito_CEO_CodeZero.jpg","thumbnailURL":null,"filename":"Nico_Sammito_CEO_CodeZero.jpg","mimeType":"image/jpeg","filesize":454394,"width":1594,"height":1594,"focalX":50,"focalY":50},"shortDescription":{"en":null},"about":{"en":null},"role":{"en":"Co-Founder / Managing Director"},"joinedAt":null,"updatedAt":"2026-04-25T21:22:23.438Z","createdAt":"2026-03-25T12:10:33.040Z"},{"id":7,"name":"Marius Ahsmus","image":null,"shortDescription":{"en":null},"about":{"en":null},"role":{"en":"Software developer"},"joinedAt":null,"updatedAt":"2026-04-25T21:22:23.444Z","createdAt":"2026-03-01T18:39:55.157Z"}] \ No newline at end of file diff --git a/package.json b/package.json index fecb57e..1b51cfd 100644 --- a/package.json +++ b/package.json @@ -15,9 +15,7 @@ "generate:importmap": "payload generate:importmap", "lint": "next lint", "knip": "node --import tsx ./node_modules/knip/bin/knip.js", - "generate": "payload generate:types", - "export-data": "node --import tsx scripts/export-data.ts", - "import-data": "node --import tsx scripts/import-data.ts" + "generate": "payload generate:types" }, "dependencies": { "@c15t/nextjs": "^2.0.0", diff --git a/scripts/docker-entrypoint.sh b/scripts/docker-entrypoint.sh index dbba3d1..1f7007d 100644 --- a/scripts/docker-entrypoint.sh +++ b/scripts/docker-entrypoint.sh @@ -1,3 +1,2 @@ npm run migrate -npm run import-data exec npm run standalone diff --git a/scripts/export-data.ts b/scripts/export-data.ts deleted file mode 100644 index 7c4bae8..0000000 --- a/scripts/export-data.ts +++ /dev/null @@ -1,103 +0,0 @@ -import { mkdir, writeFile } from "node:fs/promises" -import path from "node:path" -import nextEnv from "@next/env" -import { createLocalReq, getPayload } from "payload" -import { createExport } from "../node_modules/@payloadcms/plugin-import-export/dist/export/createExport.js" - -type ExportableCollectionConfig = { - admin?: { - custom?: { - "plugin-import-export"?: { - collectionSlugs?: string[] - } - } - } -} - -const EXPORT_FORMAT = "json" -const AUTH_COLLECTION_SLUG = "users" - -const { loadEnvConfig } = nextEnv - -loadEnvConfig(process.cwd()) -process.env.PAYLOAD_SKIP_EMAIL_VERIFY = "true" - -const getExportCollectionSlugs = (collections: Array<{ slug: string } & ExportableCollectionConfig>) => { - const exportCollection = collections.find((collection) => collection.slug === "exports") as - | ExportableCollectionConfig - | undefined - - const slugs = exportCollection?.admin?.custom?.["plugin-import-export"]?.collectionSlugs - - if (!Array.isArray(slugs) || slugs.length === 0) { - throw new Error("Could not determine exportable collections from the import-export plugin configuration.") - } - - return slugs.filter((slug) => slug !== AUTH_COLLECTION_SLUG) -} - -const resolveExportUser = async (payload: Awaited>) => { - const users = await payload.find({ - collection: "users", - limit: 1, - overrideAccess: true, - pagination: false, - }) - - const user = users.docs[0] - - if (!user) { - throw new Error("No users found. Create a Payload user first.") - } - - return user -} - -const main = async () => { - let payload: Awaited> | undefined - - try { - const { default: config } = await import("../src/payload.config") - const resolvedConfig = await config - payload = await getPayload({ config: resolvedConfig }) - const user = await resolveExportUser(payload) - const exportUser = { ...user, collection: "users" as const } - const exportableCollections = getExportCollectionSlugs(resolvedConfig.collections) - const outputDir = path.resolve(process.cwd(), "export") - - await mkdir(outputDir, { recursive: true }) - - for (const collectionSlug of exportableCollections) { - const req = await createLocalReq({ locale: "all", user: exportUser }, payload) - const response = await createExport({ - collectionSlug, - download: true, - exportCollection: "exports", - format: EXPORT_FORMAT, - id: `download-${collectionSlug}`, - name: `export-${collectionSlug}`, - req, - userCollection: exportUser.collection, - userID: exportUser.id, - }) - - const buffer = Buffer.from(await response!.arrayBuffer()) - const outputFile = path.join(outputDir, `${collectionSlug}.${EXPORT_FORMAT}`) - - await writeFile(outputFile, buffer, { flag: "w" }) - console.log(`Exported ${collectionSlug} -> ${outputFile}`) - } - } finally { - await payload?.destroy() - } -} - -main() - .then(() => { - process.exit(process.exitCode ?? 0) - }) - .catch((error) => { - console.error("Export failed.") - console.error(error) - process.exit(1) - }) diff --git a/scripts/import-data.ts b/scripts/import-data.ts deleted file mode 100644 index a74686a..0000000 --- a/scripts/import-data.ts +++ /dev/null @@ -1,1408 +0,0 @@ -import { access, copyFile, mkdir, mkdtemp, readdir, readFile, rm } from "node:fs/promises" -import path from "node:path" -import os from "node:os" -import { fileURLToPath } from "node:url" -import nextEnv from "@next/env" -import { createLocalReq, getPayload } from "payload" -import { createImport } from "../node_modules/@payloadcms/plugin-import-export/dist/import/createImport.js" -import { sanitizeLexicalUploadValues } from "../src/lib/sanitizeLexicalUploadValues" - -type ImportableCollectionConfig = { - admin?: { - custom?: { - "plugin-import-export"?: { - collectionSlugs?: string[] - } - } - } -} - -const IMPORT_FORMAT = "json" -const MATCH_FIELD = "id" -const DELETE_BATCH_SIZE = 100 -const DEFAULT_DATA_DIR = "export" -const AUTH_COLLECTION_SLUG = "users" -const CENTRAL_LOGIN_EMAIL = "admin@code0.tech" -const CENTRAL_LOGIN_NAME = "Code0 Admin" -const MEDIA_COLLECTION_SLUG = "media" -const NAVBAR_COLLECTION_SLUG = "navbarItems" -const FOOTER_COLLECTION_SLUG = "footer" -const FEATURES_COLLECTION_SLUG = "features" -const SECTIONS_COLLECTION_SLUG = "sections" -const PAGES_COLLECTION_SLUG = "pages" -const TEAM_MEMBERS_COLLECTION_SLUG = "team-members" -const BLOG_COLLECTION_SLUG = "blog" -const IMPORT_ORDER = [ - "media", - "navbarItems", - "sections", - "footer", - "cookie-banner", - "pages", - "features", - "jobs", - "team-members", - "blog", - "roadmapItems", -] as const - -const { loadEnvConfig } = nextEnv -const scriptDir = path.dirname(fileURLToPath(import.meta.url)) -const projectRoot = path.resolve(scriptDir, "..") - -loadEnvConfig(process.cwd()) -process.env.PAYLOAD_SKIP_EMAIL_VERIFY = "true" - -type PayloadInstance = Awaited> -type ImportUser = Awaited>["user"] & { collection: "users" } -type ImportLocale = "all" | "en" | "de" -type ImportErrorEntry = { error: string; index: number; doc: TDocument } - -let mediaImportSourceDir: string | undefined - -const getImportCollectionSlugs = (collections: Array<{ slug: string } & ImportableCollectionConfig>) => { - const importCollection = collections.find((collection) => collection.slug === "imports") as - | ImportableCollectionConfig - | undefined - - const slugs = importCollection?.admin?.custom?.["plugin-import-export"]?.collectionSlugs - - if (!Array.isArray(slugs) || slugs.length === 0) { - throw new Error("Could not determine importable collections from the import-export plugin configuration.") - } - - return slugs.filter((slug) => slug !== AUTH_COLLECTION_SLUG) -} - -const resolveImportUser = async (payload: PayloadInstance) => { - const users = await payload.find({ - collection: "users", - limit: 1, - overrideAccess: true, - pagination: false, - where: { - email: { - equals: CENTRAL_LOGIN_EMAIL, - }, - }, - }) - - const user = users.docs[0] - - if (!user) { - const createdUser = await payload.create({ - collection: AUTH_COLLECTION_SLUG, - data: { - email: CENTRAL_LOGIN_EMAIL, - name: CENTRAL_LOGIN_NAME, - password: process.env.PAYLOAD_USER_PASS ?? "TempImportPass123!", - }, - overrideAccess: true, - }) - - console.log(`Created central login user ${createdUser.id} (${CENTRAL_LOGIN_EMAIL}).`) - - return { - user: createdUser, - } - } - - await payload.update({ - collection: AUTH_COLLECTION_SLUG, - id: user.id, - data: { - email: CENTRAL_LOGIN_EMAIL, - name: CENTRAL_LOGIN_NAME, - password: process.env.PAYLOAD_USER_PASS ?? "TempImportPass123!", - }, - overrideAccess: true, - }) - - console.log(`Updated central login user ${user.id} (${CENTRAL_LOGIN_EMAIL}).`) - - return { - user: { - ...user, - email: CENTRAL_LOGIN_EMAIL, - name: CENTRAL_LOGIN_NAME, - }, - } -} - -const resolveInputDir = async () => { - const preferredDir = path.resolve(process.cwd(), process.env.PAYLOAD_DATA_DIR?.trim() || DEFAULT_DATA_DIR) - - try { - await readdir(preferredDir) - return preferredDir - } catch (error) { - if ((error as NodeJS.ErrnoException).code !== "ENOENT") { - throw error - } - } - - const legacyDir = path.resolve(process.cwd(), "export") - - try { - await readdir(legacyDir) - return legacyDir - } catch (error) { - if ((error as NodeJS.ErrnoException).code !== "ENOENT") { - throw error - } - } - - await mkdir(preferredDir, { recursive: true }) - - return preferredDir -} - -const clearCollection = async ( - payload: PayloadInstance, - collectionSlug: string, - options?: { - keepDocumentID?: number | string - } -) => { - let deletedCount = 0 - const keepDocumentID = options?.keepDocumentID - - while (true) { - let deletedInPass = 0 - const existingDocs = await payload.find({ - collection: collectionSlug as "users", - depth: 0, - limit: DELETE_BATCH_SIZE, - overrideAccess: true, - page: 1, - }) - - if (existingDocs.docs.length === 0) { - break - } - - for (const doc of existingDocs.docs) { - if (keepDocumentID && String(doc.id) === String(keepDocumentID)) { - continue - } - - await payload.delete({ - collection: collectionSlug as "users", - id: doc.id, - overrideAccess: true, - }) - - deletedCount += 1 - deletedInPass += 1 - } - - if (deletedInPass === 0) { - break - } - } - - console.log(`Cleared ${collectionSlug}: deleted=${deletedCount}`) -} - -const getImportedDocumentIDs = (buffer: Buffer) => { - const parsed = JSON.parse(buffer.toString("utf8")) as unknown - - if (!Array.isArray(parsed)) { - throw new Error("Import file must contain a JSON array of documents.") - } - - return new Set( - parsed - .map((doc) => (typeof doc === "object" && doc !== null ? (doc as { id?: number | string }).id : undefined)) - .filter((id): id is number | string => id !== undefined && id !== null) - .map((id) => String(id)) - ) -} - -const sortCollectionSlugs = (collectionSlugs: string[], direction: "import" | "clear") => { - const orderedSlugs = IMPORT_ORDER.filter((slug) => collectionSlugs.includes(slug)) - const remainingSlugs = collectionSlugs.filter((slug) => !IMPORT_ORDER.includes(slug as (typeof IMPORT_ORDER)[number])) - const sorted = [...orderedSlugs, ...remainingSlugs] - - return direction === "clear" ? sorted.reverse() : sorted -} - -type ImportedMediaDocument = { - id?: number | string - alt?: string - createdAt?: string - filename?: string - focalX?: number | null - focalY?: number | null - href?: string | null - updatedAt?: string -} - -type ImportedNavbarItemDocument = { - createdAt?: string - href?: string | null - id?: number | string - order?: number - subMenu?: - | Array<{ - color?: "brand" | "pink" | "yellow" | "aqua" | "blue" - description?: Record | null - href?: string - icon?: "cube" | "gitBranch" | "lock" - id?: string | null - key?: string - title?: Record | null - }> - | null - title?: Record | null - updatedAt?: string -} - -type ImportedTeamMemberDocument = { - about?: Record | null - createdAt?: string - id?: number | string - image?: { - id?: number | string - } | number | string | null - joinedAt?: string | null - name?: string - role?: Record | null - shortDescription?: Record | null - updatedAt?: string -} - -type ImportedBlogDocument = { - author?: { - id?: number | string - } | number | string | null - content?: Record | null - createdAt?: string - heroImage?: { - id?: number | string - } | number | string | null - id?: number | string - meta?: { - title?: Record | null - description?: Record | null - image?: Record | { id?: number | string } | number | string | null - keywords?: Record | null - } | null - isPinned?: boolean | null - ogImage?: { - id?: number | string - } | number | string | null - shortDescription?: Record | null - slug?: string - title?: Record | null - twitterImage?: { - id?: number | string - } | number | string | null - updatedAt?: string -} - -type ImportedFooterDocument = { - company_name?: Record | null - contactEmail?: string | null - createdAt?: string - description?: Record | null - groups?: - | Array<{ - heading?: Record | null - id?: string | null - items?: - | Array<{ - id?: string | null - label?: Record | null - url?: string - }> - | null - }> - | null - id?: number | string - legalLinks?: { - privacy?: { - label?: Record | null - url?: string | null - } | null - legalNotice?: { - label?: Record | null - url?: string | null - } | null - } | null - socialLinks?: - | Array<{ - id?: string | null - platform?: "instagram" | "discord" | "x" | "linkedin" | "github" | null - url?: string | null - }> - | null - updatedAt?: string -} - -type ImportedFeatureDocument = { - createdAt?: string - description?: Record | null - id?: number | string - link?: { - label?: Record | null - url?: string | null - } | null - slug?: string - title?: Record | null - updatedAt?: string -} - -type ImportedPageDocument = { - createdAt?: string - id?: number | string - layout?: Record | null - meta?: { - title?: Record | null - description?: Record | null - image?: Record | { id?: number | string } | number | string | null - } | null - slug?: string - title?: Record | null - updatedAt?: string -} - -type ImportedSectionDocument = { - createdAt?: string - heading?: Record | null - id?: number | string - link_button?: { - label?: Record | null - url?: string | null - } | null - sectionType?: - | "AppFeatureSection" - | "FaqSection" - | "RoadmapSection" - | "RuntimeFeatureSection" - | "UseCaseSection" - | "DeploymentSection" - subheading?: Record | null - updatedAt?: string -} - -const parseImportDocuments = (buffer: Buffer) => { - const parsed = JSON.parse(buffer.toString("utf8")) as unknown - - if (!Array.isArray(parsed)) { - throw new Error("Import file must contain a JSON array of documents.") - } - - return parsed as T[] -} - -const normalizeNumericID = (value: number | string | undefined) => { - if (typeof value === "number") { - return value - } - - if (typeof value === "string" && value.trim().length > 0) { - const parsed = Number(value) - - if (Number.isFinite(parsed)) { - return parsed - } - } - - return undefined -} - -const resolveMediaFilePath = async (filename?: string) => { - const filterParts = (...parts: Array) => - parts.filter((part): part is string => Boolean(part)) - - const candidatePaths = [ - mediaImportSourceDir ? path.resolve(...filterParts(mediaImportSourceDir, filename)) : undefined, - path.resolve(...filterParts(projectRoot, "media", filename)), - path.resolve(...filterParts(projectRoot, ".next", "standalone", "media", filename)), - path.resolve(...filterParts(projectRoot, "public", filename)), - path.resolve(...filterParts(process.cwd(), "media", filename)), - path.resolve(...filterParts(process.cwd(), ".next", "standalone", "media", filename)), - path.resolve(...filterParts(process.cwd(), "public", filename)), - ] - - for (const candidatePath of [...new Set(candidatePaths.filter((value): value is string => Boolean(value)))]) { - try { - await access(candidatePath) - return candidatePath - } catch { - // Continue until a readable file is found. - } - } - - return undefined -} - -const prepareMediaImportSource = async () => { - const sourceDir = await resolveMediaFilePath(undefined); - if (sourceDir === undefined) { - throw new Error('Media Source dir not found'); - } - - const tempDir = await mkdtemp(path.join(os.tmpdir(), "cygnus-media-import-")) - - try { - const entries = await readdir(sourceDir, { withFileTypes: true }) - - await Promise.all( - entries - .filter((entry) => entry.isFile()) - .map((entry) => copyFile(path.join(sourceDir, entry.name), path.join(tempDir, entry.name))) - ) - - mediaImportSourceDir = tempDir - console.log(`Prepared media import source: ${tempDir}`) - } catch (error) { - await rm(tempDir, { force: true, recursive: true }).catch(() => undefined) - throw error - } -} - -const importMediaCollection = async ( - payload: PayloadInstance, - importUser: ImportUser, - file: { name: string }, - buffer: Buffer -) => { - const mediaDocuments = parseImportDocuments(buffer) - let imported = 0 - const errors: ImportErrorEntry[] = [] - const mediaIDMap = new Map() - - for (const [index, doc] of mediaDocuments.entries()) { - if (!doc.filename) { - errors.push({ - doc, - error: "Missing filename in media import document.", - index, - }) - continue - } - - const filePath = await resolveMediaFilePath(doc.filename) - - if (!filePath) { - errors.push({ - doc, - error: `Media file "${doc.filename}" was not found in media/ or .next/standalone/media/.`, - index, - }) - continue - } - - const req = await createLocalReq({ locale: "all", user: importUser }, payload) - - try { - const createdMedia = await payload.create({ - collection: MEDIA_COLLECTION_SLUG, - data: { - alt: doc.alt ?? doc.filename, - createdAt: doc.createdAt, - focalX: doc.focalX ?? undefined, - focalY: doc.focalY ?? undefined, - href: doc.href ?? undefined, - id: normalizeNumericID(doc.id), - updatedAt: doc.updatedAt, - }, - filePath, - overrideAccess: true, - overwriteExistingFiles: true, - req, - }) - - if (doc.id !== undefined) { - mediaIDMap.set(String(doc.id), createdMedia.id) - } - - imported += 1 - } catch (error) { - errors.push({ - doc, - error: formatImportError(error), - index, - }) - } - } - - console.log(`Imported media: total=${mediaDocuments.length}, imported=${imported}, updated=0, errors=${errors.length}`) - - if (errors.length > 0) { - console.warn(`Skipped ${errors.length} media entries in ${file.name}.`) - console.warn(JSON.stringify(errors)) - } - - return mediaIDMap -} - -const normalizeRelationshipID = ( - value: { - id?: number | string - } | number | string | null | undefined -) => { - if (typeof value === "number" || typeof value === "string") { - return normalizeNumericID(value) - } - - if (typeof value === "object" && value !== null && "id" in value) { - return normalizeNumericID(value.id) - } - - return undefined -} - -const remapKnownRelationshipID = ( - originalID: number | string | undefined, - idMap: Map -) => { - if (originalID === undefined) { - return undefined - } - - return idMap.get(String(originalID)) -} - -const remapLexicalUploadNode = (node: Record, mediaIDMap: Map): Record | undefined => { - const originalUploadID = - normalizeRelationshipID(node.value as number | string | { id?: number | string } | null | undefined) ?? - normalizeRelationshipID(node.id as number | string | { id?: number | string } | null | undefined) - - const mappedUploadID = remapKnownRelationshipID(originalUploadID, mediaIDMap) - if (mappedUploadID === undefined) return undefined - - return { ...node, value: mappedUploadID } -} - -const remapLexicalContentMediaUploads = (value: unknown, mediaIDMap: Map): unknown => { - if (Array.isArray(value)) { - return value - .map((item) => remapLexicalContentMediaUploads(item, mediaIDMap)) - .filter((item) => item !== undefined) - } - - if (!value || typeof value !== "object") return value - - const objectValue = value as Record - - if (objectValue.type === "upload" && objectValue.relationTo === MEDIA_COLLECTION_SLUG) { - return remapLexicalUploadNode(objectValue, mediaIDMap) - } - - return Object.fromEntries( - Object.entries(objectValue).flatMap(([key, nestedValue]) => { - const remappedValue = remapLexicalContentMediaUploads(nestedValue, mediaIDMap) - if (remappedValue === undefined) return [] - - return [[key, remappedValue]] - }) - ) -} - -const mapBlogContentForImport = (content: unknown, mediaIDMap: Map) => - sanitizeLexicalUploadValues(remapLexicalContentMediaUploads(content, mediaIDMap)) - -const createImportReq = async (payload: PayloadInstance, importUser: ImportUser, locale: ImportLocale) => { - return createLocalReq({ locale, user: importUser }, payload) -} - -const mapImportedBlogMetaForLocale = ( - doc: ImportedBlogDocument, - locale: "en" | "de", - mediaIDMap: Map -) => { - const title = doc.meta?.title?.[locale] ?? doc.title?.[locale] ?? undefined - const description = doc.meta?.description?.[locale] ?? undefined - const imageSource = resolveLocalizedRelationshipValue(doc.meta?.image, locale) ?? doc.ogImage ?? doc.twitterImage ?? doc.heroImage - const image = remapKnownRelationshipID(normalizeRelationshipID(imageSource), mediaIDMap) - - if (!title && !description && image === undefined) { - return undefined - } - - return { - description, - image, - title, - } -} - -const resolveLocalizedRelationshipValue = ( - value: - | Record - | { id?: number | string } - | number - | string - | null - | undefined, - locale: "en" | "de" -) => { - if (!value || typeof value !== "object" || Array.isArray(value)) { - return value - } - - if ("en" in value || "de" in value) { - return value[locale] - } - - return value -} - -const mapImportedPageMetaForLocale = ( - doc: ImportedPageDocument, - locale: "en" | "de", - mediaIDMap: Map -) => { - const title = doc.meta?.title?.[locale] ?? doc.title?.[locale] ?? undefined - const description = doc.meta?.description?.[locale] ?? undefined - const imageSource = resolveLocalizedRelationshipValue(doc.meta?.image, locale) - const image = remapKnownRelationshipID(normalizeRelationshipID(imageSource), mediaIDMap) - - if (!title && !description && image === undefined) { - return undefined - } - - return { - description, - image, - title, - } -} - -const mapPageLayoutForLocale = ( - layout: ImportedPageDocument["layout"], - locale: "en" | "de", - mediaIDMap: Map -) => { - const localizedLayout = layout?.[locale] - - if (!localizedLayout) { - return undefined - } - - return remapRelationshipsDeep(localizedLayout, { - mediaIDMap, - userIDMap: new Map(), - }) -} - -const syncLocalizedDocument = async ( - payload: PayloadInstance, - importUser: ImportUser, - collection: string, - id: number | string, - englishData: Record, - germanData: Record -) => { - const englishReq = await createImportReq(payload, importUser, "en") - await payload.update({ - collection: collection as "users", - id, - data: englishData as never, - locale: "en", - overrideAccess: true, - req: englishReq, - }) - - const germanReq = await createImportReq(payload, importUser, "de") - await payload.update({ - collection: collection as "users", - id, - data: germanData as never, - locale: "de", - overrideAccess: true, - req: germanReq, - }) -} - -const importLocalizedCollection = async (args: { - buildEnglishData: (doc: TDocument) => Record - buildGermanData: (doc: TDocument) => Record - buffer: Buffer - collection: string - file: { name: string } - importUser: ImportUser - label: string - payload: PayloadInstance -}) => { - const { buildEnglishData, buildGermanData, buffer, collection, file, importUser, label, payload } = args - const documents = parseImportDocuments(buffer) - let imported = 0 - let updated = 0 - const errors: ImportErrorEntry[] = [] - - for (const [index, doc] of documents.entries()) { - const normalizedID = normalizeNumericID(doc.id) - - try { - const createReq = await createImportReq(payload, importUser, "en") - const createdDocument = await payload.create({ - collection: collection as "users", - data: buildEnglishData(doc) as never, - locale: "en", - overrideAccess: true, - req: createReq, - }) - - imported += 1 - - await syncLocalizedDocument( - payload, - importUser, - collection, - createdDocument.id, - buildEnglishData(doc), - buildGermanData(doc), - ) - - updated += 1 - } catch (error) { - errors.push({ - doc, - error: formatImportError(error), - index, - }) - } - } - - console.log(`Imported ${label}: total=${documents.length}, imported=${imported}, updated=${updated}, errors=${errors.length}`) - - if (errors.length > 0) { - throw new Error(`Import errors in ${file.name}: ${JSON.stringify(errors)}`) - } -} - -const mapNavbarSubMenuForLocale = ( - subMenu: ImportedNavbarItemDocument["subMenu"], - locale: "en" | "de" -) => { - if (!subMenu) { - return [] - } - - return subMenu.map((item) => ({ - color: item.color ?? "brand", - description: item.description?.[locale] ?? "", - href: item.href ?? "", - icon: item.icon ?? "cube", - id: item.id ?? undefined, - key: item.key ?? "", - title: item.title?.[locale] ?? "", - })) -} - -const importNavbarItemsCollection = async ( - payload: PayloadInstance, - importUser: ImportUser, - file: { name: string }, - buffer: Buffer -) => { - await importLocalizedCollection({ - payload, - importUser, - file, - buffer, - collection: NAVBAR_COLLECTION_SLUG, - label: NAVBAR_COLLECTION_SLUG, - buildEnglishData: (doc) => ({ - createdAt: doc.createdAt, - href: doc.href ?? "", - id: normalizeNumericID(doc.id), - order: doc.order ?? 0, - subMenu: mapNavbarSubMenuForLocale(doc.subMenu, "en"), - title: doc.title?.en ?? "", - updatedAt: doc.updatedAt, - }), - buildGermanData: (doc) => ({ - subMenu: mapNavbarSubMenuForLocale(doc.subMenu, "de"), - title: doc.title?.de ?? "", - }), - }) -} - -const mapFooterGroupsForLocale = ( - groups: ImportedFooterDocument["groups"], - locale: "en" | "de" -) => { - if (!groups) { - return [] - } - - return groups.map((group) => ({ - heading: group.heading?.[locale] ?? "", - id: group.id ?? undefined, - items: (group.items ?? []).map((item) => ({ - id: item.id ?? undefined, - label: item.label?.[locale] ?? "", - url: item.url ?? "", - })), - })) -} - -const mapFooterLegalLinksForLocale = ( - legalLinks: ImportedFooterDocument["legalLinks"], - locale: "en" | "de" -) => { - if (!legalLinks) { - return undefined - } - - return { - privacy: { - label: legalLinks.privacy?.label?.[locale] ?? legalLinks.privacy?.label?.en ?? "Privacy Policy", - url: legalLinks.privacy?.url ?? "/privacy", - }, - legalNotice: { - label: legalLinks.legalNotice?.label?.[locale] ?? legalLinks.legalNotice?.label?.en ?? "Legal Notice", - url: legalLinks.legalNotice?.url ?? "/legal-notice", - }, - } -} - -const mapFooterSocialLinks = (socialLinks: ImportedFooterDocument["socialLinks"]) => { - if (!socialLinks) { - return [] - } - - return socialLinks - .filter((link) => Boolean(link.platform && link.url)) - .map((link) => ({ - id: link.id ?? undefined, - platform: link.platform, - url: link.url, - })) -} - -const importFooterCollection = async ( - payload: PayloadInstance, - importUser: ImportUser, - file: { name: string }, - buffer: Buffer -) => { - await importLocalizedCollection({ - payload, - importUser, - file, - buffer, - collection: FOOTER_COLLECTION_SLUG, - label: FOOTER_COLLECTION_SLUG, - buildEnglishData: (doc) => ({ - company_name: doc.company_name?.en ?? "", - contactEmail: doc.contactEmail ?? undefined, - createdAt: doc.createdAt, - description: doc.description?.en ?? undefined, - groups: mapFooterGroupsForLocale(doc.groups, "en"), - id: normalizeNumericID(doc.id), - legalLinks: mapFooterLegalLinksForLocale(doc.legalLinks, "en"), - socialLinks: mapFooterSocialLinks(doc.socialLinks), - updatedAt: doc.updatedAt, - }), - buildGermanData: (doc) => ({ - company_name: doc.company_name?.de ?? doc.company_name?.en ?? "", - description: doc.description?.de ?? doc.description?.en ?? undefined, - groups: mapFooterGroupsForLocale(doc.groups, "de"), - legalLinks: mapFooterLegalLinksForLocale(doc.legalLinks, "de"), - }), - }) -} - -const importFeaturesCollection = async ( - payload: PayloadInstance, - importUser: ImportUser, - file: { name: string }, - buffer: Buffer -) => { - await importLocalizedCollection({ - payload, - importUser, - file, - buffer, - collection: FEATURES_COLLECTION_SLUG, - label: FEATURES_COLLECTION_SLUG, - buildEnglishData: (doc) => ({ - createdAt: doc.createdAt, - description: doc.description?.en ?? undefined, - id: normalizeNumericID(doc.id), - link: doc.link - ? { - label: doc.link.label?.en ?? undefined, - url: doc.link.url ?? undefined, - } - : undefined, - slug: doc.slug, - title: doc.title?.en ?? "", - updatedAt: doc.updatedAt, - }), - buildGermanData: (doc) => ({ - description: doc.description?.de ?? undefined, - link: doc.link - ? { - label: doc.link.label?.de ?? undefined, - url: doc.link.url ?? undefined, - } - : undefined, - title: doc.title?.de ?? "", - }), - }) -} - -const importPagesCollection = async ( - payload: PayloadInstance, - importUser: ImportUser, - file: { name: string }, - buffer: Buffer, - mediaIDMap: Map -) => { - await importLocalizedCollection({ - payload, - importUser, - file, - buffer, - collection: PAGES_COLLECTION_SLUG, - label: PAGES_COLLECTION_SLUG, - buildEnglishData: (doc) => ({ - createdAt: doc.createdAt, - id: normalizeNumericID(doc.id), - layout: mapPageLayoutForLocale(doc.layout, "en", mediaIDMap), - meta: mapImportedPageMetaForLocale(doc, "en", mediaIDMap), - slug: doc.slug ?? "", - title: doc.title?.en ?? "", - updatedAt: doc.updatedAt, - }), - buildGermanData: (doc) => ({ - layout: mapPageLayoutForLocale(doc.layout, "de", mediaIDMap), - meta: mapImportedPageMetaForLocale(doc, "de", mediaIDMap), - title: doc.title?.de ?? doc.title?.en ?? "", - }), - }) -} - -const importTeamMembersCollection = async ( - payload: PayloadInstance, - importUser: ImportUser, - file: { name: string }, - buffer: Buffer, - mediaIDMap: Map -) => { - const teamMemberDocuments = parseImportDocuments(buffer) - let imported = 0 - let updated = 0 - const errors: ImportErrorEntry[] = [] - const teamMemberIDMap = new Map() - - for (const [index, doc] of teamMemberDocuments.entries()) { - const normalizedID = normalizeNumericID(doc.id) - - try { - const createReq = await createImportReq(payload, importUser, "en") - const createdDocument = await payload.create({ - collection: TEAM_MEMBERS_COLLECTION_SLUG as "users", - data: { - createdAt: doc.createdAt, - id: normalizedID, - image: remapKnownRelationshipID(normalizeRelationshipID(doc.image), mediaIDMap), - joinedAt: doc.joinedAt ?? undefined, - name: doc.name ?? "", - updatedAt: doc.updatedAt, - about: doc.about?.en ?? undefined, - role: doc.role?.en ?? undefined, - shortDescription: doc.shortDescription?.en ?? undefined, - } as never, - locale: "en", - overrideAccess: true, - req: createReq, - }) - - await syncLocalizedDocument( - payload, - importUser, - TEAM_MEMBERS_COLLECTION_SLUG, - createdDocument.id, - { - createdAt: doc.createdAt, - image: remapKnownRelationshipID(normalizeRelationshipID(doc.image), mediaIDMap), - joinedAt: doc.joinedAt ?? undefined, - name: doc.name ?? "", - updatedAt: doc.updatedAt, - about: doc.about?.en ?? undefined, - role: doc.role?.en ?? undefined, - shortDescription: doc.shortDescription?.en ?? undefined, - }, - { - about: doc.about?.de ?? undefined, - role: doc.role?.de ?? undefined, - shortDescription: doc.shortDescription?.de ?? undefined, - }, - ) - - if (normalizedID !== undefined) { - teamMemberIDMap.set(String(normalizedID), createdDocument.id) - } - - imported += 1 - updated += 1 - } catch (error) { - errors.push({ - doc, - error: formatImportError(error), - index, - }) - } - } - - console.log(`Imported ${TEAM_MEMBERS_COLLECTION_SLUG}: total=${teamMemberDocuments.length}, imported=${imported}, updated=${updated}, errors=${errors.length}`) - - if (errors.length > 0) { - throw new Error(`Import errors in ${file.name}: ${JSON.stringify(errors)}`) - } - - return teamMemberIDMap -} - -const importBlogCollection = async ( - payload: PayloadInstance, - importUser: ImportUser, - file: { name: string }, - buffer: Buffer, - mediaIDMap: Map, - teamMemberIDMap: Map -) => { - await importLocalizedCollection({ - payload, - importUser, - file, - buffer, - collection: BLOG_COLLECTION_SLUG, - label: BLOG_COLLECTION_SLUG, - buildEnglishData: (doc) => ({ - author: remapKnownRelationshipID(normalizeRelationshipID(doc.author), teamMemberIDMap), - content: doc.content?.en ? mapBlogContentForImport(doc.content.en, mediaIDMap) : undefined, - createdAt: doc.createdAt, - heroImage: remapKnownRelationshipID(normalizeRelationshipID(doc.heroImage), mediaIDMap), - id: normalizeNumericID(doc.id), - isPinned: doc.isPinned ?? false, - meta: mapImportedBlogMetaForLocale(doc, "en", mediaIDMap), - shortDescription: doc.shortDescription?.en ?? undefined, - slug: doc.slug ?? "", - title: doc.title?.en ?? "", - updatedAt: doc.updatedAt, - }), - buildGermanData: (doc) => ({ - content: doc.content?.de - ? mapBlogContentForImport(doc.content.de, mediaIDMap) - : doc.content?.en - ? mapBlogContentForImport(doc.content.en, mediaIDMap) - : undefined, - meta: mapImportedBlogMetaForLocale(doc, "de", mediaIDMap), - shortDescription: doc.shortDescription?.de ?? doc.shortDescription?.en ?? undefined, - title: doc.title?.de ?? doc.title?.en ?? "", - }), - }) -} - -const importSectionsCollection = async ( - payload: PayloadInstance, - importUser: ImportUser, - file: { name: string }, - buffer: Buffer -) => { - await importLocalizedCollection({ - payload, - importUser, - file, - buffer, - collection: SECTIONS_COLLECTION_SLUG, - label: SECTIONS_COLLECTION_SLUG, - buildEnglishData: (doc) => ({ - createdAt: doc.createdAt, - heading: doc.heading?.en ?? "", - id: normalizeNumericID(doc.id), - link_button: doc.link_button - ? { - label: doc.link_button.label?.en ?? undefined, - url: doc.link_button.url ?? undefined, - } - : undefined, - sectionType: doc.sectionType, - subheading: doc.subheading?.en ?? undefined, - updatedAt: doc.updatedAt, - }), - buildGermanData: (doc) => ({ - heading: doc.heading?.de ?? "", - link_button: doc.link_button - ? { - label: doc.link_button.label?.de ?? undefined, - url: doc.link_button.url ?? undefined, - } - : undefined, - subheading: doc.subheading?.de ?? undefined, - }), - }) -} - -const remapRelationshipsDeep = ( - value: unknown, - relationshipMaps: { - mediaIDMap: Map - userIDMap: Map - } -): unknown => { - if (Array.isArray(value)) { - return value.map((item) => remapRelationshipsDeep(item, relationshipMaps)) - } - - if (!value || typeof value !== "object") { - return value - } - - const objectValue = value as Record - const objectID = objectValue.id - - const looksLikeMediaDocument = - objectID !== undefined && - typeof objectValue.filename === "string" && - typeof objectValue.mimeType === "string" - - if (looksLikeMediaDocument) { - return remapKnownRelationshipID(objectID as number | string, relationshipMaps.mediaIDMap) - } - - const looksLikeUserDocument = - objectID !== undefined && - typeof objectValue.email === "string" && - (objectValue.collection === AUTH_COLLECTION_SLUG || "sessions" in objectValue) - - if (looksLikeUserDocument) { - return remapKnownRelationshipID(objectID as number | string, relationshipMaps.userIDMap) - } - - return Object.fromEntries( - Object.entries(objectValue).map(([key, nestedValue]) => [key, remapRelationshipsDeep(nestedValue, relationshipMaps)]) - ) -} - -const remapImportBuffer = ( - buffer: Buffer, - relationshipMaps: { - mediaIDMap: Map - userIDMap: Map - } -) => { - const documents = parseImportDocuments>(buffer) - const remappedDocuments = documents.map((doc) => remapRelationshipsDeep(doc, relationshipMaps)) - - return Buffer.from(JSON.stringify(remappedDocuments)) -} - -const formatImportError = (error: unknown) => { - if (!(error instanceof Error)) { - return String(error) - } - - const cause = (error as Error & { cause?: unknown }).cause as - | { - code?: string - column?: string - constraint?: string - detail?: string - routine?: string - schema?: string - table?: string - } - | undefined - - if (!cause) { - return error.message - } - - return JSON.stringify({ - cause: { - code: cause.code, - column: cause.column, - constraint: cause.constraint, - detail: cause.detail, - routine: cause.routine, - schema: cause.schema, - table: cause.table, - }, - message: error.message, - }) -} - -const mapContainsValue = ( - map: Map, - expectedValue: number | string -) => { - for (const value of map.values()) { - if (String(value) === String(expectedValue)) { - return true - } - } - - return false -} - -const main = async () => { - let payload: Awaited> | undefined - let mediaIDMap = new Map() - const userIDMap = new Map() - let teamMemberIDMap = new Map() - - try { - const { default: config } = await import("../src/payload.config") - const resolvedConfig = await config - payload = await getPayload({ config: resolvedConfig }) - console.log("Payload initialized.") - const { user } = await resolveImportUser(payload) - console.log(`Import user resolved: id=${user.id}, email=${user.email}`) - const importUser = { ...user, collection: "users" as const } - await prepareMediaImportSource() - - const importableCollections = getImportCollectionSlugs(resolvedConfig.collections) - const inputDir = await resolveInputDir() - console.log(`Input directory resolved: ${inputDir}`) - const importableCollectionSet = new Set(importableCollections) - const clearOrder = sortCollectionSlugs(importableCollections, "clear") - const importOrder = sortCollectionSlugs(importableCollections, "import") - - const entries = await readdir(inputDir, { withFileTypes: true }) - const filesByCollection = new Map( - entries - .filter((entry) => entry.isFile() && entry.name.endsWith(`.${IMPORT_FORMAT}`)) - .map((entry) => [entry.name.slice(0, -(`.${IMPORT_FORMAT}`.length)), entry]) - ) - - for (const [collectionSlug, file] of filesByCollection) { - if (!importableCollectionSet.has(collectionSlug)) { - console.log(`Skipping ${file.name}: no matching importable collection.`) - continue - } - } - - console.log(`Starting clear phase: ${clearOrder.join(", ")}`) - for (const collectionSlug of clearOrder) { - const isAuthCollection = collectionSlug === AUTH_COLLECTION_SLUG - - await clearCollection( - payload, - collectionSlug, - isAuthCollection - ? { - keepDocumentID: importUser.id, - } - : undefined - ) - } - - console.log(`Starting import phase: ${importOrder.join(", ")}`) - for (const collectionSlug of importOrder) { - const file = filesByCollection.get(collectionSlug) - - if (!file) { - console.log(`Skipping ${collectionSlug}: no ${collectionSlug}.${IMPORT_FORMAT} file found.`) - continue - } - - console.log(`Importing collection: ${collectionSlug}`) - const filePath = path.join(inputDir, file.name) - const buffer = await readFile(filePath) - - if (collectionSlug === MEDIA_COLLECTION_SLUG) { - mediaIDMap = await importMediaCollection(payload, importUser, file, buffer) - continue - } - - if (collectionSlug === NAVBAR_COLLECTION_SLUG) { - await importNavbarItemsCollection(payload, importUser, file, buffer) - continue - } - - if (collectionSlug === FOOTER_COLLECTION_SLUG) { - await importFooterCollection(payload, importUser, file, buffer) - continue - } - - if (collectionSlug === FEATURES_COLLECTION_SLUG) { - await importFeaturesCollection(payload, importUser, file, buffer) - continue - } - - if (collectionSlug === SECTIONS_COLLECTION_SLUG) { - await importSectionsCollection(payload, importUser, file, buffer) - continue - } - - if (collectionSlug === PAGES_COLLECTION_SLUG) { - await importPagesCollection(payload, importUser, file, buffer, mediaIDMap) - continue - } - - if (collectionSlug === TEAM_MEMBERS_COLLECTION_SLUG) { - teamMemberIDMap = await importTeamMembersCollection(payload, importUser, file, buffer, mediaIDMap) - continue - } - - if (collectionSlug === BLOG_COLLECTION_SLUG) { - await importBlogCollection(payload, importUser, file, buffer, mediaIDMap, teamMemberIDMap) - continue - } - - const importBuffer = remapImportBuffer(buffer, { mediaIDMap, userIDMap }) - - const req = await createLocalReq({ locale: "all", user: importUser }, payload) - const result = await createImport({ - collectionSlug, - file: { - data: importBuffer, - mimetype: "application/json", - name: file.name, - }, - format: IMPORT_FORMAT, - importMode: "create", - matchField: MATCH_FIELD, - name: file.name, - req, - userCollection: importUser.collection, - userID: importUser.id, - }) - - console.log( - `Imported ${collectionSlug}: total=${result.total}, imported=${result.imported}, updated=${result.updated}, errors=${result.errors.length}` - ) - - if (result.errors.length > 0) { - throw new Error(`Import errors in ${file.name}: ${JSON.stringify(result.errors)}`) - } - } - } finally { - if (mediaImportSourceDir) { - await rm(mediaImportSourceDir, { force: true, recursive: true }).catch(() => undefined) - mediaImportSourceDir = undefined - } - - if (payload) { - try { - await payload.destroy() - } catch (cleanupError) { - console.error("Payload cleanup failed.") - console.error(cleanupError) - } - } - } -} - -main() - .then(() => { - process.exit(process.exitCode ?? 0) - }) - .catch((error) => { - console.error("Import failed.") - if ((error as NodeJS.ErrnoException)?.code === "ENOTFOUND") { - console.error("Database host could not be resolved. Check DATABASE_URL, DNS, or your internet/VPN connection.") - } - console.error(error) - process.exit(1) - }) diff --git a/src/lib/cms.ts b/src/lib/cms.ts index 4f67c13..9f32866 100644 --- a/src/lib/cms.ts +++ b/src/lib/cms.ts @@ -185,14 +185,12 @@ async function withCmsFallback(operation: string, fallback: T, run: () => Pro try { return await run() } catch (error) { - if (!isBuildPhase && !isMissingPayloadTablesError(error)) { - throw error + if (isBuildPhase && isMissingPayloadTablesError(error)) { + console.warn(`[cms] ${operation} skipped during build because the Payload schema is unavailable.`) + return fallback } - if (!isBuildPhase) { - console.warn(`[cms] ${operation} skipped because the Payload data is unavailable.`) - } - return fallback + throw error } }