[Feature request] Integrate with Gotify or use webhook for notifications #878

Open
opened 2021-06-02 16:03:07 +00:00 by SteveDinn · 19 comments

Much of the time email is not the best solution for notifications. It would be great if Vikunja could allow different types of notifications.

Suggestions:

  • Integrate with a well-established open-source push notification solution like Gotify
  • Allow notifications by webhook: Allow each user to configure a a URL that could accept a POST call with some JSON containing information about the task.
Much of the time email is not the best solution for notifications. It would be great if Vikunja could allow different types of notifications. Suggestions: * Integrate with a well-established open-source push notification solution like [Gotify](https://gotify.net/) * Allow notifications by webhook: Allow each user to configure a a URL that could accept a POST call with some JSON containing information about the task.
Owner

Ideally, you'd have a client which just fetches all reminders from the api and then figures out at what time to show you the reminder on your device without requiring the device to be online at that time. In fact, the PWA is already capable of that but you'll have to enable a chrome flag to be able to use it.

General webhooks are planned though. It should be possible to connect something like Gotify to these once they are ready.

Ideally, you'd have a client which just fetches all reminders from the api and then figures out at what time to show you the reminder on your device without requiring the device to be online at that time. In fact, the PWA is already capable of that but you'll have to [enable a chrome flag](https://web.dev/notification-triggers/#use) to be able to use it. General webhooks are planned though. It should be possible to connect something like Gotify to these once they are ready.
Author

Whoops...didn't mean to accidentally close this issue.

Whoops...didn't mean to accidentally close this issue.
konrad added the
kind/feature
label 2021-07-07 12:00:32 +00:00

+1

In my opinion, I think Vikunja is an already highly capable planner application with features that are paid in other closed-source apps or even lacking. It is extraordinary how basically one person has built such an encompassing application.

However, I must note that it is almost funny the fact that with all complex features, Vikunja lacks greatly in notification capabilities which, in my opinion, is a crucial factor for new users cavitation.
It should be of paramount importance to be able to get desktop and phone notifications and Vikunja would greatly gain with this addition.

Thank you !

+1 In my opinion, I think Vikunja is an already highly capable planner application with features that are paid in other closed-source apps or even lacking. It is extraordinary how basically one person has built such an encompassing application. However, I must note that it is almost funny the fact that with all complex features, Vikunja lacks greatly in notification capabilities which, in my opinion, is a crucial factor for new users cavitation. It should be of paramount importance to be able to get desktop and phone notifications and Vikunja would greatly gain with this addition. Thank you !
Owner

I still think reminders should be mostly a responsability of the client application. If I need to be online (as would be the case with gotify) that's not an ideal solution. Because of that I was always of the opinion that reminders would be a thing done by the flutter app so I didn't really pushed further with that. Now the problem is the flutter app does not work and probably won't for a long time so that's not a great solution (at least for now).

That's why I started moving more of that notification logic to the frontend. The new chrome feature for scheduled notifications is pretty much what I had in mind for that so I added support for it to the frontend. I know it's not perfect but I hope it's a step in the right direction. Maybe that could be expanded to also work in browsers which don't have support for scheduled notifications (yet).

I'm using the PWA and that works great for reminding me of tasks I set reminders for. The tasks.org app also does the same and from what I heard, it does a good job at it.

If none of these are an option, there's still email reminders.

I still think reminders should be mostly a responsability of the client application. If I need to be online (as would be the case with gotify) that's not an ideal solution. Because of that I was always of the opinion that reminders would be a thing done by the flutter app so I didn't really pushed further with that. Now the problem is the flutter app does not work and probably won't for a long time so that's not a great solution (at least for now). That's why I started moving more of that notification logic to the frontend. The new chrome feature for scheduled notifications is pretty much what I had in mind for that so I added support for it to the frontend. I know it's not perfect but I hope it's a step in the right direction. Maybe that could be expanded to also work in browsers which don't have support for scheduled notifications (yet). I'm using the PWA and that works great for reminding me of tasks I set reminders for. The tasks.org app also does the same and from what I heard, it does a good job at it. If none of these are an option, there's still email reminders.
Author

My intention, when writing this feature request, was specifically for mobile notifications. If there is a way to do this already, I'll try it.

With webhooks, I was also thinking about integrations with other apps (i.e. HomeAssistant)

My intention, when writing this feature request, was specifically for mobile notifications. If there is a way to do this already, I'll try it. With webhooks, I was also thinking about integrations with other apps (i.e. HomeAssistant)

I still think reminders should be mostly a responsability of the client application. If I need to be online (as would be the case with gotify) that's not an ideal solution. Because of that I was always of the opinion that reminders would be a thing done by the flutter app so I didn't really pushed further with that. Now the problem is the flutter app does not work and probably won't for a long time so that's not a great solution (at least for now).

That's why I started moving more of that notification logic to the frontend. The new chrome feature for scheduled notifications is pretty much what I had in mind for that so I added support for it to the frontend. I know it's not perfect but I hope it's a step in the right direction. Maybe that could be expanded to also work in browsers which don't have support for scheduled notifications (yet).

I'm using the PWA and that works great for reminding me of tasks I set reminders for. The tasks.org app also does the same and from what I heard, it does a good job at it.

If none of these are an option, there's still email reminders.

I completly understand your point, however I was mostly referring to notifications on desktop because I'm aware that the mobile implementation is not finished and notifications are not possible in my case because I refrain from using Chrome and only use Firefox on mobile.

I was actually referring to at least having a good desktop notification implementation (besides email) because I do not get notifications at all (note that I do not the remind by email activated). I would expect that at least a notification would pop up in the browser or desktop app when the reminder for a tasks is due.
Another thing that I also miss is the ability to set a default reminder for tasks with a due date: for example in the settings having the ability to choose a default time (10 min, 30 min, 1 hour) to get a automatic reminder before a tasks is due without having to specify a reminder.

Keep up the fantastic work !

> I still think reminders should be mostly a responsability of the client application. If I need to be online (as would be the case with gotify) that's not an ideal solution. Because of that I was always of the opinion that reminders would be a thing done by the flutter app so I didn't really pushed further with that. Now the problem is the flutter app does not work and probably won't for a long time so that's not a great solution (at least for now). > > That's why I started moving more of that notification logic to the frontend. The new chrome feature for scheduled notifications is pretty much what I had in mind for that so I added support for it to the frontend. I know it's not perfect but I hope it's a step in the right direction. Maybe that could be expanded to also work in browsers which don't have support for scheduled notifications (yet). > > I'm using the PWA and that works great for reminding me of tasks I set reminders for. The tasks.org app also does the same and from what I heard, it does a good job at it. > > If none of these are an option, there's still email reminders. I completly understand your point, however I was mostly referring to notifications on desktop because I'm aware that the mobile implementation is not finished and notifications are not possible in my case because I refrain from using Chrome and only use Firefox on mobile. I was actually referring to at least having a good desktop notification implementation (besides email) because I do not get notifications at all (note that I do not the remind by email activated). I would expect that at least a notification would pop up in the browser or desktop app when the reminder for a tasks is due. Another thing that I also miss is the ability to set a default reminder for tasks with a due date: for example in the settings having the ability to choose a default time (10 min, 30 min, 1 hour) to get a automatic reminder before a tasks is due without having to specify a reminder. Keep up the fantastic work !
Owner

I've added an item to the backlog to make notifications also available on other browsers while it is open (I think there's no other way to solve this otherwise).

I've added an item to the backlog to make notifications also available on other browsers while it is open (I think there's no other way to solve this otherwise).

