Skip to content

Commit f2c17d8

Browse files
authored
feat(integrations): add RB2B integration (#4784)
* make zoominfo icon a bit bigger * feat(integrations): add RB2B integration 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 * fix(integrations): address RB2B PR review - 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 * fix(integrations): map RB2B email_to_activity input via params, not canonicalParamId 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.
1 parent 2490a3c commit f2c17d8

28 files changed

Lines changed: 2433 additions & 1 deletion

apps/docs/components/icons.tsx

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1574,6 +1574,48 @@ export function ExaAIIcon(props: SVGProps<SVGSVGElement>) {
15741574
)
15751575
}
15761576

1577+
export function RB2BIcon(props: SVGProps<SVGSVGElement>) {
1578+
const id = useId()
1579+
const clipId = `rb2b_clip_${id}`
1580+
return (
1581+
<svg viewBox='0 0 165 48' fill='none' xmlns='http://www.w3.org/2000/svg' {...props}>
1582+
<g clipPath={`url(#${clipId})`}>
1583+
<path d='M95.975 8.40234H87.5703V16.8057H95.975V8.40234Z' fill='#0C1316' />
1584+
<path d='M121.405 8.40234H113V16.8057H121.405V8.40234Z' fill='#0C1316' />
1585+
<path d='M112.998 16.8066H104.594V25.21H112.998V16.8066Z' fill='#0C1316' />
1586+
<path d='M104.596 25.2109H96.1914V33.6143H104.596V25.2109Z' fill='#0C1316' />
1587+
<path
1588+
d='M87.7852 39.5965V42.0166V47.9998H121.404V39.5965H96.1898V33.6133H87.7852V39.5965Z'
1589+
fill='#0C1316'
1590+
/>
1591+
<path d='M112.786 0H95.9766V8.40336H112.786V0Z' fill='#0C1316' />
1592+
<path
1593+
d='M52.3773 8.40336H74.3639V0H52.3773H43.9727V48H52.3773H74.3639V39.5966H52.3773V28.2017H74.3639V19.7983H52.3773V8.40336Z'
1594+
fill='#0C1316'
1595+
/>
1596+
<path d='M82.7718 8.40234H74.3672V19.7973H82.7718V8.40234Z' fill='#0C1316' />
1597+
<path d='M82.7679 28.2031H74.3633V39.5981H82.7679V28.2031Z' fill='#0C1316' />
1598+
<path d='M164.998 8.40234H156.594V19.7973H164.998V8.40234Z' fill='#0C1316' />
1599+
<path d='M164.998 28.2031H156.594V39.5981H164.998V28.2031Z' fill='#0C1316' />
1600+
<path
1601+
d='M134.608 19.7983V8.40336H156.594V0H134.608H126.203V48H134.608H156.594V39.5966H134.608V28.2017H156.594V19.7983H134.608Z'
1602+
fill='#0C1316'
1603+
/>
1604+
<path
1605+
d='M8.40464 8.40336H30.3912V0H8.40464H0V48H8.40464V28.2017H21.9866V36.605H30.3912V48H38.7958V28.2017H30.3912V19.7983H8.40464V8.40336Z'
1606+
fill='#0C1316'
1607+
/>
1608+
<path d='M38.7953 8.40234H30.3906V19.7973H38.7953V8.40234Z' fill='#0C1316' />
1609+
</g>
1610+
<defs>
1611+
<clipPath id={clipId}>
1612+
<rect width='165' height='48' fill='white' />
1613+
</clipPath>
1614+
</defs>
1615+
</svg>
1616+
)
1617+
}
1618+
15771619
export function RedditIcon(props: SVGProps<SVGSVGElement>) {
15781620
return (
15791621
<svg

apps/docs/components/ui/icon-mapping.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,7 @@ import {
152152
QdrantIcon,
153153
QuiverIcon,
154154
RailwayIcon,
155+
RB2BIcon,
155156
RDSIcon,
156157
RedditIcon,
157158
RedisIcon,
@@ -382,6 +383,7 @@ export const blockTypeToIconMap: Record<string, IconComponent> = {
382383
qdrant: QdrantIcon,
383384
quiver: QuiverIcon,
384385
railway: RailwayIcon,
386+
rb2b: RB2BIcon,
385387
rds: RDSIcon,
386388
reddit: RedditIcon,
387389
redis: RedisIcon,

apps/docs/content/docs/en/tools/meta.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,7 @@
148148
"qdrant",
149149
"quiver",
150150
"railway",
151+
"rb2b",
151152
"rds",
152153
"reddit",
153154
"redis",

0 commit comments

Comments
 (0)