FlowRunner
PricingContact
Theme
Start Free

TrackingTime

Productivity

TrackingTime is the team time tracking and timesheet platform. Agents manage customers, projects, and tasks, control the running timer, create and import time entries in batches, invite users, set custom fields, and handle time off requests, policies, and balances.

Verified 66 actions Basic auth available
TrackingTime website Capability data verified 2026-08-24
A weekly timesheet export arrives from a subcontractor's own system
Agent reads the rows and normalizes the customer, project, task and person named on each
List Customers and List Projects resolve every name against what the workspace already holds
Agent splits the rows into those that match cleanly and those that name something new
Import Time Entries loads the rows whose names all resolved
The unresolved names post to the account lead alongside the closest existing records
The lead says which names are genuinely new work before the remaining rows load

What This Integration Enables

TrackingTime is built for the team that sells its hours. You can see it in the API's own priorities: Create Project accepts a customer name instead of a customer id, Import Tasks names the project, customer, service and assignees in plain text, and Import Time Entries goes further still and creates whatever is missing along the way. Nothing has to be looked up first. That is a deliberate choice in favor of getting somebody else's timesheet into the system in one call, and it is the reason this connector is genuinely useful for agencies, studios and consultancies that receive work records from outside their own tooling.

The same choice is the sharpest edge here, and this page is honest about it. When a route resolves records by name and creates what it cannot find, a typo does not fail. It succeeds, quietly, into a record nobody will invoice. FlowRunner agents therefore do the resolving before the loading, and they stop and ask when the answer is a new record rather than a match. Beyond imports, agents manage the customer, project and task tree and drive the running timer. They read time entries in whichever of the three shapes the destination needs, mark hours billed and unbilled around an invoice, and handle the time off requests, policies, balances and public holidays that decide who was actually available. Every one of these operations is built and verified against TrackingTime's official API.

Without FlowRunner

Hours arrive in other people's formats Every contractor and every tool exports a slightly different timesheet, and someone retypes them
Typos become clients A misspelled customer name in an import becomes a new customer that nobody will ever invoice
Billed and unbilled blur together Which hours already went on an invoice is tracked in a spreadsheet beside the tracker, not in it

With FlowRunner

One loading path Imports land through a single reviewed route that names records rather than resolving ids by hand
New names are a decision Anything the workspace has not seen before is surfaced to a person before it is created
The billed flag carries the truth Hours are marked billed at the moment the invoice goes out, so the same work is never billed twice

Use Case Scenarios

  • Contractor timesheets loaded without a retyping step

    Hours arrive from a partner studio as a CSV each Friday. An agent normalizes the rows, resolves each customer and project against List Customers and List Projects, and loads the clean ones through Import Time Entries. Anything the resolver could not match is held back and posted to the account lead with the nearest existing names, so a rename on the partner's side does not silently fork into a second project. Once loaded, a weekly rollup goes into Google Sheets for the delivery review, and the client-facing totals feed the invoice draft in Xero or QuickBooks Online.

  • Closing the billing loop rather than describing it

    When an invoice is issued for a period, an agent reads the entries it covered through List Filtered Time Entries, then calls Mark Time Entries Billed on exactly that set. Nothing else in the workspace has to remember what was invoiced. If the invoice is later voided, Mark Time Entries Not Billed reopens the same hours so they return to the next run. The state that usually lives in a side spreadsheet lives on the entries themselves, which is what makes the next invoice safe to generate automatically.

  • Capacity that accounts for who is actually there

    Before a delivery plan is published, an agent reads List Time Off Requests, List Time Off Balances and List Public Holidays for the period, and compares committed hours against them. A designer with approved leave in week three and a public holiday on the Monday does not appear as a full week of capacity. The plan posts to Slack with the shortfalls named, and the resourcing lead decides what moves. Approving a request is a status change through Update Time Off Request, so an approval made in the channel writes straight back into the workspace.

Human-in-Loop Highlight

