Microsoft Teams: posting rules and settings
What a Microsoft Teams channel accepts in Posty: media, limits, required fields, and the fields of the settings object for the API.
Basics
microsoft-teamsPost types
The same channel accepts more than one kind of post, and each kind has different requirements. The table shows what you need for each.
| Type | Media | Notes |
|---|---|---|
| Message | one image, optional | It goes out as an Adaptive Card, with the image below the text. |
Rules
- Microsoft Teams has no platform-specific settings. The __type field is enough in the settings object.
- You connect with a Workflows webhook link. In Teams, make a workflow from the template "Send webhook alerts to a channel" and copy the link it gives you.
- Office 365 connector links and the old logic.azure.com links do not work. Microsoft switched them off.
- The link works like a password. Posty stores it encrypted and shows only a masked form of it.
- The message goes out as an Adaptive Card. Posty stops at 10000 characters, because Teams refuses messages over 28 KB.
- Posty only sends. It does not read the channel.
- Nothing is posted when you connect. The first post proves that the link works.
Settings fields
The settings object only needs the __type field. The editor does not show a separate settings section for this channel.
Examples
Each example is one item in the POST /public/v1/posts request's posts array. The envelope around it is always this:
{
"type": "schedule",
"date": "2026-09-15T09:00:00.000Z",
"shortLink": false,
"posts": [ /* the item below */ ]
}Message to the channel
The settings object only needs the __type field.
{
"integration": { "id": "<teams-channel>" },
"value": [{ "content": "<p>The release is out.</p>", "image": [] }],
"settings": { "__type": "microsoft-teams" }
}The channel ID comes from the channel list, and the path values for images and videos from media upload. The exact schema for the connected account comes from the settings schema endpoint. From the command line, the same thing is the --settings flag. See the CLI examples.