Send Salesforce Updates to Microsoft Teams Channels and Threads
Overview
When a field changes on a Salesforce record, Centro can post that change as a reply in the record's Microsoft Teams thread and refresh the record card at the top of the channel. You set it up with a record-triggered Salesforce Flow and Centro's flow actions. No code is required.
This article uses a Case status change as the example (Working → Escalated), but the same setup works for any field on the Case object, such as Description, or on other objects Centro links to Teams.
Before you begin
Centro is installed in Salesforce and Microsoft Teams (AppExchange, Microsoft Marketplace).
The record already has a linked Teams conversation, with a record card posted in a channel.
You have permission to create and activate flows in Salesforce Flow Builder.
Set up the flow
-
Create a record-triggered flow on the Case object.
In the Start element, add an entry condition: Status → Is Changed → True.
The flow now runs every time the case status changes. Swap in any other field to track that instead.
-
Get the record's linked Teams conversation.
Add a Get Records element on Centro's Linked Conversations object. It holds the Microsoft Teams details Centro needs to post updates.
Filter by the linked record so it matches the case that changed.
Optionally add filters to exclude other linked conversations you don't need for this use case.
-
Store the Teams identifiers in variables.
Use Assignment elements to set three separate variables from the linked conversation: the channel ID, the message timestamp, and the group (team) ID.
The group ID is required for channel posts so the update lands in the correct channel.
-
Build the Teams deep link.
Create a Text formula resource that combines the channel ID and team ID into a URL the Microsoft API recognizes:
"https://teams.microsoft.com/l/channel/"&{!VarChannelId}&"/"&"?groupId="&{!VarTeamId}
-
Post the change as a reply in the thread.
Add a Centro flow action to post a message.
Set the channel to the deep-link formula from step 4, and enter the message text you want posted (for example, the new status).
Under message options, choose Send as reply so the update posts in the record's existing thread.
-
Refresh the record card in the channel.
Add a second Centro action, this time choosing Update message instead of Send as reply.
Set the message timestamp variable from step 3 so Centro updates the original card.
Turn on the record block option. Without it, the card is replaced with plain text instead of a refreshed record card.
Save and activate the flow.
Test it
Open a case that has a linked Teams thread and change its status in Salesforce. In Teams, a reply with the change appears in the case's thread, and shortly after, the record card at the top of the thread shows the new status. The card refresh can take a few minutes.
Troubleshooting
Symptom |
Check |
|---|---|
Nothing posts to Teams |
The flow is active, the entry condition matches the field you changed, and the case has a linked conversation. |
Update posts to the wrong channel |
The group (team) ID variable is set and included in the deep-link formula. |
Card turns into plain text |
The record block option is turned on in the Update message action. |
Reply posts as a new message, not in the thread |
Send as reply is selected in the message options. |
Card doesn't refresh |
The Update message action uses the message timestamp variable. |
Watch the video
Send Salesforce Updates to Microsoft Teams Channels and Threads (3:19), from Centro.
Want help setting this up? Book a 20-minute demo.