Import Time Entries and Import Tasks name their project, customer, service and user rather than resolving ids, and they create what is missing. That is the feature and it is also the failure mode: "Northbridge Ltd." and "Northbridge Limited" are two customers, one of which will never receive an invoice, and the API will report both imports as a success. So a FlowRunner import agent resolves first and loads second, and the human-in-the-loop step sits between the two. It reads the workspace, matches every name, loads the rows that matched, and stops on the rest: "This week's file names 4 customers and 9 projects that do not exist in the workspace. Three look like spellings of records you already have. Creating them will attribute 62 hours to new clients. Which of these are real?" The account lead answers, and only the confirmed names get created. TrackingTime warns that deleting a project takes every task and time entry with it, so cleaning up afterwards is not a real option. Getting it right before the write is the only version that works.

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

66 actions

Account

2
  • Get Current User Returns the authenticated user's profile for the current workspace, including the account id that every other operation needs.
  • Get Account Details Returns the connected user and the workspace it belongs to. It is the operation that answers which account id to use when someone belongs to several workspaces.

People

6
  • List Users Reads the workspace's users. TrackingTime's public API cannot create or update a user, so this is a read paired with an invitation rather than with provisioning.
  • Get User Returns one workspace user with their role, rates and status.
  • List User Tasks Returns the tasks assigned to one person, which is the read behind a personal workload check.
  • List User Projects Returns the projects one person is involved in.
  • List User Trackables Returns everything one person may track time against, projects and tasks together. It answers what that person is actually allowed to log against rather than what exists.
  • Invite Users Invites people into the workspace in one call. Email sending is off by default here, so a silent import is possible and a deliberate notification is a choice the flow makes.

Customers

5
  • List Customers Reads the workspace's customers with their project counts and worked hours. This is the resolver an import agent runs before it loads anything.
  • Get Customer Returns one customer with its project counts and worked hours.
  • Create Customer Creates a customer, which is what projects are grouped under for client reporting.
  • Update Customer Changes a customer's name, notes or contact.
  • Delete Customer Permanently deletes a customer. TrackingTime's own warning is that this cannot be undone.

Projects

9
  • List Projects Reads the workspace's projects with their billing settings, worked hours and task counts.
  • Get Project Returns one project with its dates, estimate, billing and worked hours.
  • List Project Users Returns the people assigned to a project, meaning everyone holding at least one of its tasks.
  • Create Project Creates a project. Customer and service can be given as plain names, which is what makes importing a project from another system a single call.
  • Update Project Changes a project's details, dates, estimate or billing.
  • Close Project Archives a project. The tracked time survives and Open Project brings it back, which makes this the safe alternative to deleting.
  • Open Project Reactivates an archived project.
  • Delete Project Permanently deletes a project along with every task list, task and time entry belonging to it. TrackingTime asks for extreme caution here, and Close Project is the reversible door.
  • Search Projects And Tasks Searches projects and tasks together, returning both kinds with a type field on each row.

Tasks

8
  • List Tasks Reads tasks with pagination.
  • Get Task Returns one task with its assignees, estimate, accumulated time and whether a timer is running on it.
  • Create Task Creates a task. The type decides who sees it, and the project can be named rather than looked up.
  • Update Task Changes a task's name, description, assignees, estimate or due date.
  • Close Task Archives a task. Any assignee may close it and the tracked time survives.
  • Open Task Reactivates an archived task.
  • Delete Task Permanently deletes a task and every time entry logged against it. Close Task archives instead and keeps the hours.
  • Import Tasks Imports many tasks at once, naming their project, customer, service and assignees rather than resolving ids. It answers one row per input row, so a partial failure is visible per task.

The Running Timer

2
  • Start Timer Starts tracking time on a task. A timer already running for that person is stopped first, so this never fails on a busy timer and never runs two at once.
  • Stop Timer Stops tracking time on a task and closes its time entry.

Time Entries

12
  • List Time Entries Reads time entries for a period. The API abbreviates every field to save bytes, and a toggle expands them into readable names when the destination needs that.
  • List Flat Time Entries Reads time entries with readable column names and each custom field flattened into its own column. This is the export-shaped read for spreadsheets and warehouses.
  • List Filtered Time Entries Reads time entries through TrackingTime's advanced query, which filters, sorts, groups and formats in one call. Use it when the question is a report rather than a list.
  • Get Time Entry Returns one time entry with the custom fields set on it and the ones available.
  • Create Time Entry Records a block of time for one person, with a start, an end and an explicit timezone so the hours are not reinterpreted in the account's zone.
  • Update Time Entry Changes a time entry's times, task, notes or type.
  • Delete Time Entry Permanently deletes a time entry. TrackingTime's own warning is that this cannot be undone.
  • Mark Time Entries Billed Marks time entries as billed in one call. This is the write an invoicing flow makes once the invoice is out, so the same hours are never billed twice.
  • Mark Time Entries Not Billed Clears the billed flag, which is what reopens hours after an invoice is voided.
  • Create Time Entries In Batch Creates many time entries in one request, each taking the same fields as a single create.
  • Update Time Entries In Batch Applies the same change to every entry named in the id list. The blast radius is the list, so the list is what a review should look at.
  • Import Time Entries Imports time entries naming their project, task, customer, service and user rather than resolving ids, creating what is missing. It is the fastest way to move a timesheet in and the reason this page has the gate it has.

Custom Fields

9
  • List Custom Fields Reads the workspace's custom fields. Each names the record type it belongs to, so this is where a flow learns which field it may set on a project, task, customer, user or time entry.
  • Get Custom Field Returns one custom field with its type and the record type it applies to.
  • Create Custom Field Creates a custom field on projects, tasks, customers, users or time entries.
  • Update Custom Field Renames a custom field or changes its type, notes or color.
  • Delete Custom Field Permanently deletes a custom field and every value stored in it.
  • List Enum Options Reads the choices belonging to one enum custom field.
  • Create Enum Option Adds a choice to an enum custom field.
  • Update Enum Option Renames one choice of an enum custom field.
  • Delete Enum Option Permanently deletes one choice of an enum custom field.

Time Off

8
  • List Time Off Requests Reads time off requests. What comes back depends on plan and role, so an empty list can be a permission result rather than an empty account.
  • Get Time Off Request Returns one request with its dates, hours, status and policy.
  • Create Time Off Request Creates a request under a policy. Whether it needs approving is the policy's decision, not the call's.
  • Update Time Off Request Changes a request, including its status, which is how a request is approved or rejected from a flow.
  • Delete Time Off Request Removes a request. TrackingTime does this by moving it to a deleted status, so the history survives.
  • List Time Off Policies Reads the account's policies with whether each is paid and whether it needs approval.
  • Get Time Off Policy Returns one policy with its approval and payment rules.
  • List Time Off Balances Reads how much time off each person has left under each policy, with the cycle the balance belongs to.

Public Holidays

5
  • List Public Holidays Reads the account's public holidays, optionally for a date range or one person.
  • Get Public Holiday Returns one public holiday.
  • Create Public Holiday Creates public holidays, several at once, which is how a whole year is loaded in a single call.
  • Update Public Holiday Changes a holiday's name, date or country.
  • Delete Public Holiday Removes a public holiday from the account calendar.

Frequently Asked Questions

What can FlowRunner do with TrackingTime?

FlowRunner agents can run Get Current User, Get Account Details, and List Users in TrackingTime, plus 63 more actions.

Does connecting TrackingTime to FlowRunner require OAuth?

No. TrackingTime connects to FlowRunner with basic authentication (a username and password), no OAuth flow required.

Can TrackingTime trigger a FlowRunner workflow automatically?

TrackingTime doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.

Start building with TrackingTime

Free plan, no card required. Connect in minutes.