Microsoft 365
ERPL-Web turns the entire Microsoft 365 surface into something DuckDB can query β and in most cases, write to. Behind the scenes it speaks the Microsoft Graph API, but you never have to think about that: you use SQL.
A single client-credentials secret unlocks every service in this section.
CREATE SECRET m365 (
TYPE microsoft_graph,
TENANT_ID 'your-tenant-id',
CLIENT_ID 'your-app-client-id',
CLIENT_SECRET 'your-app-client-secret'
);
What's in this sectionβ
- SharePoint Lists β read, write, and
ATTACHSharePoint lists as DuckDB catalogs. - Excel Workbooks β read/write Excel tables and ranges;
ATTACHworkbooks by site name. - Microsoft Teams β query teams, channels, members, and channel messages.
- Outlook β emails, calendar events, and contacts.
- Microsoft Planner β plans, buckets, and tasks (with bulk-create support).
- Entra ID β users and sign-in logs.
When to use whichβ
| You want to⦠| Use |
|---|---|
| Build a reporting layer on top of M365 data | ATTACH (SharePoint or Excel) |
| Sync a single list or sheet on demand | graph_sharepoint_list_read, graph_excel_read |
| Backfill or update items programmatically | graph_sharepoint_create_item, graph_excel_write, β¦ |
| Track who logged in last week | graph_user_signin_logs |
See the function reference for the full surface area.