Nine Minds Logo

Navigation

10.19. Connect Microsoft Teams to AlgaPSA for Technician Workflows

Configure the Microsoft Teams integration so MSP technicians can open AlgaPSA in Teams, use bot commands, create tickets from messages, receive activity notifications, generate Teams meeting links, and create ad-hoc Online Meeting interactions with optional recording capture.

10.19. Connect Microsoft Teams to AlgaPSA for Technician Workflows
Configure the Microsoft Teams integration so MSP technicians can open AlgaPSA in Teams, use bot commands, create tickets from messages, receive activity notifications, generate Teams meeting links, and create ad-hoc Online Meeting interactions with optional recording capture.
10. SettingsUpdated: 6/10/2026

The Microsoft Teams integration helps MSP teams keep day-to-day service work close to the conversations where technicians, dispatchers, and service managers already collaborate. After setup, technicians can open AlgaPSA from a Teams personal tab, use bot commands, search or create PSA records from messages, receive activity-feed notifications, launch Teams meeting links for appointment workflows, and create ad-hoc Teams meetings directly from interaction records.

Use this guide when your MSP supports Microsoft 365 clients such as Northstar Accounting, GreenLeaf Dental Group, or Pioneer Law Group and wants faster handoffs between Teams conversations and AlgaPSA service records.

Figure 1: The Teams integration is active with a ready Microsoft profile, enabled capabilities, notification categories, and allowed technician actions.


What the Teams integration does

CapabilityWhat technicians can doMSP benefit
Personal tabOpen their AlgaPSA work queue, tickets, approvals, contacts, time entries, and project tasks from Teams.Keeps technicians in context when moving from a Teams alert or bot response into the PSA.
Personal botAsk for assigned tickets, approvals, ticket details, notes, replies, assignments, time logging, and approval responses.Reduces context switching for common service desk updates.
Group chat botLet the bot respond in Teams group chats when enabled.Useful for dispatch or escalation rooms, but ticket details are visible to everyone in that chat.
Message extensionSearch PSA records, create a ticket from a Teams message, or append a Teams message to an existing ticket or project task.Turns client or internal Teams conversations into trackable PSA work.
Activity notificationsSend personal Teams feed notifications for assignments, customer replies, approval requests, escalations, and SLA risk.Helps technicians and service managers act before work is missed.
Teams meetingsGenerate Teams online meeting links for appointment and scheduling workflows.Gives clients and technicians one-click meeting access from scheduled appointments.
Online Meeting interactionsCreate ad-hoc Teams meetings directly from an interaction record or schedule entry, without requiring a pre-approved appointment. Recordings and transcripts can be captured and optionally exposed in the client portal (Enterprise Edition).Lets technicians start a Teams call from within AlgaPSA for unscheduled troubleshooting sessions, with recordings stored alongside the interaction record.

Prerequisites

Before configuring Teams, confirm the following:

  1. Edition access: Microsoft Teams is an Enterprise Edition integration. If you do not see the Teams settings, confirm the tenant has the required edition and feature access.
  2. AlgaPSA permissions: You are an AlgaPSA administrator with permission to update system settings.
  3. Microsoft app registration: Your Microsoft administrator has an app registration with a client ID, tenant ID, and client secret.
  4. Microsoft profile in AlgaPSA: Create or confirm a ready Microsoft profile under Settings > Integrations > Providers before activating Teams.
  5. Public base URL: The Teams app package should be generated from the production AlgaPSA URL that Microsoft Teams users will open.
  6. User identity linking: Technicians who use Teams should sign in to AlgaPSA with their Microsoft identity or have a linked Microsoft account so Teams can map their Teams user to the correct AlgaPSA user.

Operational check: Use a named Microsoft profile such as Northstar Accounting Microsoft 365 or Main MSP Microsoft 365 rather than a generic "test app" label. Clear profile names make later troubleshooting much easier.


Step 1: Open the Teams settings

  1. In AlgaPSA, go to Settings.
  2. Select Integrations.
  3. Open the Communication category.
  4. Scroll to Microsoft Teams.

