@bubblelab/bubble-core 0.1.23 → 0.1.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bubble-bundle.d.ts +55 -55
- package/dist/bubbles/service-bubble/agi-inc.d.ts +4 -4
- package/dist/bubbles/service-bubble/ai-agent.d.ts +8 -8
- package/dist/bubbles/service-bubble/airtable.d.ts +80 -80
- package/dist/bubbles/service-bubble/browserbase/browserbase.d.ts +9 -9
- package/dist/bubbles/service-bubble/crustdata/crustdata.d.ts +382 -382
- package/dist/bubbles/service-bubble/crustdata/crustdata.d.ts.map +1 -1
- package/dist/bubbles/service-bubble/crustdata/crustdata.js +7 -6
- package/dist/bubbles/service-bubble/crustdata/crustdata.js.map +1 -1
- package/dist/bubbles/service-bubble/crustdata/crustdata.schema.d.ts +432 -432
- package/dist/bubbles/service-bubble/crustdata/crustdata.schema.d.ts.map +1 -1
- package/dist/bubbles/service-bubble/crustdata/crustdata.schema.js +15 -9
- package/dist/bubbles/service-bubble/crustdata/crustdata.schema.js.map +1 -1
- package/dist/bubbles/service-bubble/firecrawl.d.ts +36 -36
- package/dist/bubbles/service-bubble/followupboss.d.ts +40 -40
- package/dist/bubbles/service-bubble/github.d.ts +52 -52
- package/dist/bubbles/service-bubble/gmail.d.ts +114 -114
- package/dist/bubbles/service-bubble/google-calendar.d.ts +16 -16
- package/dist/bubbles/service-bubble/google-drive.d.ts +14 -14
- package/dist/bubbles/service-bubble/google-drive.d.ts.map +1 -1
- package/dist/bubbles/service-bubble/google-drive.js +22 -1
- package/dist/bubbles/service-bubble/google-drive.js.map +1 -1
- package/dist/bubbles/service-bubble/google-sheets/google-sheets.d.ts +8 -8
- package/dist/bubbles/service-bubble/hello-world.d.ts +2 -2
- package/dist/bubbles/service-bubble/http.d.ts +8 -8
- package/dist/bubbles/service-bubble/notion/notion.d.ts +444 -444
- package/dist/bubbles/service-bubble/resend.d.ts +8 -8
- package/dist/bubbles/service-bubble/slack/slack.d.ts +132 -132
- package/dist/bubbles/service-bubble/storage.d.ts +20 -20
- package/dist/bubbles/service-bubble/telegram.d.ts +148 -148
- package/dist/bubbles/tool-bubble/bubbleflow-validation-tool.d.ts +8 -8
- package/dist/bubbles/tool-bubble/company-enrichment-tool.d.ts +101 -101
- package/dist/bubbles/tool-bubble/company-enrichment-tool.d.ts.map +1 -1
- package/dist/bubbles/tool-bubble/company-enrichment-tool.js +29 -8
- package/dist/bubbles/tool-bubble/company-enrichment-tool.js.map +1 -1
- package/dist/bubbles/tool-bubble/google-maps-tool.d.ts +20 -20
- package/dist/bubbles/tool-bubble/linkedin-tool.d.ts +44 -44
- package/dist/bubbles/tool-bubble/list-bubbles-tool.d.ts +12 -12
- package/dist/bubbles/tool-bubble/people-search-tool.d.ts +119 -119
- package/dist/bubbles/tool-bubble/people-search-tool.d.ts.map +1 -1
- package/dist/bubbles/tool-bubble/people-search-tool.js +31 -10
- package/dist/bubbles/tool-bubble/people-search-tool.js.map +1 -1
- package/dist/bubbles/tool-bubble/research-agent-tool.d.ts +4 -4
- package/dist/bubbles/tool-bubble/twitter-tool.d.ts +18 -18
- package/dist/bubbles/tool-bubble/web-scrape-tool.d.ts +4 -4
- package/dist/bubbles/tool-bubble/web-search-tool.d.ts +4 -4
- package/dist/bubbles/tool-bubble/youtube-tool.d.ts +10 -10
- package/dist/bubbles/workflow-bubble/generate-document.workflow.d.ts +8 -8
- package/dist/bubbles/workflow-bubble/pdf-form-operations.workflow.d.ts +22 -22
- package/dist/bubbles.json +7 -7
- package/package.json +2 -2
|
@@ -80,8 +80,8 @@ declare const PDFFormOperationsParamsSchema: z.ZodDiscriminatedUnion<"operation"
|
|
|
80
80
|
pages: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
|
|
81
81
|
credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>;
|
|
82
82
|
}, "strip", z.ZodTypeAny, {
|
|
83
|
-
operation: "convert-to-images";
|
|
84
83
|
format: "png" | "jpeg";
|
|
84
|
+
operation: "convert-to-images";
|
|
85
85
|
quality: number;
|
|
86
86
|
pdfData: string;
|
|
87
87
|
dpi: number;
|
|
@@ -136,8 +136,8 @@ declare const PDFFormOperationsResultSchema: z.ZodDiscriminatedUnion<"operation"
|
|
|
136
136
|
label: z.ZodString;
|
|
137
137
|
potential_labels: z.ZodArray<z.ZodString, "many">;
|
|
138
138
|
}, "strip", z.ZodTypeAny, {
|
|
139
|
-
type: string;
|
|
140
139
|
name: string;
|
|
140
|
+
type: string;
|
|
141
141
|
id: number;
|
|
142
142
|
width: number;
|
|
143
143
|
height: number;
|
|
@@ -152,8 +152,8 @@ declare const PDFFormOperationsResultSchema: z.ZodDiscriminatedUnion<"operation"
|
|
|
152
152
|
field_flags: number;
|
|
153
153
|
potential_labels: string[];
|
|
154
154
|
}, {
|
|
155
|
-
type: string;
|
|
156
155
|
name: string;
|
|
156
|
+
type: string;
|
|
157
157
|
id: number;
|
|
158
158
|
width: number;
|
|
159
159
|
height: number;
|
|
@@ -174,8 +174,8 @@ declare const PDFFormOperationsResultSchema: z.ZodDiscriminatedUnion<"operation"
|
|
|
174
174
|
}, "strip", z.ZodTypeAny, {
|
|
175
175
|
operation: "discover";
|
|
176
176
|
fields: {
|
|
177
|
-
type: string;
|
|
178
177
|
name: string;
|
|
178
|
+
type: string;
|
|
179
179
|
id: number;
|
|
180
180
|
width: number;
|
|
181
181
|
height: number;
|
|
@@ -196,8 +196,8 @@ declare const PDFFormOperationsResultSchema: z.ZodDiscriminatedUnion<"operation"
|
|
|
196
196
|
}, {
|
|
197
197
|
operation: "discover";
|
|
198
198
|
fields: {
|
|
199
|
-
type: string;
|
|
200
199
|
name: string;
|
|
200
|
+
type: string;
|
|
201
201
|
id: number;
|
|
202
202
|
width: number;
|
|
203
203
|
height: number;
|
|
@@ -408,16 +408,16 @@ declare const PDFFormOperationsResultSchema: z.ZodDiscriminatedUnion<"operation"
|
|
|
408
408
|
x: z.ZodNumber;
|
|
409
409
|
y: z.ZodNumber;
|
|
410
410
|
}, "strip", z.ZodTypeAny, {
|
|
411
|
+
name: string;
|
|
411
412
|
value: string;
|
|
412
413
|
type: string;
|
|
413
|
-
name: string;
|
|
414
414
|
id: number;
|
|
415
415
|
x: number;
|
|
416
416
|
y: number;
|
|
417
417
|
}, {
|
|
418
|
+
name: string;
|
|
418
419
|
value: string;
|
|
419
420
|
type: string;
|
|
420
|
-
name: string;
|
|
421
421
|
id: number;
|
|
422
422
|
x: number;
|
|
423
423
|
y: number;
|
|
@@ -426,9 +426,9 @@ declare const PDFFormOperationsResultSchema: z.ZodDiscriminatedUnion<"operation"
|
|
|
426
426
|
pageNumber: number;
|
|
427
427
|
markdown: string;
|
|
428
428
|
formFields?: {
|
|
429
|
+
name: string;
|
|
429
430
|
value: string;
|
|
430
431
|
type: string;
|
|
431
|
-
name: string;
|
|
432
432
|
id: number;
|
|
433
433
|
x: number;
|
|
434
434
|
y: number;
|
|
@@ -437,9 +437,9 @@ declare const PDFFormOperationsResultSchema: z.ZodDiscriminatedUnion<"operation"
|
|
|
437
437
|
pageNumber: number;
|
|
438
438
|
markdown: string;
|
|
439
439
|
formFields?: {
|
|
440
|
+
name: string;
|
|
440
441
|
value: string;
|
|
441
442
|
type: string;
|
|
442
|
-
name: string;
|
|
443
443
|
id: number;
|
|
444
444
|
x: number;
|
|
445
445
|
y: number;
|
|
@@ -457,9 +457,9 @@ declare const PDFFormOperationsResultSchema: z.ZodDiscriminatedUnion<"operation"
|
|
|
457
457
|
pageNumber: number;
|
|
458
458
|
markdown: string;
|
|
459
459
|
formFields?: {
|
|
460
|
+
name: string;
|
|
460
461
|
value: string;
|
|
461
462
|
type: string;
|
|
462
|
-
name: string;
|
|
463
463
|
id: number;
|
|
464
464
|
x: number;
|
|
465
465
|
y: number;
|
|
@@ -476,9 +476,9 @@ declare const PDFFormOperationsResultSchema: z.ZodDiscriminatedUnion<"operation"
|
|
|
476
476
|
pageNumber: number;
|
|
477
477
|
markdown: string;
|
|
478
478
|
formFields?: {
|
|
479
|
+
name: string;
|
|
479
480
|
value: string;
|
|
480
481
|
type: string;
|
|
481
|
-
name: string;
|
|
482
482
|
id: number;
|
|
483
483
|
x: number;
|
|
484
484
|
y: number;
|
|
@@ -562,8 +562,8 @@ export declare class PDFFormOperationsWorkflow<T extends PDFFormOperationsParams
|
|
|
562
562
|
pages: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
|
|
563
563
|
credentials: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof CredentialType>, z.ZodString>>;
|
|
564
564
|
}, "strip", z.ZodTypeAny, {
|
|
565
|
-
operation: "convert-to-images";
|
|
566
565
|
format: "png" | "jpeg";
|
|
566
|
+
operation: "convert-to-images";
|
|
567
567
|
quality: number;
|
|
568
568
|
pdfData: string;
|
|
569
569
|
dpi: number;
|
|
@@ -615,8 +615,8 @@ export declare class PDFFormOperationsWorkflow<T extends PDFFormOperationsParams
|
|
|
615
615
|
label: z.ZodString;
|
|
616
616
|
potential_labels: z.ZodArray<z.ZodString, "many">;
|
|
617
617
|
}, "strip", z.ZodTypeAny, {
|
|
618
|
-
type: string;
|
|
619
618
|
name: string;
|
|
619
|
+
type: string;
|
|
620
620
|
id: number;
|
|
621
621
|
width: number;
|
|
622
622
|
height: number;
|
|
@@ -631,8 +631,8 @@ export declare class PDFFormOperationsWorkflow<T extends PDFFormOperationsParams
|
|
|
631
631
|
field_flags: number;
|
|
632
632
|
potential_labels: string[];
|
|
633
633
|
}, {
|
|
634
|
-
type: string;
|
|
635
634
|
name: string;
|
|
635
|
+
type: string;
|
|
636
636
|
id: number;
|
|
637
637
|
width: number;
|
|
638
638
|
height: number;
|
|
@@ -653,8 +653,8 @@ export declare class PDFFormOperationsWorkflow<T extends PDFFormOperationsParams
|
|
|
653
653
|
}, "strip", z.ZodTypeAny, {
|
|
654
654
|
operation: "discover";
|
|
655
655
|
fields: {
|
|
656
|
-
type: string;
|
|
657
656
|
name: string;
|
|
657
|
+
type: string;
|
|
658
658
|
id: number;
|
|
659
659
|
width: number;
|
|
660
660
|
height: number;
|
|
@@ -675,8 +675,8 @@ export declare class PDFFormOperationsWorkflow<T extends PDFFormOperationsParams
|
|
|
675
675
|
}, {
|
|
676
676
|
operation: "discover";
|
|
677
677
|
fields: {
|
|
678
|
-
type: string;
|
|
679
678
|
name: string;
|
|
679
|
+
type: string;
|
|
680
680
|
id: number;
|
|
681
681
|
width: number;
|
|
682
682
|
height: number;
|
|
@@ -887,16 +887,16 @@ export declare class PDFFormOperationsWorkflow<T extends PDFFormOperationsParams
|
|
|
887
887
|
x: z.ZodNumber;
|
|
888
888
|
y: z.ZodNumber;
|
|
889
889
|
}, "strip", z.ZodTypeAny, {
|
|
890
|
+
name: string;
|
|
890
891
|
value: string;
|
|
891
892
|
type: string;
|
|
892
|
-
name: string;
|
|
893
893
|
id: number;
|
|
894
894
|
x: number;
|
|
895
895
|
y: number;
|
|
896
896
|
}, {
|
|
897
|
+
name: string;
|
|
897
898
|
value: string;
|
|
898
899
|
type: string;
|
|
899
|
-
name: string;
|
|
900
900
|
id: number;
|
|
901
901
|
x: number;
|
|
902
902
|
y: number;
|
|
@@ -905,9 +905,9 @@ export declare class PDFFormOperationsWorkflow<T extends PDFFormOperationsParams
|
|
|
905
905
|
pageNumber: number;
|
|
906
906
|
markdown: string;
|
|
907
907
|
formFields?: {
|
|
908
|
+
name: string;
|
|
908
909
|
value: string;
|
|
909
910
|
type: string;
|
|
910
|
-
name: string;
|
|
911
911
|
id: number;
|
|
912
912
|
x: number;
|
|
913
913
|
y: number;
|
|
@@ -916,9 +916,9 @@ export declare class PDFFormOperationsWorkflow<T extends PDFFormOperationsParams
|
|
|
916
916
|
pageNumber: number;
|
|
917
917
|
markdown: string;
|
|
918
918
|
formFields?: {
|
|
919
|
+
name: string;
|
|
919
920
|
value: string;
|
|
920
921
|
type: string;
|
|
921
|
-
name: string;
|
|
922
922
|
id: number;
|
|
923
923
|
x: number;
|
|
924
924
|
y: number;
|
|
@@ -936,9 +936,9 @@ export declare class PDFFormOperationsWorkflow<T extends PDFFormOperationsParams
|
|
|
936
936
|
pageNumber: number;
|
|
937
937
|
markdown: string;
|
|
938
938
|
formFields?: {
|
|
939
|
+
name: string;
|
|
939
940
|
value: string;
|
|
940
941
|
type: string;
|
|
941
|
-
name: string;
|
|
942
942
|
id: number;
|
|
943
943
|
x: number;
|
|
944
944
|
y: number;
|
|
@@ -955,9 +955,9 @@ export declare class PDFFormOperationsWorkflow<T extends PDFFormOperationsParams
|
|
|
955
955
|
pageNumber: number;
|
|
956
956
|
markdown: string;
|
|
957
957
|
formFields?: {
|
|
958
|
+
name: string;
|
|
958
959
|
value: string;
|
|
959
960
|
type: string;
|
|
960
|
-
name: string;
|
|
961
961
|
id: number;
|
|
962
962
|
x: number;
|
|
963
963
|
y: number;
|
package/dist/bubbles.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": "1.0.0",
|
|
3
|
-
"generatedAt": "2026-01-
|
|
3
|
+
"generatedAt": "2026-01-20T18:53:34.542Z",
|
|
4
4
|
"totalCount": 53,
|
|
5
5
|
"bubbles": [
|
|
6
6
|
{
|
|
@@ -672,9 +672,9 @@
|
|
|
672
672
|
"type": "tool",
|
|
673
673
|
"shortDescription": "Comprehensive people search by company, title, location, skills, and more",
|
|
674
674
|
"useCase": "General purpose bubble for various workflow needs",
|
|
675
|
-
"inputSchema": "{\n companyName: string | undefined // Current company name to search within (e.g., \"Google\", \"Microsoft\"),\n companyLinkedinUrl: string | undefined // Company LinkedIn URL for precise matching (e.g., \"https://www.linkedin.com/company/google\"),\n jobTitle: string | undefined // Current job title to search for (e.g., \"Software Engineer\", \"CEO\"). Use jobTitles array for multiple titles.,\n jobTitles: string[] | undefined // Multiple job titles to search for with OR logic (e.g., [\"Senior Hardware Engineer\", \"Technical Product Manager\"]). Use this when searching for people with any of several roles.,\n location: string | undefined // Location/region to filter by with fuzzy matching (e.g., \"San Francisco Bay Area\", \"New York\"),\n locationRadius: { location: string // Center point location (e.g., \"San Francisco\", \"New York City\"), radiusMiles: number // Search radius in miles (e.g., 75) } | undefined // Geographic radius search - find people within X miles of a location,\n skills: string[] | undefined // Skills to filter by (e.g., [\"Python\", \"Machine Learning\", \"React\"]),\n languages: string[] | undefined // Languages spoken (e.g., [\"English\", \"Spanish\", \"Mandarin\"]),\n minYearsExperience: number | undefined // Minimum total years of professional experience,\n maxYearsExperience: number | undefined // Maximum total years of professional experience,\n seniorityLevels: string[] | undefined // Seniority levels (e.g., [\"CXO\", \"Vice President\", \"Director\", \"Manager\", \"Senior\", \"Entry\"]),\n functionCategories: string[] | undefined // Job function categories (e.g., [\"Engineering\", \"Sales\", \"Marketing\", \"Finance\", \"Operations\", \"HR\"]),\n companyIndustries: string[] | undefined // Company industries to filter by (e.g., [\"Technology\", \"Healthcare\", \"Finance\"]),\n minCompanyHeadcount: number | undefined // Minimum company employee count (e.g., 100 for companies with 100+ employees),\n maxCompanyHeadcount: number | undefined // Maximum company employee count (e.g., 1000 for companies under 1000 employees),\n minYearsAtCompany: number | undefined // Minimum years at current company (tenure filter),\n pastCompanyName: string | undefined // Past company name - find people who previously worked at a company,\n pastJobTitle: string | undefined // Past job title - find people who previously held a specific title,\n schoolName: string | undefined // School/university name (e.g., \"Stanford University\", \"MIT\"),\n country: string | undefined // Country to filter by (e.g., \"United States\", \"United Kingdom\", \"Germany\"),\n city: string | undefined // City to filter by (e.g., \"San Francisco\", \"New York\", \"London\"),\n recentlyChangedJobs: boolean | undefined // Filter to people who recently changed jobs (useful for outreach),\n minConnections: number | undefined // Minimum number of LinkedIn connections,\n excludeCompanies: string[] | undefined // Company names to exclude from results,\n excludeProfiles: string[] | undefined // LinkedIn profile URLs to exclude from results,\n limit: number | undefined // Maximum results to return (default:
|
|
676
|
-
"outputSchema": "{\n people: { name: string | null // Full name, title: string | null // Current job title, headline: string | null // LinkedIn headline, linkedinUrl: string | null // LinkedIn profile URL, profilePictureUrl: string | null // Profile picture URL, emails: string[] | null // Email addresses, twitterHandle: string | null // Twitter/X handle, websites: string[] | null // Personal/professional websites, seniorityLevel: string | null // Seniority level (CXO, Vice President, Director, etc.), yearsOfExperience: number | null // Total years of professional experience, recentlyChangedJobs: boolean | null // Whether this person recently changed jobs, location: string | null // Location/region, locationCity: string | null // City, locationCountry: string | null // Country, skills: string[] | null // Professional skills, languages: string[] | null // Languages spoken, summary: string | null // Professional summary, numConnections: number | null // Number of LinkedIn connections, currentEmployers: { title: string | null // Job title, companyName: string | null // Company name, companyLinkedinUrl: string | null // Company LinkedIn URL, seniorityLevel: string | null // Seniority level, functionCategory: string | null // Function category, startDate:
|
|
677
|
-
"usageExample": "// Example usage of people-search-tool bubble\nconst peopleSearchTool = new PeopleSearchTool({\n companyName: \"example string\", // Current company name to search within (e.g., \"Google\", \"Microsoft\"),\n companyLinkedinUrl: \"example string\", // Company LinkedIn URL for precise matching (e.g., \"https://www.linkedin.com/company/google\"),\n jobTitle: \"example string\", // Current job title to search for (e.g., \"Software Engineer\", \"CEO\"). Use jobTitles array for multiple titles.,\n jobTitles: [\"example string\"], // Multiple job titles to search for with OR logic (e.g., [\"Senior Hardware Engineer\", \"Technical Product Manager\"]). Use this when searching for people with any of several roles.,\n location: \"example string\", // Location/region to filter by with fuzzy matching (e.g., \"San Francisco Bay Area\", \"New York\"),\n locationRadius: { location: \"example string\" // Center point location (e.g., \"San Francisco\", \"New York City\"), radiusMiles: 42 // Search radius in miles (e.g., 75) }, // Geographic radius search - find people within X miles of a location,\n skills: [\"example string\"], // Skills to filter by (e.g., [\"Python\", \"Machine Learning\", \"React\"]),\n languages: [\"example string\"], // Languages spoken (e.g., [\"English\", \"Spanish\", \"Mandarin\"]),\n minYearsExperience: 42, // Minimum total years of professional experience,\n maxYearsExperience: 42, // Maximum total years of professional experience,\n seniorityLevels: [\"example string\"], // Seniority levels (e.g., [\"CXO\", \"Vice President\", \"Director\", \"Manager\", \"Senior\", \"Entry\"]),\n functionCategories: [\"example string\"], // Job function categories (e.g., [\"Engineering\", \"Sales\", \"Marketing\", \"Finance\", \"Operations\", \"HR\"]),\n companyIndustries: [\"example string\"], // Company industries to filter by (e.g., [\"Technology\", \"Healthcare\", \"Finance\"]),\n minCompanyHeadcount: 42, // Minimum company employee count (e.g., 100 for companies with 100+ employees),\n maxCompanyHeadcount: 42, // Maximum company employee count (e.g., 1000 for companies under 1000 employees),\n minYearsAtCompany: 42, // Minimum years at current company (tenure filter),\n pastCompanyName: \"example string\", // Past company name - find people who previously worked at a company,\n pastJobTitle: \"example string\", // Past job title - find people who previously held a specific title,\n schoolName: \"example string\", // School/university name (e.g., \"Stanford University\", \"MIT\"),\n country: \"example string\", // Country to filter by (e.g., \"United States\", \"United Kingdom\", \"Germany\"),\n city: \"example string\", // City to filter by (e.g., \"San Francisco\", \"New York\", \"London\"),\n recentlyChangedJobs: true, // Filter to people who recently changed jobs (useful for outreach),\n minConnections: 42, // Minimum number of LinkedIn connections,\n excludeCompanies: [\"example string\"], // Company names to exclude from results,\n excludeProfiles: [\"example string\"], // LinkedIn profile URLs to exclude from results,\n limit:
|
|
675
|
+
"inputSchema": "{\n companyName: string | undefined // Current company name to search within (e.g., \"Google\", \"Microsoft\"),\n companyLinkedinUrl: string | undefined // Company LinkedIn URL for precise matching (e.g., \"https://www.linkedin.com/company/google\"),\n jobTitle: string | undefined // Current job title to search for (e.g., \"Software Engineer\", \"CEO\"). Use jobTitles array for multiple titles.,\n jobTitles: string[] | undefined // Multiple job titles to search for with OR logic (e.g., [\"Senior Hardware Engineer\", \"Technical Product Manager\"]). Use this when searching for people with any of several roles.,\n location: string | undefined // Location/region to filter by with fuzzy matching (e.g., \"San Francisco Bay Area\", \"New York\"),\n locationRadius: { location: string // Center point location (e.g., \"San Francisco\", \"New York City\"), radiusMiles: number // Search radius in miles (e.g., 75) } | undefined // Geographic radius search - find people within X miles of a location,\n skills: string[] | undefined // Skills to filter by (e.g., [\"Python\", \"Machine Learning\", \"React\"]),\n languages: string[] | undefined // Languages spoken (e.g., [\"English\", \"Spanish\", \"Mandarin\"]),\n minYearsExperience: number | undefined // Minimum total years of professional experience,\n maxYearsExperience: number | undefined // Maximum total years of professional experience,\n seniorityLevels: string[] | undefined // Seniority levels (e.g., [\"CXO\", \"Vice President\", \"Director\", \"Manager\", \"Senior\", \"Entry\"]),\n functionCategories: string[] | undefined // Job function categories (e.g., [\"Engineering\", \"Sales\", \"Marketing\", \"Finance\", \"Operations\", \"HR\"]),\n companyIndustries: string[] | undefined // Company industries to filter by (e.g., [\"Technology\", \"Healthcare\", \"Finance\"]),\n minCompanyHeadcount: number | undefined // Minimum company employee count (e.g., 100 for companies with 100+ employees),\n maxCompanyHeadcount: number | undefined // Maximum company employee count (e.g., 1000 for companies under 1000 employees),\n minYearsAtCompany: number | undefined // Minimum years at current company (tenure filter),\n pastCompanyName: string | undefined // Past company name - find people who previously worked at a company,\n pastJobTitle: string | undefined // Past job title - find people who previously held a specific title,\n schoolName: string | undefined // School/university name (e.g., \"Stanford University\", \"MIT\"),\n country: string | undefined // Country to filter by (e.g., \"United States\", \"United Kingdom\", \"Germany\"),\n city: string | undefined // City to filter by (e.g., \"San Francisco\", \"New York\", \"London\"),\n recentlyChangedJobs: boolean | undefined // Filter to people who recently changed jobs (useful for outreach),\n minConnections: number | undefined // Minimum number of LinkedIn connections,\n excludeCompanies: string[] | undefined // Company names to exclude from results,\n excludeProfiles: string[] | undefined // LinkedIn profile URLs to exclude from results,\n limit: number | undefined // Maximum results to return (default: 100, max: 1000),\n credentials: Record<string, string> | undefined // Required credentials (auto-injected)\n}",
|
|
676
|
+
"outputSchema": "{\n people: { name: string | null // Full name, title: string | null // Current job title, headline: string | null // LinkedIn headline, linkedinUrl: string | null // LinkedIn profile URL, profilePictureUrl: string | null // Profile picture URL, emails: string[] | null // Email addresses, twitterHandle: string | null // Twitter/X handle, websites: string[] | null // Personal/professional websites, seniorityLevel: string | null // Seniority level (CXO, Vice President, Director, etc.), yearsOfExperience: number | null // Total years of professional experience, recentlyChangedJobs: boolean | null // Whether this person recently changed jobs, location: string | null // Location/region, locationCity: string | null // City, locationCountry: string | null // Country, skills: string[] | null // Professional skills, languages: string[] | null // Languages spoken, summary: string | null // Professional summary, numConnections: number | null // Number of LinkedIn connections, currentEmployers: { title: string | null // Job title, companyName: string | null // Company name, companyLinkedinUrl: string | null // Company LinkedIn URL, seniorityLevel: string | null // Seniority level, functionCategory: string | null // Function category, startDate: unknown | null // Start date, yearsAtCompany: number | null // Years at company, companyHeadcount: number | null // Company headcount, companyIndustries: string[] | null // Company industries }[] | null // Current employment, pastEmployers: { title: string | null // Job title, companyName: string | null // Company name, startDate: unknown | null // Start date, endDate: unknown | null // End date }[] | null // Past employment, education: { instituteName: string | null // Institution name, degreeName: string | null // Degree name, fieldOfStudy: string | null // Field of study }[] | null // Education history }[] // List of people found,\n totalCount: number // Total number of people available,\n success: boolean // Whether the operation was successful,\n error: string // Error message if operation failed\n}",
|
|
677
|
+
"usageExample": "// Example usage of people-search-tool bubble\nconst peopleSearchTool = new PeopleSearchTool({\n companyName: \"example string\", // Current company name to search within (e.g., \"Google\", \"Microsoft\"),\n companyLinkedinUrl: \"example string\", // Company LinkedIn URL for precise matching (e.g., \"https://www.linkedin.com/company/google\"),\n jobTitle: \"example string\", // Current job title to search for (e.g., \"Software Engineer\", \"CEO\"). Use jobTitles array for multiple titles.,\n jobTitles: [\"example string\"], // Multiple job titles to search for with OR logic (e.g., [\"Senior Hardware Engineer\", \"Technical Product Manager\"]). Use this when searching for people with any of several roles.,\n location: \"example string\", // Location/region to filter by with fuzzy matching (e.g., \"San Francisco Bay Area\", \"New York\"),\n locationRadius: { location: \"example string\" // Center point location (e.g., \"San Francisco\", \"New York City\"), radiusMiles: 42 // Search radius in miles (e.g., 75) }, // Geographic radius search - find people within X miles of a location,\n skills: [\"example string\"], // Skills to filter by (e.g., [\"Python\", \"Machine Learning\", \"React\"]),\n languages: [\"example string\"], // Languages spoken (e.g., [\"English\", \"Spanish\", \"Mandarin\"]),\n minYearsExperience: 42, // Minimum total years of professional experience,\n maxYearsExperience: 42, // Maximum total years of professional experience,\n seniorityLevels: [\"example string\"], // Seniority levels (e.g., [\"CXO\", \"Vice President\", \"Director\", \"Manager\", \"Senior\", \"Entry\"]),\n functionCategories: [\"example string\"], // Job function categories (e.g., [\"Engineering\", \"Sales\", \"Marketing\", \"Finance\", \"Operations\", \"HR\"]),\n companyIndustries: [\"example string\"], // Company industries to filter by (e.g., [\"Technology\", \"Healthcare\", \"Finance\"]),\n minCompanyHeadcount: 42, // Minimum company employee count (e.g., 100 for companies with 100+ employees),\n maxCompanyHeadcount: 42, // Maximum company employee count (e.g., 1000 for companies under 1000 employees),\n minYearsAtCompany: 42, // Minimum years at current company (tenure filter),\n pastCompanyName: \"example string\", // Past company name - find people who previously worked at a company,\n pastJobTitle: \"example string\", // Past job title - find people who previously held a specific title,\n schoolName: \"example string\", // School/university name (e.g., \"Stanford University\", \"MIT\"),\n country: \"example string\", // Country to filter by (e.g., \"United States\", \"United Kingdom\", \"Germany\"),\n city: \"example string\", // City to filter by (e.g., \"San Francisco\", \"New York\", \"London\"),\n recentlyChangedJobs: true, // Filter to people who recently changed jobs (useful for outreach),\n minConnections: 42, // Minimum number of LinkedIn connections,\n excludeCompanies: [\"example string\"], // Company names to exclude from results,\n excludeProfiles: [\"example string\"], // LinkedIn profile URLs to exclude from results,\n limit: 100 // default, // Maximum results to return (default: 100, max: 1000),\n});\n\nconst result = await peopleSearchTool.action();\n\n// Always check success status before using data\nif (!result.success) {\n throw new Error(`${metadata.name} failed: ${result.error}`);\n}\n\n// outputSchema for result.data:\n// {\n// people: { name: string | null // Full name, title: string | null // Current job title, headline: string | null // LinkedIn headline, linkedinUrl: string | null // LinkedIn profile URL, profilePictureUrl: string | null // Profile picture URL, emails: string[] | null // Email addresses, twitterHandle: string | null // Twitter/X handle, websites: string[] | null // Personal/professional websites, seniorityLevel: string | null // Seniority level (CXO, Vice President, Director, etc.), yearsOfExperience: number | null // Total years of professional experience, recentlyChangedJobs: boolean | null // Whether this person recently changed jobs, location: string | null // Location/region, locationCity: string | null // City, locationCountry: string | null // Country, skills: string[] | null // Professional skills, languages: string[] | null // Languages spoken, summary: string | null // Professional summary, numConnections: number | null // Number of LinkedIn connections, currentEmployers: { title: string | null // Job title, companyName: string | null // Company name, companyLinkedinUrl: string | null // Company LinkedIn URL, seniorityLevel: string | null // Seniority level, functionCategory: string | null // Function category, startDate: unknown | null // Start date, yearsAtCompany: number | null // Years at company, companyHeadcount: number | null // Company headcount, companyIndustries: string[] | null // Company industries }[] | null // Current employment, pastEmployers: { title: string | null // Job title, companyName: string | null // Company name, startDate: unknown | null // Start date, endDate: unknown | null // End date }[] | null // Past employment, education: { instituteName: string | null // Institution name, degreeName: string | null // Degree name, fieldOfStudy: string | null // Field of study }[] | null // Education history }[] // List of people found,\n// totalCount: number // Total number of people available,\n// success: boolean // Whether the operation was successful,\n// error: string // Error message if operation failed\n// }\n\n// Access the actual data\nconst actualData = result.data;\nconsole.log(actualData);",
|
|
678
678
|
"requiredCredentials": [
|
|
679
679
|
"CRUSTDATA_API_KEY"
|
|
680
680
|
]
|
|
@@ -702,7 +702,7 @@
|
|
|
702
702
|
"useCase": "- Lead generation and sales prospecting",
|
|
703
703
|
"inputSchema": "Complex schema - see usage example for structure",
|
|
704
704
|
"outputSchema": "Complex schema - see usage example for structure",
|
|
705
|
-
"usageExample": "// Identify example\nconst crustdata_identify = new CrustdataBubble({\n operation: \"identify\", // Identify a company and get its Crustdata ID (FREE)\n query_company_name: \"example string\", // Company name to search for\n query_company_website: \"example string\", // Company website domain (e.g., \"stripe.com\")\n query_company_linkedin_url: \"example string\", // Company LinkedIn URL\n count: 1 // default, // Maximum number of results to return (default: 1, max: 25)\n});\n\nconst result = await crustdata_identify.action();\n// outputSchema for result.data when operation === 'identify':\n// {\n// operation: \"identify\" // Company identification operation,\n// success: boolean // Whether the operation was successful,\n// results: { company_id: number | null | undefined, company_name: string | null | undefined, linkedin_profile_url: string | null | undefined, company_website_domain: string | null | undefined, linkedin_headcount: number | null | undefined, score: number | null | undefined }[] | undefined // Array of matching companies,\n// error: string // Error message if operation failed\n// }\n\n\n// Enrich example\nconst crustdata_enrich = new CrustdataBubble({\n operation: \"enrich\", // Enrich company data with contacts (1 credit)\n company_domain: \"example string\", // Company website domain (e.g., \"stripe.com\")\n company_linkedin_url: \"example string\", // Company LinkedIn URL\n company_id: 42, // Crustdata company ID (from identify operation)\n fields: \"decision_makers,cxos,founders.profiles\" // default, // Comma-separated fields to retrieve (default: \"decision_makers,cxos,founders.profiles\")\n enrich_realtime: false // default, // If true, fetch fresh data from LinkedIn (slower but more accurate)\n});\n\nconst result = await crustdata_enrich.action();\n// outputSchema for result.data when operation === 'enrich':\n// {\n// operation: \"enrich\" // Company enrichment operation,\n// success: boolean // Whether the operation was successful,\n// company: { name: string | null | undefined, linkedin_id: string | null | undefined, linkedin_profile_url: string | null | undefined, company_website_domain: string | null | undefined, company_website: string | null | undefined, hq_country: string | null | undefined, hq_city: string | null | undefined, year_founded: string | null | undefined, headcount: number | null | undefined, linkedin_headcount: number | null | undefined, linkedin_followers: number | null | undefined, industry: string | null | undefined, description: string | null | undefined, all_industries: string[] | null | undefined, estimated_revenue: string | null | undefined, funding_stage: string | null | undefined, total_funding: string | null | undefined, last_funding_round_date: string | null | undefined, last_funding_round_type: string | null | undefined } | null | undefined // Enriched company information,\n// decision_makers: { linkedin_profile_url: string | null | undefined, linkedin_flagship_url: string | null | undefined, name: string | null | undefined, first_name: string | null | undefined, last_name: string | null | undefined, headline: string | null | undefined, location: string | null | undefined, profile_picture_url: string | null | undefined, title: string | null | undefined, emails: string[] | null | undefined, twitter_handle: string | null | undefined, github_profile_id: string | null | undefined, skills: string[] | null | undefined, languages: string[] | null | undefined, summary: string | null | undefined, current_positions: { title: string | null | undefined, company_name: string | null | undefined, company_linkedin_url: string | null | undefined, start_date: string | null | undefined, description: string | null | undefined }[] | null | undefined, past_positions: { title: string | null | undefined, company_name: string | null | undefined, start_date: string | null | undefined, end_date: string | null | undefined }[] | null | undefined, education: { institute_name: string | null | undefined, degree_name: string | null | undefined, field_of_study: string | null | undefined }[] | null | undefined }[] | null | undefined // Decision makers at the company,\n// cxos: { linkedin_profile_url: string | null | undefined, linkedin_flagship_url: string | null | undefined, name: string | null | undefined, first_name: string | null | undefined, last_name: string | null | undefined, headline: string | null | undefined, location: string | null | undefined, profile_picture_url: string | null | undefined, title: string | null | undefined, emails: string[] | null | undefined, twitter_handle: string | null | undefined, github_profile_id: string | null | undefined, skills: string[] | null | undefined, languages: string[] | null | undefined, summary: string | null | undefined, current_positions: { title: string | null | undefined, company_name: string | null | undefined, company_linkedin_url: string | null | undefined, start_date: string | null | undefined, description: string | null | undefined }[] | null | undefined, past_positions: { title: string | null | undefined, company_name: string | null | undefined, start_date: string | null | undefined, end_date: string | null | undefined }[] | null | undefined, education: { institute_name: string | null | undefined, degree_name: string | null | undefined, field_of_study: string | null | undefined }[] | null | undefined }[] | null | undefined // C-level executives at the company,\n// founders: { profiles: { linkedin_profile_url: string | null | undefined, linkedin_flagship_url: string | null | undefined, name: string | null | undefined, first_name: string | null | undefined, last_name: string | null | undefined, headline: string | null | undefined, location: string | null | undefined, profile_picture_url: string | null | undefined, title: string | null | undefined, emails: string[] | null | undefined, twitter_handle: string | null | undefined, github_profile_id: string | null | undefined, skills: string[] | null | undefined, languages: string[] | null | undefined, summary: string | null | undefined, current_positions: { title: string | null | undefined, company_name: string | null | undefined, company_linkedin_url: string | null | undefined, start_date: string | null | undefined, description: string | null | undefined }[] | null | undefined, past_positions: { title: string | null | undefined, company_name: string | null | undefined, start_date: string | null | undefined, end_date: string | null | undefined }[] | null | undefined, education: { institute_name: string | null | undefined, degree_name: string | null | undefined, field_of_study: string | null | undefined }[] | null | undefined }[] | null | undefined } | null | undefined // Founders of the company,\n// error: string // Error message if operation failed\n// }\n\n\n// Person Search Db example\nconst crustdata_person_search_db = new CrustdataBubble({\n operation: \"person_search_db\", // Search people in database with advanced filtering (3 credits per 100 results)\n filters: { column: \"example string\" // Field to filter on (e.g., \"current_employers.title\", \"region\"), type: \"=\" // options: \"=\", \"!=\", \"in\", \"not_in\", \">\", \"<\", \"=>\", \"=<\", \"(.)\", \"[.]\", \"geo_distance\" // Filter operator, value: { location: \"example string\" // Center point location name (e.g., \"San Francisco\"), distance: 42 // Radius distance, unit: \"km\" // options: \"km\", \"mi\", \"miles\", \"m\", \"meters\", \"ft\", \"feet\" // Distance unit (default: km) } // Value(s) to match }, // Filter conditions - single condition or nested AND/OR groups\n sorts: [{ column: \"example string\" // Field to sort by (e.g., \"years_of_experience_raw\", \"num_of_connections\"), order: \"asc\" // options: \"asc\", \"desc\" // Sort order }], // Sort criteria to order results\n cursor: \"example string\", // Pagination cursor from previous response\n limit: 20 // default, // Results per page (default: 20, max: 1,000)\n preview: false // default, // Preview mode returns basic profile details (0 credits)\n post_processing: { exclude_profiles: [\"example string\"] // LinkedIn profile URLs to exclude (max 50,000), exclude_names: [\"example string\"] // Names to exclude from results }, // Post-processing options like excluding profiles or names\n});\n\nconst result = await crustdata_person_search_db.action();\n// outputSchema for result.data when operation === 'person_search_db':\n// {\n// operation: \"person_search_db\" // PersonDB search operation,\n// success: boolean // Whether the operation was successful,\n// profiles: { person_id: number | undefined, name: string | null | undefined, first_name: string | null | undefined, last_name: string | null | undefined, headline: string | null | undefined, summary: string | null | undefined, region: string | null | undefined, location_details: { city: string | null | undefined, state: string | null | undefined, country: string | null | undefined, continent: string | null | undefined } | null | undefined, location_city: string | null | undefined, location_state: string | null | undefined, location_country: string | null | undefined, linkedin_profile_url: string | null | undefined, flagship_profile_url: string | null | undefined, profile_picture_url: string | null | undefined, num_of_connections: number | null | undefined, years_of_experience_raw: number | null | undefined, recently_changed_jobs: boolean | null | undefined, skills: string[] | null | undefined, languages: string[] | null | undefined, current_employers: { title: string | null | undefined, company_name: string | null | undefined, name: string | null | undefined, linkedin_id: string | null | undefined, company_linkedin_profile_url: string | null | undefined, company_website_domain: string | null | undefined, company_hq_location: string | null | undefined, company_type: string | null | undefined, company_headcount_latest: number | null | undefined, company_headcount_range: string | null | undefined, company_industries: string[] | null | undefined, seniority_level: string | null | undefined, function_category: string | null | undefined, start_date: string | null | undefined, end_date: string | null | undefined, years_at_company_raw: number | null | undefined, description: string | null | undefined, location: string | null | undefined }[] | null | undefined, past_employers: { title: string | null | undefined, company_name: string | null | undefined, name: string | null | undefined, linkedin_id: string | null | undefined, company_linkedin_profile_url: string | null | undefined, company_website_domain: string | null | undefined, company_hq_location: string | null | undefined, company_type: string | null | undefined, company_headcount_latest: number | null | undefined, company_headcount_range: string | null | undefined, company_industries: string[] | null | undefined, seniority_level: string | null | undefined, function_category: string | null | undefined, start_date: string | null | undefined, end_date: string | null | undefined, years_at_company_raw: number | null | undefined, description: string | null | undefined, location: string | null | undefined }[] | null | undefined, all_employers: { title: string | null | undefined, company_name: string | null | undefined, name: string | null | undefined, linkedin_id: string | null | undefined, company_linkedin_profile_url: string | null | undefined, company_website_domain: string | null | undefined, company_hq_location: string | null | undefined, company_type: string | null | undefined, company_headcount_latest: number | null | undefined, company_headcount_range: string | null | undefined, company_industries: string[] | null | undefined, seniority_level: string | null | undefined, function_category: string | null | undefined, start_date: string | null | undefined, end_date: string | null | undefined, years_at_company_raw: number | null | undefined, description: string | null | undefined, location: string | null | undefined }[] | null | undefined, education_background: { degree_name: string | null | undefined, institute_name: string | null | undefined, field_of_study: string | null | undefined, start_date: string | null | undefined, end_date: string | null | undefined }[] | null | undefined, certifications: { name: string | null | undefined, issued_date: string | null | undefined, issuing_authority: string | null | undefined }[] | null | undefined, honors: { title: string | null | undefined, issued_date: string | null | undefined, issuer: string | null | undefined }[] | null | undefined, emails: string[] | null | undefined, websites: string[] | null | undefined, twitter_handle: string | null | undefined }[] | undefined // Array of people profiles found,\n// total_count: number | undefined // Total number of profiles matching the search criteria,\n// next_cursor: string | undefined // Cursor for fetching the next page of results,\n// error: string // Error message if operation failed\n// }\n\n\n// Always check success status before using data\nif (!result.success) {\n throw new Error(`crustdata failed: ${result.error}`);\n}\n\n// Access the actual data\nconst actualData = result.data;\nconsole.log(actualData);",
|
|
705
|
+
"usageExample": "// Identify example\nconst crustdata_identify = new CrustdataBubble({\n operation: \"identify\", // Identify a company and get its Crustdata ID (FREE)\n query_company_name: \"example string\", // Company name to search for\n query_company_website: \"example string\", // Company website domain (e.g., \"stripe.com\")\n query_company_linkedin_url: \"example string\", // Company LinkedIn URL\n count: 1 // default, // Maximum number of results to return (default: 1, max: 25)\n});\n\nconst result = await crustdata_identify.action();\n// outputSchema for result.data when operation === 'identify':\n// {\n// operation: \"identify\" // Company identification operation,\n// success: boolean // Whether the operation was successful,\n// results: { company_id: number | null | undefined, company_name: string | null | undefined, linkedin_profile_url: string | null | undefined, company_website_domain: string | null | undefined, linkedin_headcount: number | null | undefined, score: number | null | undefined }[] | undefined // Array of matching companies,\n// error: string // Error message if operation failed\n// }\n\n\n// Enrich example\nconst crustdata_enrich = new CrustdataBubble({\n operation: \"enrich\", // Enrich company data with contacts (1 credit)\n company_domain: \"example string\", // Company website domain (e.g., \"stripe.com\")\n company_linkedin_url: \"example string\", // Company LinkedIn URL\n company_id: 42, // Crustdata company ID (from identify operation)\n fields: \"decision_makers,cxos,founders.profiles\" // default, // Comma-separated fields to retrieve (default: \"decision_makers,cxos,founders.profiles\")\n enrich_realtime: false // default, // If true, fetch fresh data from LinkedIn (slower but more accurate)\n});\n\nconst result = await crustdata_enrich.action();\n// outputSchema for result.data when operation === 'enrich':\n// {\n// operation: \"enrich\" // Company enrichment operation,\n// success: boolean // Whether the operation was successful,\n// company: { name: string | null | undefined, linkedin_id: string | null | undefined, linkedin_profile_url: string | null | undefined, company_website_domain: string | null | undefined, company_website: string | null | undefined, hq_country: string | null | undefined, hq_city: string | null | undefined, year_founded: string | null | undefined, headcount: number | null | undefined, linkedin_headcount: number | null | undefined, linkedin_followers: number | null | undefined, industry: string | null | undefined, description: string | null | undefined, all_industries: string[] | null | undefined, estimated_revenue: string | null | undefined, funding_stage: string | null | undefined, total_funding: string | null | undefined, last_funding_round_date: string | null | undefined, last_funding_round_type: string | null | undefined } | null | undefined // Enriched company information,\n// decision_makers: { linkedin_profile_url: string | null | undefined, linkedin_flagship_url: string | null | undefined, name: string | null | undefined, first_name: string | null | undefined, last_name: string | null | undefined, headline: string | null | undefined, location: string | null | undefined, profile_picture_url: string | null | undefined, title: string | null | undefined, emails: string[] | null | undefined, twitter_handle: string | null | undefined, github_profile_id: string | null | undefined, skills: string[] | null | undefined, languages: string[] | null | undefined, summary: string | null | undefined, current_positions: { title: string | null | undefined, company_name: string | null | undefined, company_linkedin_url: string | null | undefined, start_date: unknown | null | undefined, description: string | null | undefined }[] | null | undefined, past_positions: { title: string | null | undefined, company_name: string | null | undefined, start_date: unknown | null | undefined, end_date: unknown | null | undefined }[] | null | undefined, education: { institute_name: string | null | undefined, degree_name: string | null | undefined, field_of_study: string | null | undefined }[] | null | undefined }[] | null | undefined // Decision makers at the company,\n// cxos: { linkedin_profile_url: string | null | undefined, linkedin_flagship_url: string | null | undefined, name: string | null | undefined, first_name: string | null | undefined, last_name: string | null | undefined, headline: string | null | undefined, location: string | null | undefined, profile_picture_url: string | null | undefined, title: string | null | undefined, emails: string[] | null | undefined, twitter_handle: string | null | undefined, github_profile_id: string | null | undefined, skills: string[] | null | undefined, languages: string[] | null | undefined, summary: string | null | undefined, current_positions: { title: string | null | undefined, company_name: string | null | undefined, company_linkedin_url: string | null | undefined, start_date: unknown | null | undefined, description: string | null | undefined }[] | null | undefined, past_positions: { title: string | null | undefined, company_name: string | null | undefined, start_date: unknown | null | undefined, end_date: unknown | null | undefined }[] | null | undefined, education: { institute_name: string | null | undefined, degree_name: string | null | undefined, field_of_study: string | null | undefined }[] | null | undefined }[] | null | undefined // C-level executives at the company,\n// founders: { profiles: { linkedin_profile_url: string | null | undefined, linkedin_flagship_url: string | null | undefined, name: string | null | undefined, first_name: string | null | undefined, last_name: string | null | undefined, headline: string | null | undefined, location: string | null | undefined, profile_picture_url: string | null | undefined, title: string | null | undefined, emails: string[] | null | undefined, twitter_handle: string | null | undefined, github_profile_id: string | null | undefined, skills: string[] | null | undefined, languages: string[] | null | undefined, summary: string | null | undefined, current_positions: { title: string | null | undefined, company_name: string | null | undefined, company_linkedin_url: string | null | undefined, start_date: unknown | null | undefined, description: string | null | undefined }[] | null | undefined, past_positions: { title: string | null | undefined, company_name: string | null | undefined, start_date: unknown | null | undefined, end_date: unknown | null | undefined }[] | null | undefined, education: { institute_name: string | null | undefined, degree_name: string | null | undefined, field_of_study: string | null | undefined }[] | null | undefined }[] | null | undefined } | null | undefined // Founders of the company,\n// error: string // Error message if operation failed\n// }\n\n\n// Person Search Db example\nconst crustdata_person_search_db = new CrustdataBubble({\n operation: \"person_search_db\", // Search people in database with advanced filtering (3 credits per 100 results)\n filters: { column: \"example string\" // Field to filter on (e.g., \"current_employers.title\", \"region\"), type: \"=\" // options: \"=\", \"!=\", \"in\", \"not_in\", \">\", \"<\", \"=>\", \"=<\", \"(.)\", \"[.]\", \"geo_distance\" // Filter operator, value: { location: \"example string\" // Center point location name (e.g., \"San Francisco\"), distance: 42 // Radius distance, unit: \"km\" // options: \"km\", \"mi\", \"miles\", \"m\", \"meters\", \"ft\", \"feet\" // Distance unit (default: km) } // Value(s) to match }, // Filter conditions - single condition or nested AND/OR groups\n sorts: [{ column: \"example string\" // Field to sort by (e.g., \"years_of_experience_raw\", \"num_of_connections\"), order: \"asc\" // options: \"asc\", \"desc\" // Sort order }], // Sort criteria to order results\n cursor: \"example string\", // Pagination cursor from previous response\n limit: 20 // default, // Results per page (default: 20, max: 1,000)\n preview: false // default, // Preview mode returns basic profile details (0 credits)\n post_processing: { exclude_profiles: [\"example string\"] // LinkedIn profile URLs to exclude (max 50,000), exclude_names: [\"example string\"] // Names to exclude from results }, // Post-processing options like excluding profiles or names\n});\n\nconst result = await crustdata_person_search_db.action();\n// outputSchema for result.data when operation === 'person_search_db':\n// {\n// operation: \"person_search_db\" // PersonDB search operation,\n// success: boolean // Whether the operation was successful,\n// profiles: { person_id: number | undefined, name: string | null | undefined, first_name: string | null | undefined, last_name: string | null | undefined, headline: string | null | undefined, summary: string | null | undefined, region: string | null | undefined, location_details: { city: string | null | undefined, state: string | null | undefined, country: string | null | undefined, continent: string | null | undefined } | null | undefined, location_city: string | null | undefined, location_state: string | null | undefined, location_country: string | null | undefined, linkedin_profile_url: string | null | undefined, flagship_profile_url: string | null | undefined, profile_picture_url: string | null | undefined, num_of_connections: number | null | undefined, years_of_experience_raw: number | null | undefined, recently_changed_jobs: boolean | null | undefined, skills: string[] | null | undefined, languages: string[] | null | undefined, current_employers: { title: string | null | undefined, company_name: string | null | undefined, name: string | null | undefined, linkedin_id: string | null | undefined, company_linkedin_profile_url: string | null | undefined, company_website_domain: string | null | undefined, company_hq_location: string | null | undefined, company_type: string | null | undefined, company_headcount_latest: number | null | undefined, company_headcount_range: string | null | undefined, company_industries: string[] | null | undefined, seniority_level: string | null | undefined, function_category: string | null | undefined, start_date: unknown | null | undefined, end_date: unknown | null | undefined, years_at_company_raw: number | null | undefined, description: string | null | undefined, location: string | null | undefined }[] | null | undefined, past_employers: { title: string | null | undefined, company_name: string | null | undefined, name: string | null | undefined, linkedin_id: string | null | undefined, company_linkedin_profile_url: string | null | undefined, company_website_domain: string | null | undefined, company_hq_location: string | null | undefined, company_type: string | null | undefined, company_headcount_latest: number | null | undefined, company_headcount_range: string | null | undefined, company_industries: string[] | null | undefined, seniority_level: string | null | undefined, function_category: string | null | undefined, start_date: unknown | null | undefined, end_date: unknown | null | undefined, years_at_company_raw: number | null | undefined, description: string | null | undefined, location: string | null | undefined }[] | null | undefined, all_employers: { title: string | null | undefined, company_name: string | null | undefined, name: string | null | undefined, linkedin_id: string | null | undefined, company_linkedin_profile_url: string | null | undefined, company_website_domain: string | null | undefined, company_hq_location: string | null | undefined, company_type: string | null | undefined, company_headcount_latest: number | null | undefined, company_headcount_range: string | null | undefined, company_industries: string[] | null | undefined, seniority_level: string | null | undefined, function_category: string | null | undefined, start_date: unknown | null | undefined, end_date: unknown | null | undefined, years_at_company_raw: number | null | undefined, description: string | null | undefined, location: string | null | undefined }[] | null | undefined, education_background: { degree_name: string | null | undefined, institute_name: string | null | undefined, field_of_study: string | null | undefined, start_date: unknown | null | undefined, end_date: unknown | null | undefined }[] | null | undefined, certifications: { name: string | null | undefined, issued_date: unknown | null | undefined, issuing_authority: string | null | undefined }[] | null | undefined, honors: { title: string | null | undefined, issued_date: unknown | null | undefined, issuer: string | null | undefined }[] | null | undefined, emails: string[] | null | undefined, websites: string[] | null | undefined, twitter_handle: string | null | undefined }[] | undefined // Array of people profiles found,\n// total_count: number | undefined // Total number of profiles matching the search criteria,\n// next_cursor: string | undefined // Cursor for fetching the next page of results,\n// error: string // Error message if operation failed\n// }\n\n\n// Always check success status before using data\nif (!result.success) {\n throw new Error(`crustdata failed: ${result.error}`);\n}\n\n// Access the actual data\nconst actualData = result.data;\nconsole.log(actualData);",
|
|
706
706
|
"requiredCredentials": [
|
|
707
707
|
"CRUSTDATA_API_KEY"
|
|
708
708
|
]
|
|
@@ -714,8 +714,8 @@
|
|
|
714
714
|
"shortDescription": "Get key contacts (executives, decision makers) from any company for lead generation",
|
|
715
715
|
"useCase": "General purpose bubble for various workflow needs",
|
|
716
716
|
"inputSchema": "{\n companyIdentifier: string // Company name, domain (e.g., \"stripe.com\"), or LinkedIn URL. Auto-detects type.,\n limit: number | undefined // Maximum contacts to return (default: 10),\n credentials: Record<string, string> | undefined // Required credentials (auto-injected)\n}",
|
|
717
|
-
"outputSchema": "{\n contacts: { name: string | null // Full name, title: string | null // Current job title, headline: string | null // LinkedIn headline, linkedinUrl: string | null // LinkedIn profile URL, profilePictureUrl: string | null // Profile picture URL, emails: string[] | null // Email addresses, twitterHandle: string | null // Twitter/X handle, role: \"cxo\" | \"decision_maker\" | \"founder\" // Role classification, location: string | null // Location, skills: string[] | null // Professional skills, languages: string[] | null // Languages spoken, summary: string | null // Professional summary, currentEmployment: { title: string | null // Job title, companyName: string | null // Company name, companyLinkedinUrl: string | null // Company LinkedIn URL, startDate:
|
|
718
|
-
"usageExample": "// Example usage of company-enrichment-tool bubble\nconst companyEnrichmentTool = new CompanyEnrichmentTool({\n companyIdentifier: \"example string\", // Company name, domain (e.g., \"stripe.com\"), or LinkedIn URL. Auto-detects type.,\n limit: 10 // default, // Maximum contacts to return (default: 10),\n});\n\nconst result = await companyEnrichmentTool.action();\n\n// Always check success status before using data\nif (!result.success) {\n throw new Error(`${metadata.name} failed: ${result.error}`);\n}\n\n// outputSchema for result.data:\n// {\n// contacts: { name: string | null // Full name, title: string | null // Current job title, headline: string | null // LinkedIn headline, linkedinUrl: string | null // LinkedIn profile URL, profilePictureUrl: string | null // Profile picture URL, emails: string[] | null // Email addresses, twitterHandle: string | null // Twitter/X handle, role: \"cxo\" | \"decision_maker\" | \"founder\" // Role classification, location: string | null // Location, skills: string[] | null // Professional skills, languages: string[] | null // Languages spoken, summary: string | null // Professional summary, currentEmployment: { title: string | null // Job title, companyName: string | null // Company name, companyLinkedinUrl: string | null // Company LinkedIn URL, startDate:
|
|
717
|
+
"outputSchema": "{\n contacts: { name: string | null // Full name, title: string | null // Current job title, headline: string | null // LinkedIn headline, linkedinUrl: string | null // LinkedIn profile URL, profilePictureUrl: string | null // Profile picture URL, emails: string[] | null // Email addresses, twitterHandle: string | null // Twitter/X handle, role: \"cxo\" | \"decision_maker\" | \"founder\" // Role classification, location: string | null // Location, skills: string[] | null // Professional skills, languages: string[] | null // Languages spoken, summary: string | null // Professional summary, currentEmployment: { title: string | null // Job title, companyName: string | null // Company name, companyLinkedinUrl: string | null // Company LinkedIn URL, startDate: unknown | null // Start date, description: string | null // Role description }[] | null // Current employment positions, pastEmployment: { title: string | null // Job title, companyName: string | null // Company name, startDate: unknown | null // Start date, endDate: unknown | null // End date }[] | null // Past employment positions, education: { instituteName: string | null // Institution name, degreeName: string | null // Degree name, fieldOfStudy: string | null // Field of study }[] | null // Education history }[] // List of contacts at the company,\n company: { name: string | null // Company name, linkedinUrl: string | null // Company LinkedIn URL, website: string | null // Company website, industry: string | null // Industry, description: string | null // Company description, headcount: number | null // Employee count, hqCity: string | null // Headquarters city, hqCountry: string | null // Headquarters country, yearFounded: number | null // Year founded, fundingStage: string | null // Funding stage, totalFunding: string | null // Total funding raised } | null // Company information,\n totalContacts: number // Total number of contacts found,\n success: boolean // Whether the operation was successful,\n error: string // Error message if operation failed\n}",
|
|
718
|
+
"usageExample": "// Example usage of company-enrichment-tool bubble\nconst companyEnrichmentTool = new CompanyEnrichmentTool({\n companyIdentifier: \"example string\", // Company name, domain (e.g., \"stripe.com\"), or LinkedIn URL. Auto-detects type.,\n limit: 10 // default, // Maximum contacts to return (default: 10),\n});\n\nconst result = await companyEnrichmentTool.action();\n\n// Always check success status before using data\nif (!result.success) {\n throw new Error(`${metadata.name} failed: ${result.error}`);\n}\n\n// outputSchema for result.data:\n// {\n// contacts: { name: string | null // Full name, title: string | null // Current job title, headline: string | null // LinkedIn headline, linkedinUrl: string | null // LinkedIn profile URL, profilePictureUrl: string | null // Profile picture URL, emails: string[] | null // Email addresses, twitterHandle: string | null // Twitter/X handle, role: \"cxo\" | \"decision_maker\" | \"founder\" // Role classification, location: string | null // Location, skills: string[] | null // Professional skills, languages: string[] | null // Languages spoken, summary: string | null // Professional summary, currentEmployment: { title: string | null // Job title, companyName: string | null // Company name, companyLinkedinUrl: string | null // Company LinkedIn URL, startDate: unknown | null // Start date, description: string | null // Role description }[] | null // Current employment positions, pastEmployment: { title: string | null // Job title, companyName: string | null // Company name, startDate: unknown | null // Start date, endDate: unknown | null // End date }[] | null // Past employment positions, education: { instituteName: string | null // Institution name, degreeName: string | null // Degree name, fieldOfStudy: string | null // Field of study }[] | null // Education history }[] // List of contacts at the company,\n// company: { name: string | null // Company name, linkedinUrl: string | null // Company LinkedIn URL, website: string | null // Company website, industry: string | null // Industry, description: string | null // Company description, headcount: number | null // Employee count, hqCity: string | null // Headquarters city, hqCountry: string | null // Headquarters country, yearFounded: number | null // Year founded, fundingStage: string | null // Funding stage, totalFunding: string | null // Total funding raised } | null // Company information,\n// totalContacts: number // Total number of contacts found,\n// success: boolean // Whether the operation was successful,\n// error: string // Error message if operation failed\n// }\n\n// Access the actual data\nconst actualData = result.data;\nconsole.log(actualData);",
|
|
719
719
|
"requiredCredentials": [
|
|
720
720
|
"CRUSTDATA_API_KEY"
|
|
721
721
|
]
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bubblelab/bubble-core",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.25",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"resend": "^4.8.0",
|
|
42
42
|
"zod": "^3.24.1",
|
|
43
43
|
"zod-to-json-schema": "^3.24.6",
|
|
44
|
-
"@bubblelab/shared-schemas": "0.1.
|
|
44
|
+
"@bubblelab/shared-schemas": "0.1.26"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
47
|
"@types/node": "^20.12.12",
|