Skip to content

Document Slack and Linear integration permissions#142

Open
hongyi-chen wants to merge 4 commits into
mainfrom
docs/integration-permissions
Open

Document Slack and Linear integration permissions#142
hongyi-chen wants to merge 4 commits into
mainfrom
docs/integration-permissions

Conversation

@hongyi-chen
Copy link
Copy Markdown
Collaborator

Summary

Documents the permissions and data access model for both the Slack and Linear cloud agent integrations. Adds a new "Permissions and data access" section to each integration's page.

Why

Security and procurement teams (e.g. Octopus Energy in this Slack thread) keep asking which scopes Oz requests for Slack and Linear, and we don't currently have a page to point them to. The same answer was being repeated in support threads. Putting it in docs makes it discoverable and reduces back-and-forth.

What's covered

Slack integration (src/content/docs/agent-platform/cloud-agents/integrations/slack.mdx)

  • High-level categories of scopes the Oz app installs with (messages, files, reactions, email lookup)
  • The key behavioral guarantee that Oz only reads from / posts to threads it has been explicitly tagged in or DM'd — not channel history
  • A :::caution block reminding admins to be intentional about which channels Oz is added to, since channels may contain customer data, billing info, etc.

Linear integration (src/content/docs/agent-platform/cloud-agents/integrations/linear.mdx)

  • Notes that Oz installs as a Linear app actor (actor=app), so it appears as its own user in the workspace and requires admin installation
  • Lists the four scopes used (read, write, app:assignable, app:mentionable) with brief explanations of what each one enables
  • Notes that Oz only acts on issues it has been explicitly mentioned on or assigned as the delegate
  • Links to Linear's agent developer docs for readers who want more detail
  • Parallel :::caution about being intentional about team access

Validation

  • npm run build passes locally
  • Both new sections follow the existing page structure (slotted between "Pull requests and output" and "Requirements") and the style guide rules around :::caution callouts, sentence case headers, and bold key terms

Conversation: https://staging.warp.dev/conversation/3ffab46c-2e08-4591-9fcb-f77fce0f8309
Run: https://oz.staging.warp.dev/runs/019e65b1-06b6-7bd7-b11d-173ad00339d5

This PR was generated with Oz.

Adds a 'Permissions and data access' section to both the Slack and
Linear integration pages so security and procurement teams can find
what scopes Oz requests without asking support.

For Slack, lists the scope categories the Oz app installs with and
clarifies that Oz only reads from and posts to threads it has been
explicitly tagged in (not channel history).

For Linear, documents Oz's actor=app installation model and the four
scopes it uses (read, write, app:assignable, app:mentionable), with
links to Linear's agent developer docs.

Co-Authored-By: Oz <oz-agent@warp.dev>
@cla-bot cla-bot Bot added the cla-signed label May 26, 2026
@vercel
Copy link
Copy Markdown

vercel Bot commented May 26, 2026

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

Project Deployment Actions Updated (UTC)
docs Ready Ready Preview, Comment May 26, 2026 11:29pm

Request Review

The same URL is already linked from 'app actor' a few lines above; the
second link adds no new context since 'delegate' is explained inline
right after.

Co-Authored-By: Oz <oz-agent@warp.dev>
@hongyi-chen hongyi-chen marked this pull request as ready for review May 26, 2026 19:41
@oz-for-oss
Copy link
Copy Markdown
Contributor

oz-for-oss Bot commented May 26, 2026

@hongyi-chen

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 /oz-review on this pull request to retrigger a review (up to 3 times on the same pull request).

Powered by Oz

Copy link
Copy Markdown
Contributor

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

Choose a reason for hiding this comment

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

Overview

This PR adds permissions and data-access sections to the Slack and Linear integration docs. The Linear section lists concrete OAuth scopes, but the Slack section still describes only broad permission categories, which leaves the main security/procurement question only partially answered.

Concerns

  • The Slack permissions section should include the exact Slack OAuth scope identifiers requested by the Oz app, matching the level of specificity added for Linear.
  • The new Linear delegate clarification should be reconciled with the existing trigger instructions that still describe assigning Oz like a teammate.

Verdict

Found: 0 critical, 1 important, 1 suggestions

Request changes

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

Powered by Oz


### Permissions and data access

When a workspace admin installs the Oz app, Slack prompts them to approve the scopes Oz needs to operate. At a high level, the Oz Slack app requests permission to:
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.

⚠️ [IMPORTANT] This still describes Slack permissions only “at a high level”; add the exact Slack OAuth scope identifiers requested by the Oz app so security and procurement reviewers can verify the install prompt.


* `read` — Read access to issues, comments, projects, and other workspace data Oz needs to understand the task it has been given.
* `write` — Write access to create comments, post agent activities (status updates, plans, results), and attach GitHub pull requests to issues.
* `app:assignable` — Allow Oz to be assigned as the delegate on an issue. Assigning an issue to Oz sets it as the delegate, not the assignee, so the human assignee retains ownership while Oz acts on their behalf.
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.

💡 [SUGGESTION] This delegate clarification conflicts with the earlier trigger instructions that say to “Assign the issue to Oz as if it were a teammate”; update that wording so readers know to assign Oz as the Linear delegate rather than replacing the human assignee.

Restructures the 'Permissions and data access' section into two
sub-sections: 'Workspace and team access' and 'OAuth scopes'.

The workspace-vs-team distinction is the more important answer for
security reviewers: Linear apps install at the workspace level, but
workspace admins can restrict which teams within the workspace the
app actually has access to. Lifted that out of a buried bullet into
its own subsection.

The scope list now points to Linear's OAuth docs and notes that the
authoritative list is what shows on the install consent screen, since
the live scopes are stored in our admin OAuth provider config rather
than hardcoded in the source.

Co-Authored-By: Oz <oz-agent@warp.dev>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant