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
| Dataset | What it holds |
|---|---|
| Timesheets | Every 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 |
| Roster | Everyone 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 hours | Each 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.