More importantly than understanding why accounts stop is having a mechanism in place to:
- Detect when an account is stopped or invalid
- Have logic to prompt the customer to re-authenticate
Every account will all stop at some point.
Accounts can stop for a multitude of reasons:
Event: Received account.invalid webhook sync_state is invalid
- Password expiry policy (set by customers' mail administrator)
- Sessions expiry policy (set by customers' mail administrator)
- Token expire policy (default 90 days / set by customers' mail administrator)
- Credentials Invalid - see sync_state
Event: Received ONLY account.stopped webhook sync_state is stopped
- Manually Stopped - see this guide to identify and resolve the issue.
- Connection server issues - see Sync Logs
- Retries exceeded - see Sync logs
- Parsing error - see Sync Logs
- Mail administrator has blocked / suspended the account - See Sync logs
After starting an account it will go into the Partial state, where it will remain until it we have retried the account 6 times over an hour before stopping again.
The solution to all the above is to Re-authenticate the account.
If the account continuously goes into an invalid or stopped state after authentication:
If Microsoft O365 account:
- Ask the mail administrator to check the Azure > Login logs
If Microsoft Outlook / Hotmail account:
- Ask the customer to check their Sign-In activity