Skip to content

docs: Factory Microsoft Teams integration + audit existing integrations - #817

Merged
hongyi-chen merged 14 commits into
mainfrom
docs/factory-microsoft-teams-integration
Oct 6, 2026
Merged

hongyi-chen merged 14 commits into
mainfrom
docs/factory-microsoft-teams-integration

Conversation

@warp-agent-staging

@warp-agent-staging warp-agent-staging Bot commented Oct 2, 2026 •

Copy link
Copy Markdown
Contributor

What this feature does

Microsoft Teams can connect to a Warp factory so mentions in standard and shared channels start factory work and results post back in the same thread. Setup covers admin app upload, adding Warp to a Teams team, channel selection, automations, account linking, and shared-channel organization rules. Private channels and DMs stay unsupported.

Summary

Factory Microsoft Teams integration docs under Factories (not Terminal), plus an audit of existing Slack/Linear/GitHub/GitLab factory integration pages. This revision documents shared-channel support from current warp-server behavior and clarifies Microsoft Teams vs Warp setup surfaces.

Changes

  • src/content/docs/factories/integrations/teams.mdx — First-time setup organized by role and happy path, explicit workspace binding and connection test, task-oriented automation/shared-channel/capability sections, advanced factory-as-code details, and likely-issue-first troubleshooting
  • src/sidebar.ts — Microsoft Teams under Factories > Integrations
  • connect-your-factory.mdx, automations.mdx, troubleshooting.mdx — Teams cross-links and shared-channel wording
  • factory-as-code.mdx — microsoft-teams type, teams triggers/filters
  • integrations/github.mdx — default automation list aligned with seed automations

Content design plan

Audience and JTBD: A factory admin connecting Microsoft Teams so the team can mention Warp in configured standard or shared channels and get work and replies in-thread.

Problem: Factory Teams setup spans Microsoft Teams admin upload, adding the app to a team, and Warp onboarding; shared-channel rules differ from standard channels and were undocumented.

Goals:

  • Complete Teams connection and confirm a mention starts work.
  • Configure Teams automations and know standard vs shared channel limits, including same-organization requirements.

Purpose and value: Sibling Slack/Linear/GitHub/GitLab factory pages already existed; Teams is the chat intake path for Microsoft-first teams.

Content type: Feature documentation (combined), matching other factory integration pages.

Skill and template: draft_feature_doc / .agents/templates/feature-doc.md (shaped like factories/integrations/slack.mdx)

High-impact scenarios:

  • Covers: workspace availability, admin app upload, Add Warp to a team, team/channel selection, default app-mention automation, shared-channel mention/organization/history rules, factory-as-code triggers, account sign-in commands.
  • Excludes: private channels and DMs, marketplace distribution beyond admin upload, Graph admin-consent deep dives, experiment enrollment mechanics.

Audit conclusions

  • Slack — exists; accurate. No change.
  • Linear — exists; accurate. No change.
  • GitHub — exists; fixed default automation list (five seed automations).
  • GitLab — exists; accurate. No change.
  • Microsoft Teams — new page; shared-channel revision on this branch.

Unverified claims

None outstanding in shipped prose. Shared-channel eligibility is stated as same Microsoft 365 organization as the Warp app install plus a linked Warp account. Team/channel IDs are obtained from the seeded automation, factory Microsoft Teams list APIs, or Microsoft Teams/Graph for shared channels not in the picker.

Documentation risk

Risk: engineering-review-required
Rationale: Adds a new Factory Microsoft Teams integration page and changes integration setup, trigger, filter, shared-channel behavior, and default-automation claims.
Source files consulted: warp-server@c37956d1846fbfb01e24b1610bb5c953108840c3 (teams/graph.go, logic/ai/ambient_agents/teams_webhook.go, logic/ai/ambient_agents/teams_shared_channel_test.go, logic/ai/ambient_agents/managed_mcp/warp_teams_mcp/shared_history.go, logic/ai/ambient_agents/managed_mcp/warp_teams_mcp/catalog.go, logic/factorysource/defaults/skills/microsoft-teams/SKILL.md, logic/factoryfile/schema/v1alpha1/factory.schema.json, client/packages/factory/src/integrations/teams/TeamsAppUploadInstructionsModal.tsx, client/packages/factory/src/integrations/teams/TeamsConnectRow.tsx, logic/factory_microsoft_teams_integrations.go, public_api/openapi.yaml microsoft-teams teams/channels, model/types/triggers/triggers.go, logic/factorysource/defaults/automations.go)
Engineering review status: pending
Docs override: none

Validation

  • internal link check — pass
  • compression contract (feature-doc) — pass
  • Astro production build — pass (390 documentation pages)
  • git diff --check — pass
  • UI reference validation — Teams Settings paths and formatting pass; validator exits on an unrelated existing Vim command mismatch
  • style lint — 35 advisory warnings (3 Microsoft Teams proper-name heading false positives and 32 glossary warnings for bold terms)
  • Trunk — unavailable in the sandbox (trunk: command not found)
  • Second Agent docs review: github close/merge wording; Teams binding next step; bot chat account commands; say-it-once trim; workspace terminology; host-tenant plain language; autoRespond Teams-only; In Warp headings; reduced instructional bold
  • Latest Agent docs review: channel-only account commands, shared-thread history binding, and exact autoRespondToThreadReplies nesting

Add factories/integrations/teams.mdx and wire it through Factory navigation
and cross-links. Document verified setup, triggers, tools, and account
linking from warp-server. Update factory-as-code for teams provider and
microsoft-teams integration type. Correct GitHub default automation list
against seed automations.
@cla-bot cla-bot Bot added the cla-signed label Oct 2, 2026
@vercel

vercel Bot commented Oct 2, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
docs Ready Ready Preview Oct 5, 2026 11:59pm UTC

Request Review

@warp-agent-staging warp-agent-staging Bot added warpy-factory Opened by the Warp factory agents factory:docs-factory Label associated to the "docs-factory" factory labels Oct 2, 2026
@warp-agent-staging

Copy link
Copy Markdown
Contributor Author

This PR was generated with Warp.

Comment @warp-staging-factory on this PR to send it follow-up work.

View run View conversation View on Slack

Add workspace-availability prerequisite, use descriptive Teams admin center
link text, align connect-your-factory GitHub defaults with all five seed
automations, and add a Related pages section on the Teams page.
Comment thread src/content/docs/factories/integrations/teams.mdx Outdated
Comment thread src/content/docs/factories/integrations/teams.mdx Outdated
Comment thread src/content/docs/factories/integrations/teams.mdx Outdated
Comment thread src/content/docs/factories/integrations/teams.mdx Outdated
Rewrite the Factory Microsoft Teams page for shared-channel support from
current warp-server behavior, split setup steps by Microsoft Teams vs Warp,
document Add-to-team as the unblock for team selection, and align cross-links.
Point the first Warp onboarding step at the Factories web app with the
standard VARS.FACTORY_WEB_APP link pattern.
@moirahuang
moirahuang marked this pull request as ready for review October 5, 2026 22:40
@warp-for-oss

warp-for-oss Bot commented Oct 5, 2026 •

Copy link
Copy Markdown
Contributor

@moirahuang

I'm starting a first review of this pull request.

You can view the conversation on Warp.

I completed the review and no human review was requested for this pull request.

Comment /warp-agent-review on this pull request to retrigger a review (up to 3 times on the same pull request).

Powered by Oz

@moirahuang

Copy link
Copy Markdown

@warp-staging-factory please resolve the merge conflicts

Resolve factory-as-code trigger list conflict by keeping main's expanded
Slack events (message_im, message_mpim) and this branch's teams provider.
@warp-agent-staging

Copy link
Copy Markdown
Contributor Author

Resolved by merging origin/main into docs/factory-microsoft-teams-integration at 6ba9d7609e0c4ec2deef862cc5b0a89ebd76a69d.

Conflict: src/content/docs/factories/factory-as-code.mdx (Slack/teams trigger event list).
Resolution: kept main's expanded Slack events (message_im, message_mpim) and this branch's teams provider (app_mention, message_posted). Teams shared-channel docs and cross-links preserved.

Validation: internal links pass; feature-doc compression pass; PR body contract/integrity pass.

@warp-agent-staging

Copy link
Copy Markdown
Contributor Author

Resolved by merging origin/main into docs/factory-microsoft-teams-integration at 6ba9d760.

Conflict file: src/content/docs/factories/factory-as-code.mdx (Slack/teams trigger event list)

Resolution: kept main’s expanded Slack events (message_im, message_mpim) and this branch’s teams provider (app_mention, message_posted). Microsoft Teams shared-channel docs and cross-links preserved.

Validation: internal links pass; feature-doc compression pass; PR body contract/integrity pass.

@warp-for-oss warp-for-oss Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overview

This PR adds Microsoft Teams integration documentation for Warp Factories and updates related factory integration, automation, factory-as-code, troubleshooting, and sidebar references. I reviewed the attached annotated diff for docs quality, internal links, security-sensitive claims, and implementation/spec alignment; the provided spec context says no approved or repository spec context was found.

Concerns

No blocking concerns found.

Verdict

Found: 0 critical, 0 important, 0 suggestions

Approve

Comment /warp-agent-review on this pull request to retrigger a review (up to 3 times on the same pull request).

Powered by Oz

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review summary

The independent agent completed its review for this commit.

Findings

  • src/content/docs/factories/integrations/teams.mdx:61 — [IMPORTANT] Shared-channel requirements use three undefined, possibly overlapping terms ("host team", "host-tenant user", "Microsoft tenant of the installed Warp app"), so readers can't tell whether guests or external collaborators qualify. Requested change: define "host" once in plain language, state who can and can't start work, use one term throughout, and explain or drop "bound host-tenant sender" on lines 64 and 66.
  • src/content/docs/factories/integrations/teams.mdx:117 — [IMPORTANT] The definition-file path is the only way to use a shared channel missing from the picker, but the page never says where to find the Microsoft Graph team UUID or the Bot Framework channel ID (19:...@thread.tacv2). Requested change: add one sentence per value naming where to copy it from, or link to the Microsoft docs that explain it.
  • src/content/docs/factories/factory-as-code.mdx:219 — [IMPORTANT] The new sentence says autoRespondToThreadReplies applies to slack as well as microsoft-teams, and defaults on. The Slack page doesn't mention the field, and all cited sources are Teams-specific. Requested change: cite a Slack source in ## Documentation risk, or limit the sentence to microsoft-teams.
  • src/content/docs/factories/integrations/teams.mdx:69 — [SUGGESTION] Facts are repeated: private channels and DMs unsupported (lines 55, 69, 75), shared-channel history limit (66, 75), auto-respond default (65, 81), Teams-enabled prerequisite (15, 124). Requested change: run the deletion-only "Cut again" pass and keep each fact in one section.
  • src/content/docs/factories/integrations/teams.mdx:32 — [SUGGESTION] Step 4 packs five actions across admin surfaces and has no expected outcome. Requested change: split it into upload and approve steps and add what success looks like, such as the app appearing under Built for your org.
  • src/content/docs/factories/integrations/teams.mdx:37 — [SUGGESTION] Steps 2, 3, and 6 bold instructions ("download the production app package", "select at least one channel") instead of UI elements, and "Microsoft Teams teams" reads awkwardly. Requested change: bold only real UI labels and reword the sentence.
  • src/content/docs/factories/integrations/teams.mdx:53 — [SUGGESTION] Four bolded phrases in one paragraph dilute emphasis, and "Users" doesn't match "authors" (lines 48-49) or user_ids. Requested change: remove the bold and use one term, for example "Keywords and authors are optional."
  • src/content/docs/factories/integrations/teams.mdx:133 — [SUGGESTION] The privacy paragraph is adapted from the Slack page, and none of the cited sources is a privacy source, even though Teams differs on shared channels and account linking. Requested change: get engineering confirmation, or add a VERIFY marker listed under ## Unverified claims.
  • src/content/docs/factories/integrations/teams.mdx:87 — [NIT] Em dash in instructional text. Requested change: replace "review — see" with "review. See" (suggestion block provided in review.json).