Hello @konrad ,

Could Vikunja parse all the tasks that had a due date has a CalDav address so that it could be imported any calendar app and in this way get alerts for all tasks with due dates set ?
This could be a temporary workaround if it is easy to implement.

Have a nice day !

Hello @konrad , Could Vikunja parse all the tasks that had a due date has a CalDav address so that it could be imported any calendar app and in this way get alerts for all tasks with due dates set ? This could be a temporary workaround if it is easy to implement. Have a nice day !
Owner

@bolgrov We had read-only caldav links per list - might add that back in. It would only include the tasks and their due dates, and they weren't compatible with VTODO so they would only work in a calendar, not a task manager client.

@bolgrov We had read-only caldav links per list - might add that back in. It would only include the tasks and their due dates, and they weren't compatible with `VTODO` so they would only work in a calendar, not a task manager client.

@bolgrov We had read-only caldav links per list - might add that back in. It would only include the tasks and their due dates, and they weren't compatible with VTODO so they would only work in a calendar, not a task manager client.

I was actually referring to something like that, because I don't need the tasks to sync with another task manager because we've already seen that the WedDav protocol doesn't allow for some important things to be synced between for example Vikunja and Tasks.org.
So what I was really proposing is just a way of generating a Calendar through CalDav so that one can integrate it with its calendar app or even subscribe to with Nextcloud or Thunderbird and this would have the advantages of:

  • Seing your tasks with due dates set along your calendar events for easier management
  • Getting notifications for tasks with due dates !

Although this would not work for tasks with reminders I think its a great temporary solution.
Cheers !

> @bolgrov We had read-only caldav links per list - might add that back in. It would only include the tasks and their due dates, and they weren't compatible with `VTODO` so they would only work in a calendar, not a task manager client. I was actually referring to something like that, because I don't need the tasks to sync with another task manager because we've already seen that the WedDav protocol doesn't allow for some important things to be synced between for example Vikunja and Tasks.org. So what I was really proposing is just a way of generating a Calendar through CalDav so that one can integrate it with its calendar app or even subscribe to with Nextcloud or Thunderbird and this would have the advantages of: - Seing your tasks with due dates set along your calendar events for easier management - Getting notifications for tasks with due dates ! Although this would not work for tasks with reminders I think its a great temporary solution. Cheers !

Hello @konrad !

Still on the topic of CalDav integration, I think this would add value to the application by basically providing a simple way of adding time blocking to Vikunja !

Please note that this should not replace the eventual notification development to be able to notify on web, desktop or mobile (with Gotify or other way).
But could be and option in the settings people could use to subscribe to a Calendar of Vikunja, just like in Todoist you can syncronize with Google Calendar.
The advantage here, is that since Vikunja lets one set Start and End dates the time blocking would be automatically generated to your calendar for extra productivity !

Have a nice day.

Hello @konrad ! Still on the topic of CalDav integration, I think this would add value to the application by basically providing a simple way of adding *time blocking* to Vikunja ! Please note that this should **not** replace the eventual notification development to be able to notify on web, desktop or mobile (with Gotify or other way). But could be and option in the settings people could use to subscribe to a Calendar of Vikunja, just like in Todoist you can syncronize with Google Calendar. The advantage here, is that since Vikunja lets one set *Start* and *End* dates the time blocking would be automatically generated to your calendar for extra productivity ! Have a nice day.
Owner

@bolgrov Yeah that's in the backlog.

@bolgrov Yeah that's in the backlog.

I heartily agree with @bolgrov this is such an elementary feature!
My boss still loves to use the calendar to plan tasks, leaving Vikunja dormant most of the time, which this could remedy!

To get to the original topic, yes I would also want to have a generalized notification gateway so I can send them to zulip for example.
Gatus solved this quite well by allowing a custom notification configuration to integrate with your favorite provider: https://github.com/TwiN/gatus#configuring-custom-alerts
Which somebody then set up with Gotify: https://github.com/TwiN/gatus/issues/239#issuecomment-1013853494

I heartily agree with @bolgrov this is such an elementary feature! My boss still loves to use the calendar to plan tasks, leaving Vikunja dormant most of the time, which this could remedy! To get to the original topic, yes I would also want to have a generalized notification gateway so I can send them to zulip for example. Gatus solved this quite well by allowing a custom notification configuration to integrate with your favorite provider: https://github.com/TwiN/gatus#configuring-custom-alerts Which somebody then set up with Gotify: https://github.com/TwiN/gatus/issues/239#issuecomment-1013853494
Member

