Automation server for Trello
- Trigger : will return true or false for a specific card, allowing us to trigger an action
- Action : will do something to/with the card (e.g. move a card, add a checklist, ...)
- Workflow : a combinaison of triggers and actions to do something when something happend (best definition ever)
The basic idea is :
- A webhook is triggered by Trello
- The new card goes through all the workflows (in a specified order ? maybe later)
- For each workflow, the card tries the triggers
- If they are all true, then execute the actions, in order.
- Clone the repository
- Optional: Code your owns triggers and actions if you don't find the ones you need
- Create your workflows using declarative syntax (JSON).
- Configure and start the server.
- src/
- triggers/ : default triggers (in JS)
- actions/ : default actions (in JS)
- index.js : Server entry point : where the magic happens
- workflows/ : sample workflows (in JSON)
- constants.json : define texts, checklist, labels and fields for easy access (in JSON)
- config.json : Server configuration
NOTE : An action often create an event which can trigger a webhook. This can create loop in workflows and exceed the API Rate Limit. To prevent that you have two solutions : create workflows that do not overlap or ignore every action from the user (ideally a bot).
void action(card, actionOption, tools, constants)
boolean trigger(card, triggerOption, tools, constants)
- check params before calling an action/trigger
- prevent external modification of a card (maybe this can be a simple workflow)
- query trello in batch to reduce api usage
- create a web workflow creator ?
- files attached
- check/uncheck an item
- dynamics actions