Nine Minds Logo

Navigation

10.8. Sync Microsoft 365 and Google Workspace Inbound Email to Auto-Create Tickets

Connect a Microsoft 365 or Google Workspace mailbox so inbound email creates tickets automatically. These connectors read mail only; outbound email is configured separately.

10.8. Sync Microsoft 365 and Google Workspace Inbound Email to Auto-Create Tickets
Connect a Microsoft 365 or Google Workspace mailbox so inbound email creates tickets automatically. These connectors read mail only; outbound email is configured separately.
10. SettingsUpdated: 7/5/2026

Navigate to Settings > Email > Inbound Email.

This section explains how to connect a Microsoft 365 or Google Workspace mailbox so that inbound messages create tickets automatically. Client emails to your support address land on the right board with the right priority, without a dispatcher copying them in by hand.

Inbound connectors read mail. They never send it.

The Microsoft 365 / Entra and Google Workspace connectors watch a mailbox and turn new messages into tickets. Neither one is a sending path. A Microsoft provider showing Ready means its Entra app credentials (client ID and client secret) are configured. It says nothing about outbound email.

Ticket notifications and replies go out through SMTP (available on every edition) or a managed email domain (available on paid plans). See the Outbound Email Is Configured Separately section below.


Overview

  • Purpose: Monitored mailboxes create tickets from incoming messages.
  • Supported Providers: Microsoft 365 and Google Workspace. Microsoft 365 inbound sync is an Enterprise Edition feature and is not included in Community Edition builds.
  • Direction: Inbound only. The connector operates read-only against the mailbox: it does not mark messages, move them, or send replies.
  • Ticket Creation: Inbound emails create tickets using the defaults you configure (board, status, priority, catch-all client).

Prerequisites

  • The mailbox to connect: a licensed user mailbox or a shared mailbox the authorizing user can read (for example support@yourcompany.com).
  • An AlgaPSA user with permission to manage system settings.
  • Microsoft, self-hosted installs: a Microsoft Entra ID app registration your organization owns (client ID, client secret, and optionally the directory/tenant ID). Hosted cloud tenants can use the built-in platform credentials and skip the app registration.
  • Microsoft: the server must be reachable from the internet at its configured base URL. Microsoft Graph delivers new-mail notifications to https://<your-host>/api/email/webhooks/microsoft, so a server that cannot receive that call will not see new mail.
  • Google: mailbox access with OAuth2 authentication.

Step 1: Register the Entra App (Microsoft, Self-Hosted)

If you run AlgaPSA yourself, create an app registration in the Microsoft Entra admin center:

  1. Create an App registration with a sign-in audience that allows multi-tenant sign-in ("Accounts in any organizational directory"). Authorization uses the login.microsoftonline.com/common endpoint.
  2. Add a redirect URI of type Web: https://<your-host>/api/auth/microsoft/callback. The Providers screen in AlgaPSA shows the exact value to use.
  3. Under API permissions, add the delegated Microsoft Graph permissions Mail.Read, Mail.Read.Shared, and offline_access. These grant read-only mail access.
  4. Create a client secret and note the value.

Step 2: Create the Provider Profile (Microsoft, Self-Hosted)

Tenant credentials are entered once, in a profile, not in the email provider form.

  1. Open Settings > Integrations > Providers.
  2. In the Microsoft section, click New Profile and enter a display name, the Client ID, the Tenant ID (or leave common), and the Client secret. Mark it as default if it is your only profile.
  3. Bind the profile to the Email consumer in the consumer bindings section on the same screen. The email provider form's Authorize Access button stays disabled until an Email-bound profile is ready.

A profile showing Ready confirms the credentials are in place. It does not enable sending; see the outbound section below.


