Integrate with n8n.io
I remember talking about generalized integrations and something like webhooks, but could not find the discussion.
I have not used n8n yet, but it seems like a good fit here since it is essentially a self-hostable IFTTT/Zapier alternative.
For example, I would like to assign the task creator to a task by default if he does not set an assignee initially. Currently our tasks are quite messy because it is a hassle to assign yourself to each task you create, so most are unassigned...
I would like to assign the task creator to a task by default if he does not set an assignee initially.
@kolaente this is a priority feature, would you think implementing a proper integration is feasible, or should this be bolted on for now?
If your priority is to have an option for automatically assign a user to a task when not assigning someone from the start that could be done faster by adding an option in Vikunja for that.
If you only want to assign the user if they create a task without assigning someone you could already do that with n8n right now. It's just not very comfortable.
It would go something like this:
- Log in into Vikunja in a browser and copy the token you get from local storage or add a node which uses a username and password to obtain a token.
- Create a cron job in n8n which checks every now and then if there are any new tasks since the last check without an assignee
- For all tasks found, assign the creator of the task
I've attached a workflow that should do exactly that.
A proper n8n integration is a lot more complicated and can actually be divided into three parts:
- Proper webhooks in Vikunja to notify third-party services like n8n when something happens in Vikunja (like creating a new task)
- Scoped API tokens in Vikunja. Right now it's only possible to log in as a user and use its token to talk to the Vikunja API. This could be used in an integration like n8n but it's a bit clumsy having to replace the token every now and then (they expire after a while). Creating, scoping and revoking long-lived tokens like GitHub does it would be a lot more comfortable.
- Pre-define Vikunja-related tasks in n8n, like they already have for a bunch of services. Even with the first two items implemented you'd still need to send API requests manually from within n8n (they have nodes for sending http requests). If tasks were pre-defined you could just use the "add assignee" task and be done with it.
A full n8n integration is really what we want.
n8n already has integrations for discourse, zulip, invoiceninja, zammad and many more - so with this we can really implement our polygon connections!
Imagine writing a message in Discourse or Gitea which triggers a task creation in your backlog including a backlink to the thread, syncing tasks from vikunja to the time-tracking tool and reporting back when they are done, and so much more :)
Deleting a branch is permanent. It CANNOT be undone. Continue?