Skip to main content
This recipe loads your events into an Excel table with Power Query. It works in Excel for Microsoft 365 and Excel 2016 or later on Windows, and in Excel for Microsoft 365 on Mac.

Quick version: the first 200 events

1

Start a web query

Choose Data → Get Data → From Other Sources → From Web. Choose Advanced.
2

Enter the address

In URL parts, enter:
3

Add the key

In HTTP request header parameters, type Authorization in the first box. In the second box, type Bearer followed by the sandbox key:
Choose OK.
4

Choose Anonymous

If Excel asks how to connect, choose Anonymous, then Connect. The key in the header does the signing in.
5

Turn the list into a table

In the Power Query editor, select data: List, then To Table, then the expand button in the column header. Choose the columns you want. Choose Close & Load.
To refresh, choose Data → Refresh All.

Full version: every event, every page

A list comes back 200 rows at a time. To load all of them, paste this into a blank query. Choose Data → Get Data → From Other Sources → Blank Query, then Advanced Editor.
Power Query (M)
Choose Done, then Close & Load.

Only the events that changed this week

Power Query does not keep anything between refreshes, so it cannot remember the last sync. It can still ask for a short list: the events that changed in the last 7 days. Paste this into a second blank query.
Power Query (M)
Each row is one event that changed. A deleted or archived event is not in it: refresh the full query above at least once a week to see what was removed. To keep a full copy up to date from one refresh to the next, use the Google Sheets or Python recipe, which can remember where they stopped.

Switch to your group

Change api-demo.scoutworks.app to api.scoutworks.app, and replace the sandbox key with your own. Your key needs the events:read scope.
Excel saves the key inside the workbook. Anyone with a copy of the file can read it. Keep the workbook private, and create a key with only the scope it needs. If the file is shared by mistake, revoke the key in Scoutworks.

Other lists

Change the address in Web.Contents and the column names in Table.FromRecords: The API reference lists every field.