Skip to main content

Microsoft Teams Notifications

Real-time alerts in Microsoft Teams for the same events as Slack. Uses the standard Teams Incoming Webhook connector — no admin consent flow, no app-store submission, works with any Teams plan that allows connectors.

What you'll get

Identical event set to the Slack integration:

EventWhen it firesWhat's in the card
New feedback receivedA user submits a response that passes AI scoringCampaign, quality score, reward amount
High-value feedbackScore ≥ 75Same + "top tier submission" note
Budget alertReward budget passes 80% consumedCampaign, % used, action hint
Campaign activatedCampaign goes ACTIVE after Stripe paymentCampaign, status, budget
Payout failureTremendous returns an error on a reward disbursementResponse ID, error message

Cards are posted using the MessageCard format — coloured accent bar, title, fact list. Rendered consistently in Teams desktop, mobile, and web clients.

All deliveries are fire-and-forget: if Teams is down or the webhook is revoked, Pay4Feedback's core flow is unaffected.

Prerequisites

  • A Teams channel (in any team you're a member of) where the notifications should appear.
  • Permission to add connectors to that channel. In most tenants this is the default for channel members; enterprise tenants with Connector restrictions may require an admin to enable it.
  • Two minutes.
Connector availability

Microsoft announced in late 2024 that Office 365 Connectors (which include Incoming Webhooks) are being phased out in favour of the Workflows / Power Automate alternative. Existing Incoming Webhooks continue to work; new connectors can still be created in many tenants. If your tenant has blocked new connectors, use the Workflows app in Teams to create an equivalent "Post to channel when a webhook request is received" flow — the URL it produces works with Pay4Feedback identically.

Step 1 — Create a Teams Incoming Webhook

  1. In Microsoft Teams, open the channel that should receive notifications.

  2. Next to the channel name, click the ⋯ (More options) button → Manage channel.

  3. Go to Settings → Connectors. (If the Connectors option isn't there, try Workflows instead — see the note above.)

  4. Find Incoming Webhook in the list and click Configure.

  5. Give the connector a name (e.g. "Pay4Feedback Alerts"). Optionally upload an icon.

  6. Click Create. Teams generates a URL shaped like:

    https://<tenant>.webhook.office.com/webhookb2/<guid>@<guid>/IncomingWebhook/<hash>/<guid>
  7. Copy the URL and click Done.

Keep this URL secret

Anyone with this URL can post to your channel. Don't commit it to source control or paste it into client-side code. If it leaks, return to Manage channel → Connectors, remove the webhook, and create a new one.

Step 2 — Paste into Pay4Feedback

  1. In the Pay4Feedback dashboard, go to Settings → Microsoft Teams Notifications.
  2. Paste the webhook URL into the Webhook URL field.
  3. Flip the Enabled toggle to on.
  4. Click Send test message. A styled Teams card titled "Pay4Feedback — Test notification from Pay4Feedback" should appear in your channel within a second or two.
  5. If the test succeeded, click Save Integration.

If the test fails, see Troubleshooting below.

Step 3 — Verify the first real notification

Open your feedback widget in an incognito window and submit a response. Within a second of it passing AI scoring, a Teams card arrives:

  • Title: Pay4Feedback — New feedback received
  • Facts: Campaign, Quality (0–100), Reward amount
  • Themed border colour reflects quality tier: green for ≥75, indigo for 50–74, amber below

Notification examples

EventColourTitleKey facts
New feedback (score 87/100)🟢 GreenPay4Feedback — New feedback receivedCampaign · Quality · Reward
High-value feedback🟢 GreenPay4Feedback — High-value feedback (92/100)Campaign · Why
Budget alert🟠 AmberPay4Feedback — Budget alertCampaign · Budget used · Action
Campaign activated🟣 IndigoPay4Feedback — Campaign activatedCampaign · Status · Budget
Payout failure🔴 RedPay4Feedback — Payout failedResponse · Error

Slack + Teams side by side

You can enable both Slack and Teams simultaneously. Each channel receives every event — there's no deduplication or round-robin. Useful if your Ops team lives in Teams while Product lives in Slack.

Troubleshooting

"URL doesn't look like a Microsoft Teams Incoming Webhook"

The test endpoint validates that the URL starts with https:// and contains either webhook.office.com or outlook.office.com/webhook. Common mistakes:

  • Copied a chat link, channel link, or Teams app URL instead of the connector URL.
  • URL was truncated on copy. The full URL is >150 characters.
  • You generated a Workflow URL that uses a different host. Workflows produce https://prod-*.westeurope.logic.azure.com/workflows/... style URLs — those also work, but our validator expects the classic webhook hosts. If you're using a Workflow URL, tell us at support@pay4feedback.com and we'll expand the validator; for now, a classic Incoming Webhook is the supported path.

"Teams responded with HTTP 404"

The webhook no longer exists:

  • It was removed from the channel's connectors.
  • The channel was deleted.
  • The team was archived or deleted.

Recreate the connector (Step 1) and paste the new URL.

"Teams responded with HTTP 410"

Teams retires webhooks that haven't been used for a long period. Create a new one and update Pay4Feedback.

Test message succeeds but real notifications don't arrive

  • Is the Enabled toggle actually on? URL and toggle are independent — both must be set.
  • Did you click Save Integration after enabling?
  • For "new feedback" messages specifically: the notification only fires on feedback that passes AI scoring (score ≥ rejection floor, default 30). Low-quality submissions are silently rejected.

No reaction from Teams at all (no card, no error response)

  • Your corporate network may block outbound calls to *.webhook.office.com. Our backend runs on AWS eu-central-1; if your Teams tenant is configured to only accept webhooks from specific IP ranges, that's the cause.
  • The connector was disabled by your Teams admin after creation. Check Manage channel → Connectors — if the webhook shows a warning icon, recreate it.

The test button is disabled

The button is disabled until the URL field has text. Paste first, then test.

Disabling notifications

Toggle Enabled off in Settings → Microsoft Teams Notifications and click Save Integration. The URL stays saved for easy re-enable. To permanently remove: clear the field before saving.

To cleanly revoke from Teams' side as well: Manage channel → Connectors → Configured → Pay4Feedback Alerts → Remove.

Security notes

  • The webhook URL is stored in tenant_settings.teams_webhook_url, at-rest encrypted by AWS RDS (AES-256) along with all other tenant data.
  • Only users with Admin or Owner role on your tenant can view or edit the URL.
  • All outgoing calls use HTTPS with TLS 1.2+.
  • The URL is never logged in plain text — only the tenant ID and the delivery status code.