naftiko: 1.0.0-alpha2 info: label: Microsoft Graph Teamwork — users.userTeamwork description: 'Microsoft Graph Teamwork — users.userTeamwork. 20 operations. Lead operation: Microsoft Graph Get userTeamwork. Self-contained Naftiko capability covering one Microsoft Graph business surface.' tags: - Microsoft Graph - users.userTeamwork created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: MICROSOFT_GRAPH_API_KEY: MICROSOFT_GRAPH_API_KEY capability: consumes: - type: http namespace: teamwork-users-userteamwork baseUri: '' description: Microsoft Graph Teamwork — users.userTeamwork business capability. Self-contained, no shared references. resources: - name: users-user-id-teamwork path: /users/{user-id}/teamwork operations: - name: usersgetteamwork method: GET description: Microsoft Graph Get userTeamwork outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: $select in: query type: array description: Select properties to be returned - name: $expand in: query type: array description: Expand related entities - name: usersupdateteamwork method: PATCH description: Microsoft Graph Update the navigation property teamwork in users outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: usersdeleteteamwork method: DELETE description: Microsoft Graph Delete navigation property teamwork for users outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: If-Match in: header type: string description: ETag - name: users-user-id-teamwork-associatedTeams path: /users/{user-id}/teamwork/associatedTeams operations: - name: usersteamworklistassociatedteams method: GET description: Microsoft Graph Get associatedTeams from users outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: $orderby in: query type: array description: Order items by property values - name: $select in: query type: array description: Select properties to be returned - name: $expand in: query type: array description: Expand related entities - name: usersteamworkcreateassociatedteams method: POST description: Microsoft Graph Create new navigation property to associatedTeams for users outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: users-user-id-teamwork-associatedTeams-$count path: /users/{user-id}/teamwork/associatedTeams/$count operations: - name: usersteamworkassociatedteamsgetcount97ef method: GET description: Microsoft Graph Get the number of the resource outputRawFormat: json outputParameters: - name: result type: object value: $. - name: users-user-id-teamwork-associatedTeams-associatedTeamInfo-id path: /users/{user-id}/teamwork/associatedTeams/{associatedTeamInfo-id} operations: - name: usersteamworkgetassociatedteams method: GET description: Microsoft Graph Get associatedTeams from users outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: $select in: query type: array description: Select properties to be returned - name: $expand in: query type: array description: Expand related entities - name: usersteamworkupdateassociatedteams method: PATCH description: Microsoft Graph Update the navigation property associatedTeams in users outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: usersteamworkdeleteassociatedteams method: DELETE description: Microsoft Graph Delete navigation property associatedTeams for users outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: If-Match in: header type: string description: ETag - name: users-user-id-teamwork-associatedTeams-associatedTeamInfo-id-team path: /users/{user-id}/teamwork/associatedTeams/{associatedTeamInfo-id}/team operations: - name: usersteamworkassociatedteamsgetteam method: GET description: Microsoft Graph Get team from users outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: $select in: query type: array description: Select properties to be returned - name: $expand in: query type: array description: Expand related entities - name: users-user-id-teamwork-installedApps path: /users/{user-id}/teamwork/installedApps operations: - name: usersteamworklistinstalledapps method: GET description: Microsoft Graph List apps installed for user outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: $orderby in: query type: array description: Order items by property values - name: $select in: query type: array description: Select properties to be returned - name: $expand in: query type: array description: Expand related entities - name: usersteamworkcreateinstalledapps method: POST description: Microsoft Graph Install app for user outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: users-user-id-teamwork-installedApps-$count path: /users/{user-id}/teamwork/installedApps/$count operations: - name: usersteamworkinstalledappsgetcount0292 method: GET description: Microsoft Graph Get the number of the resource outputRawFormat: json outputParameters: - name: result type: object value: $. - name: users-user-id-teamwork-installedApps-userScopeTeamsAppInstallation-id path: /users/{user-id}/teamwork/installedApps/{userScopeTeamsAppInstallation-id} operations: - name: usersteamworkgetinstalledapps method: GET description: Microsoft Graph Get installed app for user outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: $select in: query type: array description: Select properties to be returned - name: $expand in: query type: array description: Expand related entities - name: usersteamworkupdateinstalledapps method: PATCH description: Microsoft Graph Update the navigation property installedApps in users outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: usersteamworkdeleteinstalledapps method: DELETE description: Microsoft Graph Uninstall app for user outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: If-Match in: header type: string description: ETag - name: users-user-id-teamwork-installedApps-userScopeTeamsAppInstallation-id-chat path: /users/{user-id}/teamwork/installedApps/{userScopeTeamsAppInstallation-id}/chat operations: - name: usersteamworkinstalledappsgetchat method: GET description: Microsoft Graph Get chat between user and teamsApp outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: $select in: query type: array description: Select properties to be returned - name: $expand in: query type: array description: Expand related entities - name: users-user-id-teamwork-installedApps-userScopeTeamsAppInstallation-id-teamsApp path: /users/{user-id}/teamwork/installedApps/{userScopeTeamsAppInstallation-id}/teamsApp operations: - name: usersteamworkinstalledappsgetteamsapp method: GET description: Microsoft Graph Get teamsApp from users outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: $select in: query type: array description: Select properties to be returned - name: $expand in: query type: array description: Expand related entities - name: users-user-id-teamwork-installedApps-userScopeTeamsAppInstallation-id-teamsAppDe path: /users/{user-id}/teamwork/installedApps/{userScopeTeamsAppInstallation-id}/teamsAppDefinition operations: - name: usersteamworkinstalledappsgetteamsappdefinition method: GET description: Microsoft Graph Get teamsAppDefinition from users outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: $select in: query type: array description: Select properties to be returned - name: $expand in: query type: array description: Expand related entities - name: users-user-id-teamwork-sendActivityNotification path: /users/{user-id}/teamwork/sendActivityNotification operations: - name: usersuserteamworksendactivitynotification method: POST description: Microsoft Graph Invoke action sendActivityNotification outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true exposes: - type: rest namespace: teamwork-users-userteamwork-rest port: 8080 description: REST adapter for Microsoft Graph Teamwork — users.userTeamwork. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/users/{user-id}/teamwork name: users-user-id-teamwork description: REST surface for users-user-id-teamwork. operations: - method: GET name: usersgetteamwork description: Microsoft Graph Get userTeamwork call: teamwork-users-userteamwork.usersgetteamwork with: $select: rest.$select $expand: rest.$expand outputParameters: - type: object mapping: $. - method: PATCH name: usersupdateteamwork description: Microsoft Graph Update the navigation property teamwork in users call: teamwork-users-userteamwork.usersupdateteamwork with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: usersdeleteteamwork description: Microsoft Graph Delete navigation property teamwork for users call: teamwork-users-userteamwork.usersdeleteteamwork with: If-Match: rest.If-Match outputParameters: - type: object mapping: $. - path: /v1/users/{user-id}/teamwork/associatedteams name: users-user-id-teamwork-associatedteams description: REST surface for users-user-id-teamwork-associatedTeams. operations: - method: GET name: usersteamworklistassociatedteams description: Microsoft Graph Get associatedTeams from users call: teamwork-users-userteamwork.usersteamworklistassociatedteams with: $orderby: rest.$orderby $select: rest.$select $expand: rest.$expand outputParameters: - type: object mapping: $. - method: POST name: usersteamworkcreateassociatedteams description: Microsoft Graph Create new navigation property to associatedTeams for users call: teamwork-users-userteamwork.usersteamworkcreateassociatedteams with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/users/{user-id}/teamwork/associatedteams/count name: users-user-id-teamwork-associatedteams-count description: REST surface for users-user-id-teamwork-associatedTeams-$count. operations: - method: GET name: usersteamworkassociatedteamsgetcount97ef description: Microsoft Graph Get the number of the resource call: teamwork-users-userteamwork.usersteamworkassociatedteamsgetcount97ef outputParameters: - type: object mapping: $. - path: /v1/users/{user-id}/teamwork/associatedteams/{associatedteaminfo-id} name: users-user-id-teamwork-associatedteams-associatedteaminfo-id description: REST surface for users-user-id-teamwork-associatedTeams-associatedTeamInfo-id. operations: - method: GET name: usersteamworkgetassociatedteams description: Microsoft Graph Get associatedTeams from users call: teamwork-users-userteamwork.usersteamworkgetassociatedteams with: $select: rest.$select $expand: rest.$expand outputParameters: - type: object mapping: $. - method: PATCH name: usersteamworkupdateassociatedteams description: Microsoft Graph Update the navigation property associatedTeams in users call: teamwork-users-userteamwork.usersteamworkupdateassociatedteams with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: usersteamworkdeleteassociatedteams description: Microsoft Graph Delete navigation property associatedTeams for users call: teamwork-users-userteamwork.usersteamworkdeleteassociatedteams with: If-Match: rest.If-Match outputParameters: - type: object mapping: $. - path: /v1/users/{user-id}/teamwork/associatedteams/{associatedteaminfo-id}/team name: users-user-id-teamwork-associatedteams-associatedteaminfo-id-team description: REST surface for users-user-id-teamwork-associatedTeams-associatedTeamInfo-id-team. operations: - method: GET name: usersteamworkassociatedteamsgetteam description: Microsoft Graph Get team from users call: teamwork-users-userteamwork.usersteamworkassociatedteamsgetteam with: $select: rest.$select $expand: rest.$expand outputParameters: - type: object mapping: $. - path: /v1/users/{user-id}/teamwork/installedapps name: users-user-id-teamwork-installedapps description: REST surface for users-user-id-teamwork-installedApps. operations: - method: GET name: usersteamworklistinstalledapps description: Microsoft Graph List apps installed for user call: teamwork-users-userteamwork.usersteamworklistinstalledapps with: $orderby: rest.$orderby $select: rest.$select $expand: rest.$expand outputParameters: - type: object mapping: $. - method: POST name: usersteamworkcreateinstalledapps description: Microsoft Graph Install app for user call: teamwork-users-userteamwork.usersteamworkcreateinstalledapps with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/users/{user-id}/teamwork/installedapps/count name: users-user-id-teamwork-installedapps-count description: REST surface for users-user-id-teamwork-installedApps-$count. operations: - method: GET name: usersteamworkinstalledappsgetcount0292 description: Microsoft Graph Get the number of the resource call: teamwork-users-userteamwork.usersteamworkinstalledappsgetcount0292 outputParameters: - type: object mapping: $. - path: /v1/users/{user-id}/teamwork/installedapps/{userscopeteamsappinstallation-id} name: users-user-id-teamwork-installedapps-userscopeteamsappinstallation-id description: REST surface for users-user-id-teamwork-installedApps-userScopeTeamsAppInstallation-id. operations: - method: GET name: usersteamworkgetinstalledapps description: Microsoft Graph Get installed app for user call: teamwork-users-userteamwork.usersteamworkgetinstalledapps with: $select: rest.$select $expand: rest.$expand outputParameters: - type: object mapping: $. - method: PATCH name: usersteamworkupdateinstalledapps description: Microsoft Graph Update the navigation property installedApps in users call: teamwork-users-userteamwork.usersteamworkupdateinstalledapps with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: usersteamworkdeleteinstalledapps description: Microsoft Graph Uninstall app for user call: teamwork-users-userteamwork.usersteamworkdeleteinstalledapps with: If-Match: rest.If-Match outputParameters: - type: object mapping: $. - path: /v1/users/{user-id}/teamwork/installedapps/{userscopeteamsappinstallation-id}/chat name: users-user-id-teamwork-installedapps-userscopeteamsappinstallation-id-chat description: REST surface for users-user-id-teamwork-installedApps-userScopeTeamsAppInstallation-id-chat. operations: - method: GET name: usersteamworkinstalledappsgetchat description: Microsoft Graph Get chat between user and teamsApp call: teamwork-users-userteamwork.usersteamworkinstalledappsgetchat with: $select: rest.$select $expand: rest.$expand outputParameters: - type: object mapping: $. - path: /v1/users/{user-id}/teamwork/installedapps/{userscopeteamsappinstallation-id}/teamsapp name: users-user-id-teamwork-installedapps-userscopeteamsappinstallation-id-teamsapp description: REST surface for users-user-id-teamwork-installedApps-userScopeTeamsAppInstallation-id-teamsApp. operations: - method: GET name: usersteamworkinstalledappsgetteamsapp description: Microsoft Graph Get teamsApp from users call: teamwork-users-userteamwork.usersteamworkinstalledappsgetteamsapp with: $select: rest.$select $expand: rest.$expand outputParameters: - type: object mapping: $. - path: /v1/users/{user-id}/teamwork/installedapps/{userscopeteamsappinstallation-id}/teamsappdefinition name: users-user-id-teamwork-installedapps-userscopeteamsappinstallation-id-teamsappde description: REST surface for users-user-id-teamwork-installedApps-userScopeTeamsAppInstallation-id-teamsAppDe. operations: - method: GET name: usersteamworkinstalledappsgetteamsappdefinition description: Microsoft Graph Get teamsAppDefinition from users call: teamwork-users-userteamwork.usersteamworkinstalledappsgetteamsappdefinition with: $select: rest.$select $expand: rest.$expand outputParameters: - type: object mapping: $. - path: /v1/users/{user-id}/teamwork/sendactivitynotification name: users-user-id-teamwork-sendactivitynotification description: REST surface for users-user-id-teamwork-sendActivityNotification. operations: - method: POST name: usersuserteamworksendactivitynotification description: Microsoft Graph Invoke action sendActivityNotification call: teamwork-users-userteamwork.usersuserteamworksendactivitynotification with: body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: teamwork-users-userteamwork-mcp port: 9090 transport: http description: MCP adapter for Microsoft Graph Teamwork — users.userTeamwork. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: microsoft-graph-get-userteamwork description: Microsoft Graph Get userTeamwork hints: readOnly: true destructive: false idempotent: true call: teamwork-users-userteamwork.usersgetteamwork with: $select: tools.$select $expand: tools.$expand outputParameters: - type: object mapping: $. - name: microsoft-graph-update-navigation-property description: Microsoft Graph Update the navigation property teamwork in users hints: readOnly: false destructive: false idempotent: true call: teamwork-users-userteamwork.usersupdateteamwork with: body: tools.body outputParameters: - type: object mapping: $. - name: microsoft-graph-delete-navigation-property description: Microsoft Graph Delete navigation property teamwork for users hints: readOnly: false destructive: true idempotent: true call: teamwork-users-userteamwork.usersdeleteteamwork with: If-Match: tools.If-Match outputParameters: - type: object mapping: $. - name: microsoft-graph-get-associatedteams-users description: Microsoft Graph Get associatedTeams from users hints: readOnly: true destructive: false idempotent: true call: teamwork-users-userteamwork.usersteamworklistassociatedteams with: $orderby: tools.$orderby $select: tools.$select $expand: tools.$expand outputParameters: - type: object mapping: $. - name: microsoft-graph-create-new-navigation description: Microsoft Graph Create new navigation property to associatedTeams for users hints: readOnly: false destructive: false idempotent: false call: teamwork-users-userteamwork.usersteamworkcreateassociatedteams with: body: tools.body outputParameters: - type: object mapping: $. - name: microsoft-graph-get-number-resource description: Microsoft Graph Get the number of the resource hints: readOnly: true destructive: false idempotent: true call: teamwork-users-userteamwork.usersteamworkassociatedteamsgetcount97ef outputParameters: - type: object mapping: $. - name: microsoft-graph-get-associatedteams-users-2 description: Microsoft Graph Get associatedTeams from users hints: readOnly: true destructive: false idempotent: true call: teamwork-users-userteamwork.usersteamworkgetassociatedteams with: $select: tools.$select $expand: tools.$expand outputParameters: - type: object mapping: $. - name: microsoft-graph-update-navigation-property-2 description: Microsoft Graph Update the navigation property associatedTeams in users hints: readOnly: false destructive: false idempotent: true call: teamwork-users-userteamwork.usersteamworkupdateassociatedteams with: body: tools.body outputParameters: - type: object mapping: $. - name: microsoft-graph-delete-navigation-property-2 description: Microsoft Graph Delete navigation property associatedTeams for users hints: readOnly: false destructive: true idempotent: true call: teamwork-users-userteamwork.usersteamworkdeleteassociatedteams with: If-Match: tools.If-Match outputParameters: - type: object mapping: $. - name: microsoft-graph-get-team-users description: Microsoft Graph Get team from users hints: readOnly: true destructive: false idempotent: true call: teamwork-users-userteamwork.usersteamworkassociatedteamsgetteam with: $select: tools.$select $expand: tools.$expand outputParameters: - type: object mapping: $. - name: microsoft-graph-list-apps-installed description: Microsoft Graph List apps installed for user hints: readOnly: true destructive: false idempotent: true call: teamwork-users-userteamwork.usersteamworklistinstalledapps with: $orderby: tools.$orderby $select: tools.$select $expand: tools.$expand outputParameters: - type: object mapping: $. - name: microsoft-graph-install-app-user description: Microsoft Graph Install app for user hints: readOnly: false destructive: false idempotent: false call: teamwork-users-userteamwork.usersteamworkcreateinstalledapps with: body: tools.body outputParameters: - type: object mapping: $. - name: microsoft-graph-get-number-resource-2 description: Microsoft Graph Get the number of the resource hints: readOnly: true destructive: false idempotent: true call: teamwork-users-userteamwork.usersteamworkinstalledappsgetcount0292 outputParameters: - type: object mapping: $. - name: microsoft-graph-get-installed-app description: Microsoft Graph Get installed app for user hints: readOnly: true destructive: false idempotent: true call: teamwork-users-userteamwork.usersteamworkgetinstalledapps with: $select: tools.$select $expand: tools.$expand outputParameters: - type: object mapping: $. - name: microsoft-graph-update-navigation-property-3 description: Microsoft Graph Update the navigation property installedApps in users hints: readOnly: false destructive: false idempotent: true call: teamwork-users-userteamwork.usersteamworkupdateinstalledapps with: body: tools.body outputParameters: - type: object mapping: $. - name: microsoft-graph-uninstall-app-user description: Microsoft Graph Uninstall app for user hints: readOnly: false destructive: true idempotent: true call: teamwork-users-userteamwork.usersteamworkdeleteinstalledapps with: If-Match: tools.If-Match outputParameters: - type: object mapping: $. - name: microsoft-graph-get-chat-between description: Microsoft Graph Get chat between user and teamsApp hints: readOnly: true destructive: false idempotent: true call: teamwork-users-userteamwork.usersteamworkinstalledappsgetchat with: $select: tools.$select $expand: tools.$expand outputParameters: - type: object mapping: $. - name: microsoft-graph-get-teamsapp-users description: Microsoft Graph Get teamsApp from users hints: readOnly: true destructive: false idempotent: true call: teamwork-users-userteamwork.usersteamworkinstalledappsgetteamsapp with: $select: tools.$select $expand: tools.$expand outputParameters: - type: object mapping: $. - name: microsoft-graph-get-teamsappdefinition-users description: Microsoft Graph Get teamsAppDefinition from users hints: readOnly: true destructive: false idempotent: true call: teamwork-users-userteamwork.usersteamworkinstalledappsgetteamsappdefinition with: $select: tools.$select $expand: tools.$expand outputParameters: - type: object mapping: $. - name: microsoft-graph-invoke-action-sendactivitynotification description: Microsoft Graph Invoke action sendActivityNotification hints: readOnly: false destructive: false idempotent: false call: teamwork-users-userteamwork.usersuserteamworksendactivitynotification with: body: tools.body outputParameters: - type: object mapping: $.