Skip to content
Microsoft Teams

Via HTTP · Messaging and email

Microsoft Teams, in every client’s workflows.

Post a message to a channel, with the client’s own Microsoft Teams account.

Triggers
0start a workflow
Recipe
1one web request step

Via HTTP

Post a message to a channel, with one step

For clients on Microsoft 365, where the team already lives in Teams. The web request step, filled in: paste it, swap in the client’s ids, add their key.

  1. 01

    Add the client’s credential

    On the client’s page in Thrum: Add credential, type Webhook URL. In the Teams channel: ••• → Workflows → “Post to a channel when a webhook request is received” → choose the team and channel → copy the URL it gives. The older Office 365 connector URLs no longer work.

    {
      "url": "https://…/workflows/…/triggers/manual/paths/invoke?…"
    }
  2. 02

    Add a web request step

    Name it “Post to Teams”, set it as here, and pick the credential. Values in double braces are read from the run: here, the lead the form brought in.

    {
      "method": "POST",
      "url": "{{ credential.url }}",
      "body": {
        "type": "message",
        "attachments": [
          {
            "contentType": "application/vnd.microsoft.card.adaptive",
            "content": {
              "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
              "type": "AdaptiveCard",
              "version": "1.4",
              "body": [
                {
                  "type": "TextBlock",
                  "text": "New lead: {{ lead.name }}",
                  "weight": "Bolder",
                  "wrap": true
                },
                {
                  "type": "TextBlock",
                  "text": "{{ lead.phone }}. {{ lead.summary }}",
                  "wrap": true
                }
              ]
            }
          }
        ]
      }
    }
  3. 03

    What goes out, and what comes back

    The workflow answers 202 when it has accepted the message; posting happens a moment later, inside Microsoft.

    POST https://prod-00.westeurope.logic.azure.com:443/workflows/abc123/triggers/manual/paths/invoke?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=…
    content-type: application/json
    
    {
      "type": "message",
      "attachments": [
        {
          "contentType": "application/vnd.microsoft.card.adaptive",
          "content": {
            "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
            "type": "AdaptiveCard",
            "version": "1.4",
            "body": [
              {
                "type": "TextBlock",
                "text": "New lead: Nadia Karim",
                "weight": "Bolder",
                "wrap": true
              },
              {
                "type": "TextBlock",
                "text": "+447700900222. Quote for a new bathroom, two basins and a shower",
                "wrap": true
              }
            ]
          }
        }
      ]
    }
    202
    

Watched like everything else

When Microsoft Teams stops answering or refuses the client’s key, you hear about it, and your client does not.

A failing request
Tried 3 times, 5 seconds apart and doubling, only for errors a retry can fix
A service that asks for a pause
Given it, up to an hour
Requests at once, per account
2, per worker; the rest wait their turn
Timeout
15 seconds, unless the step sets its own
Private and internal addresses
Refused, on every redirect too
The client’s key
Encrypted, bound to the client, and kept out of every run record
A step that keeps failing
Marks the workflow Degraded and alerts you, not the client

Microsoft Teams and its logo are trademarks of their owner, used here only to say what Thrum works with; no endorsement is implied.

Thrum is cooking.

Get early access and you’ll be among the first in. Early members get a launch perk.