Timing
ProductivityTiming is the automatic time tracker for Mac. Agents create and update projects and time entries, control the running timer, pull reports, manage teams, and read the activity hierarchy Timing's automatic tracking produces.
What This Integration Enables
Timing tracks the Mac, not the intention. It records which applications, documents and sites were in front of somebody without anybody remembering to start a timer, and Get Activity Hierarchy hands that back as Timing's own readable summary rather than as rows to reassemble. Timing's vendor describes that summary as the primary source for an AI assistant summarizing someone's day, and it is shaped exactly that way. A FlowRunner agent can read it, match it against the projects that already exist, and draft the entries nobody filed.
The rest of the connector is what turns that draft into a timesheet. Agents create and update projects, file and correct time entries, drive the running timer, and pull Generate Report with the grouping the reporting screen uses. Two behaviors set the shape of every flow built on it. Timing does not refuse an entry that overlaps another, so Replace Existing decides whether a new entry coexists with what was there or trims and deletes it. And team data is opt-in on every read: leave the team empty and Timing reads the connected person's own private projects, not the team's. Both defaults point the same way, which is why this connector's human-in-the-loop gate is about who gets to see a day rather than about who gets to write one.
Without FlowRunner
With FlowRunner
Use Case Scenarios
-
The timesheet that arrives already drafted
At the end of each day the agent pulls Get Activity Hierarchy for the connected person and List Time Entries for the same range. Anything the hierarchy shows that the timesheet does not becomes a candidate entry. Because Timing accepts a project title, or even an array of titles naming a path down the hierarchy, the agent can file a block against "Client Work / Website Rebuild" without resolving an id first. The draft goes back to the person as a list they approve line by line. What they approve is written with Create Time Entry, Replace Existing left off so nothing already tracked is trimmed away.
-
Billable hours reconciled against the invoice
Once a week the agent runs Generate Report grouped by project and day, with Include App Usage on so automatically tracked application time sits alongside the manual entries. The totals are compared against the open invoice lines in QuickBooks Online or the hours already logged in Harvest. Where the two disagree the agent posts the gap to Slack with the project, the delta and the days it comes from. Nobody exports a CSV, and the comparison runs against live entries rather than last month's export.
-
The project that should be archived, not deleted
A quarterly tidy-up calls List Projects Hierarchically and Generate Report to find projects with no recent time against them. For each candidate the agent reports what it holds: the last entry date, the total tracked, and how many child projects sit beneath it. That last number matters, because Delete Project takes its children with it while archiving through Update Project is reversible and archives the branch intact. The operations lead reads the list and marks each project archive or delete. The agent then does what it was told, one call per decision.
Human-in-Loop Highlight
Get Activity Hierarchy is not a metrics feed. It is an indented, plain-text account of what a person's Mac was used for, optionally including iPhone and iPad Screen Time, and Timing publishes it precisely so an assistant can narrate somebody's day from it. That makes the risky operation on this connector a read, not a write. So the gate sits on the destination. An agent summarizing your own day into your own projects runs unattended. Then a flow proposes sending a named colleague's hierarchy, or a report with Include Team Members switched on, to a manager or a shared channel. At that point it stops and asks the person whose day it is: "This wrap-up covers your Tuesday and Wednesday, including the app-level detail. It is addressed to the delivery review channel. Send it, send a project-level summary instead, or keep it to yourself?" Timing already defaults every team read to off. The gate is FlowRunner keeping that default meaningful once an agent is doing the reading.
Agent Capabilities
20 actionsProjects
6- List Projects Lists projects, optionally filtered. With no team set this returns the connected person's private projects rather than the team's, which is Timing's own default and worth designing around.
- List Projects Hierarchically Returns projects as the nested tree Timing organizes them in. Used when a flow needs to understand parents and children before changing anything.
- Get Project Returns one project with its settings, including its productivity score.
- Create Project Creates a project, optionally beneath a parent. Used when a new client or engagement needs somewhere for time to land.
- Update Project Changes a project, including archiving it. Archiving is the reversible alternative to deletion and takes the branch beneath it along.
- Delete Project Deletes a project and everything beneath it. The destructive half of the pair this page's project tidy-up reviews before acting.
Time Entries
10- List Time Entries Lists entries over a range. Include Team Members is off by default, so a plain read covers the connected person only, even on a team account.
- Get Time Entry Returns one entry with its project, notes and timestamps.
- Create Time Entry Files time. Replace Existing decides whether an entry that overlaps another coexists with it or trims and deletes it, so a flow importing over an already tracked day chooses deliberately.
- Update Time Entry Changes an existing entry. Replace Existing matters here only when the start or end has moved.
- Delete Time Entry Removes an entry.
- Update Time Entries In Bulk Applies the same change across many entries at once. Allow Editing Other Users extends it into colleagues' accounts, which is a permission decision rather than a convenience.
- Start Timer Starts the timer, stopping whatever was already running, so it never fails for a busy timer and never leaves two going. It also accepts a start in the past, which backdates the entry.
- Stop Timer Ends the running entry.
- Get Running Timer Returns the entry currently running. An empty result means nothing is running.
- Get Latest Time Entry Returns the most recent entry. The cheap poll for flows that need to notice a change, since Timing publishes no webhook.
Reports
2- Generate Report Builds a report over a range. Columns decide what each row groups by, Timespan Grouping turns it into a per-day or per-week breakdown, and Include App Usage brings automatically tracked application time in alongside manual entries.
- Get Activity Hierarchy Returns Timing's readable account of what the Mac was used for over a range, as indented text. The richest read on the connector, and the one this page's gate is built around.
Teams
2- List Teams Returns the teams the connected account belongs to, with the ids the project operations need.
- List Team Members Returns the members of a team. Used to resolve who a report or an entry actually concerns.
Frequently Asked Questions
What can FlowRunner do with Timing?
FlowRunner agents can run List Projects, List Projects Hierarchically, and Get Project in Timing, plus 17 more actions.
Does connecting Timing to FlowRunner require OAuth?
No. Timing connects to FlowRunner with an API key, no OAuth flow required.
Can Timing trigger a FlowRunner workflow automatically?
Timing doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.
Start building with Timing
Free plan, no card required. Connect in minutes.