Skip to main content
Question

MS Teams - Adaptive cards

  • August 16, 2026
  • 1 reply
  • 18 views

ORBR
Forum|alt.badge.img+7

Hello Experts,

We are attempting to send styled Microsoft Adaptive Cards to Teamschats directly through Google SecOps SOAR playbooks. We designed the card JSON using the official Microsoft Adaptive Cards Designer.

However, when passing the JSON payload into the Text parameter of the MicrosoftTeams - Send Chat Message action, the message renders strictly as unformatted raw JSON text in Microsoft Teams rather than as a visual Adaptive Card.

Is there an existing parameter, syntax wrapper, or integration configuration in the Microsoft Teams integration that allows Send Chat Message to accept native Adaptive Card JSON payloads?

If not, could you provide a supported Python snippet or guide on how to extend MicrosoftTeamsManager so it can properly post application/vnd.microsoft.card.adaptive attachments to Microsoft Graph API?

1 reply

thineth_dasun
Forum|alt.badge.img+6

Hi ​@ORBR,

Great question — the behavior you’re seeing is expected. The MicrosoftTeams – Send Chat Message action in Google SecOps SOAR playbooks only accepts plain text. That’s why your Adaptive Card JSON renders as raw text instead of a visual card.

🔑 Current limitation

  • Send Chat Message action → Designed for text payloads only.

  • Adaptive Card JSON requires posting as an attachment with content type application/vnd.microsoft.card.adaptive via Microsoft Graph API.

🛠 Options to achieve Adaptive Card rendering

  1. Extend integration via Python

    • Use the Microsoft Graph API chatMessage endpoint.

    • Payload must include attachments array with contentType: application/vnd.microsoft.card.adaptive and your card JSON under content.

  2. Custom connector

    • Wrap the Graph API call in a Python script or custom SecOps connector.

    • Example snippet outline:

      python

      import requests

      url = f"https://graph.microsoft.com/v1.0/chats/{chat_id}/messages"
      headers = {
      "Authorization": f"Bearer {token}",
      "Content-Type": "application/json"
      }
      payload = {
      "attachments": [
      {
      "contentType": "application/vnd.microsoft.card.adaptive",
      "content": adaptive_card_json
      }
      ]
      }
      response = requests.post(url, headers=headers, json=payload)
      print(response.json())
    • Replace chat_id, token, and adaptive_card_json with your values.

  3. Future integration request

    • At present, the native Teams action in SecOps doesn’t support Adaptive Cards. Submitting feedback to Google SecOps product team is recommended.

👉 In short: Adaptive Cards cannot be sent through the existing Send Chat Message action. You’ll need to either extend the integration with a Python script calling Microsoft Graph API, or wait for native support.

Kind regards