Time Tracking ⏱

Here are a couple of ways to track time in Fibery: https://blog.fibery.io/time-tracking.

  • :stopwatch: Track time manually and with a timer.
  • :point_up_2: Roll up the time spent on Tasks to Projects, Customers, and even Goals.
  • :abacus: Generate a timesheet for a person or a whole team.
  • 🤹‍ Report on any custom attribute, juggle data till you are bored.

Light: Fibery | Import Apps.
Pro: Fibery | Import Apps.

What’s your flow?

  • How often do you log time (real-time vs. once a day/week)?
  • What tools do you use (Toggl, Clockify, just Fibery)?
  • How do you use time tracking data to make decisions?

These details will help us to build an out-of-the-box time tracking mechanism to save the creators some time :crossed_fingers:


How often to you log time?

For us we track each task worked on throughout the day. They range from 2 minutes to 7.5 hours, in real time. Only time from today are shown using filter, so for a new day we start new set of time trackers, even though it may be continuation of yesterday.

What tools do you use?

I’ve only recently discovered Toggl and Clockify. They look like nice solutions, but right now we create a new row in a table, select a task type from dropdown, and press start

Depending on the task, we often link it to what we are working on: a customer’s item in their order, a generic tasks from our “Task board”, etc. Majority of the time it’s linked to a customer’s item order.

Therefore, even though those services that specialize in time tracking would potentially be more easily, I’d much prefer a Fibery solution because it’s interconnected easily and quickly with minimal work. Don’t currently have much time to look in to a API/Zapier solutions, but Zapier I have found to be very limiting due to free account limitations and not realtime.

Here is a real example. The modal is an order (1), multiple people may work on the same task (2), and we can choose custom name or have it auto-name based on task type or item if empty (3).

How do you use time tracking data to make decisions?

  1. First and foremost we use reports for salary as some of us work by the hour.
  2. It gives insight into what products are cost-to-profit effective, which we use to change our recommendations to customers, look in to ways of being more effective with production of given product, increase its price, or even start to phase it out.
  3. We look to see if a person is better suited to do a different type of job they’re better/more efficient at.
  4. It works as “proof” that we spend a lot of time on customers products, as we often get people that think we are expensive, but they have no idea how much time and effort we put in to each product.
1 Like

Hi @antoniokov,

I’m glad you asked as I think Fibery has great potential here and I’d be grateful if you guys developed something further natively to take advantage of the design of Fibery to have a first-class Time Tracker Extension.

Here is how I’d see Time Tracking built:

Fundamentally, you should be able to track time two ways:

  1. Manually, when you are done with work, or if you forget to start, or to stop, a time.

  2. As you work. This would involve clicking a button to “start work” and record the time and day of that, and then a button to “stop work.” When you stop, the time entry is closed, and the full duration is recorded.

I am in favor of using a separate Type, perhaps in its own App, called “Time Entries” to house the time logs. I have always preferred Time Tracking solutions that expose Time entries as their own data records, and don’t “hide” the time entries deeper in the backend, which means as a user you get less flexibility with what to do with those entries.

Ideally each Time Entry would be its own Entity in the Time Tracking Type, instead of an entry in fields in the Entity itself where time is being tracked.

So instead of having two fields that Entity, one for “time started” and one for “time completed,” which only allow one time range per entity, you have a relation of one-to-many to the “Time Log” type, which will track each time log as a separate entity. This way you can have more than one time log.

The user would ideally fill in, perhaps via Simple Text field, a description of “What I Did” during this time log Entity. That way, that detail could be viewed at a glance in the Related Entities’ Collections area. It would really be great if that can also go into the Related Entities’ Activity stream so you can view that key info at a glance when looking over the whole Activity of an Entity.

I’d like to be able to record each Time Entry in the related Time Tracking Entity, and then roll up that time spent in the Entity being worked on. This should relate to a “Time Estimated” field which would interact with the “Time spent” rollup field that will fill in based on the time in the Related Time log Entities. There would also be a “Time remaining” field calculated. Ideally, it would be good to be able to update the “Time Estimated” if new information is discovered and the original estimate is wrong. That should be something the Activity Stream of the Entity picks up, so the viewer can see that something happened and why the Estimate changed. The flow would be this: You change the estimate, and the Activity Stream notes “Time Estimate changed from 6h to 8h”. Then, if you write a comment in the Entity such as “I increased the Estimate because we are dealing with a blocker,” that comment does in the Activity Stream right after, so a user reading the stream can see the change of the estimate, and the comment about it, right next to each other in the Entity History.

Re: Permissions, I think it would be great if there is one Type that is a tracking all time, but not visible to all users what is being worked on by everybody as there could be sensitive information, or simply other teams’ data that is not relevant to everybody in the system as the Fibery Instance grows.

All this above I think can be more or less doable in your proposed solution using a related Type. However, when you guys build the Time Tracking Entity, it would be great to get some of this additional functionality:

  • upon hitting “stop timer”, a modal to fill in what you did during that particular session. This entry would then enter the Activity stream of the Entity as the “last activity.” I don’t think this can be done now with you suggested solution as I believe we don’t have the ability to pop-up Modals like this in Fibery yet, so perhaps this would come with a Time Tracking Extension you guys would release? But can you, via Buttons and manipulation of JS on them, write that entry from the Time Tracking Type into the Comment Stream right now of the Related Entities?

****Incidentally, the “popping up” of modal would also be very useful for Required Fields, and there’s a request for them here. I would love to have the ability to restrict moving an Entity into “closed” state if a certain field is not filled out in some cases, such as a comment, or a “Simple text” field that you designate for something like “resolution” and you want to make sure for data integrity that is always completed.

  • if you hit the “start timer” button, check if an Entity is still in a non-started status, and if so, move to “in progress” or the next state after that. This would probably be set up by some Automation rule at a Type-level, but is a super useful feature. My Team frequently forget to move something to “in progress” and it would be great to get this automated help.

Like @Haslien, I’d like to be as granular as possible, and also use the power of Vizydrop to create bespoke reports via the deep lookups you guys offer. Flag up where we are spending too much time, not enough, as you suggest… And I think if you can create some out-of-the box timesheet solution via Vizydrop, that would be great. This is all the more relevant with your guys growing list of integrations. You could easily integrate via API with something like Hubstaff to then process payments based on a timesheet. I have a big need here as I have contract developers who track time and I have to pay via things like Payoneer, Transferwise, Upwork, etc. and would much rather they track time in Fibery, get their timesheet, ideally pull this into my accounting program (again via API hookup to say Quickbooks), and then I can just pay them with Paypal.

I hope all this is useful and my team is very desperate for native time tracking in Fibery!


In case someone is looking for a nice way to log time on a task (or whatever) then maybe this video might give you a useful tip:

We can’t turn it into a template unfortunately, since app templates are not able to make changes to the User type.

1 Like