Share via

why can't send notification feed through the App which installed from the Org ?

Rich 20 Reputation points
2026-03-12T08:06:51.87+00:00

Hi, I've created a basic teams app manifest without "staticTabs", just use basic notification feed as followings:

{
  "$schema": "https://developer.microsoft.com/en-us/json-schemas/teams/v1.25/MicrosoftTeams.schema.json",
  "version": "1.0.1",
  "manifestVersion": "1.25",
  "id": "xxx-1f46f82b5c84",
  "name": {
    "short": "Notification Bot Test",
    "full": "Notification Bot Test"
  },
  "developer": {
    "name": "Test",
    "websiteUrl": "https://test.com",
    "privacyUrl": "https://test/en/PrivacyPolicy/ncs",
    "termsOfUseUrl": "https://test.com/terms
  },
  "description": {
    "short": "Send notifications",
    "full": "This app allows Azure Web Application to send activity notifications to Teams users."
  },
  "icons": {
    "outline": "outline.png",
    "color": "color.png"
  },
  "accentColor": "#FFFFFF",
  "validDomains": [],
  "webApplicationInfo": {
    "id": "xxxxfc",
    "resource": "api://xxxd1ca3xx"
  },
  "activities": {
    "activityTypes": [
      {
        "type": "updateStatus",
        "description": "Status Changed",
        "templateText": "Status changed from {previousState} to {latterState}"
      }
    ]
  },
  "authorization": {
    "permissions": {
      "resourceSpecific": []
    }
  }
}

I pushed to org from teams dev portal and asked the Admin to approve it.

User's image I can see it from the app list in "built for your org". After I click "Add", an error happened as following screenshot:

User's image

I've tried to send notification feed by Graph Api. No installation ID found. It' strange.

curl --location 'https://graph.microsoft.com/v1.0/users/{userId}/teamwork/installedApps?%24expand=teamsAppDefinition' \
--header 'Authorization: Bearer token'


above response is empty. I try to use following API to send notification feed.

curl --location 'https://graph.microsoft.com/v1.0/users/{userId}/teamwork/sendActivityNotification' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {token}' \
--data '{
   "topic": {
        "source": "entityUrl",
        "value": "https://graph.microsoft.com/v1.0/users/{userId}/teamwork/installedApps/{installationId}"
    },
    "activityType": "systemDefault",
    "previewText": {
        "content": "Take a break"
    },
    "templateParameters": [
        {
            "name": "systemDefaultText",
            "value": "You need to take a short break"
        }
    ]
}'

Then I've tried "Microsoft 365 Agents Toolkit for Visual Studio Code " to make another test app with same manifest.json. I could send notification feed through Graph API. Because I could get installation ID using API /xxx/installedApps.

User's image

User's image

when I click "Open" in Feed Testlocal, same error, "This app is not available. Please check with your admin for more details". But I still could send notification feed. why ? is there different config which should do in Admin center ?

Microsoft Teams | Development
Microsoft Teams | Development

Building, integrating, or customizing apps and workflows within Microsoft Teams using developer tools and APIs

0 comments No comments
{count} votes

1 answer

Sort by: Most helpful
  1. Kudos-Ng 14,515 Reputation points Microsoft External Staff Moderator
    2026-03-12T09:05:10.4533333+00:00

    Hi Rich,

    Thank you for providing those specific details. 

    As far as I know, the issue you are encountering is primarily due to the lack of functional capabilities in your manifest.

    While your manifest is technically valid against the schema, the Teams platform requires at least one "entry point" (capability) to allow a user to install the app. Without a successful installation, the app is not assigned an installationId, which is why your Graph API /installedApps call returns empty.

    When you run locally with the Toolkit, it uses Direct Sideloading, which may bypass several Org-wide policy checks and "empty manifest" validation steps. The Org Store (Cloud deployment) is significantly stricter about structural requirements.

    Here is the recommended path to troubleshoot this:

    1. Add a Minimal Capability

    Teams requires a UI surface (like a tab or bot) to trigger the installation flow. You can add a minimal "About" page as a Static Tab:

    • This provides an "Open" button in the app store.
    • Clicking "Open" triggers the installation, which then registers the installationId in the Graph.
    • Example snippet for your manifest:
        "staticTabs": [  
        	{    
        		"entityId": "about",    
        		"name": "About",    
        		"contentUrl": "https://yourdomain.com/about",    
        		"scopes": ["personal"]  
        	}
        ]
      

    2. Manifest Version Check

    You are using manifestVersion: "1.25". This version was released very recently (Jan 2026) and is designed for specific AI/Agentic features. Try downgrading to v1.16 or v1.17 (the current standard for broad compatibility). Some production Teams clients may still have validation issues with v1.25 features when deployed through the Org Store.

    3. Verify Admin Center Settings

    The "Check with your admin" error usually means a permission policy is blocking the app:

    • Manage Apps: Search for your ID in the Teams Admin Center and ensure the status is "Allowed".
    • Permission Policies: Ensure "Custom Apps" are allowed in the Global policy or the policy assigned to your user account.

    I hope this helps.


    If the answer is helpful, please click "Accept Answer" and kindly upvote it. If you have extra questions about this answer, please click "Comment".         

    Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.


Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.