Skip to content

feat(integrations): add RB2B integration#4784

Merged
waleedlatif1 merged 4 commits into
stagingfrom
waleedlatif1/add-rb2b-integration
May 29, 2026
Merged

feat(integrations): add RB2B integration#4784
waleedlatif1 merged 4 commits into
stagingfrom
waleedlatif1/add-rb2b-integration

Conversation

@waleedlatif1
Copy link
Copy Markdown
Collaborator

Summary

  • Add the RB2B integration — person-level website visitor identification and B2B enrichment via the RB2B API (api.rb2b.com, Api-Key header auth)
  • 15 tools across identification and enrichment: credit check; IP → HEM / MAID / company; email or HEM → business profile / best LinkedIn URL / LinkedIn slug / MAID; email → last active date; LinkedIn → business profile / best personal email / personal email / hashed emails / mobile phone; and LinkedIn slug search
  • Single API-key block with an operation dropdown, per-operation conditional inputs, and outputs covering every tool
  • RB2B icon (#51FF00 brand tile) and generated docs/landing entries
  • Every endpoint (paths, methods, request bodies, response shapes) verified 1:1 against the official RB2B Postman collection

Type of Change

  • New feature (integration)

Testing

Tested manually — typecheck (tsc) clean, biome clean, check:api-validation passes, docs generated. Tool/registry/block IDs verified consistent across all surfaces.

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)

Add the RB2B AI workspace integration for person-level visitor identification and B2B enrichment via the RB2B API (api.rb2b.com).

- 15 tools: credit check, IP to HEM/MAID/company, email/HEM to business profile/best LinkedIn/LinkedIn slug/MAID, email to last active date, and LinkedIn to business profile/best personal email/personal email/hashed emails/mobile phone, plus LinkedIn slug search
- Single API-key block with an operation dropdown, conditional inputs, and outputs covering every tool
- RB2B icon and generated docs
@vercel
Copy link
Copy Markdown

vercel Bot commented May 29, 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 29, 2026 12:52am

Request Review

@cursor
Copy link
Copy Markdown

cursor Bot commented May 29, 2026

PR Summary

Medium Risk
New third-party API surface handles PII (emails, phones, LinkedIn) and user-supplied API keys; risk is mostly operational/privacy rather than changes to core auth, though the large generated docs page lists a union of all block outputs per tool.

Overview
Adds RB2B as a new API-key integration for B2B visitor identification and enrichment via api.rb2b.com.

The PR wires 15 tools (credit check, IP→HEM/MAID/company, email/HEM enrichment, LinkedIn lookups, slug search) into the tool registry, a single rb2b workflow block with an operation dropdown and conditional inputs, plus docs, landing catalog, and RB2BIcon mappings in docs and sim. Shared helpers set Api-Key auth and route plaintext emails vs MD5 hashes for HEM endpoints.

Also includes a small ZoomInfoIcon viewBox adjustment in shared icon components.

Reviewed by Cursor Bugbot for commit 26a26f9. Configure here.

Comment thread apps/sim/blocks/blocks/rb2b.ts
Comment thread apps/sim/components/icons.tsx Outdated
@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps Bot commented May 29, 2026

Greptile Summary

This PR adds the RB2B integration — 15 tools for person-level website-visitor identification and B2B enrichment via api.rb2b.com, using Api-Key header authentication. The block follows the established single-block / operation-dropdown pattern used by Exa and others.

  • 15 tools registered across credit-check, IP→HEM/MAID/company, email/HEM→business-profile/LinkedIn/MAID, email→activity, and LinkedIn→profile/email/hashed-emails/phone/slug-search.
  • HEM routing (buildIdentifierBody) distinguishes plaintext email from MD5 hash by @ presence; the email_to_activity operation correctly uses a separate emailAddress subBlock so plaintext-only semantics are enforced at the block level.
  • Response-envelope handling for hem_to_best_linkedin and hem_to_linkedin (using data.results plural) was verified against the official Postman collection in prior review threads and is intentional.

Confidence Score: 5/5

Well-scoped new integration adding 15 read-only RB2B API tools with no changes to existing code paths.

All 15 tools are consistently implemented, properly typed, and registered. The HEM/LinkedIn response-envelope asymmetry was addressed in prior threads. The linkedin_to_hashed_emails plural-envelope question is a clarification point, not a confirmed defect.

apps/sim/tools/rb2b/linkedin-to-hashed-emails.ts warrants a quick confirmation of its response envelope against the Postman collection.

Important Files Changed

Filename Overview
apps/sim/blocks/blocks/rb2b.ts Block config with 15 operations, conditional subBlocks, and tools.config.params that coalesces emailAddress into email for email_to_activity. Follows established multi-operation block pattern.
apps/sim/tools/rb2b/utils.ts Defines shared constants and helpers: RB2B_API_BASE, rb2bHeaders (Api-Key auth), and buildIdentifierBody (email vs MD5 routing by @ presence). Clean and correct.
apps/sim/tools/rb2b/types.ts Shared output property definitions and TypeScript interfaces for all 15 tools. Well-typed with appropriate optional fields and satisfies constraints.
apps/sim/tools/rb2b/linkedin-to-hashed-emails.ts Uses data.results (plural envelope) to extract hash arrays, unlike all other LinkedIn tools which use data.result (singular). Worth confirming against the Postman collection.
apps/sim/tools/rb2b/index.ts Barrel export for all 15 tools. Complete and consistent with the tools registered in registry.ts.
apps/sim/tools/registry.ts All 15 rb2b tools imported and registered under their correct IDs. No gaps between tool IDs and block operation values.
apps/docs/content/docs/en/tools/rb2b.mdx Generated docs with all 15 tool stubs. Input tables are empty, matching the auto-generated pattern used by other multi-operation integrations.

Reviews (2): Last reviewed commit: "fix(integrations): map RB2B email_to_act..." | Re-trigger Greptile

Comment thread apps/sim/blocks/blocks/rb2b.ts
Comment thread apps/sim/tools/rb2b/hem-to-best-linkedin.ts
Comment thread apps/sim/tools/rb2b/hem-to-linkedin.ts
- email_to_activity now has its own plaintext Email field (canonicalParamId) instead of sharing the Email-or-MD5 input, since it does not accept MD5 hashes
- RB2BIcon uses useId() for its clipPath id instead of a hardcoded id, matching the convention used by other icons
…anonicalParamId

The canonical-pair validation test requires canonical members to share the same
condition. Replace the cross-operation canonicalParamId reuse with two distinct
subblock ids (email for HEM ops, emailAddress for email_to_activity) and a small
tools.config.params remap to the email tool param.
@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 26a26f9. Configure here.

@waleedlatif1 waleedlatif1 merged commit f2c17d8 into staging May 29, 2026
14 checks passed
@waleedlatif1 waleedlatif1 deleted the waleedlatif1/add-rb2b-integration branch May 29, 2026 01:04
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