Beeminder Forum

Toggl integration: single ovewrwritten datapoint per day is problematic

The Beeminder Toggl integration works by logging an initial datapoint of zero in the wee hours of the night, which then gets ovewritten iff you track time in a task associated with that goal. That doesn’t play so nice as a data source for IFTTT. Actual progress never triggers the desired action, because Toggl only overwrites existing datapoints.

Can this easily be changed, so that new time-track entries at Toggl add new datapoints to the associated Beeminder goal?

3 Likes

While this percolates, here’s my use case as illustration:

I have a goal, headway-sum, that collates data from six other goals. Those goals get their data automatically from Toggl.

I have set up IFTTT applets that write to headway-sum when a datapoint is added to one of its six source goals. Those applets only trigger when Toggl writes the initial datapoint of zero each day; they don’t trigger when Toggl updates the datapoint with actual time tracked.


Three of my six IFTTT applets.
.
.
.


The innards of one IFTTT applet.
.
.
.


The only time the applet runs is for a new datapoint, and that’s always zero in the Toggl integration.

1 Like

So it looks like the Garmin integration adds a new datapoint, then deletes the old one to update my daily steps goal. If the Toggl integration did that, I think it would solve my IFTTT problem. (Currently, there is no way for me to use IFTTT to send non-zero Toggl datapoints from one Beeminder goal to another, which means I’m updating my headway-sum goal by hand every few days. I know myself; that can’t last.)

Actually, it wouldn’t solve my problem; cumulative datapoints are problematic. But there’s no need for Toggl datapoints to be cumulative, since Toggl itself shows each session of work separately, whatever the project, tag or client. So this integration does math to sum up all the sessions with a particular project (say) and overwrite an old datapoint every time you refresh. Couldn’t it just check for new sessions with an end time later than the last recorded datapoint, and add a new one?

1 Like

Okay, so here’s a solution to my problem that doesn’t require Beeminder doing anything: add a new headway tag in Toggl, and use it for all the time sessions I want to send there.

So if I track time working on the novel, Toggl records an entry for project Novel that’s tagged headway. My Beeminder novel-toggl goal grabs the session because it’s looking for the project tag; my headway-sum goal grabs it because it has the tag headway.

Fortunately, Toggl’s Siri shortcuts (where I can tell Siri “track novel” and it starts a Toggl session with the params I set up) include tags, so this will work for me.

[EDITED TO ADD:]
I think this behavior is worth noting in the Toggl integration help page.

1 Like