Skip to content

Commit ca2c44b

Browse files
feat(integrations): add DataForB2B block and tools
Add a native DataForB2B integration: search and enrich B2B companies and LinkedIn profiles. Six tools (search people, search companies, reasoning search, typeahead, enrich profile, enrich company) wired into a single multi-operation block, with icon, registries, generated docs and catalog metadata. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1 parent db47da5 commit ca2c44b

18 files changed

Lines changed: 1489 additions & 0 deletions

File tree

apps/docs/components/icons.tsx

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7981,3 +7981,18 @@ export function EnrowIcon(props: SVGProps<SVGSVGElement>) {
79817981
</svg>
79827982
)
79837983
}
7984+
7985+
export function DataForB2BIcon(props: SVGProps<SVGSVGElement>) {
7986+
return (
7987+
<svg {...props} viewBox='0 0 36 36' fill='none' xmlns='http://www.w3.org/2000/svg'>
7988+
<image
7989+
href='https://api.dataforb2b.ai/DataForB2B_logo.png'
7990+
x='0'
7991+
y='0'
7992+
width='36'
7993+
height='36'
7994+
preserveAspectRatio='xMidYMid meet'
7995+
/>
7996+
</svg>
7997+
)
7998+
}

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ import {
4545
DagsterIcon,
4646
DatabricksIcon,
4747
DatadogIcon,
48+
DataForB2BIcon,
4849
DatagmaIcon,
4950
DaytonaIcon,
5051
DevinIcon,
@@ -278,6 +279,7 @@ export const blockTypeToIconMap: Record<string, IconComponent> = {
278279
dagster: DagsterIcon,
279280
databricks: DatabricksIcon,
280281
datadog: DatadogIcon,
282+
dataforb2b: DataForB2BIcon,
281283
datagma: DatagmaIcon,
282284
daytona: DaytonaIcon,
283285
devin: DevinIcon,
Lines changed: 152 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,152 @@
1+
---
2+
title: DataForB2B
3+
description: Search LinkedIn profiles & companies and find B2B emails
4+
---
5+
6+
import { BlockInfoCard } from "@/components/ui/block-info-card"
7+
8+
<BlockInfoCard
9+
type="dataforb2b"
10+
color="#0B0F1A"
11+
/>
12+
13+
## Usage Instructions
14+
15+
Integrates DataForB2B into the workflow — a B2B data, LinkedIn enrichment and email-finder source for lead generation, sales prospecting, recruitment / candidate sourcing and CRM enrichment. Search people and companies on LinkedIn with structured filters (job title, company, industry, location, headcount, funding, skills, school, degree, years of experience), run a natural-language (reasoning) search from an ICP or candidate persona, resolve filter values with typeahead, and enrich a LinkedIn profile or company URL to get the full profile plus verified work email, personal email, phone and GitHub.
16+
17+
18+
19+
## Actions
20+
21+
### `dataforb2b_search_people`
22+
23+
Search people and B2B leads by structured filters (job title, current company, location, industry, seniority, skills, school, funding and LinkedIn data) with DataForB2B. Find employees at a company, decision-makers and key contacts for sales prospecting.
24+
25+
#### Input
26+
27+
| Parameter | Type | Required | Description |
28+
| --------- | ---- | -------- | ----------- |
29+
| `apiKey` | string | Yes | DataForB2B API key \(https://app.dataforb2b.ai\) |
30+
| `filters` | json | Yes | Structured filters as JSON: \{"op":"and"\|"or","conditions":\[\{"column","type","value","value2"?\}\]\}. Columns: first_name, last_name, profile_location, profile_country, profile_industry, follower_count, keyword, current_company, current_title, current_job_location, current_company_industry, current_company_category, current_company_size, current_company_id, current_employment_type, years_in_current_position, years_at_current_company, current_company_has_funding, current_company_funding_stage, current_company_investor, past_company, past_title, past_job_location, past_company_industry, past_company_size, past_company_id, past_employment_type, years_at_past_company, skill, school, degree, degree_level, field_of_study, language, language_iso, language_proficiency, certification, certification_authority, years_of_experience, num_total_jobs, is_currently_employed. Operators \(type\): =, !=, like, not_like, in, not_in, &gt;, &gt;=, &lt;, &lt;=, between. Use an array value for "in"/"not_in"; for "between" set value \(min\) and value2 \(max\). Example: \{"op":"and","conditions":\[\{"column":"current_title","type":"like","value":"Head of Growth"\},\{"column":"current_company_size","type":"in","value":\["51-200","201-500"\]\}\]\} |
31+
| `count` | number | No | Max results to return \(default 25, max 100\) |
32+
| `offset` | number | No | Pagination offset, e.g. 25, 50 \(default 0\) |
33+
34+
#### Output
35+
36+
| Parameter | Type | Description |
37+
| --------- | ---- | ----------- |
38+
| `results` | json | Array of matching people: each with profile, current role/company, location, industry, skills and LinkedIn URL |
39+
| `total` | number | Total number of people matching the filters |
40+
| `count` | number | Number of people returned in this page |
41+
42+
### `dataforb2b_search_companies`
43+
44+
Search companies and accounts by structured filters (industry, headcount/size, location, founded year, funding stage/amount, growth, keywords and LinkedIn data) with DataForB2B. Build target account lists for B2B sales and account-based marketing.
45+
46+
#### Input
47+
48+
| Parameter | Type | Required | Description |
49+
| --------- | ---- | -------- | ----------- |
50+
| `apiKey` | string | Yes | DataForB2B API key \(https://app.dataforb2b.ai\) |
51+
| `filters` | json | Yes | Structured filters as JSON: \{"op":"and"\|"or","conditions":\[\{"column","type","value","value2"?\}\]\}. Columns: name, tagline, description, domain, universal_name, keyword, industry, employee_count, country_iso_code, city, region, office_country, office_city, office_region, employee_growth_1m, employee_growth_6m, employee_growth_12m, recent_hires_count, founded_year, company_type, follower_count, page_verified, category, last_funding_amount_usd, last_funding_date, funding_stage_normalized, has_funding. Operators \(type\): =, !=, like, not_like, in, not_in, &gt;, &gt;=, &lt;, &lt;=, between. Use an array value for "in"/"not_in"; for "between" set value \(min\) and value2 \(max\). Example: \{"op":"and","conditions":\[\{"column":"industry","type":"like","value":"software development"\},\{"column":"employee_count","type":"between","value":51,"value2":500\},\{"column":"funding_stage_normalized","type":"in","value":\["series_a","series_b"\]\}\]\} |
52+
| `count` | number | No | Max results to return \(default 25, max 100\) |
53+
| `offset` | number | No | Pagination offset, e.g. 25, 50 \(default 0\) |
54+
55+
#### Output
56+
57+
| Parameter | Type | Description |
58+
| --------- | ---- | ----------- |
59+
| `results` | json | Array of matching companies: each with name, domain, industry, headcount, location, funding and LinkedIn data |
60+
| `total` | number | Total number of companies matching the filters |
61+
| `count` | number | Number of companies returned in this page |
62+
63+
### `dataforb2b_reasoning_search`
64+
65+
Natural-language search for people, leads or companies with DataForB2B. Describe your ideal lead or ICP in plain English (e.g. \
66+
67+
#### Input
68+
69+
| Parameter | Type | Required | Description |
70+
| --------- | ---- | -------- | ----------- |
71+
| `apiKey` | string | Yes | DataForB2B API key \(https://app.dataforb2b.ai\) |
72+
| `query` | string | No | Natural-language description of the ideal lead/company \(ICP\). Required on the first call. |
73+
| `category` | string | No | Search "people" or "companies" \(default people\) |
74+
| `max_results` | number | No | Max results, 1-100 \(default 25\) |
75+
| `session_id` | string | No | Session id from a previous "needs_input" response, to refine the search. |
76+
| `answers` | json | No | Answers to clarifying questions as a \{question_id: answer\} object, for a needs_input turn. |
77+
78+
#### Output
79+
80+
| Parameter | Type | Description |
81+
| --------- | ---- | ----------- |
82+
| `status` | string | "needs_input" when clarification is required, otherwise the search status |
83+
| `results` | json | Array of matching people or companies |
84+
| `total` | number | Total number of matches |
85+
| `count` | number | Number of results returned |
86+
| `session_id` | string | Session id to pass back with answers when status is needs_input |
87+
| `questions` | json | Clarifying questions \[\{id, text, suggestions\}\] when status is needs_input |
88+
| `applied_filters` | json | Structured filters the agent applied; reuse with search/people\|companies for paging |
89+
90+
### `dataforb2b_typeahead`
91+
92+
Resolve the exact stored value for a free-text filter (company, industry, job title, skill, school, location, investor, category) before a people or company search on DataForB2B. Use it to normalize free text, or when a search returns few or no results.
93+
94+
#### Input
95+
96+
| Parameter | Type | Required | Description |
97+
| --------- | ---- | -------- | ----------- |
98+
| `apiKey` | string | Yes | DataForB2B API key \(https://app.dataforb2b.ai\) |
99+
| `type` | string | Yes | Which kind of value to resolve. One of: company, people_industry, company_industry, category, location, city, region, school, title, skill, investor |
100+
| `q` | string | Yes | Free-text query \(1-100 chars\) to resolve to a stored value |
101+
| `limit` | number | No | Max suggestions, 1-20 \(default 20\) |
102+
103+
#### Output
104+
105+
| Parameter | Type | Description |
106+
| --------- | ---- | ----------- |
107+
| `results` | json | Suggestions ordered by popularity; each has the exact stored value to use in a search filter |
108+
109+
### `dataforb2b_enrich_profile`
110+
111+
Look up and enrich a professional profile from a LinkedIn URL with DataForB2B. Returns the full profile (current role, experience, skills) plus work email, personal email, phone and GitHub. An email finder for lead enrichment. At least one enrich_* flag is used (defaults to the full profile).
112+
113+
#### Input
114+
115+
| Parameter | Type | Required | Description |
116+
| --------- | ---- | -------- | ----------- |
117+
| `apiKey` | string | Yes | DataForB2B API key \(https://app.dataforb2b.ai\) |
118+
| `profile_identifier` | string | Yes | LinkedIn profile URL, public id \(e.g. john-doe\) or encoded id \(prof_...\). Encoded id recommended. |
119+
| `enrich_profile` | boolean | No | Return the full profile \(role, experience, skills\) |
120+
| `enrich_work_email` | boolean | No | Find the professional/work email |
121+
| `enrich_personal_email` | boolean | No | Find the personal email |
122+
| `enrich_phone` | boolean | No | Find the phone number |
123+
| `enrich_github` | boolean | No | Find the GitHub profile |
124+
125+
#### Output
126+
127+
| Parameter | Type | Description |
128+
| --------- | ---- | ----------- |
129+
| `profile` | json | Enriched profile: identity, current role, experience, skills, education |
130+
| `work_email` | json | Professional/work email \(when requested\) |
131+
| `personal_email` | json | Personal email \(when requested\) |
132+
| `phone` | json | Phone number \(when requested\) |
133+
| `git_profile` | json | GitHub profile \(when requested\) |
134+
135+
### `dataforb2b_enrich_company`
136+
137+
Look up and enrich a company with DataForB2B from a company domain, name, slug or LinkedIn URL. Returns firmographics, headcount/size, industry, domain and social profiles. Account enrichment for B2B sales and CRM.
138+
139+
#### Input
140+
141+
| Parameter | Type | Required | Description |
142+
| --------- | ---- | -------- | ----------- |
143+
| `apiKey` | string | Yes | DataForB2B API key \(https://app.dataforb2b.ai\) |
144+
| `company_identifier` | string | Yes | Company slug \(e.g. google\), domain \(e.g. google.com\), name or LinkedIn company URL. Slugs resolve most reliably. |
145+
146+
#### Output
147+
148+
| Parameter | Type | Description |
149+
| --------- | ---- | ----------- |
150+
| `company` | json | Enriched company: name, domain, industry, headcount/size, location, founded year, funding and social profiles |
151+
152+

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242
"dagster",
4343
"databricks",
4444
"datadog",
45+
"dataforb2b",
4546
"datagma",
4647
"daytona",
4748
"deployments",

0 commit comments

Comments
 (0)