Verdict

Request changes

Define owning-team/organization shared-channel terms, document how to obtain
Graph team and Bot Framework channel IDs, scope autoRespond guidance with
schema-backed Slack note, and apply the review's setup/privacy/wording nits.
@warp-agent-staging

Copy link
Copy Markdown
Contributor Author

Addressed the Agent docs review on head 253d1637852e4448ef7c91f93b6db0809dbbf969.

Important

  1. Shared-channel terms rewritten around owning team / same Microsoft 365 organization; guests/other orgs called out.
  2. Documented retrieving Graph team UUID and Bot Framework channel IDs from the seeded automation, factory Teams list APIs, or Teams/Graph for shared channels.
  3. autoRespondToThreadReplies guidance centered on microsoft-teams, with a schema-backed note that the field is also valid on slack.

Suggestions/nit
Split Teams admin upload/approve steps, reduced redundancy, authors terminology, softened privacy claim, removed instructional em dashes.

Validations: internal links pass; feature-doc compression pass; PR body contract/integrity pass.

Fix GitHub closed/merged automation wording, clarify Teams binding and bot
chat account commands, trim shared-channel repetition, unify workspace
terminology, replace host-tenant phrasing, and drop the Slack autoRespond
side-claim.
@warp-agent-staging

Copy link
Copy Markdown
Contributor Author

Addressed the second Agent docs review payload on head 87980a8989d56d72884885fd6f2f0c33cb267c37.

Important: GitHub default automation bullet now says merge completes linked work; an unmerged close is a no-op (dual-event name kept).

Suggestions: Teams pending-bind next action; sign in/help/sign out as Teams bot chat messages; say-it-once trim; Warp workspace terminology in automations; plain-language shared-channel org checks in connect/troubleshooting; Teams-only autoRespond in factory-as-code; ### In Warp headings; less non-UI bold.

Validations: internal links pass; feature-doc compression pass; PR body contract/integrity pass.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review summary

The independent agent completed its review for this commit.

