Skip to content

Commit 60c06f6

Browse files
chore(integrations): finalize enrichment provider catalogs
1 parent 9532d21 commit 60c06f6

10 files changed

Lines changed: 109 additions & 29 deletions

File tree

apps/docs/components/icons.tsx

Lines changed: 27 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2892,35 +2892,41 @@ export function FindymailIcon(props: SVGProps<SVGSVGElement>) {
28922892
*/
28932893
export function ForagerIcon(props: SVGProps<SVGSVGElement>) {
28942894
return (
2895-
<svg {...props} viewBox='0 0 30 31' fill='none' role='img' xmlns='http://www.w3.org/2000/svg'>
2895+
<svg
2896+
{...props}
2897+
viewBox='0 0 30 31'
2898+
fill='none'
2899+
aria-hidden='true'
2900+
xmlns='http://www.w3.org/2000/svg'
2901+
>
28962902
<path
28972903
fillRule='evenodd'
28982904
clipRule='evenodd'
2899-
d='M0 6L12.5 13.4597V31L8.84615 28.9839V15.6774L0 10.2339V6Z'
2905+
d='M0 6L12.5 13.46V31L8.846 28.984V15.677L0 10.234V6Z'
29002906
fill='currentColor'
29012907
/>
29022908
<path
29032909
fillRule='evenodd'
29042910
clipRule='evenodd'
2905-
d='M30 6L17.5 13.4597V31L21.1538 28.9839V15.6774L30 10.2339V6Z'
2911+
d='M30 6L17.5 13.46V31L21.154 28.984V15.677L30 10.234V6Z'
29062912
fill='currentColor'
29072913
/>
29082914
<path
29092915
fillRule='evenodd'
29102916
clipRule='evenodd'
2911-
d='M4 3.29167L14.5238 9.75L25.25 3.29167L21.8095 1L14.5238 5.16667L7.64286 1L4 3.29167Z'
2917+
d='M4 3.292L14.524 9.75L25.25 3.292L21.81 1L14.524 5.167L7.643 1L4 3.292Z'
29122918
fill='currentColor'
29132919
/>
29142920
<path
29152921
fillRule='evenodd'
29162922
clipRule='evenodd'
2917-
d='M23.75 17.5698L30 13.5V18.1802L23.75 22.25V17.5698Z'
2923+
d='M23.75 17.57L30 13.5V18.18L23.75 22.25V17.57Z'
29182924
fill='currentColor'
29192925
/>
29202926
<path
29212927
fillRule='evenodd'
29222928
clipRule='evenodd'
2923-
d='M6.25 17.5698L0 13.5V18.1802L6.25 22.25V17.5698Z'
2929+
d='M6.25 17.57L0 13.5V18.18L6.25 22.25V17.57Z'
29242930
fill='currentColor'
29252931
/>
29262932
</svg>
@@ -2930,7 +2936,13 @@ export function ForagerIcon(props: SVGProps<SVGSVGElement>) {
29302936
/** FullEnrich brand mark adapted from the official monochrome logo. */
29312937
export function FullEnrichIcon(props: SVGProps<SVGSVGElement>) {
29322938
return (
2933-
<svg {...props} viewBox='0 0 336 336' fill='none' xmlns='http://www.w3.org/2000/svg'>
2939+
<svg
2940+
{...props}
2941+
viewBox='0 0 336 336'
2942+
fill='none'
2943+
aria-hidden='true'
2944+
xmlns='http://www.w3.org/2000/svg'
2945+
>
29342946
<path
29352947
d='M171.634 53.137c-.784-3.784-6.183-3.8-6.989-.02l-4.953 23.2c-2.261 10.596-10.631 18.818-21.265 20.89l-21.168 4.125c-3.831.746-3.859 6.218-.036 7.003l21.443 4.405c10.509 2.159 18.747 10.328 20.994 20.819l4.9 22.887c.806 3.768 6.185 3.763 6.985-.007l4.849-22.853c2.229-10.505 10.466-18.695 20.983-20.864l21.535-4.441c3.825-.789 3.79-6.264-.044-7.004l-21.115-4.074c-10.712-2.067-19.132-10.371-21.347-21.054l-4.772-23.012Z'
29362948
fill='currentColor'
@@ -5134,7 +5146,13 @@ export function MicrosoftSharepointIcon(props: SVGProps<SVGSVGElement>) {
51345146

51355147
export function MicrosoftPlannerIcon(props: SVGProps<SVGSVGElement>) {
51365148
return (
5137-
<svg {...props} viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'>
5149+
<svg
5150+
{...props}
5151+
viewBox='0 0 24 24'
5152+
fill='none'
5153+
aria-hidden='true'
5154+
xmlns='http://www.w3.org/2000/svg'
5155+
>
51385156
<path
51395157
d='M8.26 15.74C7.22 16.77 5.55 16.77 4.52 15.74L0.77 12C-0.26 10.97 -0.26 9.29 0.77 8.26L4.52 4.52C5.55 3.48 7.22 3.48 8.26 4.52L12 8.26C13.03 9.29 13.03 10.97 12 12L8.26 15.74Z'
51405158
fill='#185ABD'
@@ -9328,7 +9346,7 @@ export function ZeliqIcon(props: SVGProps<SVGSVGElement>) {
93289346
aria-hidden='true'
93299347
>
93309348
<path
9331-
d='M109.983 0C111.014 0 111.407 1.3444 110.54 1.90005L70.5964 27.478C69.9628 27.8837 69.9628 28.8095 70.5964 29.2152L90.7169 42.1C91.5846 42.6556 91.191 44 90.1606 44H1.03331C0.00400424 44 -0.390355 42.6579 0.47534 42.1011L40.2905 16.4923C40.9218 16.0862 40.9218 15.1633 40.2905 14.7573L20.2982 1.89894C19.4325 1.34215 19.8269 0 20.8562 0H109.983Z'
9349+
d='M109.983 0C111.014 0 111.407 1.344 110.54 1.9L70.596 27.478C69.963 27.884 69.963 28.81 70.596 29.215L90.717 42.1C91.585 42.656 91.191 44 90.161 44H1.033C0.004 44 -0.39 42.658 0.475 42.101L40.291 16.492C40.922 16.086 40.922 15.163 40.291 14.757L20.298 1.899C19.433 1.342 19.827 0 20.856 0H109.983Z'
93329350
fill='#62D762'
93339351
/>
93349352
</svg>

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@
8686
"fireflies",
8787
"flint",
8888
"forager",
89+
"fullenrich",
8990
"gamma",
9091
"github",
9192
"gitlab",

apps/sim/components/icons.tsx

Lines changed: 27 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2892,35 +2892,41 @@ export function FindymailIcon(props: SVGProps<SVGSVGElement>) {
28922892
*/
28932893
export function ForagerIcon(props: SVGProps<SVGSVGElement>) {
28942894
return (
2895-
<svg {...props} viewBox='0 0 30 31' fill='none' role='img' xmlns='http://www.w3.org/2000/svg'>
2895+
<svg
2896+
{...props}
2897+
viewBox='0 0 30 31'
2898+
fill='none'
2899+
aria-hidden='true'
2900+
xmlns='http://www.w3.org/2000/svg'
2901+
>
28962902
<path
28972903
fillRule='evenodd'
28982904
clipRule='evenodd'
2899-
d='M0 6L12.5 13.4597V31L8.84615 28.9839V15.6774L0 10.2339V6Z'
2905+
d='M0 6L12.5 13.46V31L8.846 28.984V15.677L0 10.234V6Z'
29002906
fill='currentColor'
29012907
/>
29022908
<path
29032909
fillRule='evenodd'
29042910
clipRule='evenodd'
2905-
d='M30 6L17.5 13.4597V31L21.1538 28.9839V15.6774L30 10.2339V6Z'
2911+
d='M30 6L17.5 13.46V31L21.154 28.984V15.677L30 10.234V6Z'
29062912
fill='currentColor'
29072913
/>
29082914
<path
29092915
fillRule='evenodd'
29102916
clipRule='evenodd'
2911-
d='M4 3.29167L14.5238 9.75L25.25 3.29167L21.8095 1L14.5238 5.16667L7.64286 1L4 3.29167Z'
2917+
d='M4 3.292L14.524 9.75L25.25 3.292L21.81 1L14.524 5.167L7.643 1L4 3.292Z'
29122918
fill='currentColor'
29132919
/>
29142920
<path
29152921
fillRule='evenodd'
29162922
clipRule='evenodd'
2917-
d='M23.75 17.5698L30 13.5V18.1802L23.75 22.25V17.5698Z'
2923+
d='M23.75 17.57L30 13.5V18.18L23.75 22.25V17.57Z'
29182924
fill='currentColor'
29192925
/>
29202926
<path
29212927
fillRule='evenodd'
29222928
clipRule='evenodd'
2923-
d='M6.25 17.5698L0 13.5V18.1802L6.25 22.25V17.5698Z'
2929+
d='M6.25 17.57L0 13.5V18.18L6.25 22.25V17.57Z'
29242930
fill='currentColor'
29252931
/>
29262932
</svg>
@@ -2930,7 +2936,13 @@ export function ForagerIcon(props: SVGProps<SVGSVGElement>) {
29302936
/** FullEnrich brand mark adapted from the official monochrome logo. */
29312937
export function FullEnrichIcon(props: SVGProps<SVGSVGElement>) {
29322938
return (
2933-
<svg {...props} viewBox='0 0 336 336' fill='none' xmlns='http://www.w3.org/2000/svg'>
2939+
<svg
2940+
{...props}
2941+
viewBox='0 0 336 336'
2942+
fill='none'
2943+
aria-hidden='true'
2944+
xmlns='http://www.w3.org/2000/svg'
2945+
>
29342946
<path
29352947
d='M171.634 53.137c-.784-3.784-6.183-3.8-6.989-.02l-4.953 23.2c-2.261 10.596-10.631 18.818-21.265 20.89l-21.168 4.125c-3.831.746-3.859 6.218-.036 7.003l21.443 4.405c10.509 2.159 18.747 10.328 20.994 20.819l4.9 22.887c.806 3.768 6.185 3.763 6.985-.007l4.849-22.853c2.229-10.505 10.466-18.695 20.983-20.864l21.535-4.441c3.825-.789 3.79-6.264-.044-7.004l-21.115-4.074c-10.712-2.067-19.132-10.371-21.347-21.054l-4.772-23.012Z'
29362948
fill='currentColor'
@@ -5134,7 +5146,13 @@ export function MicrosoftSharepointIcon(props: SVGProps<SVGSVGElement>) {
51345146

51355147
export function MicrosoftPlannerIcon(props: SVGProps<SVGSVGElement>) {
51365148
return (
5137-
<svg {...props} viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'>
5149+
<svg
5150+
{...props}
5151+
viewBox='0 0 24 24'
5152+
fill='none'
5153+
aria-hidden='true'
5154+
xmlns='http://www.w3.org/2000/svg'
5155+
>
51385156
<path
51395157
d='M8.26 15.74C7.22 16.77 5.55 16.77 4.52 15.74L0.77 12C-0.26 10.97 -0.26 9.29 0.77 8.26L4.52 4.52C5.55 3.48 7.22 3.48 8.26 4.52L12 8.26C13.03 9.29 13.03 10.97 12 12L8.26 15.74Z'
51405158
fill='#185ABD'
@@ -9328,7 +9346,7 @@ export function ZeliqIcon(props: SVGProps<SVGSVGElement>) {
93289346
aria-hidden='true'
93299347
>
93309348
<path
9331-
d='M109.983 0C111.014 0 111.407 1.3444 110.54 1.90005L70.5964 27.478C69.9628 27.8837 69.9628 28.8095 70.5964 29.2152L90.7169 42.1C91.5846 42.6556 91.191 44 90.1606 44H1.03331C0.00400424 44 -0.390355 42.6579 0.47534 42.1011L40.2905 16.4923C40.9218 16.0862 40.9218 15.1633 40.2905 14.7573L20.2982 1.89894C19.4325 1.34215 19.8269 0 20.8562 0H109.983Z'
9349+
d='M109.983 0C111.014 0 111.407 1.344 110.54 1.9L70.596 27.478C69.963 27.884 69.963 28.81 70.596 29.215L90.717 42.1C91.585 42.656 91.191 44 90.161 44H1.033C0.004 44 -0.39 42.658 0.475 42.101L40.291 16.492C40.922 16.086 40.922 15.163 40.291 14.757L20.298 1.899C19.433 1.342 19.827 0 20.856 0H109.983Z'
93329350
fill='#62D762'
93339351
/>
93349352
</svg>

apps/sim/tools/fullenrich/hosting.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@ const FULLENRICH_RATE_LIMIT = {
3939
requestsPerMinute: 10,
4040
}
4141

42-
/** Build hosted-key pricing from exact credits reported in the tool output. */
4342
export function fullEnrichExactHosting<P>(
4443
getCredits: (params: P, output: Record<string, unknown>) => number
4544
): ToolHostingConfig<P> {
@@ -105,7 +104,6 @@ export function fullEnrichEstimatedHosting<P>(
105104
}
106105
}
107106

108-
/** Build hosted-key configuration for result retrieval that consumes no new credits. */
109107
export function fullEnrichRetrievalHosting<P>(): ToolHostingConfig<P> {
110108
return {
111109
envKeyPrefix: FULLENRICH_API_KEY_PREFIX,

apps/sim/tools/fullenrich/utils.ts

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import { isRecordLike } from '@sim/utils/object'
22
import type { z } from 'zod'
33

4-
/** Parse a JSON-capable tool parameter and validate it against the official request schema. */
54
export function parseFullEnrichInput<T>(value: unknown, schema: z.ZodType<T>, label: string): T {
65
let parsed = value
76
if (typeof value === 'string') {
@@ -24,15 +23,13 @@ export function parseFullEnrichInput<T>(value: unknown, schema: z.ZodType<T>, la
2423
return result.data
2524
}
2625

27-
/** Read a documented numeric credit value from a FullEnrich response. */
2826
export function requireFullEnrichCredits(value: unknown, label: string): number {
2927
if (typeof value !== 'number' || !Number.isFinite(value) || value < 0) {
3028
throw new Error(`${label} must be a finite non-negative number`)
3129
}
3230
return value
3331
}
3432

35-
/** Extract a useful message from a documented FullEnrich error response. */
3633
export async function extractFullEnrichError(response: Response): Promise<string> {
3734
const text = await response.text()
3835
if (text.length === 0) return `FullEnrich API error (${response.status})`
@@ -50,7 +47,6 @@ export async function extractFullEnrichError(response: Response): Promise<string
5047
return `FullEnrich API error (${response.status}): ${text}`
5148
}
5249

53-
/** Assert that a provider response contains a non-empty string property. */
5450
export function requireFullEnrichString(value: unknown, label: string): string {
5551
if (typeof value !== 'string' || value.length === 0) {
5652
throw new Error(`${label} must be a non-empty string`)

apps/sim/tools/generated/tool-ids.ts

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

apps/sim/tools/generated/tool-metadata.ts

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

apps/sim/tools/generated/tool-outputs.ts

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

apps/sim/tools/kitt/response.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ export function requireKittResponseObject(
2020
return value as Record<string, unknown>
2121
}
2222

23-
/** Return a required non-empty response string. */
2423
export function requireKittResponseString(
2524
value: unknown,
2625
field: string,
@@ -32,7 +31,6 @@ export function requireKittResponseString(
3231
return value
3332
}
3433

35-
/** Throw an upstream error without attempting to interpret an unsuccessful body. */
3634
export async function requireKittSuccess(
3735
response: Response,
3836
operation: 'find email' | 'verify email'

packages/deployment-config/src/integrations.json

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7845,6 +7845,57 @@
78457845
"integrationType": "sales",
78467846
"tags": ["enrichment", "sales-engagement"]
78477847
},
7848+
{
7849+
"type": "fullenrich",
7850+
"slug": "fullenrich",
7851+
"name": "FullEnrich",
7852+
"description": "Enrich contacts and search or look up people and companies",
7853+
"longDescription": "Use FullEnrich to enrich batches of contacts with work emails, personal emails, and mobile phones; reverse email addresses; search people and companies; and retrieve standalone person or company profiles.",
7854+
"bgColor": "#8164F4",
7855+
"iconName": "FullEnrichIcon",
7856+
"docsUrl": "https://docs.sim.ai/integrations/fullenrich",
7857+
"operations": [
7858+
{
7859+
"name": "Start Contact Enrichment",
7860+
"description": "Start an asynchronous enrichment of up to 100 contacts for work emails, personal emails, and mobile phones."
7861+
},
7862+
{
7863+
"name": "Get Contact Enrichment",
7864+
"description": "Retrieve the status, contact records, and historical credit usage for an enrichment."
7865+
},
7866+
{
7867+
"name": "Start Reverse Email",
7868+
"description": "Start an asynchronous reverse lookup of up to 100 email addresses."
7869+
},
7870+
{
7871+
"name": "Get Reverse Email",
7872+
"description": "Retrieve the status, matched profiles, and historical credit usage for a reverse lookup."
7873+
},
7874+
{
7875+
"name": "Search People",
7876+
"description": "Search FullEnrich people by company, identity, location, skills, role, seniority, employment, and education filters."
7877+
},
7878+
{
7879+
"name": "Search Companies",
7880+
"description": "Search FullEnrich companies by name, domain, professional network, keywords, industry, type, location, founding year, and headcount."
7881+
},
7882+
{
7883+
"name": "Lookup Person",
7884+
"description": "Look up one person by name, professional-network URL or ID, optionally disambiguated by company."
7885+
},
7886+
{
7887+
"name": "Lookup Company",
7888+
"description": "Look up one company by domain or professional-network URL or ID."
7889+
}
7890+
],
7891+
"operationCount": 8,
7892+
"triggers": [],
7893+
"triggerCount": 0,
7894+
"authType": "api-key",
7895+
"category": "tools",
7896+
"integrationType": "sales",
7897+
"tags": ["enrichment", "sales-engagement"]
7898+
},
78487899
{
78497900
"type": "gamma",
78507901
"slug": "gamma",

0 commit comments

Comments
 (0)