Is the Microsoft Teams data export tool vaporware?

“What export options does Microsoft Teams have these days?” I wondered. I was rounding out the context for a new blog post about the barriers Slack puts up to exporting your message history, and accessing your own messages via the API.
As it turns out, a documentation page Microsoft published in February 2025 proclaims:
“Microsoft supports customer choice, including enabling the export of data at no charge when switching from Teams to another provider. ”
Finally! We could now build a Teams-to-Zulip import tool without having to string together disparate paid APIs. Customers moving from Teams would be able to keep access to their message history.
Our intern Pieter had been working on improvements to Zulip’s Slack import tool, and he was game to pick up the project. The first step would be to create a small Teams organization, and get a sample export to experiment with. It all seemed so simple.
But 36 days later, after 21 calls and 29 email conversations with support staff across five Microsoft teams, the closest we’ve gotten to a sample export is a link that lands on an error page:
As Pieter was getting the runaround, we started to wonder if he’d just gotten unlucky. So I kicked off a separate export request process for a different Teams tenant. 26 days later, no visible progress towards an export has been made.
The emotional journey
I’ve had so many feelings over the course of this experience.
- Irritation. Because of the ridiculous delay, Pieter has been unable to start work on a Teams-to-Zulip import tool during his summer internship.
- Amusement. We never know what novel obstacle we’ll encounter the next day.
- Feeling duped. Microsoft promises “unlimited exports during a 90-day period with just a single action in the Teams admin center”. Had I been naive to believe them? What other promises made by major corporations should I doubt the reality of?
- Sympathy. I can imagine how stressful our situation would be for a real customer migrating off of Teams. For over a month now, they’d be wondering if they would ever get their business-critical data out of Teams.
- Feeling mad. Microsoft is effectively lying when it tells current and potential customers that they’ll be able to export data rather than getting locked in.
A relationship founded on trust?
Handing your communications over to a software vendor requires trust. You’re counting on someone to keep your data safe. To never misuse it, for AI training or anything else. You are counting on them not to take your data hostage and rent it back to you for a fee.
As an open-source project team with a small startup behind it, we’ve built a set of reliable export tools. Most Zulip exports use an automated self-service system; the exceptions that require a support ticket are generally resolved within a couple of business days. There’s even an in-app export consent process for organizations where administrators shouldn’t have full access to everyone’s data.
Meanwhile, with all the resources at Microsoft’s disposal, they’ve at best built a half-working export tool prototype before putting up a marketing page touting how “Microsoft supports customer choice.” So far as we can tell from attempting to get an export from two separate accounts, there is no functioning data export process.
If you want your software vendor to be an honest partner that supports your organization’s needs, can Microsoft truly be that partner? See what you think after reading the story of our intern’s heroic quest to obtain a Microsoft Teams export.
Hero’s journey, part 1: Departure
The Call to Adventure
The journey began with a simple instruction:
“To export your data from Microsoft Teams for switching and access the tool at no charge, select this link to contact support through the Teams admin center.”
Refusal of the Call
Simple? Yes, but as it turns out, we weren’t ready: the free plan doesn’t include access to the Teams admin center.
Describing the tool as being available “at no charge” with no mention of a paid plan being required is not how I’d do it, but OK.
Supernatural Aid (August 5)
Conveniently, Teams has a 30-day free trial option — plenty for our needs, we thought then.
The Crossing of the First Threshold (August 5)
After a quick upgrade, our intern Pieter filed a Microsoft support request for export tool access.
Belly of the Whale (August 6)
The next day brought an email with instructions on how to access the export tool:
There was just one catch: https://aka.ms/teams-export, which Pieter was instructed to visit, redirects elsewhere. It goes to https://www.bing.com/?ref=aka&shorturl=teams-export, i.e., the Bing homepage.
With an email to Microsoft support pointing out this minor flaw in the instructions, the journey had truly begun.
Hero’s journey, part 2: Initiation
The Road of Trials
Trial #1: The first call (August 7)
Microsoft support asked Pieter to get on a screensharing call to get things figured out.
The conclusion? The issue is out of the scope for the support agent’s team. Pieter was instructed to file a new export request ticket with the Microsoft Graph Team.
Trial #2: The second call, and a new beginning? (August 7)
Jumping straight to a phone call, the Microsoft Graph Team support agent instructed Pieter to follow Microsoft’s documentation to access the migration tool. Yes, that’s right, the same documentation that Pieter had followed to make the original request.
But wait (the agent observed), there’s already an issue filed! Pieter ought to wait for customer support to finish “processing” that issue. Yes, that’s right, the same issue that had just been closed as out of scope.
Trial #3: Another call, and new friends (August 7-8)
Not to be deterred, Pieter forwarded along the prior conversation that resulted in the issue being handed off. This earned him another call with the Microsoft Graph Team, and a new revelation: the issue is out of scope for them too!
Pieter was instructed to file a new new export request ticket with the Microsoft Entra team. As Microsoft has thousands of teams, the path towards an export stretched long into the distance in front of us.
Trial #4: What have you learned along the way? (August 8)
The Entra team support engineer assigned to the ticket sent Pieter a series of detailed technical questions about the Microsoft Graph API:
Neither the export documentation nor any of the prior support agents had instructed Pieter to use the Graph API. In fact, Pieter had just been told that the Microsoft Graph Team wasn’t responsible for this ticket.
Pieter did not feel ready for this challenge, but thankfully, he’d made some friends along the way! Pieter emailed the support engineer from the Graph Team to ask their advice.
Trial #5: Another transfer (August 13)
In the end, no advice was offered, but the process chugged along anyway. The Entra Team realized they weren’t up to the challenge, and reassigned the ticket to the Office 365 Team.
Trial #5: Everything old is new again (August 14)
An Office 365 support engineer called Pieter up to tell him to follow Microsoft’s documentation to access the migration tool. Yes, of course, the same documentation that Pieter had followed to make the original request nine days ago now.
Pieter also received another task (an easy one this time!): sending over the emails of all the users he’d like to export.
The Meeting with the Goddess (August 21-27)
The Office 365 Team eventually passed the torch to the backend team.
Finally, six days later, a breakthrough: Pieter received an export link that didn’t redirect to Bing! Surely, the quest was almost at its end.
But alas, upon clicking “Export”:
Still, Pieter was hopeful: “I talked to them about it, and [they] told me we need to wait until tomorrow for the fix to kick in,” he wrote in a DM. “They were very responsive, so I’m pretty optimistic we can get the export data this week.”
Where we are now (August 27-September 10)
Ah, how innocent we still were. The fix did not kick in tomorrow, or any time that week. As of September 10, we’re still waiting.
As Pieter encountered trial after trial, I had kicked off a separate (also fruitless) export request process. Here, then, is our tally so far:
Pieter | Alya | |
---|---|---|
Days | 36 | 26 |
Calls | 21 | 1 |
Tickets | 3 | 1 |
Emails from us | 14 | 4 |
Emails from Microsoft | 29 | 11 |
Teams involved | 5 | “multiple” |
Links to Bing | 1 | 0 |
Export links | 1 | 0 |
Exports | 0 | 0 |
Will we get an export one day? Stay tuned for updates.