Findings

  • src/content/docs/factories/factory-as-code.mdx:219 — [IMPORTANT] autoRespondToThreadReplies is described only in prose, so readers can't tell where the key goes. The Linear and Jira keys in the same paragraph are nested, and the only Teams YAML shown is - type: microsoft-teams. The same gap is in teams.mdx under "Definitions as code". Requested change: add a short yaml example showing the exact placement and accepted values, state that omitting the key means default-on, and confirm the key name and nesting against factory.schema.json.
  • src/content/docs/factories/automations.mdx:28 — [SUGGESTION] The edit changes an existing Slack claim from "Warp team" to "Warp workspace", but slack.mdx:114 still says "Warp team" and the PR audit lists Slack as "No change". Requested change: keep the Slack wording and add the Teams clause separately, or update slack.mdx:114 to match and record the Slack change in the audit conclusions. Confirm "workspace" is the correct term.
  • src/content/docs/factories/integrations/teams.mdx:76 — [SUGGESTION] The rule that a mention is required to start, plain replies continue, and auto-respond is on by default is stated at lines 65-66, 76, and 112, and again in factory-as-code.mdx:219. The page is about 1,570 words. Requested change: keep the full explanation in one place, most likely the "Shared channel behavior" bullets, and trim the other sections to what is unique to them (for example attachments).
  • src/content/docs/factories/integrations/teams.mdx:72 — [SUGGESTION] "Shared-channel history stays limited to the originating thread" repeats the "History tools" bullet at line 67, which also describes agent internals the reader can't act on. Requested change: drop the line 67 bullet, or fold its actionable point (sender must be in the install's organization) into the paragraph at line 63.
  • src/content/docs/factories/integrations/teams.mdx:32 — [SUGGESTION] UI verbs don't match the style guide. "choose Upload new app" should be "click Upload new app". On line 35, "and Add it to each Microsoft Teams team" has no verb for the bold button and should read "and click Add to add it to each team the factory should use". Requested change: apply both edits, and check line 26 "choose Microsoft Teams" is an option in a list.
  • src/content/docs/factories/integrations/teams.mdx:84 — [NIT] "These are chat messages to the bot, not terminal commands" argues with a reader who isn't confused, and help / sign out is slashed shorthand. Requested change: apply the suggestion block that drops the sentence and writes the commands out in prose, and confirm what help returns.
  • src/content/docs/factories/integrations/teams.mdx:39 — [NIT] "Select the Microsoft Teams teams" is hard to read. Requested change: apply the suggestion block ("Select the teams the factory should use, then select at least one channel in each.").
  • src/content/docs/factories/integrations/teams.mdx:28 — [NIT] "production" in "production app package" is internal wording the reader can't act on. Requested change: apply the suggestion block to say "app package".

Verdict

Request changes

…egration' into docs/factory-microsoft-teams-integration

# Conflicts:
#	src/content/docs/factories/connect-your-factory.mdx
#	src/content/docs/factories/integrations/teams.mdx
#	src/content/docs/factories/troubleshooting.mdx
Add nested microsoft-teams autoRespondToThreadReplies YAML examples,
align Slack terminology with slack.mdx, and tighten teams.mdx wording
(UI verbs, bot chat commands, say-it-once cuts).

Co-Authored-By: Oz <oz-agent@warp.dev>
@warp-agent-staging

Copy link
Copy Markdown
Contributor Author

Addressed Agent docs review on head 60779910:

  • Nested microsoft-teams.autoRespondToThreadReplies YAML examples in factory-as-code.mdx and teams.mdx (omit = default on; confirmed against factory.schema.json)
  • Slack claim restored to “Warp team” to match slack.mdx; Teams clause keeps “Warp workspace”
  • Dropped shared-channel history/internal-tool wording; kept eligibility under shared-channel rules
  • UI verbs and wording nits (click Upload new app / Add; no “production”; bot help / sign in / sign out in prose)

Validation: compression contract pass (~1464 words), internal links clean.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review summary

The independent agent completed its review for this commit.

