Microsoft Teams

Connect Microsoft Teams to post Adaptive Card notifications to a team channel when new feedback arrives, a post status changes, or someone comments.

JM
James Morton
Written By James MortonLast updated 8 days ago

Feedback in your Teams workspace. Get notified with rich Adaptive Cards in Microsoft Teams channels when new feedback arrives, statuses change, or users comment. Cards include post details and direct links back to your feedback portal.

Note: On Quackback Cloud, integrations are available on the Business and Enterprise plans. Self-hosted installs include every integration.

Overview

The Microsoft Teams integration sends Adaptive Card notifications to channels when:

  • New feedback is submitted
  • Post status changes
  • New comments are posted

Prerequisites

  • The Owner or Admin role in Quackback (or a custom role that can manage integrations)
  • Self-hosted only: an Azure AD application registered in the Azure Portal
  • Permission to grant OAuth consent in your Microsoft 365 organization

Self-hosted: create your Microsoft Teams app

Note: On Quackback Cloud, skip this section. Quackback provides the Microsoft Teams app for you, so you go straight to connecting.

Self-hosted instances connect through an app you create. Do this once before you connect.

Register an Azure AD application

  1. Go to the Azure Portal App Registrations
  2. Click New registration
  3. Enter a name (for example, "Quackback")
  4. Under Supported account types, select Accounts in any organizational directory
  5. Add a redirect URI (provided in your Quackback integration settings)
  6. Click Register
  7. Copy the Application (client) ID
  8. Go to Certificates & secrets, create a new client secret, and copy the value

Save the app credentials in Quackback

  1. Go to Admin > Settings > Integrations > Teams
  2. Enter the following credentials:

    • Client ID from your Azure AD application
    • Client Secret from your Azure AD application

Setup

1. Connect your organization

  1. Go to Admin > Settings > Integrations > Teams
  2. Click Connect Teams
  3. You'll be redirected to Microsoft to authorize the application
  4. Review the permissions and click Accept

The app requests these OAuth scopes:

  • ChannelMessage.Send: post messages to channels
  • Team.ReadBasic.All: list your teams
  • Channel.ReadBasic.All: list channels within teams
  • offline_access: refresh tokens automatically

2. Select a team and channel

Back in Quackback:

  1. Choose the team you want to post to
  2. Select a channel within that team for notifications
  3. Both standard and private channels are listed

The bot posts notifications to this channel. Make sure the bot has been added to your team.

3. Configure events

Turn each event on or off. Changes save as you make them.

Event

What triggers it

New feedback submitted

When a user submits new feedback

Feedback status changed

When the status of a feedback post is updated

New comment on feedback

When someone comments on a feedback post

4. Check the setup

To check the setup, submit a test post and look for the card in your Teams channel.

Notification format

Teams notifications use Adaptive Cards for rich, structured messages.

New post:

Adaptive Card
Header: New feedback from [email protected]
Title: Add dark mode support
Body: It would be great to have a dark mode...
Footer: Board: feature-requests
Action: [View in Portal] (links to post)

Status change:

Adaptive Card
Header: Status changed by [email protected]
Title: Add dark mode support
Body: Under Review → Planned
Action: [View in Portal] (links to post)

New comment:

Adaptive Card
Header: New comment from [email protected]
Title: Add dark mode support
Body: Great idea! We're considering this for Q2.
Action: [View in Portal] (links to post)

All cards include a "View in Portal" button that links directly to the post.

Event mapping

Each Teams integration posts to one team and one channel. Turn events on or off to choose what each one sends. To send notifications somewhere else, select a different team or channel.

Manage the integration

Pause notifications

Temporarily stop notifications:

  1. Go to Admin > Settings > Integrations > Teams
  2. Turn off Notifications enabled
  3. Notifications pause, but the connection remains

Connect again

If Microsoft rejects the connection, for example after consent is removed, disconnect and connect again:

  1. Click Disconnect
  2. Click Connect Teams, then authorize the app again
  3. Select the team and channel again if needed

Quackback refreshes access tokens automatically. If a refresh fails, connect again.

Disconnect

To fully remove the integration:

  1. Go to Admin > Settings > Integrations > Teams
  2. Click Disconnect
  3. Confirm the action

Note: Disconnecting removes the connection in Quackback but does not revoke the app's consent in Microsoft. To fully revoke access, remove the application from your Azure AD directory.

Troubleshooting

Notifications not appearing

  1. Check the integration status: look for errors in settings
  2. Check Notifications enabled: make sure the toggle is on
  3. Verify the team and channel: make sure both are selected and the channel still exists
  4. Check the bot: make sure the bot has been added to the team
  5. Check the events: turn on the events you want to receive
  6. App permissions: verify the app has been granted consent in your Microsoft 365 organization

No team or channel selected

Quackback can't post until you select both a team and a channel. Open the Teams settings, select a team, then select a channel.

Microsoft rejects the connection

If Microsoft rejects the connection, for example after consent is removed, connect again. See Connect again.

Rate limiting

Microsoft Graph API enforces rate limits. When Microsoft returns a rate-limit response, Quackback waits and retries the notification. If this happens often, turn off the events you don't need.

Permissions

The Teams app requires:

Permission

Purpose

ChannelMessage.Send

Post Adaptive Cards to channels

Team.ReadBasic.All

List teams you're a member of

Channel.ReadBasic.All

List channels within a team

offline_access

Refresh access tokens automatically

Note: The app cannot:

  • Read your messages or channel history
  • Access private channels unless listed
  • Post as individual users

Next Steps

Was this helpful?

Your feedback shapes what we write next.