- Copy environment variables. Replace values to your own.
docker-compose up --detach
- Create a file with service name in src/connectors folder which extends from Connector and implements IConnector
- Implement the authenticate method which takes the code returned by the oauth as a parameter and returns the access_token
- Next, you have to create two functions in ConnectorController (src/controllers/ConnectorController.ts)
- First, create a function that returns the oauth url of the service
- The second function is an express controller which allows you to retrieve the queries, validate them and send the code in the authenticate function implemented previously
- Finally add and modify these two lines in the file src/routes/connector.route.ts
router.get("/<service_name>", isAuthenticated, ConnectorController.<first_function_name>);
router.get("/<service_name>/authorize", ConnectorController.<second_function_name>);
- In order for the oauth call to work, the redirect_uri parameter must be the route that calls the controller (second function, here: /<service_name>/authorize)
- To add an action, you must first create a service.
- In src/prisma/seeder.ts, add a function which add a function which is called in main,
in it create the action (refer to other functions for implementation). Change name to the name of the webhook event.
- Create fields for the action (fields are the inputs you ask the user for when choosing the action).
- If you want populate a select. for example, to select values retrieved via the API, add a field_<field_name> method in the connector. this method takes an array of Field. Refer to the GitHub.ts file to implement the logic.
- Next, open the associated service file in the src/connectors folder
- Implement the webhook function. This one takes in parameter workflow_id which is a number, event which is a string and a payload.
async webhook(workflow_id: number, event: string, payload?: Object)
workflow_id is the id of the previously created workflow which must be added in the url that the webhook must call.
event is the name of the event.
payload is an object that includes previously created fields.
- In the webhook method, call the api route of the service to which you want to add the action and put as url:
${host}/workflow/callback/${workflow_id}
- To add a reaction, you must first create a service.
- In src/prisma/seeder.ts, add a function which add a function which is called in main,
in it create the reaction (refer to other functions for implementation). Set the name that you want.
- Create fields for the action (fields are the inputs you ask the user for when choosing the reaction).
- If you want populate a select. for example, to select values retrieved via the API, add a field_<field_name> method in the connector. this method takes an array of Field. Refer to the GitHub.ts file to implement the logic.
- Next, open the associated service file in the src/connectors folder
- Implement the method with the name you choose. This one takes a payload which is an object with all fields.
- Finally, implement the logic of the reaction in this method.

stack: [
"nodejs",
"typescript",
"express",
"prisma",
"mysql",
"reactjs",
"react-native"
];