Configuring Ticket Defaults

  1. Navigation: Go to Settings > Email > Inbound Email, then select the Defaults section.

  2. Creating a Default:

    • Click Add Default.
    • Complete required fields:
      • Short Name: Unique identifier (e.g., support-general).
      • Display Name: Human-readable description.
      • Description: Optional additional details.
    • Ticket Default Options:
      • Board: Ticket board for created tickets.
      • Status: Default status for new tickets.
      • Priority: Default ticket priority.
      • Client: Catch-all client for unmatched emails.
      • Category: Default ticket category.
      • Location: Location from the catch-all client.
      • Entered By: Fallback user if no client/contact is found.
  3. Finalizing:

    • Click Create Defaults.
    • The configuration is saved and available for assignment.

Adding the Email Provider

  1. Navigation: Go to Settings > Email > Inbound Email, select the Providers section, then click Add Email Provider and choose Microsoft 365 or Google Workspace.

  2. Provider Settings:

    • Configuration Name: Display name for the provider (e.g., Support M365 Inbox).
    • Email Address: The mailbox to ingest.
    • Ticket Defaults: Select a previously created default so new email tickets get the right board, status, and priority.
    • Folder Filters: Comma-separated folders to watch. Defaults to Inbox.
    • Max Emails Per Sync: 1 to 1000, defaults to 50.
    • Redirect URI (Microsoft): Pre-filled; must exactly match the URI registered in your Entra app.
  3. Authorize:

    • Click Authorize Access and complete the sign-in and consent in the popup. The window closes automatically and the provider shows as connected.

How Sync Works

  • Microsoft: Delivery is webhook-driven; there is no timed polling. The OAuth callback registers a Microsoft Graph change-notification subscription on the watched folders. Graph subscriptions are short-lived (roughly 60 hours), and a background job renews them automatically before expiry and recreates them if Graph reports them gone.
  • Google: New mail is delivered through Google Pub/Sub push notifications.
  • Each notification queues the message; a worker fetches the full message and runs the standard email-to-ticket workflow. New tickets appear within moments of the email arriving.

Outbound Email Is Configured Separately

Connecting a mailbox here does not enable sending. Ticket replies and notifications use one of:

  • SMTP: available on every edition, and the only outbound option on appliance / Essentials installs (the outbound provider selector is locked to SMTP there). Configure it under Settings > Email > Outbound Email: enter the SMTP Host, Port, Username, Password, and From Address, then save. Self-hosting? See Set Up Email on the Appliance.
  • Managed email domains: available on paid plans. See Set Up a Custom Outbound Email Domain.

The outbound domain comes from the SMTP From Address or your verified managed domain, not from the inbound mailbox. Once an outbound domain exists, set the Ticketing From Address to the same address as your inbound mailbox so client replies thread back onto the ticket. See Configure Ticket Reply-To Email.


Troubleshooting

  • "I connected Microsoft 365 and it shows Ready. Why is AlgaPSA not sending email?": Expected. The Microsoft connector is inbound-only, and Ready only confirms the Entra credentials. Configure outbound SMTP (or a managed domain) as described above.
  • "Authorize Access" is disabled: No Microsoft profile is bound to the Email consumer. Create and bind a profile under Settings > Integrations > Providers first.
  • OAuth popup fails: Confirm the redirect URI in the form exactly matches the one registered in the Entra app, and that the app allows multi-tenant sign-in.
  • No tickets created from new mail: Check the provider's subscription health in the provider list and use the retry-renewal action. Also confirm the server's base URL is reachable from the internet, since Microsoft pushes notifications to /api/email/webhooks/microsoft.
  • Wrong folder being watched: Adjust Folder Filters on the provider and re-save. Each watched folder needs its own subscription.
  • Incorrect board/status/priority: Confirm the ticket default selected on the provider.
  • Unmatched contacts: Ensure sender addresses are linked to contacts, or that a catch-all client is configured on the default.

Best Practices

  • Connect shared mailboxes (e.g., support@, helpdesk@) rather than personal ones, so ticket intake does not depend on one person's account.
  • Use clear short names for defaults (e.g., support, sales) and create separate defaults for different departments or boards.
  • Set the Ticketing From Address to the same address as the connected inbound mailbox, so replies to your notifications become ticket comments.
  • Periodically review defaults to keep boards and priorities aligned with how your team dispatches work.