Skip to main content

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 ATTACH SharePoint lists as DuckDB catalogs.
  • Excel Workbooks β€” read/write Excel tables and ranges; ATTACH workbooks 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 dataATTACH (SharePoint or Excel)
Sync a single list or sheet on demandgraph_sharepoint_list_read, graph_excel_read
Backfill or update items programmaticallygraph_sharepoint_create_item, graph_excel_write, …
Track who logged in last weekgraph_user_signin_logs

See the function reference for the full surface area.