Artala exposes your data as native OData feeds, and Excel and Power BI both read OData out of the box. Point them at a feed once and you get a live report that refreshes on demand — no exports to schedule, no plugin to install, no copies to keep in sync.
OData is an open standard for querying data over HTTP, and it's built into both Excel (Data → Get Data → From OData Feed) and Power BI Desktop (Get data → OData feed). Because Artala speaks OData natively, connecting is a one-time setup — after that, a single refresh pulls the current numbers. The feed is read-only, scoped to your workspace, and respects the same permissions as the app.
A common first report: approved timesheet hours. Below is the exact setup for Excel and Power BI, then a set of ready-to-paste query recipes.
Artala publishes 12 OData feeds. These three cover most reporting needs; the full list is in the API docs.
/odata/TimesheetWeeks
One row per person per week: UserName, WeekStartDate, TotalHours, Status, ApproverName, ActionedAt. Filter Status to Approved for payroll-ready hours.
/odata/TimeEntries
Each logged entry with TaskTitle, BoardName, UserName, LoggedDate, Hours and a WeekStatus column so you can keep only approved time.
/odata/Tasks
All active tasks with Title, Status, Priority, AssigneeName, DueDate, IsOverdue, CompletedAt — for delivery and workload dashboards.
You'll need a workspace API key (create one in Artala under your API key settings). Then:
In Excel, go to Data → Get Data → From Other Sources → Blank Query. This opens the Power Query editor.
Open Home → Advanced Editor and replace the contents with this (swap in your key):
let Source = OData.Feed( "https://app.artala.app/odata/TimesheetWeeks", null, [Headers = [Authorization = "Bearer tb_YOUR_API_KEY"], Implementation = "2.0"] ), Approved = Table.SelectRows(Source, each [Status] = "Approved") in Approved
The Approved step folds back into a server-side $filter, so Artala only sends the rows you want.
Power Query may ask how to authenticate. Pick Anonymous — your key is already being sent in the header you set, so no additional credential is needed.
Click Close & Load. You now have a live table of approved weekly hours. Re-pull anytime with Data → Refresh All — no re-export.
Power BI Desktop uses the same Power Query engine, so the query is identical:
Go to Home → Get data → Blank query, then Home → Advanced Editor.
Use the exact OData.Feed(…) snippet from the Excel steps above. Point it at whichever feed you need.
Choose Anonymous, click Close & Apply, and the feed becomes a table you can drop into visuals. Refresh pulls live data; schedule it in the Power BI Service for an always-current dashboard.
Excel and Power BI's point-and-click connectors don't have a "Bearer token" option, which is why the setup above passes the key in a Headers entry inside the query rather than through the dialog. That's deliberate.
Don't put your API key in the feed URL as a query string. Keys in URLs end up in browser history, server logs, and shared workbooks. Keeping the key in the request header keeps it out of those places.
OData feeds can only read, never write. They return data for your workspace only and honour the same role permissions as the app, so a report can never expose more than the key's owner could already see.
Append any of these to a feed URL, or express them as Table.SelectRows steps in Power Query — either way the filtering runs on Artala's side.
| You want | Append to the feed URL |
|---|---|
| Approved weeks only | /odata/TimesheetWeeks?$filter=Status eq 'Approved' |
| Approved hours since a date | /odata/TimesheetWeeks?$filter=Status eq 'Approved' and WeekStartDate ge 2026-06-01 |
| Approved hours, biggest first | /odata/TimesheetWeeks?$filter=Status eq 'Approved'&$orderby=TotalHours desc |
| Approved time per task | /odata/TimeEntries?$filter=WeekStatus eq 'Approved'&$select=BoardName,TaskTitle,UserName,LoggedDate,Hours |
| Overdue open tasks | /odata/Tasks?$filter=IsOverdue eq true&$orderby=DueDate |
| Just a few columns | ?$select=UserName,WeekStartDate,TotalHours,Status |
Full feed list, columns, and query options are in the API documentation →
Free for up to 3 users. Create an API key and connect your first feed in minutes.