SaaS & Office
Errors and limits in Microsoft 365, Notion, Slack, Google Workspace, and the tools your team lives in.
Gmail rejects your mail with 550-5.7.26: unauthenticated email is not accepted due to the domain's DMARC policy
Gmail enforced the DMARC policy your own domain publishes: the message failed both SPF and DKIM alignment against the header From: domain, so a p=quarantine or p=reject policy turned it into a hard bounce. The Authentication-Results header names the failing check, and three dig queries against your SPF, DMARC and DKIM records name the cause. A near-identical bounce about authenticating with SPF or DKIM is a different problem — Gmail's baseline sender requirements, not your policy.
Microsoft Entra ID: AADSTS50011, the redirect URI specified in the request does not match the redirect URIs configured for the application
Sign-in completes and then Entra ID refuses the last hop, because the redirect_uri your app sent is not a byte-for-byte match for any URI registered on the app. The match is case-sensitive, counts the trailing slash, requires https outside localhost, and treats the port as significant everywhere except localhost. It also splits by platform: web, spa and publicClient are three separate lists, and URIs added to the service principal instead of the application object can disappear. Read the URI and the app ID out of the error, compare them with az ad app show, add the exact string with az ad app update or a Graph PATCH, then wait three to five minutes.
Exchange Online: 535 5.7.139 Authentication unsuccessful, SmtpClientAuthentication is disabled
A scanner, script or app that sends through smtp.office365.com gets 535 5.7.139 because the SMTP AUTH protocol is switched off for the tenant, for that mailbox, or by an authentication policy or security defaults that block Basic authentication. Read the wording (Tenant, Mailbox, or 'did not meet the criteria'), confirm with Get-TransportConfig, Get-CASMailbox and Get-AuthenticationPolicy, then open SMTP AUTH on the one mailbox that needs it rather than tenant-wide. Treat Basic SMTP AUTH as a bridge: Microsoft disables it by default for existing tenants at the end of December 2026, so move the sender to OAuth, High Volume Email or a relay connector.
Zoom: "Unable to connect" error code 5003 — the desktop app can't reach Zoom while the browser can
Error 5003 is the Zoom desktop app failing to complete its connection to Zoom's servers while the web client on the same machine joins fine. The app needs more than a browser does: Zoom's firewall article lists TCP 443/8801/8802 and UDP 3478/3479/8801–8810 for meetings, a set of CA hosts for certificate validation, and it asks that zoom.us and *.zoom.us be exempted from proxy or SSL inspection. A port test, a curl issuer check, and the app's built-in Network Connectivity Tool (Ctrl+Alt+Shift+D / Cmd+Option+Shift+D) show which of those is cut; fix that layer, and reinstall only when a single machine fails while its neighbours join.
Slack: "Slack cannot connect" and the grey "Last updated…" banner behind a corporate proxy
Slack loads channels over ordinary HTTPS but delivers new messages over a persistent WebSocket on port 443 to the three wss-*.slack.com hosts Slack names (primary, backup, mobile). When a proxy or firewall passes the HTTP side and blocks the upgrade — most often because SSL decryption is on for the wss hosts, or the allowlist stops at slack.com — the app shows the grey "Last updated…" banner or "Slack cannot connect." while the browser seems fine. Two curl probes from the affected machine show which layer is blocked; exempt the three wss hosts from decryption, allow every domain on my.slack.com/help/urls, and confirm with my.slack.com/help/test.
Word: "The document is locked for editing by another user"
Word found a lock — an owner file — for the document and assumed someone else has it open, so it offers only a read-only copy. Usually no one does: a crash left the lock behind, or a hidden Word process is still holding the file. Confirm which, close every Word instance, delete the stale ~$ owner file, and the document opens for editing again.
OneDrive: sync stuck — paused or a red X on the icon
A red circle with a white cross, or a paused status, on the OneDrive icon means the sync loop has stopped — your files are safe locally and in the cloud, but they aren't moving between them. Read the activity list to see whether it's the client or one bad file, then restart OneDrive, and reset it if a restart isn't enough. Resetting rebuilds the sync links and doesn't delete files.
Microsoft Teams: "We couldn't connect. Try again."
Teams loads to a spinner and stops on "We couldn't connect. Try again.", or shows a 0xCAA sign-in code. It's almost always local — a corrupted cache or a wrong clock. Clear the right cache folder for your Teams version, fix the time, and confirm the identity endpoint is reachable. Your chats and files stay safe in the cloud the whole time.
OneDrive: Path is too long to sync
OneDrive refuses to sync a file whose entire decoded path is over 400 characters, marking it with a red X and "Path is too long to sync". Nothing is lost — the file is only blocked. Find the offenders with PowerShell, then rename or move them closer to the top of your OneDrive until the path is short enough.
Google Sheets: Array result was not expanded because it would overwrite data
The formula ran and produced a block of results, but a cell in the range it needs already holds data, so Sheets returns #REF! rather than overwrite you. A close cousin is an ARRAYFORMULA that fills only one row. Clear the cells in the way for the #REF!, or wrap the operation in ARRAYFORMULA over same-size ranges for the one-row case, and the result spills.
Excel: XLOOKUP returns #N/A
XLOOKUP defaults to exact matching, so #N/A means it searched and found no cell equal to your lookup value — usually a trailing space, a number stored as text, or the wrong range. Confirm the mismatch with LEN and ISNUMBER, clean the value, and add an if_not_found message so a legitimate miss shows text instead of a red error.
Notion API returns 429 rate_limited on bulk writes
A Notion integration that writes in bulk starts returning 429 rate_limited. The API allows about three requests per second per connection. We'll read the response, honor Retry-After, throttle below the limit, and batch writes.
Excel #SPILL! error: the spill range isn't blank
A dynamic array formula returns #SPILL! because something already sits in the cells it needs to fill. We'll read the reason under the error, use Select Obstructing Cells to find what's in the way, and clear it.
Outlook: Cannot start Microsoft Outlook. Cannot open the Outlook window
Outlook will not open its main window, usually because the navigation pane settings are corrupt or the profile is damaged. Reset the pane first; rebuild the profile or repair the data file if that does not clear it.
Google Sheets IMPORTRANGE shows #REF! "You need to connect these sheets"
IMPORTRANGE returns #REF! until you grant the destination sheet access to the source once. Hover the cell and click Allow access; if it persists, check your permission on the source and the formula's syntax.
Excel: "There are one or more circular references"
A formula refers back to its own cell, directly or through a chain, so Excel cannot resolve it. Use Formulas → Error Checking → Circular References to find the cell, break the loop, or enable iterative calculation only if the loop is intentional.
Excel #REF! error: invalid cell reference
A formula points at a cell that no longer exists — usually because the referenced rows or columns were deleted. Undo if it just happened, or rewrite the formula to reference a range so deletions adjust automatically.