Skip to content

Developer docs

Data feeds.

A private link that keeps a spreadsheet or report up to date with your Hours AI data. Set it up once and it refreshes on its own.

1. Create a link

In Hours AI, open Settings → Data feeds, pick a dataset, name the link and create it. You get a CSV link, a JSON link and a ready Google Sheets formula. The link is shown once.

2. Datasets

DatasetWhat it holds
TimesheetsEvery shift with scheduled and clocked times, paid hours, flags and whether the week is approved.
date, week_start, employee_id, employee_name, role, scheduled_start, scheduled_end, scheduled_hours, clock_in, clock_out, paid_hours, flag, week_approved
RosterEveryone on the team with their status, job roles and weekly hour limits.
employee_id, name, status, access, job_roles, min_hours_per_week, max_hours_per_week, added_on
Sales and hoursEach day's sales beside scheduled and paid hours, with sales per labor hour.
date, gross_sales, net_sales, scheduled_hours, paid_hours, sales_per_labor_hour

Times are in the location’s timezone. Paid hours use the same rules as the payroll file, so a sheet and an export agree. Feeds never include pay rates, wages, or contact details.

Timesheets and sales and hours cover the last four weeks through today. Add ?weeks=8 to the link for more, up to 13.

3. Connect a tool

Google Sheets

Paste the formula from Settings into cell A1 of an empty sheet:

=IMPORTDATA("https://hours-ai.com/api/feeds/hfd_…csv")

Google refreshes it about every hour. Build charts and formulas on other tabs that read from this one.

Excel

Data → From Web, paste the CSV link, then Load. Set the refresh interval under Queries & Connections → Properties.

Looker Studio, Power BI and other BI tools

Point a web or CSV connector at the CSV link. Tools that read JSON can use the .json link, which returns rows as objects keyed by column name.

Scripts

curl "https://hours-ai.com/api/feeds/hfd_…json?weeks=2"

Security

  • Anyone with a link can read that dataset. Share it like a password.
  • New link in Settings replaces a link at once; Revoke turns it off. A dead link answers 404.
  • Only a fingerprint of each link is stored, so it cannot be recovered from our database.
  • Each link allows 60 reads a minute.

Want Hours AI to tell your systems when something changes instead? See Webhooks. Sending sales in? See Connect any POS.