/ /

Microsoft Teams connector for Simpplr Enterprise Search

Updated 2 months ago

Introduction

The MS Teams connector allows Simpplr Enterprise Search to index MS Teams content including Channel Messages that users have access to, making it easily discoverable and searchable directly within Simpplr.

With this connector, you can:

  • Bring MS Teams content into Simpplr Enterprise Search so users can find Channel Messages, and Attachments alongside intranet content in one place.

  • Use advanced features like autocomplete, hybrid ranking, and Smart Answers on top of MS Teams content.

Indexed content from Simpplr Enterprise Search is available in:

  • In main search listing

  • Smart answers

Capabilities at a glance

Content types

Channel Messages

Metadata

Title, URL/ link, Created time and last modified time, Description, Team name, Message, Sender, Channel, Channel name, Channel Type (Public, Private, or Shared).

Permissions

User and Group based permissions

Indexing

Initial full crawl when the connector is created, followed by a weekly full crawl. Incremental updates run every hour.

Multiple instances support

Multiple Microsoft Teams connections can be configured in the Simpplr environment. But functionality to connect multiple tenants or domains in a single connector is not implemented yet

Search features

Audience filters - Admins can include/exclude documents from indexing based on the Audiences.
Filtering follows an after-scan approach, meaning the entire dataset is scanned first and then filtered based on the specified fields.

Keyword search

Hybrid / semantic ranking

Autocomplete suggestions

Team’s content can be used in Smart Answers

Objects and content supported

Objects - The following object types are indexed and searchable:

  • Channel Message (top-level messages only)

Note: Replies to channel messages are not indexed as separate items. Only the top-level message is indexed.

Metadata - For each indexed item, Teams captures:

  • Title

  • URL/ link

  • Created time and last modified time

  • Message & Subject

  • Sender

  • Channel

  • Attachment Details

Permissions model

Permissions are read from the membership details.
How user and group permissions are synchronized

  • Microsoft Teams group and channel memberships are fetched and stored in the ACL index. 

  • When a user is added to or removed from the organization or a specific group, the ACL index is updated the next time the ACL sync runs (by default, every hour).

What happens when access is removed for a specific document

  • When a user loses access to a Team or Channel, the updated permissions are applied during the next sync cycle.

  • The file will no longer appear in that user's Simpplr search results after the sync completes.

Versions and editions supported

  • Supported MS Teams editions: All

  • Not supported: N/A

Prerequisites

Before you begin, ensure the following:

  1. Source system permissions

  • You need access to the Microsoft Entra admin center (formerly Azure AD) or the Azure Portal to create and configure your application registration.

  • Required Role: Your user account must have at least the Application Developer or Cloud Application Administrator role to register applications and manage their identities.

  1. Application / service account

  • Ability to register a new Application Registration: You must be able to create a new registration in Microsoft Entra ID. This generates the unique Application (client) ID and Directory (tenant) ID required for your Teams integration.

  • Ability to generate Client Credentials (Client Id, Client secret).

  • Ability to Authorize the application (Admin Consent and Custom App Upload)

Authentication and security

Uses secure client-credential authentication with Microsoft Graph and enforces Teams-based access controls, while ensuring all indexed data is stored in-region and protected with encryption in transit and at rest.

  1. Authentication mechanism
    Describe how Simpplr Enterprise Search connects to MS Teams:

  1. Data security

  • Data storage and residency: Indexed content  from Microsoft Teams are stored within your Simpplr Enterprise Search environment, in the same region as your Simpplr tenant.

  • Encryption in transit: Server-side encryption with Amazon S3 managed keys (SSE-S3), TLS encryption in Kafka.

  • Encryption at rest: SSL (TLS 1.2 or higher), Auth: OAuth 2.0 Bearer tokens (client-credential).

Permission enforcement:  MS Teams access controls (users and channels) are stored in the ACL index and applied at query time. Search results are always filtered by the signed-in user’s identity and channel memberships.

Setup and configuration

Step 1 - Set Up Azure API Credentials for Microsoft Teams

To connect to Microsoft Teams you need to create an Azure Active Directory application and service principal that can access resources. Follow these steps:

  1. Go to the Azure portal and sign in with your Azure account.

  2. Navigate to the Azure Active Directory service.

  3. Search and Navigate to the “App Registration” service.

  4. Click on the New registration button to register a new application.

  5. Provide a name for your app, and optionally select the supported account types (e.g., single tenant, multi-tenant).

  6. Click on the Register button to create the app registration.

  7. After the registration is complete, you will be redirected to the app’s overview page. Take note of the Application (client) ID  and Directory (Tenant) ID  value, as you’ll need it later.



     

  8. Navigate to Manage →  API permissions section and click on the Add a permission button.

  9. In the "Request API permissions pane, select "Microsoft Graph" as the API.



     

  10. Select the permissions mentioned under Authentication and security in scopes or permission required.




  11. Click on the Add permissions button to add the selected permissions to your app.

  12. Click on the Grant admin consent button to grant the required permissions to the app. This step requires administrative privileges. If you are not an admin, you need to request the admin to grant consent via their Azure Portal.

  13. Under the "Certificates & Secrets" tab, go to Client Secrets. Generate a new client secret and keep a note of the string under the Value column.


Step 2 - Create the connector in Enterprise Application

  1. In Simpplr, go to: Enterprise Search → Connectors → Add connector.

  2. Select “Microsoft Teams”.

  3. Enter basic information:

    • Name: (Connector Name for this instance)

  4. Provide authentication details:

    • Tenant ID

    • Client ID

    • Secret value

  5. Click “Save” and “confirm”. 

