I don’t know anything about Zeebe, but ERPNext has a full webhooks system out of the box. Without coding, you can ping an external API on any doc event. Similarly, you can do quite a bit with existing ERPNext API methods or create new ones with Server Scripts and a few lines of code.
I’ve used ERPNext a fair bit with Huginn, which seems to be very similar in some ways and very different in others than Zeebe. My biggest complaint with Huginn is that each node is atomic, which makes it conceptually difficult to visualize and troubleshoot full workflows. It’s also clearly not designed for the kind of scale that Zeebe can handle.
I read through the docs a bit, and they made sense at an abstract level but I’m still not clear on what development is necessary for an actual workflow. What would Frappe need to do to be a Zeebe worker? Does it need to implement a specific API? Or does it just need to be available to make/receive API calls that can be defined on the Zeebe side?
I think it is relatively straight forward, in that an independently scalable e.g. go programm would do the longpolling against the command & control layer within zeebe and issue
/relay “to order” specific commands to the erpnext api.
What I like about zeebe is precisely its very elegant solution to the well defined worflow orchestration problem across system boundaries.
Combined eith openintegrationhub to sync the data plane across system boundaries, this becomes a truely powerful tool for business integration with and around erpnext.
I really like openintegrationhub… i am new to erpnext but this is something we want to try. Let me do a POC. I hope this will be helpful to others… @blaggacao do you have something specific in mind which events will be good to start with.
Just to update this thread, I’ve switched from Huginn to n8n for services integrations, and I absolutely love it.
There’s an ERPNext API node built in, which allows easy reading and writing of Frappe documents. There’s no ERPNext Trigger yet, which would automatically create and manage webhooks on the ERPNext side, but it should be relatively easy to create. In the meantime, the n8n generic webhook does the job.
I don’t know much about docker networking, but certainly what you’re describing is possible. If you’re on the same machine, I think it’s just a matter of exposing a local port. All this gets set when the docker instance gets started, I believe.