Skip to content

[FEATURE]: Optimize reporting: Connect with 3rd party apps #635

@nikslor

Description

@nikslor

Context

To make timed reporting more efficient, I suggest connecting timed to some 3rd party applications and importing data points from there. Every minute I can save by reporting time in timed is a minute I can spend working productively or with my family.

Describe the solution you'd like

I think the following ideas are worth exploring:

Google Calendar Entries

As a Google user, I would like timed to access my calendar and import the calendar events I had on a particular day. Let's say I had a meeting from 10:00~11:15 with the title "Discuss timed release plan", timed could add a 1h15 block with the said description. Ideally, timed can also (try to) match the project. Maybe we could (optionally) set a unique identifier in each timed project (e.g. "timed" in this case) that could be used to make a match. That way, only the task would need to be set by a human. Alternatively, something like "Company > Timed > Meeting" in the body of the meeting invitation could act as an identifier.

From a user pov I'd expect this to work like this:

  • manually trigger "Calendar Import"; timed will use the date of the current timesheet I'm working on
  • a list of calendar entries (showing the title of each) is shown, all "public" entries are marked to import
    • entries marked as "private" show a lock symbol and are not marked to import
    • if no entries are found in the calendar, report this to the user
  • I can select/de-select items
  • I click "import" to get the marked items imported into my current timesheet
  • to discuss: how to handle "all day" events?

Mails Sent

As a GMail user I like timed to access the list of sent mails on a particular day.
Ideally this imports the subject of the mails send and the people involved. Ideally, timed can also (try to) match the project. Maybe we could (optionally) set a unique identifier in each timed project that could be used to make a match (does the subject contain a unique identifier -> match with the corresponding project). That way, only the task would need to be set by a human.

From a user pov I'd expect this to work like this:

  • manually trigger "Mail Import"; timed will use the date of the current timesheet I'm working on
  • a list of mails sent is shown
  • I can select/de-select items
  • I click "import" to get the marked items imported into my current timesheet

3CX Calls

As a 3CX user I like timed to access my list of phone calls and import the calls I had on a particular day.
Ideally this imports the name of the person I called (not sure if 3CX provides this; I guess so).

From a user pov I'd expect this to work like this:

  • manually trigger "Phone Import"; timed will use the date of the current timesheet I'm working on
  • a list of calls is shown
  • I can select/de-select items
  • I click "import" to get the marked items imported into my current timesheet

Mattermost Conversations

As a Mattermost user I like timed to access the chats I participated in on a particular day.
Ideally this shows me the conversations I was involved (aka I wrote something) and how many messages I wrote.
It's then up to the user to decide how much time was used and where to report his.

From a user pov I'd expect this to work like this:

  • manually trigger "Chat Import"; timed will use the date of the current timesheet I'm working on
  • a list of conversations I was involved (aka I wrote something) is shown; e.g:
    • private conversation with user "AlicaA", 12 messages posted by me
    • private conversation with user "Bob, CarloC and DanD", 8 messages posted by me
    • conversation in channel "town-square", 4 messages posted by me

Note: I currently use a search string like "from:nicolasc after:YYYY-MM-DD before:YYYY-MM-DD" in MM to get this data and then "manually" parse this.

GSuite Activities

As a GSuite (docs, spreadsheet, presentation) user I like timed to access my GSuite/GDrive activities and report viewing/editing time in files on a particular day. Ideally this shows me the files I viewed and edited.
It's then up to the user to decide how much time was used and where to report his.

From a user pov I'd expect this to work like this (unsure if possible):

  • manually trigger "File Activity Import"; timed will use the date of the current timesheet I'm working on
  • a list of files I viewed and edited (includes commented) is shown; e.g:
    • Document "Finance Plan 2025" was edited for 35min
    • Presentation "Management Report 2025 H1" was viewed for 12min
  • I can select/de-select items
  • I click "import" to get the marked items imported into my current timesheet

GitLab Activities

Unclear what can be done through the API; I often edit issues and wiki pages, other work on code, probably needs a discussion what could/should be imported.

Other tools?

Let's think of other tools that could make sense...

Describe alternatives you've considered

No response

Additional context

No response

Required

  • I have checked past issues to see if this feature has already been requested.

Metadata

Metadata

Assignees

No one assigned

    Labels

    featureThis issue or pull request discusses a feature

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions