Microsoft Teams (Edge)

Last updated on Oct 28, 2026

Microsoft Teams is a collaboration platform that brings together chats, channel conversations, meetings, and calls in a single workspace. Organizations use it to communicate and work together across teams in their Microsoft 365 tenant.

Hevo uses the Microsoft Graph API to replicate data from your Microsoft Teams tenant to the Destination of your choice. To ingest data, you must provide Hevo with the tenant ID, client ID, and client secret of an app that you register in Microsoft Entra ID.


Supported Features

Feature Name Supported
Capture deletes Yes (for some objects)
History mode No
Custom data (user-configured tables & fields) No
Data blocking (skip objects and fields) Yes
Resync (objects and Pipelines) Yes
API configurable Yes

Handling of Deletes

For the call, participant, and session objects, Hevo captures deletes by comparing the data fetched from the Source with the data present in the Destination in each run. If a record exists in the Destination but is no longer returned by the Source, Hevo marks it as deleted by setting the value of the metadata column __hevo__marked_deleted to True.

As Microsoft Graph retains call records only for 30 days, Hevo marks the records of the call, participant, and session objects as deleted when they are more than 30 days old, even if they are not deleted in Microsoft Teams. The records of the session_media and session_media_stream objects are not marked as deleted.

If Hevo cannot read the participants or sessions of a call in a run, it does not ingest the call object and its child objects in that run, to avoid incorrectly marking the records as deleted. Hevo reads them again in the next run.

For all the other objects, Hevo does not capture deletes. Records deleted in Microsoft Teams remain unchanged in the Destination. For the channel_message, channel_message_reply, and chat_message objects, the deleted_date_time field contains the date and time at which a message was deleted.


Source Considerations

  • Hevo ingests the data of all the teams, users, chats, and calls in your tenant that the app can access with the Microsoft Graph permissions granted to it.

  • Microsoft Graph applies its throttling limits to all the requests made by the app in your tenant. If you use the same app in other tools, those requests also count toward the limits.

  • Hevo reads the chats of each user in your tenant. The chat object contains one record for each member of a chat, while Hevo ingests the messages of each chat only once.

  • If your tenant has accounts that do not use Microsoft Teams, such as service accounts, room mailboxes, or users without a Microsoft Teams license, and Hevo reads several such accounts one after the other, it skips the chats and chat messages of the remaining users in that run. Hevo displays a warning for the chat object and reads the chats again in the next run.

  • In each run, Hevo makes separate API requests for the details, channels, members, tags, and tabs of each team, for the messages of each channel and the replies to each message, for the chats of each user and the messages of each chat, and for the participants and sessions of each call. In large tenants, this may increase the ingestion time and the number of requests that count toward the Microsoft Graph throttling limits.


Limitations

  • Hevo does not ingest the call records that are more than 30 days old, as Microsoft Graph does not provide them.

  • Hevo does not ingest the reactions made by apps or bots, and the mentions that do not have a mention ID, such as @everyone mentions, as these records do not have the fields required for their primary key.

  • The deleted_date_time field of the users object is always empty, as Microsoft Graph returns only the active users of your tenant.


Revision History

Refer to the following table for the list of key updates made to this page:

Date Release Description of Change
Oct-27-2026 NA New document.

Tell us what went wrong