This guide walks you through connecting ParkFlow to a Microsoft 365 mailbox so that your booking confirmations, invoices, and notifications are delivered through your own Microsoft 365 tenant via the Microsoft Graph API.
Why Graph API and not SMTP? Microsoft is gradually disabling Basic Authentication for SMTP, IMAP, and POP in Exchange Online. The Microsoft Graph API is the supported, long-term way to send mail from a Microsoft 365 mailbox.
Before you start, make sure you have:
noreply@yourcompany.com or a regular user mailbox. The mailbox does not need a password — Microsoft Graph uses the application credentials, not a user login.The application registration is how Microsoft 365 will recognise and authorise ParkFlow to send mail on your behalf.
ParkFlow Mail (or anything else — only you will see it).You will be taken to the application overview page.
On the overview page, copy and save these two values — you will paste them into ParkFlow later:
The Status column for Mail.Send should now show a green tick.
Optional cleanup: If the list contains a default
User.Readpermission added automatically by Azure, you can remove it — Mail.Send is the only permission ParkFlow needs.
ParkFlow Mail) and choose an expiry (12–24 months is typical).Value. Once you leave this page, the value is hidden forever.You should now have three values written down:
Keep these confidential — anyone who has all three can send mail on your tenant's behalf.
Read this section carefully. The
Mail.Sendpermission, by default, lets the application send mail as any user in your organisation. You should restrict it to only the mailbox(es) you intend ParkFlow to use. Microsoft recommends this step explicitly — skip it and a leaked client secret could be used to send mail from any user's address.
You restrict access with the Application Access Policy PowerShell cmdlet, which takes about a minute.
Open Windows PowerShell as Administrator and run:
Install-Module -Name ExchangeOnlineManagement -Scope CurrentUser
Accept any prompts about the PSGallery repository.
Connect-ExchangeOnline -UserPrincipalName admin@yourcompany.com
Replace the address with your Microsoft 365 administrator account. A browser window will open for sign-in.
Replace the two highlighted values with your own:
<APPLICATION_CLIENT_ID> — the Application (client) ID from step 1.2.noreply@yourcompany.com — the mailbox ParkFlow will send from.``powershell
New-ApplicationAccessPolicy -AppId "" -PolicyScopeGroupId "noreply@yourcompany.com"