Skip to content

feat(prospeo): add Prospeo integration for B2B contact enrichment and search#4653

Merged
waleedlatif1 merged 2 commits into
stagingfrom
waleedlatif1/prospeo-integration
May 18, 2026
Merged

feat(prospeo): add Prospeo integration for B2B contact enrichment and search#4653
waleedlatif1 merged 2 commits into
stagingfrom
waleedlatif1/prospeo-integration

Conversation

@waleedlatif1
Copy link
Copy Markdown
Collaborator

Summary

  • Adds Prospeo integration with 8 operations: enrich person/company, bulk enrich person/company, search person/company, search suggestions, account information
  • Uses X-KEY header API key auth
  • Includes docs, icon, and block UI with conditional subblocks per operation

Type of Change

  • New feature

Testing

Tested manually

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)

… search

Adds 8 operations: enrich person/company, bulk enrich person/company,
search person/company, search suggestions, and account information.
Uses X-KEY header auth.
@vercel
Copy link
Copy Markdown

vercel Bot commented May 18, 2026

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

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
docs Skipped Skipped May 18, 2026 6:48pm

Request Review

@cursor
Copy link
Copy Markdown

cursor Bot commented May 18, 2026

PR Summary

Medium Risk
Adds a new external API integration (Prospeo) with API-key authentication and multiple request/response transforms, which could impact tool execution and error handling if the upstream API changes. Other changes are mostly documentation/metadata updates with low runtime risk.

Overview
Adds a new prospeo integration end-to-end: a new Sim block with operation-specific inputs, plus eight new tools (prospeo_*) wired into apps/sim/tools/registry.ts that call Prospeo’s API using X-KEY auth and standardized response/error parsing.

Updates product/docs metadata and icons so Prospeo appears in the docs site and Sim integrations landing page (integrations.json, icon mappings, new ProspeoIcon, and new docs/en/tools/prospeo.mdx).

Minor related docs/metadata tweaks: adds CloudWatch docs entries for cloudwatch_mute_alarm/cloudwatch_unmute_alarm, and bumps File docs/mappings from file_v3 to file_v4 with updated wording/operation descriptions.

Reviewed by Cursor Bugbot for commit 77d125c. Configure here.

@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps Bot commented May 18, 2026

Greptile Summary

This PR adds the Prospeo integration, a B2B contact and company enrichment platform, with 8 operations: enrich person/company, bulk enrich person/company, search person/company, search suggestions, and account information. The integration follows the established block/tool architecture using X-KEY header auth.

  • 8 tool definitions with shared parsing helpers extracted into utils.ts.
  • Block config exposes conditional subblocks per operation with a unified params transformer and wandConfig AI-assist prompts.
  • Docs and icon/registry entries complete the integration; secondary changes add CloudWatch mute/unmute docs and update the File block to file_v4.

Confidence Score: 4/5

Safe to merge with the noted input-validation gaps addressed; the core integration wiring is correct and follows established patterns.

The parseFiltersObject helper returns {} on any invalid input, so a malformed filters string silently produces an unrestricted Prospeo search consuming credits with no signal to the caller. The same pattern in parseDataArray causes bulk-enrich to fire with zero records on malformed input.

apps/sim/tools/prospeo/utils.ts and apps/sim/tools/prospeo/search_suggestions.ts

Important Files Changed

Filename Overview
apps/sim/tools/prospeo/utils.ts parseDataArray silently returns [] for invalid JSON and parseFiltersObject silently returns {} for invalid input — both allow malformed inputs to proceed to the API without user-visible errors.
apps/sim/tools/prospeo/search_suggestions.ts Body builder sends {} when neither suggestion field is provided, and allows both fields simultaneously violating the mutually-exclusive constraint.
apps/sim/blocks/blocks/prospeo.ts Block config correctly uses conditional subblocks per operation with a unified params transformer.
apps/sim/tools/prospeo/types.ts Well-structured type definitions with shared base interfaces; extractProspeoError correctly handles error parsing.
apps/sim/tools/prospeo/enrich_person.ts Correctly builds request body with conditional field inclusion; apiKey visibility set to user-only.

Reviews (2): Last reviewed commit: "refactor(prospeo): extract shared parse ..." | Re-trigger Greptile

Comment thread apps/sim/tools/prospeo/bulk_enrich_person.ts Outdated
Comment thread apps/sim/tools/prospeo/search_person.ts Outdated
@waleedlatif1
Copy link
Copy Markdown
Collaborator Author

@greptile

@waleedlatif1
Copy link
Copy Markdown
Collaborator Author

@cursor review

Copy link
Copy Markdown

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

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

✅ Bugbot reviewed your changes and found no new issues!

Comment @cursor review or bugbot run to trigger another review on this PR

Reviewed by Cursor Bugbot for commit 77d125c. Configure here.

@waleedlatif1 waleedlatif1 merged commit b276672 into staging May 18, 2026
14 checks passed
@waleedlatif1 waleedlatif1 deleted the waleedlatif1/prospeo-integration branch May 18, 2026 19:08
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