Skip to content

Workflow Management

Shruti Agarwal edited this page Jan 29, 2024 · 1 revision

GovTech Context

Tech has helped move a lot of processes like teacher transfer, job applications for unemployed youth, farmer subsidies, etc from offline to online. We call these Workflows. Every workflow comprises of a set of actions and a flow. For example - in case of teacher transfers - first a teacher applies, then a senior authority approves, and so on. Currently, every such workflow is built individually, even though different workflows have a lot in common.

Product Explanation

The aim of this project is to enable GovTech workflows such as If This Then That (IFTTT), Escalations and Alerts to be configured in a reusable manner and run through a combination of open source products - n8n (workflow builder) and temporal (runner).

Features to be Implemented

We'd like to add a workflow runner to n8n outside of the default one, implement a Restful service for creating workflows and demonstrating fault-tolerance nature of workflows. Potential flow of work:

  1. Create a simple workflow in n8n using nodes and port it to temporal.
  2. Autogenerate workflows created in n8n in temporal using ASTs.
  3. Allow n8n UI to trigger workflows in n8n rather than it's default bullmq based queue.
  4. REST/gRPC wrapper for a workflow and able to control workflow outcomes with signals. Ability to use a stream of data as an input.
  5. ACL implementation.
  6. Demonstrating fault tolerance of the service.

Learning Path

Category Rating
Difficulty ***
Risk/Exploratory **
Core Development ***
Skills Typescript; Concepts: Workflows, Distributed Queues, RPCs, AST
Mentors Ashish
Project size 200 hours

Dedicated Mentoring Program

Open Community Projects

Standards and Frameworks

Clone this wiki locally