Been watching a long time, Good work!

Hey guys,

I’ve been watching Time Tracking projects for about 7 or 8 years and I’ve seen ActivityWatch grow into a great project.

ActivityWatch has really matured quite a bit in the past few years.

Congrats to the Contributing Developers!

Anyway, I’m looking to see if I can implement this into our business and start contributing but had a question about the API.

Is it possible to use the API to create your own Time Entries?

Thanks,

CybrPimp

All data in ActivityWatch is defined by what we call Events into what we call Buckets.
These can either be directly inserted or used with heartbeats (recommended for watchers).

Examples of how it can be done in python is described in the documentation, but it can be done in any programming language with our HTTP API (python, javascript, java, C#, rust, lisp are languages I’ve seen it implemented with).
https://docs.activitywatch.net/en/latest/writing-watchers.html

Johan,

Thanks for your fast reply. You have done a good job with AW! :slight_smile: Keep up the good work.

To continue my question about the API, let me go a little further and see if AW is a good fit for my use case.

We are currently using ManicTime with the Team Server and it gives us an overview of the entire team. I’m assuming that is sort of the same concept for the AW server app. Is that correct?

We have remote team members, and what I want to do create an account to track their time, but instead of using the AW client on a PC, we would have our custom a create the Time Entries through the API.

I know that is not really your intended use of AW but it sounds like it should not be an issue to do this.

Can you comment?

Thanks

Sorry for the slow response on my side.

That’s not the idea we have in mind for the server, the server is there so there can be multiple modular watchers combining all of their data on one central server, but one server per device. It is possible to have multiple computers connected to a single remote server, but there are performance and security issues with doing that.

We don’t have a solution for this right now, but the long term solution for a few devices is adding syncing support which is in progress. For a more scalable system we have considered an “enterprise” solution where each user can send a report to a single server, but that’s only been considered an no work has been done to actually support this.