Inspiration

We have been building SharePoint solutions for small businesses to large enterprises in Europe since 2004. Here we appreciated the metadata concept for classifying files and items. But now we sorely miss this feature in teams channels to classify conversations. So the idea of TagTeam was born. Furthermore we found out that:

  • We needed something like this for ourselves to better structure our knowledge channels. We didn't want to create a separate channel for each topic, as we would need more than 20 channels for Microsoft Office 365 knowledge alone (such as SharePoint, Teams, Exchange, etc.). In the end, we would have a barely manageable situation as shown in the picture. Hair-raising - as also stated as channel nightmare by Tracy van der Schyff

  • We also found a uservoice for a requested tagging feature that has been gathering dust in the backlog since early 2020.

So we decided to develop such a feature ourselves to help us and Teams users worldwide until Microsoft offers it by default.

What it does

Tag messages in your Teams channels with @TagTeam on a specific topic and quickly find them in the Tagged Messages tab.

How we built it

We built a bot and a messaging extension that allows users to tag their messages with some previously created team or channel tags. A card with the deep-link to the Tagged Messages tab is added to the message. As soon as a user clicks on the card, they will be taken to the Tagged Messages tab, where they will see all posts tagged with this tag. In the settings dialog of the message extension and the tab, the user can create tags for his team or channel. The tags are stored in MongoDB. In the Tagged Messages tab, you can filter by tags and authors or do a full-text search to find the messages you want. When you click on the message, you will be taken to the conversation of the respective Teams channel to see all additional information such as comments and reactions.

Challenges we ran into

  • Currently, the Teams Graph API for channel messages is very limited. We could only use /messages or /messages/delta, but OData query parameters are not supported! Also, the search is currently not supporting channel messages. So we had to find workarounds with /messages/delta to solve performance and throttling issues until Microsoft will extend the Graph API.
  • The manifest for the compose message currently has no support for scopes like teams, groups, or private channels. As we can only query channel messages with the Graph API and don't want to store private messages of our users in our database we would love to include the possibility to display our message extension in private and group chats (but this is not possible yet).
  • We underestimated the whole submission process to get our app into the store (e.g. content, screenshots, publisher attestation, ...).

Accomplishments that we are proud of

Even if the app submission validation proccess is somewhat difficult, we learned a lot and look forward to applying this knowledge to our next projects and products.

What we learned

In any case, we have learned to study the checklist for AppStore submissions before development!

What's next for TagTeam

We want to connect TagTeam with the SharePoint Taxonomy to display associated files alongside conversations.

Built With

Share this project:

Updates

posted an update

Also last issue / query was solved. Last info from App-Submission Team: "We have validated the app and found all issues have been resolved. We are waiting for internal confirmation to provide you go-ahead and will revert once done."

Log in or sign up for Devpost to join the conversation.

posted an update

One query is open from App-Submission Team from yesterday: "Why we support Teams AND Channel Tags?" Want to share here also our answer from yesterday if this question is also coming up: “Team Tags” and “Channel Tags” are tag scopes. Tags from “Team Tags” scope are available in all team channels. “Channel Tags” are available only in channels where they are created. This helps users to easier find desired tags when they want to tag messages.

For example, we (and our customers) have created “teams” for the projects or products with “channels” for specific project workflows and collaboration and “channels” for common ones. Example: -Project Team (team) ---- News (channel) ---- Meetings (channel) ---- Development (channel) ---- Design (channel) ---- Test (channel)

“Team Tags” e.g., “Important”, “Documentation“, „Meetings”, etc. are visible in every channel and team members can use it to tag messages in any channel. “Channel Tags” are visible only in channels where they are created. So, design team can create and use tags like “Photoshop”, “Illustrator”, “Graphics” in their “Design” channel, developers can create tags like “C#”, “TypeScript”, NodeJS”, etc, in “Development” channel etc.

Greetings from Austria, TagTeam

Log in or sign up for Devpost to join the conversation.

posted an update

Unfortunately the submission process took longer as expected. Especially because we found some Teams platform bugs for Android and iOS, which the App submission team now also stated as mobile platform issues: "We checked with Mobile platform team and Issue#16,17,18 are platform bugs will be fixed soon, since they platform bugs we are providing an exception." Hopefully you will make an exception that we are still not in AppSource but we got the last info from App submission team (statement above) on Thursday and resubmitted our TagTeam 2 hours later - so hopefully on Tuesday it will be ONLINE :-)

Log in or sign up for Devpost to join the conversation.