Findings

  • src/content/docs/factories/automations.mdx:28 — [SUGGESTION] The sentence says Slack accounts link to a member of the factory's "Warp team" and Microsoft accounts link to a member of the factory's "Warp workspace"; the glossary defines workspace as an enterprise-account unit and sibling pages say "Warp team". Requested change: confirm the UI term and use the same one in both sentences, in teams.mdx (lines 15, 17, 38, 63), and in connect-your-factory.mdx.
  • src/content/docs/factories/integrations/teams.mdx:54 — [SUGGESTION] Step 6 (line 31) says to select the connected teams (plural) but this line and factory-as-code.mdx say each Teams trigger takes exactly one team. Requested change: state what the seeded teams-app-mentions automation does when more than one team is selected.
  • src/content/docs/factories/integrations/teams.mdx:45 — [SUGGESTION] The shared-channel rules are repeated at lines 44-45, 60-67, 65, and 125 and in connect-your-factory.mdx and troubleshooting.mdx, and the autoRespondToThreadReplies snippet at lines 84-91 duplicates factory-as-code.mdx. Requested change: keep each rule in one place, remove the line 45 and line 65 bullets, and link to factory-as-code.mdx instead of repeating the snippet.
  • src/content/docs/factories/factory-as-code.mdx:432 — [SUGGESTION] The paragraph says every filter key accepts an in/not_in object while teams.mdx line 113 says Teams filters are inclusion lists only, and it introduces "Graph team UUIDs and Bot Framework channel IDs" without saying what they are. Requested change: state the Teams inclusion-only limit here (or correct it), lead with the plain-language meaning of the values, and link to teams.mdx#configure-microsoft-teams-as-code.
  • src/content/docs/factories/integrations/github.mdx:26 — [SUGGESTION] "(which can move linked tracker issues to their completed state). An unmerged close is a no-op." is awkward and uses developer shorthand. Requested change: rewrite as "Completes linked work when a pull request with your factory's label merges, moving linked tracker issues to their completed state. Closing without merging does nothing."
  • src/content/docs/factories/integrations/teams.mdx:26 — [SUGGESTION] Every numbered setup step (lines 26-31) opens with a bold full-sentence lead-in, which dilutes emphasis; AGENTS.md reserves bold for UI elements and list-item lead terms. Requested change: remove the bold lead-ins and keep bold only on UI labels such as Integrations, Connect, Add, and Enable.
  • src/content/docs/factories/integrations/teams.mdx:28 — [NIT] "opens the Teams admin center, goes to ... and clicks Upload new app, uploads the ZIP, and approves it" has a broken series. Requested change: split into two sentences, for example "A Microsoft Teams admin opens the Teams admin center and goes to Teams apps > Manage apps. Click Upload new app, upload the ZIP, and approve it."

Verdict

Approve with nits

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review summary

The independent agent completed its review for this commit.

Findings

  • src/content/docs/factories/integrations/teams.mdx:114 — [SUGGESTION] 'These filters are inclusion lists only' conflicts with the general statement in factory-as-code.mdx:432 that every filter key accepts in/not_in. Requested change: state the Teams inclusion-only exception in factory-as-code.mdx next to the Teams filter sentence, or reconcile the two statements.
  • src/content/docs/factories/integrations/teams.mdx:116 — [SUGGESTION] Shared-channel IDs are the only route to configuring shared channels, but the page points to unnamed 'list-teams and list-channels API' fields with no endpoint or link. Requested change: name the endpoints (with a link to the API reference) or give a concrete step for finding the channel ID.
  • src/content/docs/factories/connect-your-factory.mdx:68 — [SUGGESTION] 'the same Microsoft 365 organization as the Warp app install' is unclear ('install' as a noun, and 'Warp app' could mean the Warp terminal app). Requested change: rephrase as 'the Microsoft 365 organization where the Warp app is installed in Teams', and apply the same wording to the Teams row in troubleshooting.mdx.
  • src/content/docs/factories/automations.mdx:28 — [SUGGESTION] Slack is described as linking to the factory's 'Warp team' and Teams to the factory's 'Warp workspace' in the same paragraph; slack.mdx also says 'Warp team'. Requested change: use one term consistently across the Slack and Teams descriptions.
  • src/content/docs/factories/automations.mdx:37 — [SUGGESTION] The filter table lists 'authors' for Teams, but teams.mdx:54 says author filtering is available only in definition files. Requested change: qualify the table entry, for example 'authors (definition files only)', or align teams.mdx.
  • src/content/docs/factories/integrations/teams.mdx:131 — [SUGGESTION] 'Disconnect Microsoft Teams' is a lifecycle procedure nested as an H3 under Troubleshooting, which breaks the broad-to-specific section order. Requested change: move it into its own H2 before Troubleshooting.
  • src/content/docs/factories/integrations/teams.mdx:83 — [NIT] 'Prefer the UI setup above, then edit the seeded automation' repeats the guidance at line 52. Requested change: delete the repeated sentence and keep one statement.
  • src/content/docs/factories/integrations/teams.mdx:28 — [NIT] Step 3 is a malformed run-on: 'goes to … and clicks Upload new app, uploads the ZIP, and approves it.' Requested change: rewrite as 'goes to Teams apps > Manage apps, clicks Upload new app, uploads the ZIP, and approves it.'
  • src/content/docs/factories/integrations/github.mdx:26 — [NIT] 'An unmerged close is a no-op' is jargon. Requested change: write 'Closing without merging does nothing.'

