Skip to content

fix(integrations): list tools for integrations without an operation dropdown - #8582

Merged
waleedlatif1 merged 2 commits into
stagingfrom
fix/integration-catalog-missing-tools
Oct 2, 2026
Merged

waleedlatif1 merged 2 commits into
stagingfrom
fix/integration-catalog-missing-tools

Conversation

@waleedlatif1

Copy link
Copy Markdown
Collaborator

Summary

scripts/generate-docs.ts emitted zero operations for 17 entries in packages/deployment-config/src/integrations.json, so their /integrations/<slug> pages listed no tools and their JSON-LD ItemList was empty. There were two causes:

  • No operation dropdown. Operations were read only from a block's own subBlocks entry with id: 'operation'. Single-tool blocks like DuckDuckGo, SMTP, Twilio SMS and Google Search don't have one, and neither do provider pickers like Embeddings, so they emitted nothing. These now fall back to the block's tools.access ids. Names and descriptions come from the client-safe tool metadata (apps/sim/tools/generated/tool-metadata.ts), not the executable registry.
  • Spread fields array. NotionV2Block reuses subBlocks: [...NotionBlock.subBlocks, ...] instead of spreading the whole config, so the generator never saw its dropdown. Operations are now resolved through a same-file ...XBlock.subBlocks spread when a block has no dropdown of its own and inherits none through a config-level spread.

Integrations that already listed operations come out unchanged: the regenerated JSON differs only in operations and operationCount on the 17 entries that were empty, and ordering is unchanged. The docs .mdx pages already built their action sections from tools.access, so they don't change.

Type of Change

  • Bug fix
  • New feature
  • Breaking change
  • Documentation
  • Other: ___________

Testing

I regenerated with bun run scripts/generate-docs.ts and diffed integrations.json before and after. Only these entries changed. Each went from 0 tools to N:

Integration Tools
Notion (notion_v2) 18
Embeddings 6
Airweave 1
Browser Use 1
Clay 1
DuckDuckGo 1
Extend (extend_v2) 1
Google PageSpeed 1
Google Search 1
Hugging Face 1
Linkup 1
Mistral Parser (mistral_parse_v3) 1
Pulse (pulse_v2) 1
Reducto (reducto_v2) 1
Serper 1
SMTP 1
Twilio SMS 1

No integration has empty operations any more. These all pass: bun run docs:check, bun run integration-catalog:check, bun run check:audits, bun run lint, bun run type-check, and scripts/generate-docs.test.ts.

Checklist

  • Code follows project style guidelines
  • Self-reviewed my changes
  • Tests added/updated and passing
  • No new warnings introduced
  • I confirm that I have read and agree to the terms outlined in the Contributor License Agreement (CLA)

🤖 Generated with Claude Code

…ropdown

The catalog generator only read operations from a block's own 'operation'
dropdown, so single-tool blocks and provider pickers (DuckDuckGo, SMTP,
Twilio SMS, Embeddings, ...) emitted zero operations, and Notion v2 lost its
dropdown because it spreads NotionBlock.subBlocks instead of the whole config.

Resolve operations through same-file subBlocks spreads, and fall back to the
block's tools.access ids named from the client-safe tool metadata.
@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 2, 2026 7:34pm UTC

Request Review

@greptile-apps

greptile-apps Bot commented Oct 2, 2026 •

Copy link
Copy Markdown
Contributor

RetriggerConfidence Score: 5/5

[Medium risk] Adds tool listings to integration configurations.

The PR appears safe to merge; no outstanding finding or new actionable issue was identified.

Summary

The PR populates previously empty integration operation lists from client-safe tool metadata and resolves operations inherited through plain, same-file subBlocks spreads. The follow-up removes an any cast and narrows spread matching so transformed arrays are not treated as plain inheritance.

Diagram
%%{init: {'theme': 'neutral'}}%%
flowchart TD
  A[Extract block operations] --> B{Own operation dropdown?}
  B -- Yes --> C[Use own operations]
  B -- No --> D{Config-level inherited operations?}
  D -- Yes --> E[Use inherited operations]
  D -- No --> F{Plain same-file subBlocks spread?}
  F -- Yes --> G[Use spread block's operations]
  F -- No --> H[Use tools.access metadata if operations remain empty]
Loading

Reviews (2) · Last reviewed commit: "fix(docs): drop the any cast and only fo..."

Comment thread scripts/generate-docs.ts Outdated

@cubic-dev-ai cubic-dev-ai 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.

All reported issues were addressed across 2 files

Reply with feedback, questions, or to request a fix.

Fix all with cubic | Re-trigger cubic

Comment thread scripts/generate-docs.ts
@waleedlatif1

Copy link
Copy Markdown
Collaborator Author

@greptile

@waleedlatif1

Copy link
Copy Markdown
Collaborator Author

@cubic-dev-ai review this PR

@cubic-dev-ai

cubic-dev-ai Bot commented Oct 2, 2026

Copy link
Copy Markdown
Contributor

@cubic-dev-ai review this PR

@waleedlatif1 I have started the AI code review. It will take a few minutes to complete.

@cubic-dev-ai cubic-dev-ai 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.

No issues found across 3 files

Confidence score: 5/5

  • Automated review surfaced no issues in the provided summaries.
  • No files require special attention.

Re-trigger cubic

@waleedlatif1
waleedlatif1 merged commit c576e40 into staging Oct 2, 2026
33 checks passed
@waleedlatif1
waleedlatif1 deleted the fix/integration-catalog-missing-tools branch October 2, 2026 19:50

This branch was successfully deployed

1 active deployment
Preview — 01e8df22 Deployed Oct 2, 2026 by vercel[bot]
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.

1 participant