Salesforce Microsoft Teams Integration: Setup, Alerts and Agentforce

In this article
- For record work, use the Salesforce app for Microsoft Teams: search and mention records in chats, preview them, pin them as channel or meeting tabs and edit pinned records. It needs an Agentforce Sales or Agentforce Service license (formerly Sales Cloud and Service Cloud) in a supported edition, and costs nothing extra.
- Setup has two halves: a Salesforce admin turns on Teams Integration in Setup and assigns the User for Teams Integration permission set; a Teams admin allows the Salesforce app in the Teams admin center.
- The app does not send automatic alerts. For deal and case alerts, use Workflows in Teams or Power Automate with the Salesforce connector, or a Salesforce flow that posts to a Workflows webhook. The old Office 365 connectors in Teams stopped working in May 2026.
- The biggest risk is data exposure: with the record summary setting, everyone in a channel sees the record’s compact layout, Salesforce license or not. Decide that setting before rollout.
Jump to
- Your options at a glance
- What the Salesforce app for Microsoft Teams does
- Requirements and licensing
- Which setup fits you
- How to set up the Salesforce Teams integration (admins)
- User setup and everyday use
- Salesforce alerts in Teams after the connector retirement
- Agentforce in Microsoft Teams
- The Microsoft 365 Copilot angle
- Security and data exposure
- Common pitfalls and fixes
- When a custom Teams app makes sense
- Go-live checklist
- Where Gilzor fits
Your options at a glance
There is no single “Salesforce for Teams” switch. There are several tools, each covering one job. Most companies need the first row plus one way to send alerts.
| Option | What it does | Direction | Cost level | Effort | Limits |
|---|---|---|---|---|---|
| Salesforce app for Microsoft Teams | Search, mention and preview records; pin records as channel or meeting tabs; edit pinned records; Meeting Digest in meetings | Both: edits in a pinned tab save to Salesforce | No extra fee with supported Salesforce editions | Hours to turn on, days to roll out | No automatic alerts; not for health data; not in GCC or GCC High |
| Workflows in Teams or Power Automate with the Salesforce connector | Alerts, digests and simple record updates driven by Salesforce data | Either way | Salesforce connector is premium: Power Automate Premium lists $15 per user per month, billed yearly (October 2026) | Low to medium | Flows belong to a person; connector throttling; API use counts against your org |
| Salesforce flow to a Workflows webhook | A record-triggered flow posts an Adaptive Card to a channel or chat | Salesforce to Teams | Low: built with tools you have | Medium: needs a callout and a card template | 28 KB per message; throttling above four requests a second |
| MuleSoft for Flow: Integration, Teams connector | Flow actions that manage Teams, such as creating channels and adding members | Salesforce to Teams | Separate add-on license | Low to medium | Built for team and channel management, not rich alerts |
| Microsoft side: Sales agent and the Copilot connector | Salesforce data in Microsoft 365 Copilot, Outlook and Teams meetings | Mostly Salesforce to Microsoft 365 | Needs Microsoft 365 Copilot licenses | Medium | A second copy of CRM data in Microsoft 365 |
| Custom Teams app | Your own bot, message extension or tab on Salesforce APIs | Both ways | Project budget plus upkeep | High | You own security, hosting and API limits |
Using Slack instead of Teams? See our Salesforce Slack integration guide. For how chat fits the rest of your stack, start with the Salesforce integration guide.
What the Salesforce app for Microsoft Teams does
The integration lives in one Teams app called Salesforce. There is no separate install file: users get it from the Teams app store, and admins control who sees it. According to Salesforce’s documentation, it covers five jobs:
- Search and mention records. In a chat or channel, open the Salesforce app, search for a contact, lead, opportunity, account or case, and select Mention Record. The record lands in the conversation as a card.
- Preview records. Channel members with Salesforce access can open a preview and see more details, based on their own Salesforce permissions.
- Pin records as tabs. Add a record as a tab at the top of a channel or meeting. The tab shows details, the activity timeline, related lists and Chatter, and stays current as the record changes in Salesforce.
- Edit records. In a pinned tab you can edit fields, work with related records and post to Chatter. Changes save to Salesforce.
- Meeting context. Pin a Meeting Digest from Salesforce Meetings to a Teams meeting, so the account, attendees and recent activity are one click away during the call.
Desktop and mobile don’t behave the same way. Plan training around the desktop app:
| Feature | Teams desktop and web | Teams mobile |
|---|---|---|
| Pin a record as a tab | Yes | No (tabs added on desktop can be viewed) |
| View details in a pinned record tab | Desktop app | Opens in the Salesforce mobile app |
| Edit record details | Yes | Opens in the Salesforce mobile app |
| Pin a Meeting Digest as a tab | Desktop app | No |
| View a pinned Meeting Digest | Yes | No |
| Mention a record in a chat or channel | Yes | Android devices only |
| Preview a mentioned record | Yes | Yes |
Two details trip teams up. The Meeting Digest in Teams works only when events sync to Salesforce through Einstein Activity Capture with event sync; other sync tools don’t include it (more on that sync in our Salesforce Outlook and Gmail integration guide). And Microsoft doesn’t support the Teams chat feed on pinned tabs in Teams mobile.
Requirements and licensing
Check these before anyone books a setup session. As of October 2026, Salesforce’s help and knowledge base say:
- Licenses: Agentforce Sales (formerly Sales Cloud) or Agentforce Service (formerly Service Cloud).
- Editions: Enterprise, Performance and Unlimited, in Lightning Experience. A Salesforce knowledge article adds Developer edition; partners enabling it in a Developer org log a support case. Professional edition isn’t listed.
- The $0 SKU: if the Setup toggle fails with a message about the Teams integration SKU, your account executive provisions it at no cost. In a sandbox, refresh it from production or match its licenses to production.
- Every Teams user who works with records needs a Salesforce user. People without one can install the app (if your Teams policies allow it) but can’t preview or mention records.
- Not for every tenant or data type. The app isn’t available in Microsoft 365 Government GCC or GCC High, and Salesforce says it isn’t intended for transmitting protected health information (PHI).
- Compact layouts: the app doesn’t support custom compact layouts for Account, Contact, Lead, Opportunity and Case. It uses the default ones.
Salesforce says the Teams integration runs on its SCRT2 service, hosted on Hyperforce, and that Hyperforce documentation applies. If your security team reviews data residency, send them that, plus the fact that record summary cards are stored in your Microsoft 365 Teams storage.
Which setup fits you
Answer four questions to see which combination to start with.
Which Salesforce and Teams setup do you need?
How to set up the Salesforce Teams integration (admins)
You need a Salesforce admin with Modify All Data (to turn the app on) and Assign Permission Sets (to give access), plus a Teams or Microsoft 365 admin. Book an hour with both.
- Confirm the license and editionCheck that your org is Enterprise, Performance, Unlimited or Developer edition with Agentforce Sales or Agentforce Service licenses, and that you aren’t on a GCC or GCC High Microsoft tenant.
- Start in a sandboxTurn the integration on in a sandbox first and test with fake records. If the toggle complains about the Teams integration SKU, refresh the sandbox from production or match its licenses.
- Turn it on in SalesforceIn Setup, enter Teams in Quick Find and select Teams Integration. Turn on “Let users access Teams Integration features” and read and accept the agreement.
- Assign the permission setSelect Assign Permission Set and give User for Teams Integration to the pilot users only. Wider access comes after the pilot.
- Choose what a shared record showsPick “Show the object type only” or “Show record summary”. The second shows the compact layout to everyone in the conversation, including people without Salesforce access. Read the security section below before you choose it.
- Allow the app in TeamsThe Teams admin allows the Salesforce app in the Teams admin center for the users who need it. Salesforce’s documentation describes adding it to the global or a custom app permission policy; tenants on Microsoft’s app centric management do this on the Manage apps page.
- Pin it for the pilot groupOptionally, the Teams admin creates an app setup policy that pins Salesforce to the app bar or the message compose area for the pilot. According to Microsoft, app availability and policy changes can take up to 24 hours to reach users.
- Check what Setup addedTurning the integration on adds a connected app for Teams and a cross-origin (CORS) entry in Salesforce. Don’t delete either. The app honors the connected app’s OAuth policies, such as IP restrictions and session length, so check that they suit people working from Teams.
After launch, Salesforce Setup shows who has accessed the integration and lets you manage user access, which helps when someone leaves or changes roles.
User setup and everyday use
Once the admin side is done, each user needs about two minutes:
- Add the app. In Teams desktop or web, open the More options menu under the message box, search for Salesforce and add it. It then appears on mobile too. If it’s missing, the Teams admin hasn’t allowed it for that user.
- Sign in. The first time, log in to Salesforce from the app. Salesforce keeps a user mapping so people stay signed in.
- Mention a record. In a chat or channel, open the Salesforce icon, search, select Mention Record and add a line of context.
- Pin a record to a channel or meeting. Select the + next to the tabs, choose Salesforce, pick the record and save. Tick “Post to the channel about this tab” so others notice it.
- Log out when needed. Logging out of the Salesforce app disconnects the account; you can’t share or view records while logged out.
One thing to tell users: the card in a conversation uses the language and locale of the person who mentioned the record, not the reader.
Salesforce alerts in Teams after the connector retirement
Many older guides tell you to paste an “incoming webhook” URL from a Teams connector into Salesforce. That no longer works. According to Microsoft, Office 365 Connectors in Teams, including connector-based incoming webhooks, were disabled between May 18 and May 22, 2026. Alerts that used them must move to the Workflows app in Teams, which runs on Power Automate. There are three practical ways to do it.
1. Power Automate or Workflows with the Salesforce connector
The flow lives on the Microsoft side and watches Salesforce through the Salesforce connector, published by Microsoft. Its triggers are “When a record is created” and “When a record is modified”, with filter queries to narrow them. Then a Teams action posts the message or card.
- License: the Salesforce connector is a premium connector in Power Automate, so flow builders need Power Automate Premium ($15 per user per month billed yearly, list price October 2026) or another plan that includes premium connectors.
- Limits: Microsoft lists 900 API calls per connection per 60 seconds and notes that Salesforce trial accounts have no API access. The Salesforce user needs API Enabled, and the session setting that locks sessions to the originating IP address must be off.
- Sign-in: connections can use a Salesforce login or Microsoft Entra ID single sign-on through a Salesforce external client app. Use a dedicated integration user, not a named employee.
2. A Salesforce flow that calls a Workflows webhook
Here Salesforce decides when to alert, which keeps the logic next to your data. In Teams, open the channel’s More options, choose Workflows and use a template such as “Send webhook alerts to a channel”. Copy the webhook URL it generates. In Salesforce, a record-triggered flow sends an HTTP POST with an Adaptive Card to that URL through an HTTP callout or a small Apex action, with the URL stored in a named credential.
Microsoft’s documentation lists the limits: messages up to 28 KB and throttling when more than four requests arrive in a second. Private channels are supported. Posts come from the workflow (the Flow bot or a user account), not from a bot with your own name and icon. For buttons, use Adaptive Cards and configure the workflow to handle responses; older MessageCard payloads render but their action buttons don’t work.
3. MuleSoft for Flow: Integration
Salesforce’s MuleSoft for Flow: Integration add-on includes a Microsoft Teams connector that you use as a Flow action. Salesforce describes it as performing tasks like creating a channel or adding a member to a team. That suits “create a deal room channel for every strategic opportunity”. For alert cards, the two options above are usually simpler. More on the add-on in our Salesforce MuleSoft integration guide.
Microsoft notes that Workflows are linked to the users who own them, not to the team or channel. When the owner leaves, the flow can become orphaned and stop. Add co-owners to every alert flow and keep a list of them.
What to send where
Salesforce stays the system of record for every row. Teams is where people see and act, not where data is stored.
| Salesforce event | Teams destination | Mechanism | System of record | Fields to include |
|---|---|---|---|---|
| Opportunity Closed Won above a threshold | Sales channel | Record-triggered flow to a Workflows webhook | Salesforce | Account, owner, amount band, link |
| High-priority case with no update | Support channel | Power Automate on Case with a filter query | Salesforce (case) | Case number, product, priority, link; no customer personal data |
| Strategic opportunity created | New deal channel | MuleSoft for Flow Teams connector, or a custom app | Salesforce | Pin the opportunity as a tab instead of copying fields |
| Discount approval needed | Approver chat | Adaptive Card with a link, or a custom app for in-card decisions | Salesforce (approval) | Deal, discount, reason, link |
| Weekly pipeline digest | Manager channel | Scheduled flow | Salesforce (reports) | Counts and links, not full deal lists |
Agentforce in Microsoft Teams
This is where marketing runs ahead of documentation, so stick to what Salesforce has written down. As of October 2026:
- Agentforce IT Service has a documented Teams setup. Salesforce’s help describes “Microsoft Teams for Employee Service”: you turn it on in Salesforce Go, which installs the external client app, auth provider and credentials, then create a Microsoft Entra ID app with Application.ReadWrite.All and Organization.ReadWrite.All permissions and grant admin consent. The org needs Enterprise, Performance or Unlimited edition with Agentforce IT Service and several Teams and employee service add-on licenses. Trailhead says employees can then raise and track tickets in a Salesforce IT Service app in Teams and chat with an AI assistant to troubleshoot issues.
- Sales agents: announced, check the details. Salesforce’s March 2026 Agentforce Sales announcement says its agents work across apps including Teams. Salesforce’s Trailhead introduction to Agentforce Employee agents, however, lists Salesforce, Slack and mobile as deployment channels, without Teams. Ask your account team what is generally available for your license before you plan around it.
The Microsoft 365 Copilot angle
Microsoft also brings Salesforce data into its own tools, from the other direction. Two products are documented on Microsoft Learn:
- Sales agent in Microsoft 365 Copilot. Works with Salesforce CRM in Outlook and Teams: it shows record details, saves Outlook activities and generates meeting summaries from recorded Teams meetings. Each user needs a Microsoft 365 Copilot license and the API Enabled permission in Salesforce, and the Microsoft Power Platform connected app must not be blocked in Salesforce. Microsoft’s setup asks you to relax IP restrictions on that connected app, which your security team should review.
- Salesforce CRM connector for Copilot. Indexes accounts, contacts, leads, opportunities and cases by default (more objects are optional) so Microsoft 365 Copilot and Microsoft Search can find them. It runs an incremental crawl every 15 minutes and a full crawl daily, and Microsoft notes that full crawls use Salesforce API quota.
If you record sales calls, Einstein Conversation Insights can also use Teams as a video recording provider. Salesforce says recordings stay on Teams servers, only transcripts and insights are stored in Salesforce, and Teams requires a Read All permission for call records that can’t be narrowed.
Built by Gilzor
Results we’ve shipped




