How To Import Time Entries from Toggl Track?

Hi, Sergey! Thanks for the response.
Yeah, hiding “utility” fields would be a rather nice thing! But then again, creating a lot of fields can be a tiresome chore and a seemingly inelegant solution in certain cases.

Meanwhile, among the current fields, where would you store a JS object with text/number/date values? Ideally – with the ability to edit it manually in the same field through UI. For example, can I have a table in Rich Text Field and then access it from the code as a JS object of keys and values, kinda?

But then again, creating a lot of fields can be a tiresome chore and a seemingly inelegant solution in certain cases.

Well, I thought you need to do this only once. If somehow you button is reused between many types, and so you need to create fields again and again, you can create fields from script, while checking that they do not exist before.

where would you store a JS object with text/number/date values?

In our integrations we create field per value. But actually we have json field in fibery, it is just hidden on ui. Press and hold “alt” when pressing “New Field or Relation” button, and you will see “JSON” as one of options. You’ll be able to edit that json on UI as well.

2 Likes

Ooh, cheat codes, nice! :star_struck: Thanks again, Sergey! This is very helpful, I’ll give it a try once I get a chance. :slight_smile:

What I meant is I imagine it could be a lot of fields, even if created manually and only once. Probably the main issue is that I didn’t think the info structure through yet, so I’m not entirely sure how it might look. The only thought I came to at the moment is that I wouldn’t like to populate everything affected by the integration with specific fields for it, especially since it works with the entities of standard types like “Tasks”, “Users”, etc.

So here’s my idea: since I work on a timer integration and have an App called “Timers”, I thought I’d create an “Integration” Type in that App, create one “Integration” entity, name it “Toggl”, and populate it with all the possible fields I might need. In-App Types like “Time Logs” can have their own fields to communicate with Toggl, I guess, but all the general info and info from other Apps (clients, projects, etc.) will be stored in the fields of “Toggl” integration type entity.

Any comments on the idea are very much welcome!

By the way, looking more precise into this case, I think the best way for you is to use Zapier to solve your task. As I understand you need a sync from Fibery to Toggl. You mentioned to types you want to sync –> Project and Time Entry. We have Zapier integration for Fibery, Toggl is also present in Zapier as I’ve checked. If you don’t like Zapier, we are working on Integromat integration and it will be available soon.

In general solution on Buttons will require manual actions (pressing them), while Zapier integration won’t have this drawback.

But maybe even in case of Zapier you’ll still need to create some fields in Fibery, to store info about Toggl items. I.e. projectId like you’ve mentioned.

Hi @aprotasenya,

I also want to connect Fibery with Toggl. Just found this old topic via search. I’m really curious what your current 2023 solution is and if it’s making you happy or not :smiley:

I’m using N8N for automations (open source Zapier alternative and self hosted so no license costs). It’s a bit more complex to build an automation because of the interface.

So if possible, can you let me know what your current solution is and if it’s worth the time?

Thanks!

1 Like

Have you seen this

@Chr1sG thanks not yet! But we will not only build it for ourselves. We also want to include it in The Ultimate Workspace that we are building for our clients :slight_smile: so when it’s not open source then self development is the best solution I think.

Toggl integration will be free of charge in the beginning I can tell you as much right now.
It’s an interesting idea to make it open source. Let me discuss it with the team.

@YvetteLans I set up my Toggl integration using Make.com (Integromat). All of the projects, tasks, and clients are created and edited in Fibery and then pushed to Toggle using Fibery automations to trigger Make webhooks and automations. I have Make check Toggle every hour to get new time entries and record/update them in Fibery. I usually trigger the Fibery webhook automations with a button, but you could schedule it instead.

On first push (creation) the Toggl ID is recorded on the respective Fibery entity so it can be used for updating existing Toggl entities later. I use Fibery automations to change a checkbox if an entity changes and needs to be updated in Toggle. You can use that to filter which entities need to be updated.

2 Likes

Is it possible to share make.com automations? Would be keen to see how yours work.

We love open source :slight_smile: In N8N we also share custom nodes with the community. So maybe we can also collaborate somehow while developing :smile:

Really helpful! Thanks! Does your solution works both ways? What would be great in my opinion:

  • Start with a task in Fibery → create a new time entry in Toggl (and update Fibery when finished)
  • But also start a time entry in Toggl and then create a new time entry in Fibery with some meta information (for example for managing your mailbox or reading a book; not a real task but I do want to track it)

Because I often start Toggl on my mobile phone when not working on my computer.

Did you also somehow managed to do it both ways?

Thanks for your time, highly aprreciated :slight_smile:

@tpaktop Happy to share, I will try and post them later today.

@YvetteLans I think both of your ideas are possible. I never added a way to start Toggle from Fibery, but you can start/stop Toggle timers from the API so presumably you could add a Make automation to do that. I would start/stop it with another Fibery button to trigger a Make webhook. Then the time entries get sent back to Fibery on a schedule as usual. You can also add your own title to any of the entries instead of using an existing Fibery task. For example, I start a Toggle timer called ”Scheduling” any time I was scheduling projects, just to have a metric of how long I spent on it over all projects.

If you guys are interested I can work on a better documented post of the whole process. I think it would be great if @tpaktop’s team was willing to open source it.

Yes, for this specific integration we would be keen to open source it. I confirmed with the team.
We will provide hosted version and open source version of integration people can self host.
Hosted version will be free for as long as we can use free tier on a hosting platform.

@Chr1sG will need some of the fibery team help to to figure out - how to use external actions api.
See External action integration setup is broken?

1 Like

Would be great :slight_smile: Let me know if you need help with documenting the process.

This is awesome! My team only has experience in how to create automations via N8N. But if you think we can help somehow then let me know so I can arrange a meeting for you with my N8N developer :slight_smile:

I think it could. At the end of the day you are still querying the same API we will be using.
Can move to pm to arrange time

We(Reify Academy) got βeta version of the toggl integration ready to rock and roll.
I have tried it on my own toggl account and it successfully imports time entries from toggl using token.
For now it only syncs(toggl → fibery) time entries as MVP. Other things are on the way. The best way to help prioritise which other things you want to sync is to create issues in the github repo:
It’s open source as promised - reify-academy/fibery-toggl-integration: Integration between fibery and toggl (github.com)

You can either host it yourself or use hosted version provided by us.

4 Likes

Hello! Sorry for taking so long with the response.

My current solution is kinda “frozen W.I.P”: I haven’t made it everything I wanted it to be, but it’s kinda ok, and I’m yet still to get myself to make it complete.

E.g. I still can’t stop the entry in Toggl (from my phone, like what you like to do) and have Fibery know about that event and get some data from the entry that was stopped. There are also a bunch of manual steps in the setup that I’m sure could be automated, e.g., the creation of the client and project in Toggl.

We use it with the separate workspaces for different clients’ projects, so I’ve made it a shareable template and wrote a short user manual at some point. You can see all that here and check the scripts out. Also, ask me anything about it, I’d be happy to help. :slight_smile:

Thanks for sharing.
That gives me some interesting things to think about.
Would you presume that client and project need to be created in toggl?
I’m working with existing client which already has a project. So I’m doing other way around adding sync of projects and clients to fibery.
Though I feel I can make separate external action which can be linked to a button to create a project.

I love your elegant solution for putting token on existing user entity in fibery. Didn’t think of that is in integration I ask user to input token. Realised now that this wont work for multiple user setup. Or each user would need to create separate integration which is probably cumbersome.
@Chr1sG is there a general solution that fibery team itself uses when multiple user tokens are required ?

We are a service agency, so multiple clients & projects is a plus for us, yeah.

The only thing I can’t see as easy to automate is auto-creating workspaces in Fibery. Although technically it’s probably possible, there could be difficult places in the logic.

Other things would better be automated, I guess, and firstly:

  • I’m logging a story on a project of a client Toggl doesn’t know yet? Create that on Toggl automatically and feed the IDs into Fibery.
  • Fetching the user API tokens is impossible due to security, I think, but any other things to streamline the setup would be nice too.

By the way, @Chr1sG, can I talk to two Fibery workspaces from one script? Like the script is run on one of the “child” workspaces that might not have certain data – can I go look it up in the “mothership” workspace? :slightly_smiling_face: