[Launched] Time Tracking Entries


tl;dr:

  • launched!
  • endpoints for Time Tracking Entries:
    • getting all time tracking entries
    • getting all time tracking entries for a given task
    • creating new time tracking entries on tasks
    • updating existing time tracking entries
  • webhooks are emitted for the following events:
    • change.field = actual_time_minutes: changed
    • actual_time_minutes: story added (ex: Carolyn added 45m to actual time)
    • time_tracking_entry: added / changed / deleted

Hey folks,

Asana has launched Time Tracking Entries in the API! Here are the available endpoints:

And here is the Time Tracking Entry resource:

{
  "gid": "1234",
  "resource_type": "time_tracking_entry",
  "duration_minutes": "1", // long
  "entered_on": "YYYY-MM-DD",
  "task": {}, // Task, https://developers.asana.com/reference/tasks#taskcompact
  "created_by": {}, // User, https://developers.asana.com/reference/users#usercompact
  "created_at": "2023-03-15T16:26:00Z" //ISO 8601
}

Additionally, the following webhooks are emitted for Time Tracking Entries:

  • when a time tracking entry is added, changed, or deleted the following things happen:
    • a webhook for the Task is emitted, where field: 'actual_time_minutes'
    • a webhook for the Time Tracking Entry is emitted
    • after a short time to allow for undo, a story is emitted (ex: Carolyn added 45m to actual time)

Timeline

Date Event
2023-03-16 Announcement
2023-04-07 Generally Available
2023-04-14 Addition of webhooks

Yours in Developer Relations,
Sasha, on behalf of the Asana API Team

6 Likes

Thanks. Does « generally available » suggests that it would be partially available before for example through enable headers?

1 Like

Great question. For Time Tracking Entries, it will become available to everyone at once. There is no opt-in period nor are there headers that can be used for pre-release access.

The rule of thumb is if there is no timeline entry for opt-in, then there will be no opt-in or pre-release availability. I’ll make sure to call that out more clearly in the future!

3 Likes

@sasha_f may I check if this is on-track for release in 2 days time?

In addition, may I check if the Time tracking entry will be able to show ongoing time records? or only completed time records?

Hey folks, this is now launched!

5 Likes

Hey folks, just a quick update that I modified the original announcement to include webhooks too!

2 Likes

Is there any plan for a list endpoint for time_tracking_entries?

I’m trying to view how much time my team has logged this week, to see where they’ve forgotten to log. I can then go remind them to enter time.

Looks like I can only get list of time entries by going through each task id individually? i.e. GET /tasks/:gid/time_tracking_entries

1 Like

Hoping to get an answer about this soon!

Good question, @Gavin_Hodge.

@sasha_f what do you think? The original post says:

  • getting all time tracking entries

but I don’t currently see an endpoint to do that?

3 Likes

A post was split to a new topic: Ability to use the Actual Time field in a rule trigger

Hello,

It’s a great feature. Yet, I search a way to edit the created_by. As manager, I have to fix my team member team time tracking without using their account. Especially when they forget to track it.

By the way, does it plan to add assignee resource like project and task?

BR,
Kévin TEMIN

I would like to stress the importance of this feature being added too, @sasha_f - it makes basic company-wide analysis really tricky when we can only get time tracking data out via an API and task-by-task.

Either a CSV export function for individual time tracking records or an API endpoint for listing time tracking records without specifying a specific task would be a huge help.

I was previously using Harvest to track time on tasks and then an automation in Make that would trigger off a time entry being added to populate fields on the task so having a built in timer to replace a whole separate subscription is really helpful. I’m fortunate that I didn’t rely on the reporting and granularity Harvest provided.

Once thing I am going to miss in the menu bar app for Harvest. I see that Asana’s menu bar item can now be turned off and that it has a built in pomodoro timer, if I can throw in my 2c I’d love for there to be a marriage between the pomodoro timer and the new time tracking feature. Please bring time tracking abilities [Stop, Restart, Edit, Delete] to the menu bar!

I was just about to start working on an app to replace this functionality but as time entries are only created after the timer stops it isn’t possible with the current implementation.

3 Likes

+1 to this combination. The pomodoro feature feels misleading when it isn’t combined with the time tracking. Moreover, not having the visual indication of the timer being active outside of Asana is a big challenge for those of us with limited short term memory :slight_smile:

1 Like

Are there any plans to be able to customize the created_by user? This feature would be tons of help.

Thanks,

Caleb

Hello! As a someone who needs to see what tasks they have billed against in a single day, the request of being able to parse through time tracking entries without knowing a task would be instrumental in helping.

Please update if there are plans to add this!

1 Like

Any update on being able to access time entries by date/range

1 Like

Any update on a list endpoint for time_tracking_entries? It has been a year since this was launched and it seems like a simple and common request.