Skip to content
TWINJAM

Chat integration

Scope boundaries for the client channels your enterprise accounts live in.

Monitors the client team channels you approve through Microsoft Graph and routes scope flags to a private PM channel, with SOW citations and hour estimates.

Last reviewed Oct 21, 2026
Microsoft Teams logo
Vendor
Microsoft
Plan
Agency and Scale plans
Authentication
Microsoft Entra ID app with resource-specific consent (RSC)
Setup time
About 5 minutes, plus tenant admin approval if required
Sync
Near real time via Microsoft Graph change notifications, usually under 15 seconds

Overview

How TWINJAM works with Microsoft Teams

Enterprise and public-sector clients rarely work in Slack. Their requests arrive in Microsoft Teams channels shared with the agency, often from several stakeholders who each assume someone else approved the change. TWINJAM connects through Microsoft Graph with resource-specific consent, so it can read the channels a team owner approves and nothing else in the tenant.

Each new channel message and reply is compared with the boundary rules for that engagement. When a request goes beyond the contracted deliverables, TWINJAM posts an adaptive card into a private agency channel with the quoted message, the clause it was measured against, a confidence score and an hour range. The card carries the same Draft reply and Draft change order actions as the Slack integration.

Because many Teams tenants belong to the client rather than the agency, TWINJAM is designed to be installed by the agency into its own tenant where possible, and to request the narrowest permission set when a client tenant is involved. Your IT team can review every permission before consenting, and the app can be removed at any time from the Teams admin center.

In practice

Two languages before launch

A hospital client asks in Teams for two extra languages on the patient portal. TWINJAM matches the request to the explicit English-only exclusion in clause 2.4 and posts a card to the agency's private channel with a 26 to 34 hour range, so the PM can raise it before the launch plan is locked.

The payload on the right is the event TWINJAM emits to your triage feed and to outbound webhooks, so you can route it into your own reporting.

Example event, Microsoft Teamsapplication/json
{
  "type": "scope.divergence.flagged",
  "id": "flg_T7m2Kd09",
  "workspace": "MVH-PORTAL",
  "source": {
    "tool": "microsoft-teams",
    "team": "Mapleview Health x Agency",
    "channel": "Patient portal",
    "author": "R. Osei (guest)"
  },
  "request": "Could the appointment page also support Spanish and Tagalog before launch?",
  "sow_reference": {
    "clause": "2.4",
    "text": "Localization: English (US) only. Additional languages quoted separately."
  },
  "classification": {
    "verdict": "out_of_scope",
    "confidence": 0.94,
    "reason": "Matches explicit localization exclusion"
  },
  "impact": {
    "hours_low": 26,
    "hours_high": 34,
    "est_value_usd": 4650
  },
  "routed_to": "Agency PMs / scope-alerts",
  "client_notified": false
}

Permissions

Scopes requested, and why.

ScopeWhy TWINJAM needs it
ChannelMessage.Read.GroupRead messages only in the teams where an owner installed TWINJAM (resource-specific consent).
TeamSettings.Read.GroupRead team and channel names so you can map each channel to a contract workspace.
TeamMember.Read.GroupTell client guests from agency members when attributing a request.
ChannelMessage.SendPost flag cards into your private agency triage channel.

Events

What triggers a check.

  • Graph change notification: /teams/{id}/channels/getAllMessages

    New messages and replies in approved teams are delivered to TWINJAM for scoring.

  • Graph change notification: /teams/{id}/members

    Keeps stakeholder attribution current as client guests join or leave.

Setup

Connect Microsoft Teams in about 5 minutes, plus tenant admin approval if required.

An admin connects once. PMs never need to re-authenticate, and you can revoke access from TWINJAM or the vendor's admin console at any time.

  1. 1In TWINJAM, choose Connect Microsoft Teams and sign in with a Microsoft 365 account that can install apps.
  2. 2Review the resource-specific permissions and approve. Your tenant admin may need to allow the app in the Teams admin center first.
  3. 3Add TWINJAM to each client team you want monitored. Only those teams become visible.
  4. 4Map each channel to its contract workspace, then pick the private channel that receives flags.

FAQ

Microsoft Teams integration questions

Channel messages and replies in teams where TWINJAM is installed. Sender display name and guest status. Message links, so a flag opens the original thread. It never reads: 1:1 and group chats outside channels; meeting recordings, transcripts or calendar items; files in SharePoint or OneDrive; teams in your tenant where the app has not been installed.

Posts adaptive cards to a private agency channel you nominate. Never posts in channels shared with clients. Every action that could reach a client requires a PM to approve it first.

Agency and Scale plans: Agency ($899/mo billed annually), Scale (from $1,800/mo billed annually). Every plan starts with a 14-day free production trial.

Near real time via Microsoft Graph change notifications, usually under 15 seconds. Setup takes about 5 minutes, plus tenant admin approval if required.

Put Microsoft Teams on the same page as your SOW.

Connect it during a 14-day free production trial and see the first flags from your live projects within days.