Skip to main content

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.