microsoft connectors¶
Microsoft 365, Power Platform, Dynamics 365, and Azure DevOps integrations. All use HTTP REST against Microsoft Graph or the product-specific endpoint with OAuth2 (Azure AD client-credentials, on-behalf-of, or auth-code) bearer tokens.
Connectors in this category¶
| Connector | URI / type | Auth | Native SDK | One-line description |
|---|---|---|---|---|
azure_devops |
connector://ado/send |
PAT / OAuth2 | No (HTTP) | Azure DevOps REST API top-level (org + projects). |
azure_devops_boards |
connector://ado-boards/send |
PAT (Basic) | HTTP REST 7.1 | Azure Boards work items + iterations + areas + WIQL queries. 8 ops. |
azure_devops_pipelines |
connector://ado-pipelines/send |
PAT (Basic) | HTTP REST 7.1 | Azure Pipelines: pipelines + runs + builds + releases. 8 ops. |
azure_devops_repos |
connector://ado-repos/send |
PAT (Basic) | HTTP REST 7.1 | Azure Repos (Git): repositories + branches + commits + PRs + files. 8 ops. |
dynamics_365 |
connector://d365/send |
OAuth2 | No (HTTP) | Dynamics 365 CRM / unified data via Web API. |
dynamics_365_bc |
connector://d365-bc/send |
OAuth2 | No (HTTP) | Dynamics 365 Business Central OData. |
dynamics_365_fo |
connector://d365-fo/send |
OAuth2 | No (HTTP) | Dynamics 365 Finance & Operations OData. |
dynamics_ax_2012 |
connector://ax2012/send |
OAuth2 / Windows auth | No (HTTP) | Dynamics AX 2012 services + DIXF. |
dynamics_crm |
connector://d-crm/send |
OAuth2 | No (HTTP) | Dynamics CRM legacy + on-prem WebAPI. |
dynamics_gp |
connector://d-gp/send |
OAuth2 / Windows | No (HTTP) | Dynamics GP eConnect XML. |
dynamics_nav |
connector://d-nav/send |
OAuth2 / NTLM | No (HTTP) | Dynamics NAV SOAP / OData services. |
excel_online |
connector://excel-online/send |
OAuth2 Graph | No (HTTP) | Excel Online workbook + worksheet + range via Graph. |
microsoft_graph |
connector://graph/send |
OAuth2 client-credentials (azidentity) | ✅ msgraph-sdk-go v1.99.0 | Microsoft Graph v1.0 unified endpoint. Sovereign clouds (public / gov / china). 11 ops — see the Microsoft Graph section below. |
onedrive |
connector://onedrive/send |
OAuth2 | No (HTTP) | OneDrive personal / business file + folder via Graph. |
outlook_365 |
connector://outlook/send |
OAuth2 | No (HTTP) | Outlook 365 mail + calendar + contacts via Graph. |
power_apps |
connector://powerapps/send |
Azure AD client-credentials (azidentity) | HTTP REST (api.powerapps.com) |
Power Apps: environments, apps, connections, connectors. 6 ops. |
power_automate |
connector://power-automate/send |
Azure AD client-credentials (azidentity) | HTTP REST (api.flow.microsoft.com) |
Power Automate (Flow): list, get, run, update, delete flows + list runs. 6 ops. |
power_bi |
connector://power-bi/send |
OAuth2 | No (HTTP) | Power BI workspaces + datasets + reports + refresh. |
powershell |
connector://pwsh/send |
OS / WinRM | No (HTTP) | PowerShell remote execution (WinRM / SSH transport). |
service_bus |
connector://ms-sb/send |
SAS / OAuth2 | No (HTTP) | Microsoft Service Bus messaging (alias of azure entry). |
sharepoint |
connector://sp/send |
OAuth2 Graph | No (HTTP) | SharePoint sites + lists + libraries via Graph. |
teams |
connector://teams/send |
OAuth2 Graph / Incoming-webhook | No (HTTP) | Microsoft Teams channel messages + chats via Graph. |
Microsoft Graph¶
The microsoft_graph connector is the only connector in this
category that uses the official Microsoft SDK (msgraph-sdk-go).
The rest are hand-rolled HTTP. Use microsoft_graph whenever a
Graph endpoint covers the data you need; reach for the
service-specific connectors only when an op isn't available on
Graph (e.g., legacy on-prem Dynamics, PowerShell remoting).
Config fields¶
| Field | Required | Description |
|---|---|---|
tenant_id |
yes | Azure AD tenant ID (GUID or domain). |
client_id |
yes | App registration client ID. |
client_secret |
yes | App registration client secret. Use a Key Vault reference in production. |
sovereign_cloud |
no | public (default), gov (US Government / GCC High), or china. Routes both the AAD login endpoint and the Graph host. |
Operations¶
operation header |
Graph path | Required headers / body |
|---|---|---|
list-users |
GET /users |
top / filter / select headers map to $top / $filter / $select. |
get-user |
GET /users/{id} |
user_id header. |
list-groups |
GET /groups |
— |
list-messages |
GET /users/{id}/messages |
user_id header. |
send-mail |
POST /users/{id}/sendMail |
user_id header. Body: {message: {...Graph Message…}, saveToSentItems: bool}. |
list-events |
GET /users/{id}/events |
user_id header. |
create-event |
POST /users/{id}/events |
user_id header. Body: a Graph Event object. |
list-drives |
GET /users/{id}/drives or GET /drives |
user_id optional. |
search |
POST /search/query |
Body: full SearchRequest envelope OR {q: "search-string"} shortcut. |
get-organization |
GET /organization |
— (works with any tenant-issued token; useful as a wire-path smoke test). |
list-service-principals |
GET /servicePrincipals |
filter / top headers. Useful for an app to find its own service principal in the tenant. |
YAML example¶
# Wire the microsoft-graph connector with M365 credentials,
# fetch the tenant's organization info, log it.
connectors:
m365:
type: microsoft-graph
config:
tenant_id: ${env.AZURE_TENANT_ID}
client_id: ${env.AZURE_CLIENT_ID}
client_secret: ${env.AZURE_CLIENT_SECRET}
workflows:
- id: m365-org-info
description: "Fetch tenant organization info from Microsoft Graph"
trigger:
uri: direct://m365-org
steps:
- setHeader:
name: operation
value: get-organization
- to: connector://m365/send
- log:
message: "Organization info from Graph"
showBody: true
For a sovereign-cloud target add sovereign_cloud: gov (or
china) to the connector config. The connector swaps both the
AAD login endpoint and the Graph host automatically.
Live testing¶
The connector ships with microsoft_graph_live_test.go (build
tag live) which runs against the real Graph API when these
env vars are set:
export AZURE_TENANT_ID=...
export AZURE_CLIENT_ID=...
export AZURE_CLIENT_SECRET=...
go test -tags=live -count=1 -timeout 5m \
./pkg/connector/connectors/microsoft/ -run TestLive_Graph
Last green run against a real tenant: 5/5 tests pass (real data round-trip on get-organization + list-service-principals, plus list-users / two-sequential-calls / token-acquisition).
See also¶
- Connector SDK guide — adding a new connector
- azure — Azure infrastructure connectors (AAD, Key Vault, AKS, Blob Storage)
- google — equivalent Workspace surface