Enable Conversations for External Groups with the Microsoft Cloud

|
Published

An important goal for the Extranet User Manager suite of products is to help our clients build digital communities for their stakeholders. We simplify the onboarding and login of large communities at scale on top of the Azure and Microsoft 365 stack. We also simplify that Microsoft stack to facilitate secure publishing, document collaboration, reporting, and access to other systems. What we've lacked is a way to allow those communities to have effective, online conversations, including where email and other contact information is private and not shared throughout the community.

You might think that's an easy one: just use Microsoft Teams. Problem is, while Teams is a fantastic tool for communication and collaboration within one organization, it's difficult to use with external communities. Sure you can invite people in as guests, but they have to switch to your tenant and ignore theirs, which no one wants to do. Shared channels are great, but they need coordination with each external organization you want to connect with at the IT level. Want to learn more about that, check out our How We Use Teams Shared Channels article. We do love Shared Channels, but they don't work in many external communities.

So what about Microsoft Yammer? Acquired by Microsoft in 2012, it's been fully integrated into the Microsoft 365 stack. Guest access with Azure AD B2B was announced some time ago, but there have been Yammer embed issues with B2B guests that Microsoft engineering haven't addressed in well over a year now that prevent this use case.

So where does that leave us? Sure there are third party SaaS chat platforms, and many of those we can even integrate with single sign-on into Azure AD. But our goal is to leverage the Microsoft stack that our clients already own. Before we go further, let's lay out some Minimal Viable Product (MVP) product features we'd want to see.

  • Can be seamlessly integrated into our EUM Portal product (no iframes please)
  • Control over branding
  • Azure AD authentication (no anonymous trolls please)
  • Hiding of contact information for participants that do not opt in to share that with the group
  • We don't need every bell and whistle, often less is more
    • Post new conversations, and respond to existing threads
    • Mention people
    • Simple formatting, including text, hyperlinks, and media files
    • Email notifications for infrequent visitors
    • Teams integration

Our search led us to Azure Communication Services, and in particular ACS's Rich Text Chat services. It is based on the same core engineering that powers Microsoft Teams, and allows interoperability with Teams. Unfortunately it only currently supports chat conversations, not the full threaded conversations you would find in a Teams channel. That makes it less than ideal for community forums.

This discovery led us back to Yammer. Yes we can't embed it directly into our Portals, but it does have a rich API, and we can embed certain portions of it, and then take users into the full Yammer community experience to go further. This covers most of the MVP features above, except you can't hide people's email address that don't want to opt in. I think we'll have to deal with that one with an authenticated commenting engine similar to what you see on major news sites, so we'll leave that to later.

Here's what integrating Yammer and our Portal could look like. The Inbox indicator in the header shows unread messages across all communities the user belongs to, and the Committee Yammer card shows unread for this community. We could also potentially show a preview of the recent messages in the Yammer card.

Clicking through to the community card or the Inbox icon takes you into Yammer, as shown below.

Right now this is still very much an academic exercise. While multiple clients have asked for this functionality, consider this article a testing of the waters to gauge interest. If this is something that interests you, and you'd like to see us do more, please reach out and contact us.

Latest Articles

Related Pages


{{#this}}
{{#if RollupImage}} {{Title}} {{else}} {{/if}}
{{{hyperlink RelativeURL Title Title null}}}
{{#if EventStartDate}}

{{eventDate EventStartDate EventEndDate}}

{{/if}} {{#if PublishedDate1}}

{{generalDate PublishedDate1}}

{{/if}} {{#if RollupContent}}

{{{RollupContent}}}

{{/if}}

{{{hyperlink RelativeURL Title "Read more..." null}}}

{{/this}}