Use the Microsoft Outlook CLI from KosmoKrator to call Microsoft Outlook tools headlessly, return JSON, inspect schemas, and automate workflows from coding agents, scripts, and CI.
Microsoft Outlook can be configured headlessly with `kosmokrator integrations:configure microsoft-outlook`.
# Install KosmoKrator first if it is not available on PATH.curl -fsSL https://raw.githubusercontent.com/OpenCompanyApp/kosmokrator/main/install.sh | bash# Configure and verify this integration.kosmokrator integrations:configure microsoft-outlook --set access_token="$MICROSOFT_OUTLOOK_ACCESS_TOKEN" --enable --read allow --write ask --jsonkosmokrator integrations:doctor microsoft-outlook --jsonkosmokrator integrations:status --json
Credentials
Authentication type: Manual OAuth tokenoauth2_manual_token. Configure credentials once, then use the same stored profile from
scripts, coding CLIs, Lua code mode, and the MCP gateway.
Key
Env var
Type
Required
Label
access_token
MICROSOFT_OUTLOOK_ACCESS_TOKEN
Secret secret
yes
Access Token
base_url
MICROSOFT_OUTLOOK_BASE_URL
URL url
no
Graph API URL
Call Microsoft Outlook Headlessly
Use the generic call form when another coding CLI or script needs a stable universal interface.
Every function below can be called headlessly. The generic form is stable across all integrations;
the provider shortcut is shorter but specific to Microsoft Outlook.
microsoft-outlook.outlook_list_messages
Read read
List email messages in the signed-in user's Outlook mailbox. Supports filtering by subject, sender, date range, and read status. Returns a paginated list of messages with subject, sender, date, and preview.
Use these parameter tables when building CLI payloads without calling integrations:schema first.
microsoft-outlook.outlook_list_messages
List email messages in the signed-in user's Outlook mailbox. Supports filtering by subject, sender, date range, and read status. Returns a paginated list of messages with subject, sender, date, and preview.
Comma-separated list of properties to include, e.g. "displayName,mail,jobTitle".
Permissions
Headless calls still follow the integration read/write permission policy. Configure read/write defaults
with integrations:configure. Add --force only for trusted automation that should bypass that policy.