Yammer fans (Yammistas?) were very excited when Microsoft announced the general availability for Azure B2B Collaboration (guest user access) for Yammer native mode networks on March 22. The Tech Community blog post was preceded by message center notification MC244062 on March 11 (roadmap item 80993). It’s another step along the path of bringing Yammer more into the Microsoft 365 ecosystem by supporting a feature that other apps have had for several years.
Limited Guest Support for Now
The announcement says that guest access in Yammer is “powered by Azure B2B” and that “Azure B2B collaboration enables you to share your company’s applications and services with guest users from any other organization.” The disconnect between the two statements is the glaring fact that Yammer doesn’t support guest access for anyone except people with Azure AD accounts in other Office 365 tenants. This is very different to Microsoft 365 Groups, Teams, and Planner, all of which support guest members with Microsoft Service Accounts (MSAs) and accounts in other directories, like Gmail.
The limitation existed when I tested the feature while it was in preview. I expected it to be a short-term issue while Microsoft sorted out authentication for external access to Yammer. At the time, I could add external users from outside Office 365 to a Yammer community, but all attempts to connect were rebuffed (Figure 1).
Personal email, non-Microsoft 365 business email, and phone number-based legacy accounts – Users with Microsoft 365 Business email accounts can be added as guests. Other email domains like Gmail or Yahoo mail etc. will not be supported in this release.
This is the only place in the Microsoft pages which discuss guest access for Yammer which makes the limited support clear. Many potential external people are excluded from Yammer-based collaboration until Microsoft upgrades support for guest users to put it on par with the other Microsoft 365 apps.
Struggling with Guest Accounts
It’s been a few months since I tested guest access in Yammer. When I tried to use the guest account from other Office 365 tenant I previously used for testing, I encountered some problems, and the account never managed to connect.
I removed and added the account back into a Yammer community to no avail. To get a clean start, I removed the guest account from Azure AD and recreated it from scratch. The recreated account works perfectly with Teams and SharePoint Online, but cannot join a Yammer community. I reported the problem to Microsoft and was told that some fixes rolling out should help. It didn’t, and I was never able to resolve the problem, even after removing and recreating the guest account several times.
Geography Blues
I then tried to add an account from another Office 365 tenant, only to be told that “cross-geography guests are not supported” (Figure 2). Checking the network settings confirmed that the Yammer network for my European tenant is in the U.S. while the test tenant I tried to use is in the European Union.
Figure 2: Can’t add a Yammer guest from another geography
The documentation says, “Today we enable organizations to host Yammer in two data centers – Europe and North America. With this new guest support, users will be able to add guests from their same geography.” Yammer is the only Microsoft 365 application which imposes this restriction.
Native Mode Only
The other big thing to remember is that guest access is only possible for Yammer networks in native mode for Microsoft 365. In this mode, Yammer communities use Microsoft 365 Groups for membership and identity management and capture compliance records for messages. All new enterprise Yammer networks operate in this mode, but many older networks, including those run by Microsoft, use the older “non-native” mode, and don’t use Azure B2B collaboration to support external users. A process is available to switch older networks into native mode.
Frustrating and Unusable
After struggling with Yammer’s fragile support for Azure B2B Collaboration for several weeks and despite the best efforts of the Yammer engineers to find out why things didn’t work as they should , my conclusion is that this software is not fit for purpose. Unlike Groups, Teams, SharePoint Online, and Planner, all of which manage to make guest accounts work without too much fuss, Yammer’s implementation has many problems. Microsoft continues to make a big thing of Yammer. Given this fiasco, I can’t understand why.
Update May 6: The Yammer engineers figured out and fixed the underlying problem, so I can add a guest account to a Yammer community now (within the documented limits).
3 Replies to “Yammer Support for Guest Access Reaches General Availability”
Fully agree with the points raised – however the biggest usecase you left out of this post is actually around enabling cross tenant collaboration if a company for some reason is split into multiple tenants – or as part of M&As as part of the integration offering before consolidating everyone on the same tenant. For this purpose it works reasonably well and it’s serving us well.
Yammer is not really being positioned as a tool for external collaboration with “random people” – but much more an enterprise collaboration tool for “knowledge communities” and informal networks within the company or with close partners
I would probably also add to the “Geography Blues” part that if an EU company wants to move their existing tenant from US->EU geo (gdpr and all..) – the default offering is “delete and start again” – and a recommendation to hire a consultancy firm to build a custom migration using the export API if you want to keep anything from the last 10 years…
It doesn’t either respect the reverse. That is where you have multiple domains in the Same Tenant but need to split them.
There maybe information barriers you need to set up. For instance we have partner accounts that are considered internal by 365 but are for external people. We don’t want those people in our main tenant yammer, but would like to use them in other Yammer scenarios. We cannot do that as Yammer forces them to our home network and they can view our public groups.
Still a very poor implmentation for security and yes I have previously spoken to Microsoft support about it.
Now I know that proper guest access is not working the way I would need it (thanks again Tony). We have hundreds of independent partners who use gmail and the like to work with us. Works perfectly fine in Teams, SharePoint and OneDrive. Appears coming up on a decade since Microsoft bought this product that some of its core tech has still not made the transistion to working the same way as the rest of the suite.
{"id":null,"mode":"button","open_style":"in_modal","currency_code":"EUR","currency_symbol":"\u20ac","currency_type":"decimal","blank_flag_url":"https:\/\/office365itpros.com\/wp-content\/plugins\/tip-jar-wp\/\/assets\/images\/flags\/blank.gif","flag_sprite_url":"https:\/\/office365itpros.com\/wp-content\/plugins\/tip-jar-wp\/\/assets\/images\/flags\/flags.png","default_amount":100,"top_media_type":"featured_image","featured_image_url":"https:\/\/office365itpros.com\/wp-content\/uploads\/2022\/11\/cover-141x200.jpg","featured_embed":"","header_media":null,"file_download_attachment_data":null,"recurring_options_enabled":true,"recurring_options":{"never":{"selected":true,"after_output":"One time only"},"weekly":{"selected":false,"after_output":"Every week"},"monthly":{"selected":false,"after_output":"Every month"},"yearly":{"selected":false,"after_output":"Every year"}},"strings":{"current_user_email":"","current_user_name":"","link_text":"Virtual Tip Jar","complete_payment_button_error_text":"Check info and try again","payment_verb":"Pay","payment_request_label":"Office 365 for IT Pros","form_has_an_error":"Please check and fix the errors above","general_server_error":"Something isn't working right at the moment. Please try again.","form_title":"Office 365 for IT Pros","form_subtitle":null,"currency_search_text":"Country or Currency here","other_payment_option":"Other payment option","manage_payments_button_text":"Manage your payments","thank_you_message":"Thank you for supporting the work of Office 365 for IT Pros!","payment_confirmation_title":"Office 365 for IT Pros","receipt_title":"Your Receipt","print_receipt":"Print Receipt","email_receipt":"Email Receipt","email_receipt_sending":"Sending receipt...","email_receipt_success":"Email receipt successfully sent","email_receipt_failed":"Email receipt failed to send. Please try again.","receipt_payee":"Paid to","receipt_statement_descriptor":"This will show up on your statement as","receipt_date":"Date","receipt_transaction_id":"Transaction ID","receipt_transaction_amount":"Amount","refund_payer":"Refund from","login":"Log in to manage your payments","manage_payments":"Manage Payments","transactions_title":"Your Transactions","transaction_title":"Transaction Receipt","transaction_period":"Plan Period","arrangements_title":"Your Plans","arrangement_title":"Manage Plan","arrangement_details":"Plan Details","arrangement_id_title":"Plan ID","arrangement_payment_method_title":"Payment Method","arrangement_amount_title":"Plan Amount","arrangement_renewal_title":"Next renewal date","arrangement_action_cancel":"Cancel Plan","arrangement_action_cant_cancel":"Cancelling is currently not available.","arrangement_action_cancel_double":"Are you sure you'd like to cancel?","arrangement_cancelling":"Cancelling Plan...","arrangement_cancelled":"Plan Cancelled","arrangement_failed_to_cancel":"Failed to cancel plan","back_to_plans":"\u2190 Back to Plans","update_payment_method_verb":"Update","sca_auth_description":"Your have a pending renewal payment which requires authorization.","sca_auth_verb":"Authorize renewal payment","sca_authing_verb":"Authorizing payment","sca_authed_verb":"Payment successfully authorized!","sca_auth_failed":"Unable to authorize! Please try again.","login_button_text":"Log in","login_form_has_an_error":"Please check and fix the errors above","uppercase_search":"Search","lowercase_search":"search","uppercase_page":"Page","lowercase_page":"page","uppercase_items":"Items","lowercase_items":"items","uppercase_per":"Per","lowercase_per":"per","uppercase_of":"Of","lowercase_of":"of","back":"Back to plans","zip_code_placeholder":"Zip\/Postal Code","download_file_button_text":"Download File","input_field_instructions":{"tip_amount":{"placeholder_text":"How much would you like to tip?","initial":{"instruction_type":"normal","instruction_message":"How much would you like to tip? Choose any currency."},"empty":{"instruction_type":"error","instruction_message":"How much would you like to tip? Choose any currency."},"invalid_curency":{"instruction_type":"error","instruction_message":"Please choose a valid currency."}},"recurring":{"placeholder_text":"Recurring","initial":{"instruction_type":"normal","instruction_message":"How often would you like to give this?"},"success":{"instruction_type":"success","instruction_message":"How often would you like to give this?"},"empty":{"instruction_type":"error","instruction_message":"How often would you like to give this?"}},"name":{"placeholder_text":"Name on Credit Card","initial":{"instruction_type":"normal","instruction_message":"Enter the name on your card."},"success":{"instruction_type":"success","instruction_message":"Enter the name on your card."},"empty":{"instruction_type":"error","instruction_message":"Please enter the name on your card."}},"privacy_policy":{"terms_title":"Terms and conditions","terms_body":null,"terms_show_text":"View Terms","terms_hide_text":"Hide Terms","initial":{"instruction_type":"normal","instruction_message":"I agree to the terms."},"unchecked":{"instruction_type":"error","instruction_message":"Please agree to the terms."},"checked":{"instruction_type":"success","instruction_message":"I agree to the terms."}},"email":{"placeholder_text":"Your email address","initial":{"instruction_type":"normal","instruction_message":"Enter your email address"},"success":{"instruction_type":"success","instruction_message":"Enter your email address"},"blank":{"instruction_type":"error","instruction_message":"Enter your email address"},"not_an_email_address":{"instruction_type":"error","instruction_message":"Make sure you have entered a valid email address"}},"note_with_tip":{"placeholder_text":"Your note here...","initial":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"empty":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"not_empty_initial":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"saving":{"instruction_type":"normal","instruction_message":"Saving note..."},"success":{"instruction_type":"success","instruction_message":"Note successfully saved!"},"error":{"instruction_type":"error","instruction_message":"Unable to save note note at this time. Please try again."}},"email_for_login_code":{"placeholder_text":"Your email address","initial":{"instruction_type":"normal","instruction_message":"Enter your email to log in."},"success":{"instruction_type":"success","instruction_message":"Enter your email to log in."},"blank":{"instruction_type":"error","instruction_message":"Enter your email to log in."},"empty":{"instruction_type":"error","instruction_message":"Enter your email to log in."}},"login_code":{"initial":{"instruction_type":"normal","instruction_message":"Check your email and enter the login code."},"success":{"instruction_type":"success","instruction_message":"Check your email and enter the login code."},"blank":{"instruction_type":"error","instruction_message":"Check your email and enter the login code."},"empty":{"instruction_type":"error","instruction_message":"Check your email and enter the login code."}},"stripe_all_in_one":{"initial":{"instruction_type":"normal","instruction_message":"Enter your credit card details here."},"empty":{"instruction_type":"error","instruction_message":"Enter your credit card details here."},"success":{"instruction_type":"normal","instruction_message":"Enter your credit card details here."},"invalid_number":{"instruction_type":"error","instruction_message":"The card number is not a valid credit card number."},"invalid_expiry_month":{"instruction_type":"error","instruction_message":"The card's expiration month is invalid."},"invalid_expiry_year":{"instruction_type":"error","instruction_message":"The card's expiration year is invalid."},"invalid_cvc":{"instruction_type":"error","instruction_message":"The card's security code is invalid."},"incorrect_number":{"instruction_type":"error","instruction_message":"The card number is incorrect."},"incomplete_number":{"instruction_type":"error","instruction_message":"The card number is incomplete."},"incomplete_cvc":{"instruction_type":"error","instruction_message":"The card's security code is incomplete."},"incomplete_expiry":{"instruction_type":"error","instruction_message":"The card's expiration date is incomplete."},"incomplete_zip":{"instruction_type":"error","instruction_message":"The card's zip code is incomplete."},"expired_card":{"instruction_type":"error","instruction_message":"The card has expired."},"incorrect_cvc":{"instruction_type":"error","instruction_message":"The card's security code is incorrect."},"incorrect_zip":{"instruction_type":"error","instruction_message":"The card's zip code failed validation."},"invalid_expiry_year_past":{"instruction_type":"error","instruction_message":"The card's expiration year is in the past"},"card_declined":{"instruction_type":"error","instruction_message":"The card was declined."},"missing":{"instruction_type":"error","instruction_message":"There is no card on a customer that is being charged."},"processing_error":{"instruction_type":"error","instruction_message":"An error occurred while processing the card."},"invalid_request_error":{"instruction_type":"error","instruction_message":"Unable to process this payment, please try again or use alternative method."},"invalid_sofort_country":{"instruction_type":"error","instruction_message":"The billing country is not accepted by SOFORT. Please try another country."}}}},"fetched_oembed_html":false}
Fully agree with the points raised – however the biggest usecase you left out of this post is actually around enabling cross tenant collaboration if a company for some reason is split into multiple tenants – or as part of M&As as part of the integration offering before consolidating everyone on the same tenant. For this purpose it works reasonably well and it’s serving us well.
Yammer is not really being positioned as a tool for external collaboration with “random people” – but much more an enterprise collaboration tool for “knowledge communities” and informal networks within the company or with close partners
I would probably also add to the “Geography Blues” part that if an EU company wants to move their existing tenant from US->EU geo (gdpr and all..) – the default offering is “delete and start again” – and a recommendation to hire a consultancy firm to build a custom migration using the export API if you want to keep anything from the last 10 years…
Maybe that’s a topic for a different post 🙂
Good points. I hadn’t considered the M&A aspect, but you’re dead right on that point.
It doesn’t either respect the reverse. That is where you have multiple domains in the Same Tenant but need to split them.
There maybe information barriers you need to set up. For instance we have partner accounts that are considered internal by 365 but are for external people. We don’t want those people in our main tenant yammer, but would like to use them in other Yammer scenarios. We cannot do that as Yammer forces them to our home network and they can view our public groups.
Still a very poor implmentation for security and yes I have previously spoken to Microsoft support about it.
Now I know that proper guest access is not working the way I would need it (thanks again Tony). We have hundreds of independent partners who use gmail and the like to work with us. Works perfectly fine in Teams, SharePoint and OneDrive. Appears coming up on a decade since Microsoft bought this product that some of its core tech has still not made the transistion to working the same way as the rest of the suite.