Verdict

Approve with nits

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review summary

The independent agent completed its review for this commit.

Findings

  • src/content/docs/factories/integrations/teams.mdx:68 — [SUGGESTION] The page is about 1,550 words and restates shared-channel rules (caution, 'Start and continue work', 'Use shared channels', as-code section, troubleshooting), thread-reply behavior (lines 44 and 65), and the double-run caveat (lines 56 and 128). Requested change: run a deletion-only 'Cut again' pass, state each rule once, and link to it from the other places.
  • src/content/docs/factories/integrations/teams.mdx:26 — [SUGGESTION] Setup steps are third person ('A workspace admin opens...') with bold lead-in sentences. Requested change: write steps in imperative second person (for example 'As a Warp workspace admin, open the top-level Integrations page...') and reserve bold for UI elements.
  • src/content/docs/factories/integrations/teams.mdx:28 — [NIT] The verb chain 'opens ..., goes to ..., and clicks Upload new app, uploads the ZIP, and approves it' is broken. Requested change: apply the suggested rewrite 'goes to Teams apps > Manage apps, clicks Upload new app, uploads the ZIP, and approves it'.
  • src/content/docs/factories/integrations/teams.mdx:48 — [NIT] 'Microsoft organization' is inconsistent with 'Microsoft 365 organization' used elsewhere. Requested change: use 'Microsoft 365 organization' in the sign out sentence.
  • src/content/docs/factories/integrations/teams.mdx:116 — [SUGGESTION] 'copy its channel conversation ID from the Teams link or Microsoft Graph' doesn't say where the ID appears or which Graph call returns it, yet it is the only way to use a shared channel. Requested change: add concrete steps (menu item, URL segment or field holding the 19:...@thread.tacv2 value) or link to Microsoft documentation, after confirming against the product.
  • src/content/docs/factories/connect-your-factory.mdx:68 — [SUGGESTION] The default Teams automation is described as covering 'the channels you configured, including shared channels', but teams.mdx says the picker lists standard channels only and shared channels need a channel ID in the definition. Requested change: shorten to app mentions in the selected channels and link to the shared-channel section for the extra step and same-organization rule.
  • src/content/docs/factories/automations.mdx:28 — [SUGGESTION] Slack requires a link to 'an active member of the factory's Warp team' while Microsoft Teams requires 'the factory's Warp workspace' in adjacent sentences. Requested change: use one term for both after confirming the correct one, and merge the two sentences.
  • src/content/docs/factories/integrations/github.mdx:26 — [NIT] 'Completes linked work when a pull request with your factory's label merges (which can move linked tracker issues to their completed state). An unmerged close is a no-op.' is clumsy jargon. Requested change: use 'Completes linked work when a pull request with your factory's label merges, moving linked tracker issues to their completed state. Closing without merging does nothing.'

Verdict

Approve with nits

@hongyi-chen
hongyi-chen merged commit cd4bd9f into main Oct 6, 2026
12 checks passed
@hongyi-chen
hongyi-chen deleted the docs/factory-microsoft-teams-integration branch October 6, 2026 00:11

This branch was successfully deployed

1 active deployment
Preview — a33cf65c Deployed Oct 5, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cla-signed factory:docs-factory Label associated to the "docs-factory" factory warpy-factory Opened by the Warp factory agents

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants