Outlook
The complete Outlook trio is exposed to DuckDB: emails, calendar events, and contacts. Lazy streaming and folder pagination mean tenant-scale reads stay efficient.
Emails
-- All mail folders
SELECT * FROM graph_outlook_mail_folders();
-- Messages from a specific folder
SELECT subject, "from", receivedDateTime
FROM graph_outlook_emails(folder_name => 'Inbox')
WHERE receivedDateTime > now() - INTERVAL '7 days';
Calendar
SELECT subject, start_dateTime, end_dateTime, organizer
FROM graph_calendar_events()
WHERE start_dateTime > now()
ORDER BY start_dateTime;
Contacts
SELECT displayName, emailAddresses, companyName
FROM graph_contacts()
WHERE companyName ILIKE '%acme%';
All three functions return strongly-typed columns and support filtering pushdown where the Graph API allows it.