Talk to the people who build it. Tell us about your project and get a free estimate of scope, timeline and cost.
Security and data exposure
This is the part that reaches the security team. Salesforce sharing rules decide who sees a record in Salesforce. Once data is posted into Teams, Microsoft 365 rules take over.
- Record summary shows the compact layout to everyone. With this setting, every channel member sees an Adaptive Card with record details, even without a Salesforce license, and those details are stored in your Microsoft 365 Teams storage. With “object type only”, people without access see just the record type.
- Previews and tabs respect Salesforce permissions. A user with Salesforce access sees what their profile and sharing allow. Someone without a license who selects View in Salesforce gets a login page.
- Alert cards are plain copies. Anything a flow posts is readable by every member of the channel, including guests and people who join later.
- Copilot can widen access. The Copilot connector can index for “Everyone” or only people with access in Salesforce. Fields hidden by field-level security are excluded by default; Microsoft warns that opting one in makes it visible to all users with access to the record type.
- Webhook URLs are secrets. Anyone with the URL can post into your channel. Store it in a named credential, never in flow text or code.
- Health data stays out. Salesforce says the Teams integration isn’t intended for PHI, and alert flows should follow the same rule.
The fix: start with “object type only”, post links and a few safe fields, and let people click through to Salesforce where sharing rules apply. Keep a short list of fields that never appear in Teams, and review it with whoever owns your data policy.
Common pitfalls and fixes
| Pitfall | What happens | Fix |
|---|---|---|
| Setup toggle fails | An error asks for the Teams integration SKU | Ask your account executive for the $0 SKU; in a sandbox, refresh or match licenses |
| Users can’t find the app | Salesforce is missing in Teams | The Teams admin allows the app for those users; changes can take up to 24 hours |
| Login errors in Teams | Users can’t sign in to Salesforce from the app | Check the permission set, the connected app isn’t blocked, its IP and session policies, and the CORS entry |
| Cards show odd fields | Custom compact layouts are ignored for core objects | Plan around the default compact layouts for Account, Contact, Lead, Opportunity and Case |
| Old webhooks went silent | Alerts built on Office 365 connectors stopped in May 2026 | Rebuild them as Workflows webhooks or Power Automate flows |
| Alerts stop after offboarding | The flow owner left and the flow was orphaned | Run flows under a service account and add co-owners |
| Flow loops and duplicates | A Teams action updates the record, which fires the alert again | Trigger on changed fields only and stamp a “notified” field |
| API usage climbs | Connector triggers and Copilot crawls call the Salesforce API | Narrow trigger filters, schedule full crawls off-peak, watch API usage in Setup |
When a custom Teams app makes sense
The Salesforce app plus a few flows covers most teams. A custom app earns its cost when:
- Approvals or updates need data from several systems, such as margin from the ERP and risk from a contract tool, in one interactive card.
- People must act in Teams (approve, reassign, update a stage) and a link back to Salesforce isn’t enough.
- You need alerts with your own bot name and icon, threaded updates, or proactive messages to individuals.
- Compliance needs field-level redaction, an audit log of every message sent, or data handling the native app can’t give you.
- You use Professional edition or Platform licenses, which the Salesforce app doesn’t cover.
Build it on the current Microsoft stack. Microsoft has archived the Bot Framework SDK and stopped servicing its support tickets on December 31, 2025; for agents that work inside Teams it points to the Teams SDK (TypeScript, C# or Python), and to the Microsoft 365 Agents SDK for broader agents. A typical project includes a Teams app with a bot or message extension, Adaptive Cards, Microsoft Entra ID sign-in, OAuth to Salesforce with an integration user, Salesforce events for triggers, retries and monitoring. Budget for upkeep: both vendors change their APIs and app rules every year.
For a fuller budget picture, see our API integration cost guide and the broader cost of data integration. If you also store files in Microsoft 365, the Salesforce SharePoint integration guide covers that side.
Go-live checklist
Tick what is already true. It shows how ready your Teams integration is.
Salesforce and Microsoft Teams go-live
FAQ
Does Salesforce integrate with Microsoft Teams?
Is the Salesforce Teams integration free?
How do I enable the Salesforce app in Microsoft Teams?
Can Salesforce send automatic notifications to a Teams channel?
Can people without a Salesforce license see Salesforce data in Teams?
Does Agentforce work in Microsoft Teams?
Where Gilzor fits
Gilzor builds and maintains Salesforce integrations from Poland and Cyprus (see Salesforce integration services). Gilzor’s engineers can set up the Salesforce app for Teams, rebuild retired connector alerts as Workflows or Power Automate flows, or build a custom Teams app on Salesforce APIs, and support it after launch. More Salesforce connections are covered in the Salesforce integration guide.
No sales pitch
Get a straight answer for your project
Tell us what you’re building. We’ll reply with options, a rough cost and timeline. If we’re not the right fit, we’ll say so.

Co-Founder of Gilzor. Works with founders and product companies on how to staff and run engineering: team extension, dedicated teams, and getting stalled projects moving again.
Gilzor · Web Development partner
Need a team for your web product?
Services
Web DevelopmentCustom websites and web apps — front-end, back-end, launch and support.→By company type
Selected projects






The team behind them