The page shows a readiness checklist, required OAuth scopes, Teams callback URLs, capability switches, notification categories, allowed actions, and the app package generator. Once the integration is active, the page also includes a Diagnostics panel and a Test message panel for verifying end-to-end connectivity.


Step 2: Select the Microsoft profile

In the Microsoft profile field, choose the profile that should own Teams authentication and package generation.

A profile is ready for Teams when it has:

  • A Microsoft client ID.
  • A Microsoft tenant ID.
  • Stored client secret material.
  • An active, non-archived status.

After selecting the profile, click Save draft if you are still preparing the Microsoft app and Teams package. Click Activate Teams only after the Microsoft app registration and package installation plan are ready.


Step 3: Choose capabilities

Enable only the Teams surfaces your MSP is ready to support.

CapabilityRecommended use
Personal tabEnable for most Teams deployments. This is the safest starting point because it opens AlgaPSA with the user's normal permissions.
Personal botEnable when technicians will use commands such as my tickets, ticket <id>, add note, or log time.
Group chat botEnable only after deciding which group chats can safely contain ticket details.
Message extensionEnable when technicians should search PSA records or create/update tickets from Teams messages.
Activity notificationsEnable when Teams should become a personal alert channel for assignments, customer replies, approvals, escalations, and SLA risk.

Security note: The group chat bot can show ticket information to every member of the chat. Use it for internal dispatch and escalation channels, not broad client-facing Teams channels unless your MSP has approved that workflow.


Step 4: Choose notifications and allowed actions

Use the Notifications column to decide which events should appear in a user's Teams activity feed.

Common MSP defaults:

Notification categoryWhen to enable it
Assignment eventsDispatchers assign tickets or project work directly to technicians.
Customer repliesTechnicians need quick awareness when a client responds.
Approval requestsService managers or client approvers need to respond quickly.
EscalationsManagers monitor aging or high-priority work.
SLA riskTechnicians need warning before a response or resolution target is missed.

Use the Allowed actions column to decide what users can change from Teams surfaces. For example, an MSP may allow Assign ticket, Add note, and Log time for all technicians, but restrict Reply to contact to technicians who are trusted to send customer-visible responses.

Every action still uses AlgaPSA permissions. If a user cannot update a ticket or approval in AlgaPSA, Teams will not bypass that permission.


Step 5: Generate the Teams app package

After the integration is active and a ready profile is selected, click Generate package.

Figure 2: Generate the Teams app package, then download the ZIP or manifest JSON for Microsoft Teams admin installation.

The generated package includes:

  • Teams manifest version and package version.
  • The app ID and bot ID from the selected Microsoft profile.
  • Valid domains for your AlgaPSA deployment.
  • Deep links for My Work, ticket, and project task destinations.
  • Download buttons for the Teams app package ZIP and manifest JSON.

Download app package (.zip) and give it to the Microsoft Teams administrator, or install it through your Teams admin process if you manage Teams directly.

Operational check: Generate the package from the final production URL. If you generate the package from a temporary URL, Microsoft Teams may open the wrong AlgaPSA domain after installation.


Step 6: Install and test in Microsoft Teams

In Microsoft Teams admin center or the Teams client, install the AlgaPSA Teams app package according to your organization's app policy.

After installation, test with one technician before broad rollout:

  1. Open the AlgaPSA personal tab in Teams.
  2. Sign in if prompted.
  3. Confirm My Work loads.
  4. Open a ticket deep link from a Teams notification or bot response.
  5. Send the bot help or my tickets.
  6. Use the message extension to search for a known ticket, such as a Northstar Accounting backup issue.
  7. If enabled, create a ticket from a Teams message and confirm it appears in AlgaPSA with the correct client, board, status, and description.

Technician workflows after setup

Personal tab

The personal tab can open:

  • My work by default.
  • A specific ticket.
  • A project task.
  • An approval request.
  • A time entry.
  • A contact.

If a technician does not have access to the requested record, AlgaPSA falls back to My Work and shows an access message rather than exposing the restricted record.

Bot commands

Technicians can use commands such as:

Command exampleResult
helpShows available commands.
my ticketsLists assigned tickets.
my approvalsLists pending approvals.
ticket 1234Opens a ticket summary with action links.
assign ticket 1234 to JamieReassigns the ticket when permitted.
add note 1234: Restarted backup agent and monitoring overnight.Adds an internal note.
reply to contact 1234: We restored the mailbox and confirmed access.Sends a customer-visible reply when permitted.
log time ticket 1234 30m: Validated Microsoft 365 backup restore.Creates a time entry.
approve approval 5678Approves an approval request.

Message extension

The message extension is useful when service work begins in Teams. A technician can:

  • Search tickets, project tasks, contacts, and approvals.
  • Create a new ticket from a selected Teams message.
  • Append a Teams message as an internal note or customer reply to an existing ticket.
  • Hand off to the Teams personal tab when a full PSA screen is better than an inline card.

For example, if a dispatcher sees a Teams message that says "Northstar Accounting cannot access the shared tax folder," they can create a ticket from that message and route it to the correct board without copying and pasting into AlgaPSA manually.

Activity notifications

When activity notifications are enabled, AlgaPSA can send personal Teams feed notifications for:

  • Ticket assignments.
  • Customer replies.
  • Approval requests.
  • Escalations.
  • SLA risk events.

Each notification links back to the Teams personal tab so the technician can review the related AlgaPSA record.

Teams meetings for appointments

Scheduling workflows can generate Microsoft Teams meeting links when the Teams meeting capability is configured. Use this for remote support appointments, onboarding calls, vCIO reviews, or escalation meetings.

Configure the meeting organizer UPN under Settings > Integrations > Microsoft Teams. AlgaPSA resolves the organizer's Azure AD object ID automatically from the UPN you enter.

Operational check: The default meeting organizer must be a Microsoft user allowed by your Microsoft Application Access Policy. If meeting creation fails, ask the Microsoft administrator to confirm the organizer policy.

Online Meeting interactions

MSP technicians can create a Teams meeting directly from an interaction record or a schedule entry — without requiring a pre-approved appointment.

From an interaction:

  1. Create or open an interaction and set the type to Online Meeting.
  2. AlgaPSA creates a calendar-backed Teams meeting via Microsoft Graph and stores the join link on the interaction.
  3. The join link appears in the interaction timeline for the technician and, if client portal access is enabled, in the client portal Appointments page.

From a schedule entry:

  1. Open a schedule entry (for example, from the dispatch calendar) and enable the Generate Teams meeting toggle.
  2. AlgaPSA creates the meeting and attaches the join link to the schedule entry and its associated interaction.

Recordings and transcripts (Enterprise Edition):

  • After a meeting ends, click Refresh recordings on the interaction detail page to pull the latest recording and transcript artifacts from Microsoft Graph.
  • Recordings are stored internally in AlgaPSA.
  • To make recordings visible to clients, enable Expose recordings in portal under Settings > Integrations > Microsoft Teams.

Permission note: Creating a Teams meeting from an interaction or schedule entry requires the user_schedule:update permission. Refreshing recordings requires the interaction:update permission.


Rollout checklist

Before enabling Teams for the whole MSP, verify:

  • The selected Microsoft profile is named clearly and shows ready status.
  • The Teams package was generated from the production AlgaPSA base URL.
  • The Teams app is installed for a pilot technician group.
  • Users can sign in from the Teams personal tab.
  • Bot commands return only records the user is allowed to see.
  • Message extension ticket creation uses the correct default board and status.
  • Customer-visible reply actions are enabled only for appropriate roles.
  • Group chat bot usage is limited to approved internal channels.
  • Activity notification categories match your escalation and SLA process.
  • Meeting organizer UPN is configured under Settings > Integrations > Microsoft Teams and Microsoft Application Access Policy is confirmed if Teams meeting links are used.

Verify your integration with the diagnostics tool

After completing setup and installing the Teams app, use the built-in diagnostics panel to confirm every configuration layer is healthy before rolling out to all technicians. The diagnostics tool runs all checks in a single click and surfaces specific recommendations when any layer needs attention, which is faster than working through symptoms manually.

Run diagnostics

In the Teams integration settings, scroll to the Diagnostics section and click Run diagnostics. AlgaPSA checks each layer of the integration in order:

CheckWhat it verifies
Teams add-on entitlementThe tenant has active Teams add-on access.
Integration activeThe Teams integration row exists and is set to active.
Required capabilitiesPersonal bot and activity notifications are enabled.
Microsoft profile readyThe linked Microsoft profile is not archived and has valid credentials.
Package metadataThe app package base URL and metadata are present.
Bot connector credentialsThe bot connector is configured with valid credentials.
Admin Microsoft account linkedThe AlgaPSA admin user has a linked Microsoft identity.
Admin conversation referenceThe admin has previously sent the AlgaPSA bot a message in Teams, creating the delivery reference the bot needs to reach that user proactively.
Recent delivery healthAt least one recent notification or test message was delivered successfully.

Each check displays pass, warn, fail, or skip with a detail message. Any warnings or failures produce a Recommendations list below the checks with specific next steps. A summary of the most recent successful delivery and the most recent failed delivery is shown at the bottom of the panel.

Note: The admin conversation reference check fails until the admin user opens the AlgaPSA Teams app and sends the bot any message (for example, help). This step is required before the test message can reach the admin and before personal activity notifications work for that account.

Send a test message

Once diagnostics show no failures, click Send test message in the Test Message section to verify the full proactive-bot delivery path end-to-end. AlgaPSA attempts to send a Teams message to the admin account via the bot framework. The result is one of:

  • Sent — The message arrived in the admin's Teams activity feed. The integration's delivery transport is working end-to-end.
  • Skipped — A required precondition is not yet met (for example, the admin has not yet messaged the bot in Teams). The displayed reason explains what action to take next.
  • Failed — The bot delivery attempt was rejected. Check the error detail and re-run diagnostics to identify which configuration layer needs attention.

Every test-message outcome — whether sent, skipped, or failed — is recorded in the delivery log so support staff can review delivery history if needed.


Troubleshooting

Tip: Before investigating individual symptoms, click Run diagnostics in the Teams integration settings. The diagnostics panel runs all configuration checks in sequence and surfaces specific recommendations, which will often identify the root cause faster than working through this table manually.

ProblemWhat to check
Teams settings are missingConfirm Enterprise Edition access and that the Teams integration is enabled for the tenant.
No Microsoft profile is availableFinish Microsoft profile setup first: client ID, tenant ID, and stored client secret are required.
Package generation is disabledSave or activate Teams with a ready Microsoft profile before generating the package.
Teams opens the wrong URLRegenerate the package from the correct production AlgaPSA base URL and reinstall/update the Teams app.
A user cannot open a ticket from TeamsConfirm the user is linked to the correct Microsoft account and has AlgaPSA permission to view the ticket.
Bot commands failConfirm the bot capability is enabled, the Teams app is installed, and the user's Microsoft account maps to an AlgaPSA user.
Message extension search returns too littleCheck the user's AlgaPSA permissions and confirm the record exists under the expected client or board.
Customer replies should not be availableDisable Reply to contact in allowed actions or remove the user's permission to send customer-visible replies.
Teams activity notifications are not deliveredConfirm activity notifications are enabled, the notification category is selected, and the recipient has a linked Microsoft account.
Teams meeting links fail to createConfirm the default meeting organizer UPN is set under Settings > Integrations > Microsoft Teams and that the Microsoft Application Access Policy is configured.
Recording artifacts are empty after Refresh recordingsConfirm the meeting has ended. Verify the Microsoft app registration has the Calendar.Read and OnlineMeetings.Read.All Graph scopes, and that Download recordings is enabled under Settings > Integrations > Microsoft Teams (Enterprise Edition).

Best practices for MSPs

  • Start with Personal tab, Personal bot, and limited allowed actions for a pilot group.
  • Add Message extension after technicians understand how Teams-created tickets should be triaged.
  • Enable Activity notifications for events that truly need action; avoid duplicating every email notification in Teams.
  • Treat Reply to contact as a customer communication permission, not just a convenience action.
  • Review group chat bot usage with service managers because record details are visible to all chat members.
  • Keep the Microsoft profile owner and Teams package version documented for future Microsoft credential rotations.