Skip to content

Commit 143fe02

Browse files
authored
fix(microsoft): validate Microsoft integrations, return dropped fields and expose missing params (#9949)
* fix(microsoft): validate Microsoft integrations, return dropped fields and expose missing params Sweeps Outlook, Teams, OneDrive, Word, SharePoint, Excel, Planner, Intune, Entra ID, Power BI, Dataverse, Dynamics 365, Azure DevOps, and Azure Data Explorer against the Microsoft API references. Outlook read/search and the Outlook trigger now return Bcc, Reply-To, internetMessageId, flags, and categories. All changes are additive: no param, subBlock, operation, tool id, or output is removed or retyped. * fix(microsoft): address review — Outlook poller retries, SharePoint filter guard, opt-in Entra manager * fix(microsoft): address review round 2 — Dataverse nextLink table binding, offboarding roles, SharePoint hidden filters * fix(microsoft): Teams Get Message sender falls back to bot name; clarify SharePoint site search scope * fix(microsoft): zero-drift fixes from verification — dedicated subBlock ids, restored legacy outputs and caps * fix(microsoft): reserve ADX table envelopes up front, log skipped Outlook attachments, tighten SharePoint upload path * fix(microsoft): shared toStringOrNull in AzDO mapper, null relations when unexpanded, per-file SharePoint name errors
1 parent 4a5b2c6 commit 143fe02

187 files changed

Lines changed: 5030 additions & 919 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎apps/docs/content/docs/integrations/azure_data_explorer.mdx‎

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ Run Kusto Query Language queries against Azure Data Explorer and Fabric Eventhou
5252

5353
### Azure Data Explorer Query
5454

55-
Run a Kusto Query Language (KQL) query against an Azure Data Explorer database and return the primary result table.
55+
Run a Kusto Query Language (KQL) query against an Azure Data Explorer database and return the primary result table (plus any further tables a batch or fork produces).
5656

5757
<ReferenceDetails>
5858

@@ -80,7 +80,18 @@ Run a Kusto Query Language (KQL) query against an Azure Data Explorer database a
8080
| `records` | array | Result rows keyed by column name |
8181
| `rowCount` | number | Rows carried in this result, after the row cap |
8282
| `totalRowCount` | number | Rows Kusto returned, before the row cap was applied |
83-
| `truncated` | boolean | Whether rows were dropped to stay within the row cap — narrow the query if true |
83+
| `truncated` | boolean | Whether rows of the primary result table were dropped to stay within the row or size cap \(each additionalResults entry has its own truncated flag\) — narrow the query if true |
84+
| `additionalResults` | array | Further result tables, present only when a query batch \(statements separated by ;\) or fork returns more than one; the row and size caps are shared across all tables |
85+
| ↳ `tableName` | string | Result table name |
86+
| ↳ `columns` | array | Column metadata |
87+
| ↳ `name` | string | Column name |
88+
| ↳ `type` | string | Kusto scalar type |
89+
| ↳ `dataType` | string | Approximate .NET type |
90+
| ↳ `rows` | array | Rows as positional arrays matching the columns order |
91+
| ↳ `records` | array | Rows keyed by column name |
92+
| ↳ `rowCount` | number | Rows carried after the caps |
93+
| ↳ `totalRowCount` | number | Rows Kusto returned |
94+
| ↳ `truncated` | boolean | Whether rows were dropped by the caps |
8495

8596
</ReferenceDetails>
8697

‎apps/docs/content/docs/integrations/azure_devops.mdx‎

Lines changed: 119 additions & 4 deletions
Large diffs are not rendered by default.

‎apps/docs/content/docs/integrations/intune.mdx‎

Lines changed: 88 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ Read one page of devices from Microsoft Intune
6767
| ↳ `id` | string | Intune managed device ID |
6868
| ↳ `deviceName` | string | Device name |
6969
| ↳ `managedDeviceOwnerType` | string | Ownership: company, personal, or unknown |
70-
| ↳ `managementState` | string | Current device management state |
70+
| ↳ `managementState` | string | Device management state; not part of the Graph v1.0 managedDevice resource, so usually null |
7171
| ↳ `enrolledDateTime` | string | Enrollment time |
7272
| ↳ `lastSyncDateTime` | string | Last check-in time |
7373
| ↳ `operatingSystem` | string | Operating system |
@@ -84,6 +84,33 @@ Read one page of devices from Microsoft Intune
8484
| ↳ `model` | string | Device model |
8585
| ↳ `totalStorageSpaceInBytes` | number | Total storage capacity in bytes |
8686
| ↳ `freeStorageSpaceInBytes` | number | Available storage in bytes |
87+
| ↳ `managedDeviceName` | string | Intune-generated or administrator-assigned device name |
88+
| ↳ `managementAgent` | string | Management channel, such as mdm, eas, easMdm, or configurationManagerClient |
89+
| ↳ `deviceEnrollmentType` | string | Enrollment type, such as userEnrollment or windowsAzureADJoin |
90+
| ↳ `enrollmentProfileName` | string | Assigned enrollment profile name; empty when none was assigned |
91+
| ↳ `deviceRegistrationState` | string | Registration state, such as registered, notRegistered, or revoked |
92+
| ↳ `deviceCategoryDisplayName` | string | Device category display name |
93+
| ↳ `jailBroken` | string | Whether the device is jailbroken or rooted, as reported by Intune |
94+
| ↳ `isSupervised` | boolean | Device supervised status |
95+
| ↳ `azureADRegistered` | boolean | Whether the device is Microsoft Entra registered |
96+
| ↳ `complianceGracePeriodExpirationDateTime` | string | When the device compliance grace period expires |
97+
| ↳ `managementCertificateExpirationDate` | string | Device management certificate expiration date |
98+
| ↳ `partnerReportedThreatState` | string | Mobile Threat Defense partner threat state, such as secured or highSeverity |
99+
| ↳ `exchangeAccessState` | string | Exchange access state: none, unknown, allowed, blocked, or quarantined |
100+
| ↳ `exchangeAccessStateReason` | string | Reason for the Exchange access state |
101+
| ↳ `exchangeLastSuccessfulSyncDateTime` | string | Last time the device contacted Exchange |
102+
| ↳ `easActivated` | boolean | Whether Exchange ActiveSync is activated |
103+
| ↳ `androidSecurityPatchLevel` | string | Android security patch level |
104+
| ↳ `imei` | string | Device IMEI |
105+
| ↳ `meid` | string | Device MEID |
106+
| ↳ `phoneNumber` | string | Device phone number |
107+
| ↳ `subscriberCarrier` | string | Subscriber carrier |
108+
| ↳ `wiFiMacAddress` | string | Wi-Fi MAC address |
109+
| ↳ `deviceActionResults` | array | Status of remote actions requested on the device, such as rebootNow or retire |
110+
| ↳ `actionName` | string | Action name |
111+
| ↳ `actionState` | string | Action state, such as pending, done, failed, or notSupported |
112+
| ↳ `startDateTime` | string | Action start time |
113+
| ↳ `lastUpdatedDateTime` | string | Last action state update time |
87114

88115
</ReferenceDetails>
89116

@@ -107,7 +134,7 @@ Read device details from Microsoft Intune
107134
| ↳ `id` | string | Intune managed device ID |
108135
| ↳ `deviceName` | string | Device name |
109136
| ↳ `managedDeviceOwnerType` | string | Ownership: company, personal, or unknown |
110-
| ↳ `managementState` | string | Current device management state |
137+
| ↳ `managementState` | string | Device management state; not part of the Graph v1.0 managedDevice resource, so usually null |
111138
| ↳ `enrolledDateTime` | string | Enrollment time |
112139
| ↳ `lastSyncDateTime` | string | Last check-in time |
113140
| ↳ `operatingSystem` | string | Operating system |
@@ -124,6 +151,33 @@ Read device details from Microsoft Intune
124151
| ↳ `model` | string | Device model |
125152
| ↳ `totalStorageSpaceInBytes` | number | Total storage capacity in bytes |
126153
| ↳ `freeStorageSpaceInBytes` | number | Available storage in bytes |
154+
| ↳ `managedDeviceName` | string | Intune-generated or administrator-assigned device name |
155+
| ↳ `managementAgent` | string | Management channel, such as mdm, eas, easMdm, or configurationManagerClient |
156+
| ↳ `deviceEnrollmentType` | string | Enrollment type, such as userEnrollment or windowsAzureADJoin |
157+
| ↳ `enrollmentProfileName` | string | Assigned enrollment profile name; empty when none was assigned |
158+
| ↳ `deviceRegistrationState` | string | Registration state, such as registered, notRegistered, or revoked |
159+
| ↳ `deviceCategoryDisplayName` | string | Device category display name |
160+
| ↳ `jailBroken` | string | Whether the device is jailbroken or rooted, as reported by Intune |
161+
| ↳ `isSupervised` | boolean | Device supervised status |
162+
| ↳ `azureADRegistered` | boolean | Whether the device is Microsoft Entra registered |
163+
| ↳ `complianceGracePeriodExpirationDateTime` | string | When the device compliance grace period expires |
164+
| ↳ `managementCertificateExpirationDate` | string | Device management certificate expiration date |
165+
| ↳ `partnerReportedThreatState` | string | Mobile Threat Defense partner threat state, such as secured or highSeverity |
166+
| ↳ `exchangeAccessState` | string | Exchange access state: none, unknown, allowed, blocked, or quarantined |
167+
| ↳ `exchangeAccessStateReason` | string | Reason for the Exchange access state |
168+
| ↳ `exchangeLastSuccessfulSyncDateTime` | string | Last time the device contacted Exchange |
169+
| ↳ `easActivated` | boolean | Whether Exchange ActiveSync is activated |
170+
| ↳ `androidSecurityPatchLevel` | string | Android security patch level |
171+
| ↳ `imei` | string | Device IMEI |
172+
| ↳ `meid` | string | Device MEID |
173+
| ↳ `phoneNumber` | string | Device phone number |
174+
| ↳ `subscriberCarrier` | string | Subscriber carrier |
175+
| ↳ `wiFiMacAddress` | string | Wi-Fi MAC address |
176+
| ↳ `deviceActionResults` | array | Status of remote actions requested on the device, such as rebootNow or retire |
177+
| ↳ `actionName` | string | Action name |
178+
| ↳ `actionState` | string | Action state, such as pending, done, failed, or notSupported |
179+
| ↳ `startDateTime` | string | Action start time |
180+
| ↳ `lastUpdatedDateTime` | string | Last action state update time |
127181

128182
</ReferenceDetails>
129183

@@ -206,7 +260,7 @@ Read one page of managed devices that have a detected application installed
206260
| ↳ `id` | string | Intune managed device ID |
207261
| ↳ `deviceName` | string | Device name |
208262
| ↳ `managedDeviceOwnerType` | string | Ownership: company, personal, or unknown |
209-
| ↳ `managementState` | string | Current device management state |
263+
| ↳ `managementState` | string | Device management state; not part of the Graph v1.0 managedDevice resource, so usually null |
210264
| ↳ `enrolledDateTime` | string | Enrollment time |
211265
| ↳ `lastSyncDateTime` | string | Last check-in time |
212266
| ↳ `operatingSystem` | string | Operating system |
@@ -223,6 +277,33 @@ Read one page of managed devices that have a detected application installed
223277
| ↳ `model` | string | Device model |
224278
| ↳ `totalStorageSpaceInBytes` | number | Total storage capacity in bytes |
225279
| ↳ `freeStorageSpaceInBytes` | number | Available storage in bytes |
280+
| ↳ `managedDeviceName` | string | Intune-generated or administrator-assigned device name |
281+
| ↳ `managementAgent` | string | Management channel, such as mdm, eas, easMdm, or configurationManagerClient |
282+
| ↳ `deviceEnrollmentType` | string | Enrollment type, such as userEnrollment or windowsAzureADJoin |
283+
| ↳ `enrollmentProfileName` | string | Assigned enrollment profile name; empty when none was assigned |
284+
| ↳ `deviceRegistrationState` | string | Registration state, such as registered, notRegistered, or revoked |
285+
| ↳ `deviceCategoryDisplayName` | string | Device category display name |
286+
| ↳ `jailBroken` | string | Whether the device is jailbroken or rooted, as reported by Intune |
287+
| ↳ `isSupervised` | boolean | Device supervised status |
288+
| ↳ `azureADRegistered` | boolean | Whether the device is Microsoft Entra registered |
289+
| ↳ `complianceGracePeriodExpirationDateTime` | string | When the device compliance grace period expires |
290+
| ↳ `managementCertificateExpirationDate` | string | Device management certificate expiration date |
291+
| ↳ `partnerReportedThreatState` | string | Mobile Threat Defense partner threat state, such as secured or highSeverity |
292+
| ↳ `exchangeAccessState` | string | Exchange access state: none, unknown, allowed, blocked, or quarantined |
293+
| ↳ `exchangeAccessStateReason` | string | Reason for the Exchange access state |
294+
| ↳ `exchangeLastSuccessfulSyncDateTime` | string | Last time the device contacted Exchange |
295+
| ↳ `easActivated` | boolean | Whether Exchange ActiveSync is activated |
296+
| ↳ `androidSecurityPatchLevel` | string | Android security patch level |
297+
| ↳ `imei` | string | Device IMEI |
298+
| ↳ `meid` | string | Device MEID |
299+
| ↳ `phoneNumber` | string | Device phone number |
300+
| ↳ `subscriberCarrier` | string | Subscriber carrier |
301+
| ↳ `wiFiMacAddress` | string | Wi-Fi MAC address |
302+
| ↳ `deviceActionResults` | array | Status of remote actions requested on the device, such as rebootNow or retire |
303+
| ↳ `actionName` | string | Action name |
304+
| ↳ `actionState` | string | Action state, such as pending, done, failed, or notSupported |
305+
| ↳ `startDateTime` | string | Action start time |
306+
| ↳ `lastUpdatedDateTime` | string | Last action state update time |
226307

227308
</ReferenceDetails>
228309

@@ -251,6 +332,7 @@ Read one page of compliance policies from Microsoft Intune
251332
| ↳ `createdDateTime` | string | Creation time |
252333
| ↳ `lastModifiedDateTime` | string | Last modification time |
253334
| ↳ `version` | number | Policy or configuration version |
335+
| ↳ `odataType` | string | Graph @odata.type naming the platform-specific policy type, such as #microsoft.graph.windows10CompliancePolicy |
254336

255337
</ReferenceDetails>
256338

@@ -277,6 +359,7 @@ Read common metadata for an Intune compliance policy
277359
| ↳ `createdDateTime` | string | Creation time |
278360
| ↳ `lastModifiedDateTime` | string | Last modification time |
279361
| ↳ `version` | number | Policy or configuration version |
362+
| ↳ `odataType` | string | Graph @odata.type naming the platform-specific policy type, such as #microsoft.graph.windows10CompliancePolicy |
280363

281364
</ReferenceDetails>
282365

@@ -336,6 +419,7 @@ Read one page of device configurations from Microsoft Intune
336419
| ↳ `createdDateTime` | string | Creation time |
337420
| ↳ `lastModifiedDateTime` | string | Last modification time |
338421
| ↳ `version` | number | Policy or configuration version |
422+
| ↳ `odataType` | string | Graph @odata.type naming the platform-specific policy type, such as #microsoft.graph.windows10CompliancePolicy |
339423

340424
</ReferenceDetails>
341425

@@ -362,6 +446,7 @@ Read common metadata for an Intune device configuration
362446
| ↳ `createdDateTime` | string | Creation time |
363447
| ↳ `lastModifiedDateTime` | string | Last modification time |
364448
| ↳ `version` | number | Policy or configuration version |
449+
| ↳ `odataType` | string | Graph @odata.type naming the platform-specific policy type, such as #microsoft.graph.windows10CompliancePolicy |
365450

366451
</ReferenceDetails>
367452

‎apps/docs/content/docs/integrations/microsoft_ad.mdx‎

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,17 @@ List users in Azure AD (Microsoft Entra ID)
8282
| ↳ `officeLocation` | string | Office location |
8383
| ↳ `mobilePhone` | string | Mobile phone number |
8484
| ↳ `accountEnabled` | boolean | Whether the account is enabled |
85+
| ↳ `businessPhones` | array | Business phone numbers |
86+
| ↳ `preferredLanguage` | string | Preferred language |
87+
| ↳ `employeeId` | string | Employee identifier |
88+
| ↳ `employeeType` | string | Employee type \(e.g., Employee, Contractor\) |
89+
| ↳ `companyName` | string | Company name |
90+
| ↳ `userType` | string | User type: Member or Guest |
91+
| ↳ `usageLocation` | string | Two-letter country code, required before a license can be assigned |
92+
| ↳ `city` | string | City |
93+
| ↳ `country` | string | Country or region |
94+
| ↳ `createdDateTime` | string | When the user was created |
95+
| ↳ `onPremisesSyncEnabled` | boolean | Whether the user is synced from on-premises Active Directory |
8596
| `userCount` | number | Number of users returned |
8697
| `nextLink` | string | Continuation URL for the next page of results, or null if there are no more |
8798

@@ -98,6 +109,7 @@ Get a user by ID or user principal name from Azure AD
98109
| Parameter | Type | Required | Description |
99110
| --------- | ---- | -------- | ----------- |
100111
| `userId` | string | Yes | User ID or user principal name \(e.g., "user@example.com"\) |
112+
| `includeManager` | boolean | No | Also return the user's manager \(adds $expand=manager to the request\) |
101113

102114
#### Output
103115

@@ -115,6 +127,23 @@ Get a user by ID or user principal name from Azure AD
115127
| ↳ `officeLocation` | string | Office location |
116128
| ↳ `mobilePhone` | string | Mobile phone number |
117129
| ↳ `accountEnabled` | boolean | Whether the account is enabled |
130+
| ↳ `businessPhones` | array | Business phone numbers |
131+
| ↳ `preferredLanguage` | string | Preferred language |
132+
| ↳ `employeeId` | string | Employee identifier |
133+
| ↳ `employeeType` | string | Employee type \(e.g., Employee, Contractor\) |
134+
| ↳ `companyName` | string | Company name |
135+
| ↳ `userType` | string | User type: Member or Guest |
136+
| ↳ `usageLocation` | string | Two-letter country code, required before a license can be assigned |
137+
| ↳ `city` | string | City |
138+
| ↳ `country` | string | Country or region |
139+
| ↳ `createdDateTime` | string | When the user was created |
140+
| ↳ `onPremisesSyncEnabled` | boolean | Whether the user is synced from on-premises Active Directory |
141+
| `manager` | object | The user's manager, returned only when includeManager is true; null when no manager is assigned |
142+
| ↳ `id` | string | Manager object ID |
143+
| ↳ `displayName` | string | Manager display name |
144+
| ↳ `mail` | string | Manager email address |
145+
| ↳ `userPrincipalName` | string | Manager user principal name |
146+
| ↳ `jobTitle` | string | Manager job title |
118147

119148
</ReferenceDetails>
120149

@@ -379,11 +408,46 @@ List members of a group in Azure AD (Microsoft Entra ID)
379408
| ↳ `displayName` | string | Display name |
380409
| ↳ `mail` | string | Email address |
381410
| ↳ `odataType` | string | Directory object type |
411+
| ↳ `userPrincipalName` | string | User principal name, null for members that are not users |
382412
| `memberCount` | number | Number of members returned |
383413
| `nextLink` | string | Continuation URL for the next page of results, or null if there are no more |
384414

385415
</ReferenceDetails>
386416

417+
### List Azure AD User Memberships
418+
419+
List the groups, directory roles, and administrative units a user is a member of in Azure AD (Microsoft Entra ID)
420+
421+
<ReferenceDetails>
422+
423+
#### Input
424+
425+
| Parameter | Type | Required | Description |
426+
| --------- | ---- | -------- | ----------- |
427+
| `userId` | string | No | User ID or user principal name. Required unless continuing from a nextLink. |
428+
| `transitive` | boolean | No | Include memberships inherited through nested groups \(transitiveMemberOf\). Defaults to direct memberships only. |
429+
| `top` | number | No | Maximum number of memberships to return per page \(default 100, max 999\) |
430+
| `nextLink` | string | No | Continuation URL from a previous response's 'nextLink' output, used to fetch the next page of results |
431+
432+
#### Output
433+
434+
| Parameter | Type | Description |
435+
| --------- | ---- | ----------- |
436+
| `memberships` | array | Groups, directory roles, and administrative units the user belongs to |
437+
| ↳ `id` | string | Object ID of the group, directory role, or administrative unit |
438+
| ↳ `displayName` | string | Display name |
439+
| ↳ `description` | string | Description |
440+
| ↳ `odataType` | string | Directory object type \(e.g., "#microsoft.graph.group", "#microsoft.graph.directoryRole"\) |
441+
| ↳ `mail` | string | Email address \(groups only\) |
442+
| ↳ `mailEnabled` | boolean | Whether mail is enabled \(groups only\) |
443+
| ↳ `securityEnabled` | boolean | Whether security is enabled \(groups only\) |
444+
| ↳ `groupTypes` | array | Group types \(groups only\) |
445+
| ↳ `roleTemplateId` | string | Directory role template ID \(directory roles only\) |
446+
| `membershipCount` | number | Number of memberships returned |
447+
| `nextLink` | string | Continuation URL for the next page of results, or null if there are no more |
448+
449+
</ReferenceDetails>
450+
387451
### Add Azure AD Group Member
388452

389453
Add a member to a group in Azure AD (Microsoft Entra ID)
@@ -915,6 +979,7 @@ List the principals holding an administrator role. Returns up to 1000 members; t
915979
| ↳ `displayName` | string | Display name |
916980
| ↳ `mail` | string | Email address |
917981
| ↳ `odataType` | string | Directory object type |
982+
| ↳ `userPrincipalName` | string | User principal name, null for members that are not users |
918983
| `memberCount` | number | Number of members returned |
919984

920985
</ReferenceDetails>

0 commit comments

Comments
 (0)