Any tips on building a workflow engine similar to n8n?

Hi folks,

I’m working to build a workflow engine for my company project. We would like to build something dynamic and easy to add new integration with 3rd party services because we are building a kind of centralized hub for e-commerce.
I don’t have much experiences with building something so dynamic like that.
I would like to ask for advices on the system component, how an engine should be, which patterns I can apply. I started this project a couple of weeks ago, and with the help of AI I build and refactor and repeat. But not sure if I’m on the right direction.

Here is my work in progress GitHub - bluzky/prana

Please give me some insight, that’ll be great help.

Thank you

1 Like

Useful project.

Suggestions/inquiries:

Can you create examples/README.md and/or ref it in the main README.md?

Are there external integrations, either with mocks or disabled by default when running mix test with clear tags?

Are you doing static analysis with dialyzer?

Perhaps consider adding a runner for github to show the green check, indicating all default tests pass?

Thanks @gtcode, external integrations are implemented at main application.
I’m working to test integrating to our main application. Keep back and ford to refactor to adapt to application needs. Lots of unknown here.

Glific is a graph-based chatbot creation platform. The backend is in Elixir which handles the floweditor engine, like executing a graph of nodes. Maybe you can check this out.