feat: add SERPdive search integration#5847
Conversation
|
@edendalexis is attempting to deploy a commit to the Sim Team on Vercel. A member of the Team first needs to authorize it. |
PR SummaryLow Risk Overview Workflows get a Registration and docs: Reviewed by Cursor Bugbot for commit 6ca6f9d. Bugbot is set up for automated code reviews on this repo. Configure here. |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Want higher recall? High effort reviews run extra passes and find more bugs. A team admin can switch effort levels in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit c0825ee. Configure here.
Greptile SummaryThis PR adds SERPdive as a web-search integration. The main changes are:
Confidence Score: 4/5The integration discovery path needs a fix before merging; the documentation also shows a text fallback instead of the brand icon.
apps/sim/blocks/registry-maps.ts and apps/docs/content/docs/en/integrations/serpdive.mdx Important Files Changed
Reviews (1): Last reviewed commit: "feat: add SERPdive search integration" | Re-trigger Greptile |
| sendblue: SendblueBlockMeta, | ||
| sendgrid: SendGridBlockMeta, | ||
| sentry: SentryBlockMeta, | ||
| serpdive: SerpdiveBlockMeta, |
There was a problem hiding this comment.
Catalog Registration Is Incomplete
This adds SERPdive to BLOCK_META_REGISTRY, but the required matching record is absent from apps/sim/lib/integrations/integrations.json. Catalog and integration-management surfaces that read that inventory will omit SERPdive even though its block is available in workflows.
| import { BlockInfoCard } from "@/components/ui/block-info-card" | ||
|
|
||
| <BlockInfoCard | ||
| type="serpdive" |
There was a problem hiding this comment.
BlockInfoCard resolves serpdive through the docs icon map, but this PR adds no matching map entry and passes no explicit icon. The integration page therefore renders its se text fallback instead of the new SERPdive icon.
Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
7eef996 to
8030080
Compare
8030080 to
6ca6f9d
Compare

Summary
Adds SERPdive as a search integration: one tool (
serpdive_search) and its block. SERPdive is a web search API built for AI agents — instead of links or snippets, each result carries the extracted, answer-ready content of the page, sized for a context window, which fits Sim agents that quote and cite from search output.Measured, not asserted: on a public 1,000-question benchmark judged blind by an independent model, SERPdive won 60.7% of decided quality duels against Tavily's default (basic) search while returning 20.2% fewer tokens at the same speed (methodology and per-question results). Free tier: 1,000 credits/month, no card.
Authored following
.agents/skills/add-integration/add-tools/add-block, mirroring the closest existing provider (Linkup: single search tool, API-key auth):apps/sim/tools/serpdive/—types.ts,search.ts,index.ts. Params map 1:1 to the documented API (query,modelmako/moby,answer,max_results),apiKeyisuser-only, coercions live inrequest.body, outputs use typedproperties(no raw JSON dumps).apps/sim/blocks/blocks/serpdive.ts— block +SerpdiveBlockMeta(8 templates, 5 skills, all grounded in the single operation the tool exposes).tools/registry.ts,blocks/registry-maps.ts(both maps),SerpdiveIconincomponents/icons.tsx.bun run generate-docs: the docs page,meta.json, bothicon-mapping.tsfiles,apps/docs/components/icons.tsx, and theintegrations.jsonentry. Only the SERPdive-related output is included — regenerating on this repo currently also rewrites unrelated entries (managed_agent,slack_app, service-account pages), and I left that pre-existing drift out of this PR. Happy to include it if you'd rather the file be fully regenerated.No
hostingconfig, matching Tavily — happy to add hosted-key support in a follow-up if you want SERPdive available on hosted keys.Type of Change
Testing
Ran locally against this branch:
bun run apps/sim/scripts/check-block-registry.ts— subblock ID stability, canonical-id contract, integration meta coverage, sunset replacedBy: all pass.bunx tsc --noEmitonapps/sim— 0 errors.bunx vitest run tools/index.test.ts blocks— 455 tests / 32 files pass.biome checkon every touched file — clean (formatting applied).bun run check:bare-icons,check:icon-paths,check:boundaries— all pass.bun run generate-docs— re-running it produces no further SERPdive diff (the committed generated output matches).searchTool.request.headers/bodyand rantransformResponseagainst the real endpoint — HTTP 200, 3 results plus a built answer in ~2.3 s; invalid key → 401.Reviewers may want to focus on the block's subBlock/param mapping and on whether you'd prefer
integrations.jsonfully regenerated (see Summary).Checklist
Screenshots/Videos
N/A — no UI changes beyond the new block appearing in the toolbar with its icon.