---
title: "Timing Integration"
description: "Timing 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."
url: https://flowrunner.ai/integrations/timing
date_modified: 2026-09-04T14:52:04-07:00
---

# Timing

[Productivity](https://flowrunner.ai/integrations/category/project-management-productivity)

Timing 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.

[Verified](https://flowrunner.ai/integrations/verified "What does verified mean?") · 20 actions · API key · available

[Timing website](https://timingapp.com/) · [Platform Documentation](https://web.timingapp.com/docs/) · Capability data verified 2026-08-24

1.  The workday closes and a scheduled flow starts the daily wrap-up
2.  Get Activity Hierarchy returns Timing's own readable account of what the Mac was actually used for
3.  The agent compares those blocks against the entries already on the timesheet from List Time Entries
4.  Blocks that are already tracked, or shorter than the minimum, are set aside so nothing is counted twice
5.  Create Time Entry drafts the unaccounted blocks against projects named by title rather than resolved by id
6.  The person the time belongs to receives the draft with every inference called out
7.  They confirm, correct or discard each inferred entry before it becomes their timesheet

## 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](https://flowrunner.ai/concepts/human-in-the-loop) gate is about who gets to see a day rather than about who gets to write one.

### Without FlowRunner

**Reconstructed from memory**: Friday afternoon spent guessing which client got Tuesday morning

**Automatic tracking stays unread**: The Mac records everything and the timesheet still gets filled in by hand

**Team reads are all or nothing**: Pulling one report on somebody else's work is a decision nobody consciously made

### With FlowRunner

**Drafted from what happened**: The day's activity becomes a proposed timesheet the person edits rather than authors

**Inferences are visible**: Every drafted entry says which automatically tracked block it came from

**The subject sees it first**: An account of a person's working day reaches them before it reaches anyone else

## 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](https://flowrunner.ai/integrations/quickbooks-online) or the hours already logged in [Harvest](https://flowrunner.ai/integrations/harvest). Where the two disagree the agent posts the gap to [Slack](https://flowrunner.ai/integrations/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 processes routinely

Detects exception requiring judgment

Clear match Continues automatically

Ambiguous Routes to human via preferred channel

Human decides

Agent resumes with decision

## Agent Capabilities

20 actions

### Projects

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.

**Work at Timing?** This integration exposes Timing to AI agents on every FlowRunner plan, including through MCP, at no cost to you. [See what FlowRunner offers integration partners](https://flowrunner.ai/integrations/partners), including how to keep this page current.

---
Markdown version of https://flowrunner.ai/integrations/timing. Site index: https://flowrunner.ai/llms.txt
