just_another_workout_timer icon indicating copy to clipboard operation
just_another_workout_timer copied to clipboard

Add Webhooks

Open mweichert opened this issue 9 months ago • 1 comments

Is your feature request related to a problem? Please describe.

I'm using Just Another Workout Timer for as much as I can:

  • Morning Routines
  • Workouts
  • Pomodoro Sessions
  • And more...

I'd like to be able to do the following:

  • Mute distractions
  • Log completed routines into something like Obsidian, Notion, Airtable, etc.

Describe the solution you'd like Provide a UI for inputting webhooks at the application level. A user could add one or more urls that would receive events formatted in JSON based on what happens in JAWT.

Some events would include:

  • When a "workout" starts
  • When an interval starts
  • When an interval ends
  • When a workout ends

Perhaps later we could add:

  • When someone pauses a workout
  • When someone clicks back or forward during a workout

In the event, there should be properties:

  • Event Type
  • Workout Name
  • Set #
  • Interval Name

Additional context

Event Filtering Perhaps users would like the ability to configure what events a particular url would receive. This would be great to have but not necessary to begin with, as filtering could always be done at the receiving end.

Global Settings vs Workout-specific Settings Rather than have these settings global, you could have them configurable per workout. But I think that could come later - have global settings for all workouts, and then later, if requested by many, add the ability to configure workout-level webhooks that override the global settings.

mweichert avatar Sep 26 '23 16:09 mweichert