Step 3 - Define sync scope

  1. Configure inclusion rules:

    • Not configurable in the current version

  2. Configure exclusion rules:

    • Not configurable in the current version

  1. Configure Audience based filtering.

    • Include audiences

    • Exclude audiences

Step 4 - Configure sync schedule

  • Default schedule: Full crawl at first setup and once in a week, incremental sync every hour.

  • Configuration options:

    • No option to configure the sync schedule, however sync can be paused and resumed.

Step 5 - Monitor the sync

  1. Monitor the initial full sync status (starts automatically) in the connector dashboard.

Crawling and sync behavior

Describe how the connector works over time:

  1.  Initial full crawl

  • All the content present in the storage account is indexed during the first run

  • How long it may take: Depends on the size of the content.

  1. Incremental updates

  • Mechanism: Delta tokens provided by source based on previous sync.

  • What changes trigger reindexing:

    • New items created

    • Existing items updated

    • Items moved or renamed

    • Items deleted or archived

  1. Deletion and permission changes

  • Deleted items are removed from index at next sync.

  • Permission changes are updated at the next sync cycle.

  1. Expected latency

  • With the default schedule (incremental sync every hour), changes made to Microsoft Teams content (such as new messages or channel updates) are generally reflected in Simpplr search results within a few hours of the update, subject to content volume and system load.

Field mapping and search experience

  1. Default field mapping

Source field (MS Teams) → Index field Simpplr

  • Channel Message

title

channel 

url

url

owner/createdby

N/A

file type

N/A

Last modified

_timestamp

Created date

creation_time

size

N/A

permissions /access control 

N/A

  • Channel Attachment

title

name 

url

weburl

owner/createdby

N/A

file type

N/A

Last modified

_timestamp

Created date

creation_time

size

size

permissions /access control 

allowaccess_control

  • Team Channel

title

title 

url

url

owner/createdby

N/A

file type

N/A

Last modified

_timestamp

Created date

creation_time

size

N/A

permissions /access control 

N/A

  1.  Search experience - how content from this connector appears in search:

  • Result layout: (Icon, Connector name, title as link, body(excerpt), Updated Date/ Created Date, object type)

  • Available filters and facets:

    • Source = Microsoft Teams

    • Updated Date

  • Participation in advanced features:

    • Smart Answers / Q&A: Yes

    • Autocomplete: Yes

    • Recommendations / “Suggested for you”: N/A

    • Trending / popular results: N/A

    • Semantic / hybrid ranking: Yes

  1. Limits and known limitations

Maximum file size indexed

e.g., Content fully indexed up to 10 MB; above that only metadata is indexed

Note: Personal Chats, Channel Tabs and User meetings are not ingested.

Unsupported file types

e.g., password-protected files, certain media types, encrypted archives, etc

Note: Personal Chats, Channel Tabs and User meetings are not ingested.

Rate limits

30 requests per second for individual APIs and 600 requests per second, organization wide

Preview limitations

No preview available for excel, or media files

Permission edge case

ACL not supported.

Other known limitations

Some of the APIs in the connector require Delegated permissions or work only for delegated flow.

Below are the API’s: 

https://graph.microsoft.com/v1.0/me 

https://graph.microsoft.com/v1.0/chats

https://graph.microsoft.com/v1.0/chats/{chat_id}/messages

https://graph.microsoft.com/v1.0/chats/{chat_id}/tabs

Monitoring and troubleshooting

  1. Connector health and monitoring - Describe where admins can see status information:

  • Enterprise Search -> Connector name

  • Available metrics:

    • Last sync status (Success / Warning / Failed)

    • Last sync time

    • Next scheduled sync

    • Sync Type

    • Total items indexed count

  1. Common issues and resolutions. Example pattern:

    • Issue: Authentication failed (invalid credentials or missing scopes)
      Possible causes:

      1. Incorrect client ID or secret (Credentials)

      2. App not granted the required permissions

      3. App granted with the delegated permissions instead of the application permissions

      4. Consent not approved by an admin

    • Resolution:

      1. Verify and re-enter credentials

      2. Confirm required scopes are granted

      3. Re-run admin consent flow

  2. When to contact support.

    • Authentication error persists even after trying the above-mentioned resolutions

    • Sync is stuck in the Pending state.

    • Sync is in progress but no documents are getting ingested.

    • Sync failure with cancelled error (when not cancelled manually)

    • Incomplete or Partial sync. 

  3. When contacting, Support, include:

    1. Connector name and instance ID (if available)

    2. Organization URL

    3. Approximate time and date of the issue

    4. Error messages or screenshots

    5. Steps you already tried

Frequently asked questions (FAQ)

Q1. Can I connect multiple Microsoft Teams tenants or domains?
A. Multiple Microsoft Teams connections can be configured in the Simpplr environment. But functionality to connect multiple tenants or domains in a single connector is not implemented yet.

Q2. How often does Microsoft Teams sync data?
A. The connector runs a full crawl on first setup and then once per week. Incremental sync runs every hour by default.

Q3. Are replies indexed?
A. Replies are not indexed as separate items. The connector indexes the latest file metadata, including the last updated time and updated-by user.

Q4. Does the connector index content from external guests or shared links?
A. Not implemented yet.

Q5. What happens when a user loses access to an item in MS Teams?
A. The updated access permissions will be indexed during the next sync cycle.

Q6. Can I exclude certain sites/teams/folders from being indexed?
A. Documents can be included or excluded based on audiences.

Q7. How are deletions handled?
A. Objects deleted from the source are permanently deleted from the index.

Was this article helpful?
Subscribe to receive updates on this article