Skip to content

Add Neo integrations documentation#18410

Open
kramhuber wants to merge 7 commits intomasterfrom
mhuber/integration-catalog-docs
Open

Add Neo integrations documentation#18410
kramhuber wants to merge 7 commits intomasterfrom
mhuber/integration-catalog-docs

Conversation

@kramhuber
Copy link
Copy Markdown
Contributor

@kramhuber kramhuber commented Apr 7, 2026

Summary

  • Adds new integrations page at /docs/ai/integrations/ documenting the integration catalog feature
  • Covers available integrations (Atlassian, Datadog, Honeycomb, Linear, Notion, Sentry, Supabase), admin setup, credential storage, and usage examples
  • Adds integration references to the AI landing page, settings page, and tasks page

Docs companion to the integration catalog backend work on pulumi/pulumi-service.

New page documenting the integration catalog feature, which connects
Neo tasks to third-party services (Atlassian, Datadog, Honeycomb,
Linear, Notion, Sentry, Supabase) via MCP. Includes setup instructions,
credential storage details, and usage examples.

Also adds integration references to the AI landing page, settings page,
and tasks page.
@pulumi-bot
Copy link
Copy Markdown
Collaborator

pulumi-bot commented Apr 7, 2026

Per-integration configuration details with step-by-step setup
instructions for Atlassian, Datadog, Honeycomb, Linear, Notion,
Sentry, and Supabase. Drop editorializing, tighten copy, move
config section to end of page.
Remove stale per-task integration selection reference and replace
specific service names with generic categories to avoid drift.
@pulumi pulumi deleted a comment from claude Bot Apr 8, 2026
Reconcile the page with the actual v1 catalog
(cmd/service/services/agentintegrations/catalog):

- Remove Notion and Sentry sections. OAuth is deferred in v1, and
  neither is in the backend catalog. The "Connect" flow described
  doesn't exist yet.
- Add PagerDuty, which ships in the catalog but was missing.
- Rewrite the credential-storage section. Credentials are encrypted
  at rest in the Pulumi Service under a per-org key, not stored in
  Pulumi ESC. Update the disabling paragraph to match.
- Honeycomb: enter Key ID and Key Secret as two fields, not a
  colon-joined string. The concatenation happens server-side.
- Complete the Supabase section with the "enter in Neo" step.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Two additions to set user expectations before they hit them:

- Per-task control: tasks inherit all org integrations by default,
  and users can toggle individual integrations off from the task
  composer for the current task without changing org config.
- Graceful degradation: if one integration's credentials can't be
  resolved or its MCP server is unreachable, Neo skips it and
  continues with the rest. A single failure doesn't kill the task.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Linear already had an info callout explaining that personal API
keys attribute all actions to the token's creator. The same
constraint applies to PagerDuty (the User API Token we direct
users to) and Supabase (access tokens are user-scoped with no
service-account equivalent). Mirror the callout so the docs are
consistent and users know to create a dedicated bot user if they
want shared attribution.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The catalog now requires a `site` credential so Neo can connect to
the right Datadog region (us1/us3/us5/eu1/ap1/ap2). Previously
every org's integration silently used the US1 hostname.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@foot foot marked this pull request as ready for review April 23, 2026 15:48
@claude
Copy link
Copy Markdown
Contributor

claude Bot commented Apr 23, 2026

Docs Review — #18410

Solid new page overall — clear structure, good use of the {{% notes %}} shortcode, correctly follows the 1. ordered-list convention, and the cross-links from the landing page, settings, and tasks page are wired up consistently. A few things worth addressing before merge.

Content accuracy / consistency

1. PR description vs. page contents mismatch (content/docs/ai/integrations/_index.md lines 59–117).
The PR body lists the integrations as Atlassian, Datadog, Honeycomb, Linear, Notion, Sentry, Supabase, but the page ships with Atlassian, Datadog, Honeycomb, Linear, PagerDuty, Supabase. Notion and Sentry are missing; PagerDuty is present but not in the summary. Please confirm which set is actually launching and reconcile — if Notion/Sentry aren't shipping yet, just update the PR description; if they are, add their Configuration sections.

2. Overview categories don't cover all the shipped integrations (line 15).
The opening paragraph says Neo reads from "issue trackers, observability platforms, wikis, and databases" — but PagerDuty (incident response) doesn't fit any of those buckets, even though it gets a bullet on line 24 and a full config section. Consider adding "incident response tools" (or similar) to the list so the overview reflects what's actually in the catalog. Same applies to content/docs/ai/settings/_index.md line 149, which reuses the same three-category phrasing.

Neo integrations bring context from your existing tools into infrastructure tasks. Neo can read directly from the services your team already uses — issue trackers, observability platforms, incident response tools, wikis, and databases — and apply that context to infrastructure work.

(Also removes the repeated phrase "infrastructure tasks" twice in one sentence.)

Style / writing

3. "Credential storage" placement (lines 33–35).
This is currently an H3 under Enabling an integration, but the content (encryption at rest, per-org keys, credential lifetime, not exposing to the model) is general security information that applies regardless of enablement. Consider promoting it to its own H2 — it's the kind of detail security reviewers will want to find quickly, and they're unlikely to look for it under "Enabling an integration."

4. Honeycomb scope wording is ambiguous (line 83).
"Choose the Model Context Protocol and Environments scopes" — reads as if "Model Context Protocol" is a literal scope name in the Honeycomb UI. If it is literally a scope label, great; if it's just describing the purpose, consider rephrasing (e.g., "Select the scopes required for MCP access: MCP and Environments"). Worth verifying against the actual Honeycomb UI.

5. Settings page meta_desc capitalization (content/docs/ai/settings/_index.md line 5).
The list mixes Title Case feature names with a lowercase integrations:

Configure Neo with Custom Instructions, Repository Instructions, Slash Commands, integrations, access controls, and task modes.

If Integrations is the product-UI label (it appears capitalized elsewhere in the file, e.g. line 149 "Integrations tab"), match that casing here for consistency.

6. Datadog site identification (line 76).
"For example, datadoghq.com is us1, datadoghq.eu is eu1" — two examples is fine, but users on other sites may still have to guess. A short pointer to Datadog's "Getting Started with Sites" page (or equivalent) would make this more self-serve.

7. Linear / PagerDuty permissions guidance (lines 96, 106).
For Linear: "configure the permissions and team access for your use case" is vague — if there's a known minimum set of permissions Neo needs, spelling it out will prevent support tickets. Same for PagerDuty — no scoping guidance at all. Compare to the Honeycomb section (line 83–85), which lists exact permissions. Recommend bringing the other integrations up to that bar.

Nits

  • Landing page card description (content/docs/ai/_index.md line 57) picks Datadog, Honeycomb, and Linear as examples. Jira is likely more broadly recognizable to platform-engineering readers than Honeycomb — consider swapping. Not blocking.
  • "Tasks that are already running will lose access to the integration on their next tool call" (line 41) — "tool call" is accurate but internal-sounding. Consider "on their next action" or "the next time Neo tries to use it" for readers who don't know Neo uses MCP tools under the hood.

None of the above are blockers — #1 and #2 are the only ones I'd consider must-fix before merge. Ping @claude if you'd like another pass after revisions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants