Troubleshooting external access to SharePoint sites

We frequently get questions about external contacts that can not access SharePoint sites that they should have access to. Well, access and permissions are troublesome in all organizations, but access issues for external users can have additional causes and solutions, so here’s an overview to help Site Owners and support and admin people (such as myself) to identify and fix issues.

The site owner can check the first 4 items, and if that does not work, the support and admin folks may be able to help with 4, 5, 6 and 7.
It always helps to ask for a screenshot of the error messages, because you can already learn a lot from those.

It is wise to advise external users to log in with their browser in private or incognito mode, especially if they are from an organization that also has Microsoft365. It will avoid account mixups.
Thank you, former colleague Anita, for reminding me!

1. Does the user have access?

Let’s make sure that is not an issue, right? Check if the user is a Guest on Teams, or in case of a stand-alone SharePoint site, check if this person has permissions. Please be aware that external users only become visible in SharePoint permissions after they have been in the site once. So, if you can not find them in the Visitors or Members, it does not mean they have not been added.
In the screenshot below, I have already added someone with a Gmail account, but that person has not yet accessed the site. You may want to check item 2 first.

External users are only visible when they have accessed the site. Most annoying!

2. Has the user seen the invitation?

Warn your user that the invitation may end up in the Spam, Junk email, Unwanted items or whatever their non-regular mailbox is called. My invitation to a Gmail account was considered Spam, and my invitation to a Hotmail account also ended up in Junk mail. Messages in Gmail Spam are deleted after 30 days (see below) and in Hotmail Junk in 10 days, so your external contact may never have seen their invitation!

Invitations easily end up in Spam or Junk mail!

3. Has the user’s invitation expired?

External users need to do their first log in within 90 days, or their invitation expires.
In Classic team sites, the Site owner will see this in Site Settings > Access requests and invitations, under “Show History”. If it says “Expired” you may want to add the user again.
In Communication sites, check Gear wheel > Site Information > View all site settings > Access requests and invitations.
I could not find this option in other site types, and adding “/Access%20Requests/pendingreq.aspx?mbypass=1” to the root did not help either.

Here’s where you see who has been invited.

4. Does the user log in with the exact email address as per the invitation?

This is a frequent cause of problems. If you have added your externals with their Outlook or Hotmail account, they can generally access smoothly; if they have a Gmail, Yahoo or other free mail account you can warn them to expect issues, but if they have an email account for work, using their own domain name, you can not tell whether they can expect issues or not.
Externals should access with a Microsoft account. So if you give someone access with their Gmail account, they are prompted to create or use a Microsoft account. This is not always clear, I have found.

Gregory Zelfond has created a good overview of what the external user sees, and how they should proceed.

Another issue can be if the user has multiple emailadresses, and they access with the wrong one. We recently had an issue where the person had two very similar addresses. It was not clear to both the external and the site owner that he was logging in with, while access was given to ! It was clear from the error message, but you know how people can panic over error messages ūüôā

SharePoint admins may use the follwing Microsoft info when trying to help the Site Owner:

Error when an external user accepts a SharePoint Online invitation by using another account

“Access Denied”, “You need permission to access this site”, or “User not found in the directory” errors in SharePoint Online and OneDrive for Business – scroll down to see some trouble-shooting for external users.

5. Is the site accessible for external users? (admin only)

Another reason for issues can be that the site is internal-only. In my organization sites are by default internal, but when external access is needed, we can open them up. When people request a new site and they specify that the audience contains external users, we make it accessible for externals from the start. Otherwise, it needs to be changed when the need is there, but site owners do not always know or remember that most sites are internal-only.
An admin can check the sharing settings in the SharePoint admin center.

This site is accessible for external users.

6. Is the external user listed as a Guest user in the Admin center? (admin only)

External users added to Teams will be visible straight away, but again, for stand-alone SharePoint site they need to have accessed the site first. If they are mentioned, they have access and have been able to access this or another site in your tenant.
If they are not visible, it does not necessarily mean they have not been added.

Guest users have their own list in the admin center

7. Has guest access expired automatically? (admin only)

This is a relatively new feature in the SharePoint admin center. You can limit the time that a guest has access, counting from the moment the guest has been given access. After the time has expired, the site admin receives an email and can extend the period.

You can set an automatic guess access expiry in the SharePoint admin center.

Personally I would welcome the option to set an expiry time after a certain period since the last log-in, but “from the moment you have been given access” does not make much sense to me. You can be in the middle of a project and then get kicked out because it has been 60 days since you were given access and the site admin has overlooked the email or forgotten to extend your access? Most annoying!

8. Has the other organization blocked access to external networks?

Sometimes the employer of your external guest does not allow access to external networks. You will not know, and it is up to the external guest to find out. There’s not much you can do about it, except giving the external person an account from your own organization.

Access to Teams

Although external users can have difficulty accessing a Team as well, access is much easier to check than in stand-alone SharePoint sites. Permissions to a Team are easier to check, and guest users to Teams are immediately visible in the Guest users in the admin portal, while SharePoint users only become visible when they have accessed the site once.

Did I miss anything?

Have you found a frequent issue with external users and how have you solved that? Would you know where to find the Access requests and invitations in modern non-communication sites? Or do you have another question or remark? Please add them to the comments!

Teleconference requests in a Team Site

teleconferenceThis is another example of how you can work with external partners via a Team Site.

What was the problem?

The company I used to work for was a big fan of conference calls, with or without a Live Meeting. We were facing some issues:

  • Computer audio did not alway provide good quality, so for calls with 3 or more people it was better to use a¬†“teleconference bridge”: a set of¬†telephone numbers (one per country) with a¬†unique entry code¬† per meeting. Many employees, departments or project teams¬†had their own permanent conference bridge.
  • Many employees did not use the preferred¬†supplier, often because they¬†did not know we had one or who it was.
  • It was not very clear how one could obtain a¬†conference bridge.
  • Additionally, the Telecom department was unaware of the¬†amount of¬†conference¬†bridges in use, and who owned one.

It was time for the Telecom department to give more attention to the request process.

One of the team developed a form in HTML, which automatically added your Employee ID. Neat! After completion the form sent an email to the Telecom department. Telecom then added the Cost Center number, and forwarded the email to the telecom provider. However, the form was on a local server which could not be accessed by everyone, and the emails had to be manually stored by Telecom as individual requests, making it difficult to create overviews. For other locations, there was a manual process where you contacted Telecom and they completed another form.

They asked my team if this process could be improved. And guess what…it could! ūüôā

What is the solution?

The HTML-form was replaced by a Custom List in the employee-facing team site for all IT-related questions and information.
Every requester enters their Employee ID manually, but since you make this request only once (this being a permanent conference bridge), this¬†is not perceived as a problem. I¬†modified the “New Entry” URL so upon completion, the requester goes to a page with the next steps of the process.¬†(Read here how to modify the URL,¬†scroll to¬†2f.)
The Telecom department has set an Alert for Added Items, so they know about all new requests immediately. They enter the Cost Center code to the request and then the form is ready for the telecom provider.
Of course I suggested to set up an Alert for Modified Items for the telecom provider, but after some tests and discussions we decided to send the content of the request as an email to the provider with cc to the requester. (via Corasworks)
By using¬†“Reply All”¬†¬†the telecom provider then sends the¬†conference numbers and other information to both the requester and the Telecom department.

(If you see only a very small picture below, please click it to enlarge. If you know how to fix it, please help!)

Employee part of the form
The part of the form that employees have to complete.

Telecom part of the form
The part that Telecom has to enter.
When “Send Email” is “Yes”, Corasworks will send the content of the mail to the provider’s email address. That field does not have a default value to avoid accidental sending of incomplete content.

What are the benefits?

  • The request¬†form is much easier to find and the process is more transparent; this means more people use the preferred way, saving costs and reducing complexity.
  • The Telecom department saves time on entering and managing requests.
  • Telecom department has an overview of the number¬†of bridges in use, and who owns a bridge. This helps them to check if the invoices are correct.

I would have¬†preferred to just give access to the telecom provider, and ask them to add the bridge number to the original request. That would have given the Telecom department even more¬†information without them having to do anything. But well, you can’t always win ;-).

You may also like to read about these examples where we used Team Sites with external partners:

High Tea Reservations

Crisis Management

New Packaging Requests

Image courtesy of Ambro at

Machine Installations in a Team Site

Coffee machineWhile everyone in the SharePoint field is writing about the new features of SP2013, we may want to remember that the organizations we work for are just looking for a solution to a work-related problem. Whether that is on SP2003 or 2013 is not really an issue for them, since they can only work with the platform they currently have.  SP2013 has of course a couple of great new features, but I know that many day-to-day projects can be facilitated perfectly by an older version.
So I thought it would be time to show another example of a simple Team Site that has had a great impact on the business.

One of our most successful solutions of all time has been the Team Site we configured when we had won a large new customer in the US.

What was the situation?
A fast food chain with about 3000 locations had bought our machinery. Before the machines could be installed, a third party plumbing agency had to fit water and electricity at each location. The information needs were:

  • For the fast food chain: progress – in how many locations had the new machines been installed and when would the project be finished?
  • For the plumbing agency:¬†planning and progress – where were the locations and how was plumbing proceeding – were there any issues?
  • For us: planning and progress – which locations were ready to receive the machines, and in¬†which locations were the machines installed?

Until then, the normal process was to send an Excel sheet back and forth. Every party would update this every day and send around again. Of course all parties stored every version in their own archives.
For smaller projects it was workable, but it frequently happened that it was not clear if any document was the latest version.  This was a much larger rollout than we normally had, so our Sales Team asked us if we could create a more robust process to manage this project.

What is the solution?
An external Team Site was set up for all 3 parties.

The customer added a list of all locations, including address details, telephone numbers and local manager. This Location List could only be edited by the customer.

The plumbing agency used this list as a pick list to schedule their work in the Work List. This list was the backbone for progress reporting and it could be edited by the plumbing agency and ourselves.
Each location had one of the following statuses:

  1. Waiting for inspection
  2. Ready for installation
  3. Inspected-minor issues
  4. Inspected-major issues
  5. Machine installed

When the status was ‚Äú2. Ready for Installation‚ÄĚ our Sales Team could install the machinery.¬†The Work List therefore also served as our work supply and our status update.

Editing the Work List by the plumbing agency and ourselves


We created various views to enable every party to see the items they needed in an optimal way. Several managers set an Alert to the Work List to know how the project was progressing.

Different views of the Work List

We also added some real-time graphs to show progress. Every day the 3 parties had to update the list before a certain time. A daily conference call followed to discuss any issues.

What are the benefits?

  • Because¬†the Work List¬†was the only version of the truth there was no discussion about versions or status. This made the calls very focused and effective.
  • The views¬†allowed all parties to see only the relevant items.
  • The Alerts¬†and the real-time graphs kept everyone informed, so there was no need for additional progress reporting to management.
  • At the completion of the project, our customer complimented¬†our team with the effective way¬†they had handled this. We later heard that they requested the same process when they had a rollout with another supplier.
  • But also internally the success of this process was clear. It became standard procedure to use a similar setup for every large implementation. And because we learned with every rollout, the Team Sites were¬†created better and faster each time.

I can not say this often enough: it does not require a rocket scientist to do this. All it needs is a bit of straightforward process thinking, creativity and two SharePoint lists. It did not even need SharePoint 2013 :-).

Image courtesy of Sura Nualpradid at

Crisis Management in a Team Site

Have you ever been involved in a product recall or another crisis? If yes, you will know that this is a stressful time! A recall is very important, it has to be dealt with NOW, and it has to be dealt with correctly to avoid risk, and all on top of your normal work. Everything that can relieve the stress is more than welcome.

What was the problem?

One of our larger countries had occasional recalls. It did not happen too frequently, fortunately, but it was a real hassle when it occurred.  There was an official procedure, and many people from different departments and external partners were involved, lots of documents were being sent in various formats and versions. Since people were in a stressful mood, they did not want to spend time on thinking.
The briefing was:

  • make all essential information as easy to find, read¬†and edit as possible (not everyone was Team Site savvy, especially¬†the external¬†partners, and everyone was hurried)
  • avoid sending documents and emails back and forth – but notification emails are welcome
  • have the option to archive the generated information for legal reasons and for learning
  • make it re-usable

What is the solution?

We have set up a Team Site collection, with a templated¬†subsite for every recall. The subsite can be created from the top site by the process owner without any help from the intranet team – he has Site Collection admin rights, a rare gift ūüėČ
The site is set up to deliver maximum info with minimal effort. The process owner only has to check and update the  Team Members list which is in the template.  The email addresses are displayed in the list so process owner can copy these and give access to all in one step.
Next to that, there is an ongoing Live Meeting to be used exclusively for emergencies. The access information is  incorporated in the template.

The Homepage displays the essentials:

  • Announcements
  • Picture of the product and the problem, if it can be visualized
  • Last 5 documents
  • Actions assigned to me
  • Decisions taken
  • Links to set Alerts (all changes, immediately) to Announcements, Documents and Actions/Decisions
  • Content editor web part with information¬†for the¬† Live Meeting
  • Content editor web parts to inform people how to work in the site

First I created a sort of wireframe, to test if we could display all the most important information on one page. 

Wireframe. The items in red contain the most important information.

We decided not to display two lists: the Evaluation (survey), which was only used at the end of a recall, and the Expense Declaration form, which was only used by a few individuals. The process owner will announce the path or link to those lists when necessary.
When a recall is finished, the process owner removes all users except himself and the designated legal person, and stores the site for the legally required period.

This is the final setup:

Recall Subsite Homepage

What are the benefits?

After the first recall that was managed in this new setup, all team members were very positive:

  • The Alerts mean that people receive many emails, but smaller in size and they do not need to be stored, since the actual information is in the site.
  • The Alerts¬†ensure that everyone receives the same information – nobody is accidentally left out of an email.
  • Sharing everything in one Team Site creates one official version-controlled dossier¬† instead of various¬†personal ones. This saves everyone time and stress and creates confidence.
  • The Live Meeting¬†allows ¬†people¬†to discuss anytime from anywhere, saving time and¬†travel.¬†(especially since you need to meet at least once a day)
  • The evaluation¬†survey and the expense declaration are now online, and no longer in individual documents. This¬†saves time in¬†aggregating the results, and creates instant transparency.

This is in fact a very simple setup, without any complicated lists or workflows. The most time-consuming part was making sure that a new subsite copied everything correctly, so it was ready to use instantly. I had to make some sacrifices, e.g. display the lists and libraries and train people to set an Alert, rather than displaying the direct links to the alert pages.  But because it is tailor-made for the situation and can be used almost instantly, it is a real time- and stress-saver!
Further improvements are possible, like using an Issue List for the required log, but at the time it was too complicated for the users.

Have you used Team Sites in a similar way? Please share your examples!

High Tea in a Team Site

Earlier I have shown you some examples of external business partners being able to read  (New packaging requests), or edit (CRM) list items in a Team Site. This time I would like to show you an example where an external partner creates the new item. Not because that is technically very impressive (although it means a lot of testing from a home PC and  a test account with no admin rights), but because it shows once again that you can do this type of thing in SharePoint, without having to invest in another tool with a different interface, different support model and what not.

What was the opportunity?

Since this was a new process¬†rather than an existing inefficient process, let’s use another header text ;-).
The company I worked for was exploiting coffee & tea stores. It was a logical step to use an External Team Site for communication between central management in the company and store managers and employees.
We started with sharing information top-down, such as manuals, promotion information, recipes etc. Later we asked store managers to confirm (in the Team Site) that they had received their promotion supplies and we installed a discussion board for all employees to add recipes and other suggestions etc.

Next was a promotion where consumers could enjoy a High Tea in our stores. Since stores had limited capacity for High Teas the consumers had to make a reservation, and that was done via an external call center. And guess where the call center collected these reservations? Indeed, the same Team Site.

It was meant to be a temporary solution. Management did not want to invest in dedicated software before knowing if promotions which included a reservation would be a success. And while using the Team Site, everyone involved could learn what they really needed from a reservation system, allowing management to prepare a much more realistic briefing to software vendors.

What is the solution?

We used a Custom List to capture store, customer name and telephone number, number of visitors, date and time. We created a number of views, such as grouped by Store Location¬†and a list of Today’s reservations.¬†We added a sum of the visitors so the call center knew how many places were left on any given date and time, and the store employees knew what they could expect that day.

Central management set an Alert (Added Items, Daily Summary) to keep track of the reservations, and therefore of the success of the promotion.

New Reservation entry form
New Reservation Entry Form

High Tea Reservations by Location
High Tea Reservations (Today and later, only), by Location

What are the benefits?

  • The promotion was a big success, and while that was of course not¬†due to the Team Site, it meant there were many reservations being entered into the system.¬†The call center did not report one single issue with the “reservation tool”.
  • Store¬†employees had a good overview of the number of reservations, so they knew what was expected of them. They could also see other stores’ reservations, so they knew how succesful the promotion was. This transparency was much appreciated.
  • Central management could monitor the reservations as they were added,¬†and was able to do a good analysis on the preferred locations, dates and times, which helped them plan new promotions.

This might have come as a pleasant surprise for them, but not for us. We know how easily these things can be done in a Team Site :-)!

Image courtesy of Stuart Miles at

New Packaging requests in a Team Site

packagingrequestsThis is yet another example of streamlining a process where incomplete information was given via various channels. (Please use the “Business Example” tag to see more examples)

What was the problem?
One of our global brands was struggling with their packaging process. Being in the fast-moving consumer goods business, there were always many new products being introduced and¬†many¬†promotions going on at any given time.Very often (such as: “now 20% extra!”)¬†this meant that a new packaging had to be designed and printed.
For reasons of cost-efficiency and standardization, all packaging from one brand had to be centrally purchased. The purchasing manager was receiving incomplete information through various channels. Next to that, the requests were often received too late to allow the supplier the necessary lead time. Consolidating all information and ordering exactly the right amount of the right product at the right time was therefore not an easy task. I assume you will recognize this ;-).

What is the solution?
You take one Team Site, as per my usual recipe ;-).
We have turned an Excel form (which was used occasionally) into a Team Site custom list.
We made use of mandatory fields to force people to add information they often forget, such as the budget number, or whether the seconday packaging needs to be changed temporarily as well.
A calculated field is used to determine the deadline for artwork. So, if you want your new packaging to be ready on October 1, you MUST deliver your packaging designs before August 1. This was one of the more frequent problems. With the new process, delivering late is no longer allowed.
A workflow allows the purchasing manager to check if all details have been entered correctly. All approved requests  are visible to all members.
The packaging supplier has read-access to the Team Site. The official ordering is done in the supplier’s system.¬†What are the benefits?
Although marketeers did not really like the limitation of their freedom, (especially where artwork deadlines were concerned), the new process has had many benefits for the total organization:

  • The process has saved time for the purchasing manager because she now receives complete and correct information.
  • All artwork is now being delivered on time, reducing¬†last-minute stress for all. This is more a result of the implementation of the process, rather than the Team Site itself, of course.
  • The purchasing manager can now combine different requests and get better conditions.
  • The supplier knows beforehand what he can expect.
  • All requests are creating a large database. Marketeers in different locations can see what their colleagues are doing or have done, so they can share experiences with a certain action, or combine a promotion and therefore save costs.

Once again, this is not rocket science, it does not even use sophisticated new code, it is just regular SharePoint with a bit of thinking.

This screenshot shows the data entry screen.

Data Entry screen
New Request Data Entry

Below you see the Homepage with all approved requests on the left, for everyone to see and share. On the right, a web part with only My Requests waiting for confirmation. (In the real situation, this would be all My Requests, but since I have created all requests, I had to use another filter to show a
difference :-).

HomePage with all approved requests and My Requests

Image courtesy of aopsan at

News Translations in a Team Site

This example may be interesting for Communication employees in multinational organizations.

What was the problem?

As in many international companies, the company language is English. Most people can read that, but general survey feedback showed that employees would really appreciate to read important business news in their own language.
So the Communications team decided that those messages would be translated into 14 different languages. Hiring an external translation agency was easy, but how to handle all those primary, draft and final documents (some of which were unintelligible for the Comms team) without getting confused?

What is the solution?

We set up an external Team Site with 2 libraries:

  • One¬†library for the primary document, in English. The agency set an Alert (Added Documents, Immediately) so they know when they have to start translating.
  • One¬†library for the translations. The agency uploads the translations to this library, using a special naming convention,¬†adding the language as metadata, so we¬†can group the documents by language.
    Designated local employees¬†then check the translations,¬†making sure that¬†the texts fit country and company culture.¬†These employees¬†have set an Alert (Added Items, Daily) so they know when they¬†have to correct a document. They can make changes online. When a translation is OK, a box is “final” is checked.
    (Since the Alert can not distinguish beteen languages, we suggest a Daily e-mail to avoid getting too many irrelevant emails)
  • Communications has also set an Alert to the Translations library, to monitor progress. (All Changes, Daily)

All documents with”the “final” checkbox are made visible to employees in special views by language.
(for advanced users: in a separate Team Site we have created one Web Part Page per language, and “project” the documents, filtered by language,¬†on that page using Corasworks)

What are the benefits?

This setup is not ideal, since the information is still hidden in documents and there are no Alerts per language.¬†A truely online process with targeted news in the correct translation on people’s Homepage would be better, but that is not available at this moment. Still, this setup does help¬†to streamline the process:

  • All documents are in one place.
  • Notification emails that “you have work to do” are being sent automatically.
  • Documents are properly tagged with metadata.
  • No confusion with loads of documents in individual emails.
  • The data can be used for KPI’s, such as turnaround time, learning curve of the translation agency, and projected costs.

Another example of how some thinking and experience with SharePoint can solve those all-too-common business problems!

This is the Source library, containing the original English document:

Library for the original document
Source Library, containing the original English documents.

And this is the Target Library, where the translations can be uploaded.

Library containing the translations
Library for the translated documents

CRM in a Team Site

What was the problem?

The country’s Customer Service Desk received their customer complaints in various ways: from 7 different systems, via email, snail mail, telephone, fax and by going to the Customer Service desk. Information provided was seldom¬†complete, and there was no central system or agreed process to log and manage complaints. Many complaints were lost during the process, and if they were¬†not, turnaround could vary from 2 weeks to 2 years.
All complaints were reimbursed to the customer, because it was almost impossible to properly investigate a complaint.
There was no insight in root causes of complaints, so it was not easy to make any improvements to systems or processes.

What is the solution?

The country organized a workshop with all involved disciplines, describing the current and the desired process. The Business Process Owner Order-to-Cash and I worked together to  turn an Issue List into a streamlined Incident Logging, Processing and Managing system, that would enable all involved parties (Customer Services, Quality Assurance, Warehouse Managers, Finance, and even the external Transport Company) to quickly add, review and edit information. Every complaint was one list item.
On the Home Page an overview of all open incidents, and their accumulated value, are shown as a very high-level dashboard.

Logistic Incidents Homepage
The Homepage is dashboard for open incidents and process information.

We added some Corasworks tricks, such as a Search function and¬†an automated email that would copy much of the Incident’s information into an email to the transporter, in case a delivery had to be taken back to the Warehouse.

Of course, with a major process like this, it took a long time to get this realized. But as usual, thinking was the most work. What is the current process? Where does it hurt?  What is the best flow? How can we make it complete, but keep it simple and workable? How do we train people? How do we manage changes? How do we make this truely a part of a new way of working? The BPO and I spent long hours discussing both the process and the functional implementation.

Logistic Incidents Data Entry
First part of the data entry screen.

What are the benefits?

  • The country now has one database for all Incidents, enabling different ways to sort, group or filter: by Product, by Complaint Type, by Customer,¬†Open for longer than 2 weeks, etc.
  • Key Performance Indicators have been agreed and can be monitored.
  • System and process are agreed and transparent, eliminating the need to discuss the process repeatedly
  • Turnaround time has decreased to as low as 2 hours due to more insight and less handling
  • Due to the better insight it has been possible to improve processes and performance. One transport company has alread been discontinued since they caused many problems. Others have been given a warning. Changes have been made in¬†the factory¬†to solve certain issues. This has decreased the total number of Incidents with about one-third.
  • Significantly less money has to be paid to customers. Now that the process has been agreed, it is easier to assign responsibility. If the customer has caused the problem, no money is reimbursed. If the transport company has caused the problem, they have to pay.

All in all, this Team Site has saved the company hundreds of thousands of dollars each year, and there is much less discussion about the process.