Just dropping this here for later reference:

I stumbled over Novu (was trending in GitHub).
Currently they don't have a Go implementation but they intend to build one later juging from this screenshot:

image

EDIT: They have a implementation in go although a bit outdated.

It seems to me that this is the kind of service that would make sense for us
So it might take a while until it would be useful for us.

I don't know Gotify, so this is really just a future reference ;)

Just dropping this here for later reference: I stumbled over [Novu](https://github.com/novuhq/novu) (was trending in GitHub). ~~Currently they don't have a Go implementation but they intend to build one later juging from this screenshot:~~ ![image](/attachments/f1662a3e-2553-4585-a5bd-62047a66e219) **EDIT:** They have [a implementation in go](https://github.com/novuhq/go-novu) although a bit outdated. It seems to me that this is the kind of service that would make sense for us So it might take a while until it would be useful for us. I don't know Gotify, so this is really just a future reference ;)
265 KiB
Owner

Novu looks very interesting. Only downside is it's written in nodejs and doesn't seem to offer a way to integrate with a webhook or similar.

There's an item in the backlog to integrate Apprise (which supports gotify) as a notification target. Mostly because it can be used as an external service and as a target for a webhook.

The way notifications are implemented in the api should allow for almost-easy integration of other targets (right now only mail).

Novu looks very interesting. Only downside is it's written in nodejs and doesn't seem to offer a way to integrate with a webhook or similar. There's an item in the backlog to integrate [Apprise](https://github.com/caronc/apprise) (which supports gotify) as a notification target. Mostly because it can be used as an external service and as a target for a webhook. The way notifications are implemented in the api should allow for almost-easy integration of other targets (right now only mail).

I don't know if this suits but I saw this on selfhosted subreddit: https://github.com/svix/svix-webhooks

I don't know if this suits but I saw this on selfhosted subreddit: https://github.com/svix/svix-webhooks

I guess this could also be covered by n8n: vikunja/api#1249

I guess this could also be covered by n8n: https://kolaente.dev/vikunja/api/issues/1249

I guess this could also be covered by n8n: vikunja/api#1249

This looks very interesting, thanks for letting me know of n8n !
I guess if this could connect to gotify, or even ntfy (so that users just didn't have to selfhost gotify), then we could have notifications for all users.

However, in my opinion, I see this more as a workaround than an actual solution. Because, and correct me if I'm wrong, the easiest way users of Vikunja could get notifications on their phones would be to install ntfy. This is subpar when compared with hypothetical native notifications.

But I do want to point out that n8n integration is something I'm now looking up to 💯 !!

> I guess this could also be covered by n8n: https://kolaente.dev/vikunja/api/issues/1249 This looks very interesting, thanks for letting me know of n8n ! I guess if this could connect to gotify, or even ntfy (so that users just didn't have to selfhost gotify), then we could have notifications for all users. However, in my opinion, I see this more as a workaround than an actual solution. Because, and correct me if I'm wrong, the easiest way users of Vikunja could get notifications on their phones would be to install *ntfy*. This is subpar when compared with hypothetical native notifications. But I do want to point out that **n8n** integration is something I'm now looking up to 💯 !!
Owner

However, in my opinion, I see this more as a workaround than an actual solution. Because, and correct me if I'm wrong, the easiest way users of Vikunja could get notifications on their phones would be to install ntfy. This is subpar when compared with hypothetical native notifications.

Yes it is a workaround until we have a proper solution for this particular feature request. The n8n integration is still very useful for a lot of other things though.

> However, in my opinion, I see this more as a workaround than an actual solution. Because, and correct me if I'm wrong, the easiest way users of Vikunja could get notifications on their phones would be to install ntfy. This is subpar when compared with hypothetical native notifications. Yes it is a workaround until we have a proper solution for this particular feature request. The n8n integration is still very useful for a lot of other things though.
Sign in to join this conversation.
No Milestone
No Assignees
6 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: vikunja/vikunja#878
No description provided.