lumnisai 0.5.17 → 0.5.19
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/index.cjs +77 -1
- package/dist/index.d.cts +187 -3
- package/dist/index.d.mts +187 -3
- package/dist/index.d.ts +187 -3
- package/dist/index.mjs +77 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -922,6 +922,65 @@ class ContactRelationshipsResource {
|
|
|
922
922
|
}
|
|
923
923
|
}
|
|
924
924
|
|
|
925
|
+
class CrmResource {
|
|
926
|
+
constructor(http) {
|
|
927
|
+
this.http = http;
|
|
928
|
+
}
|
|
929
|
+
/**
|
|
930
|
+
* Push one Lumnis prospect to the connected CRM.
|
|
931
|
+
*
|
|
932
|
+
* Idempotent: repeated calls for the same
|
|
933
|
+
* `(userId, provider, linkedinUrl)` return `linked` with the same
|
|
934
|
+
* `crmRecordId`. Stale links (record deleted in the CRM) are detected
|
|
935
|
+
* and re-created automatically.
|
|
936
|
+
*
|
|
937
|
+
* @example
|
|
938
|
+
* ```typescript
|
|
939
|
+
* const result = await client.crm.syncProspect({
|
|
940
|
+
* userId: 'user@example.com',
|
|
941
|
+
* provider: 'attio',
|
|
942
|
+
* linkedinUrl: 'https://www.linkedin.com/in/jane-doe/',
|
|
943
|
+
* })
|
|
944
|
+
* console.log(result.action, result.crmUrl)
|
|
945
|
+
* ```
|
|
946
|
+
*/
|
|
947
|
+
async syncProspect(data) {
|
|
948
|
+
return this.http.post("/crm/prospects/sync", data);
|
|
949
|
+
}
|
|
950
|
+
/**
|
|
951
|
+
* Bulk-check whether prospects are already in the CRM. Designed for
|
|
952
|
+
* list-view badge rendering: feed it every visible LinkedIn URL and
|
|
953
|
+
* render a "linked" indicator for the ones that come back true.
|
|
954
|
+
*
|
|
955
|
+
* Layered cache on the server side: persistent positive matches are
|
|
956
|
+
* served from the `campaign_prospects.crm_record_id` column, negative
|
|
957
|
+
* results are served from a Redis cache (TTL configured by
|
|
958
|
+
* `CRM_MATCH_NEGATIVE_CACHE_TTL_SECONDS`). Only the leftover unknowns
|
|
959
|
+
* fan out to the live CRM, bounded by
|
|
960
|
+
* `CRM_MATCH_LIVE_SEARCH_PARALLELISM`.
|
|
961
|
+
*
|
|
962
|
+
* Note: HubSpot does not expose a LinkedIn-URL search field through
|
|
963
|
+
* Composio, so for `provider: 'hubspot'` URLs that aren't already in
|
|
964
|
+
* the persistent cache will always come back `linked: false`. The
|
|
965
|
+
* sync endpoint still reconciles via email when available.
|
|
966
|
+
*
|
|
967
|
+
* @example
|
|
968
|
+
* ```typescript
|
|
969
|
+
* const { matches } = await client.crm.matchBatch({
|
|
970
|
+
* userId: 'user@example.com',
|
|
971
|
+
* provider: 'attio',
|
|
972
|
+
* linkedinUrls: prospects.map(p => p.linkedinUrl),
|
|
973
|
+
* })
|
|
974
|
+
* for (const m of matches) {
|
|
975
|
+
* if (m.linked) console.log(m.linkedinUrl, '->', m.crmUrl)
|
|
976
|
+
* }
|
|
977
|
+
* ```
|
|
978
|
+
*/
|
|
979
|
+
async matchBatch(data) {
|
|
980
|
+
return this.http.post("/crm/prospects/match-batch", data);
|
|
981
|
+
}
|
|
982
|
+
}
|
|
983
|
+
|
|
925
984
|
class EmailResource {
|
|
926
985
|
constructor(http) {
|
|
927
986
|
this.http = http;
|
|
@@ -985,7 +1044,8 @@ class EmailResource {
|
|
|
985
1044
|
// ==================== Personas ====================
|
|
986
1045
|
/**
|
|
987
1046
|
* Add a new sender persona to an organization.
|
|
988
|
-
* Provisions mailboxes on existing domains.
|
|
1047
|
+
* Provisions mailboxes on existing domains. Set `dailyVolumeCap` to `0`
|
|
1048
|
+
* for a lazy persona with no mailbox provisioning. Requires admin role.
|
|
989
1049
|
*/
|
|
990
1050
|
async addPersona(orgId, userId, persona) {
|
|
991
1051
|
return this.http.post(
|
|
@@ -994,6 +1054,20 @@ class EmailResource {
|
|
|
994
1054
|
{ params: { user_id: userId } }
|
|
995
1055
|
);
|
|
996
1056
|
}
|
|
1057
|
+
/**
|
|
1058
|
+
* Update a sender persona's per-persona daily volume cap.
|
|
1059
|
+
*
|
|
1060
|
+
* Pass `{}` for a no-op read, `{ dailyVolumeCap: null }` to revert to the
|
|
1061
|
+
* organization formula, or `{ dailyVolumeCap: number }` to set an explicit
|
|
1062
|
+
* cap. Requires admin role.
|
|
1063
|
+
*/
|
|
1064
|
+
async updatePersona(orgId, userId, personaId, update) {
|
|
1065
|
+
return this.http.patch(
|
|
1066
|
+
`/email/organizations/${encodeURIComponent(orgId)}/personas/${encodeURIComponent(personaId)}`,
|
|
1067
|
+
update,
|
|
1068
|
+
{ params: { user_id: userId } }
|
|
1069
|
+
);
|
|
1070
|
+
}
|
|
997
1071
|
// ==================== Teardown ====================
|
|
998
1072
|
/**
|
|
999
1073
|
* Teardown an email organization's infrastructure.
|
|
@@ -4274,6 +4348,7 @@ class LumnisClient {
|
|
|
4274
4348
|
contactRelationships;
|
|
4275
4349
|
enrichment;
|
|
4276
4350
|
email;
|
|
4351
|
+
crm;
|
|
4277
4352
|
_scopedUserId;
|
|
4278
4353
|
_defaultScope;
|
|
4279
4354
|
constructor(options = {}) {
|
|
@@ -4311,6 +4386,7 @@ class LumnisClient {
|
|
|
4311
4386
|
this.contactRelationships = new ContactRelationshipsResource(this.http);
|
|
4312
4387
|
this.enrichment = new EnrichmentResource(this.http);
|
|
4313
4388
|
this.email = new EmailResource(this.http);
|
|
4389
|
+
this.crm = new CrmResource(this.http);
|
|
4314
4390
|
}
|
|
4315
4391
|
forUser(userId) {
|
|
4316
4392
|
return new LumnisClient({
|
package/dist/index.d.cts
CHANGED
|
@@ -1829,6 +1829,13 @@ interface CampaignProspectResponse {
|
|
|
1829
1829
|
nextEvaluateAt?: string | null;
|
|
1830
1830
|
stopReason?: string | null;
|
|
1831
1831
|
stopReasoning?: string | null;
|
|
1832
|
+
/**
|
|
1833
|
+
* CRM provider this prospect is linked to via the CRM Sync API.
|
|
1834
|
+
* Populated by `client.crm.syncProspect` and `client.crm.matchBatch`.
|
|
1835
|
+
*/
|
|
1836
|
+
crmProvider?: 'attio' | 'hubspot' | null;
|
|
1837
|
+
/** External CRM record id (Attio record_id, HubSpot contact id). */
|
|
1838
|
+
crmRecordId?: string | null;
|
|
1832
1839
|
metadata: Record<string, unknown>;
|
|
1833
1840
|
version: number;
|
|
1834
1841
|
createdAt: string;
|
|
@@ -2307,6 +2314,150 @@ declare class ContactRelationshipsResource {
|
|
|
2307
2314
|
get(options: GetContactRelationshipsOptions): Promise<ContactRelationshipResponse>;
|
|
2308
2315
|
}
|
|
2309
2316
|
|
|
2317
|
+
/**
|
|
2318
|
+
* CRM Sync API types.
|
|
2319
|
+
*
|
|
2320
|
+
* These types map to the Python backend endpoints under /v1/crm.
|
|
2321
|
+
* Provider list mirrors `CrmProvider` in src/app/api/schemas/crm_schemas.py.
|
|
2322
|
+
*
|
|
2323
|
+
* All types are prefixed with `Crm` to avoid collisions with the
|
|
2324
|
+
* messaging-API prospect-sync types (`SyncProspectRequest`,
|
|
2325
|
+
* `SyncProspectResponse` in `./messaging`), which serve a different
|
|
2326
|
+
* purpose (LinkedIn/email conversation sync, not CRM linkage).
|
|
2327
|
+
*/
|
|
2328
|
+
/**
|
|
2329
|
+
* Connected CRM systems supported by the sync API.
|
|
2330
|
+
*
|
|
2331
|
+
* Capability notes:
|
|
2332
|
+
* - `attio` supports both email and LinkedIn-URL person search.
|
|
2333
|
+
* - `hubspot` only supports email search; LinkedIn URLs are stored as a
|
|
2334
|
+
* custom property on create but are not searchable through the
|
|
2335
|
+
* reconciliation flow.
|
|
2336
|
+
*/
|
|
2337
|
+
type CrmProvider = 'attio' | 'hubspot';
|
|
2338
|
+
/**
|
|
2339
|
+
* Push one Lumnis prospect to the connected CRM.
|
|
2340
|
+
*
|
|
2341
|
+
* The prospect must already exist in a `campaign_prospects` row owned
|
|
2342
|
+
* by `userId`; the linkedin URL is the lookup key.
|
|
2343
|
+
*/
|
|
2344
|
+
interface CrmSyncProspectRequest {
|
|
2345
|
+
/** UUID or email of the user whose CRM connection executes the call. */
|
|
2346
|
+
userId: string;
|
|
2347
|
+
provider: CrmProvider;
|
|
2348
|
+
/** Must contain `linkedin.com/in/`. */
|
|
2349
|
+
linkedinUrl: string;
|
|
2350
|
+
}
|
|
2351
|
+
interface CrmSyncProspectResponse {
|
|
2352
|
+
/**
|
|
2353
|
+
* `linked` — record already existed in the CRM (matched by email or
|
|
2354
|
+
* LinkedIn URL) and was linked back to the prospect.
|
|
2355
|
+
* `created` — no existing match, a new CRM record was created.
|
|
2356
|
+
*/
|
|
2357
|
+
action: 'linked' | 'created';
|
|
2358
|
+
/** Provider-native record id (Attio record_id, HubSpot contact id). */
|
|
2359
|
+
crmRecordId: string;
|
|
2360
|
+
/** Stable URL that opens the record in the CRM UI. */
|
|
2361
|
+
crmUrl: string;
|
|
2362
|
+
}
|
|
2363
|
+
/**
|
|
2364
|
+
* Bulk-check whether prospects are already in the CRM.
|
|
2365
|
+
*
|
|
2366
|
+
* Server-side fan-out is bounded by the
|
|
2367
|
+
* `CRM_MATCH_LIVE_SEARCH_PARALLELISM` setting; the array max
|
|
2368
|
+
* (1000) is a Pydantic guard, not a UX cap.
|
|
2369
|
+
*/
|
|
2370
|
+
interface CrmMatchBatchRequest {
|
|
2371
|
+
userId: string;
|
|
2372
|
+
provider: CrmProvider;
|
|
2373
|
+
/** 1..1000 LinkedIn profile URLs. */
|
|
2374
|
+
linkedinUrls: string[];
|
|
2375
|
+
}
|
|
2376
|
+
interface CrmMatchedProspect {
|
|
2377
|
+
/** Echoed input URL (in original casing/form). */
|
|
2378
|
+
linkedinUrl: string;
|
|
2379
|
+
linked: boolean;
|
|
2380
|
+
/** Present iff `linked` is true. */
|
|
2381
|
+
crmRecordId?: string | null;
|
|
2382
|
+
crmUrl?: string | null;
|
|
2383
|
+
}
|
|
2384
|
+
interface CrmMatchBatchResponse {
|
|
2385
|
+
matches: CrmMatchedProspect[];
|
|
2386
|
+
}
|
|
2387
|
+
|
|
2388
|
+
/**
|
|
2389
|
+
* Resource for the user-triggered CRM Sync API.
|
|
2390
|
+
*
|
|
2391
|
+
* Wraps `POST /v1/crm/prospects/sync` and `POST /v1/crm/prospects/match-batch`.
|
|
2392
|
+
*
|
|
2393
|
+
* The user identified by `userId` must already have an active CRM
|
|
2394
|
+
* connection (see `client.integrations.initiateConnection`). When the
|
|
2395
|
+
* connection is missing, the server returns `409 crm_not_connected`
|
|
2396
|
+
* with `connect_url` in the error body so callers can route the user
|
|
2397
|
+
* to the OAuth flow.
|
|
2398
|
+
*
|
|
2399
|
+
* Failure modes worth handling:
|
|
2400
|
+
* - `409 crm_not_connected` — user hasn't connected the provider.
|
|
2401
|
+
* - `404 prospect_not_found` (sync only) — no `campaign_prospects` row
|
|
2402
|
+
* matches `linkedinUrl` for this user.
|
|
2403
|
+
* - `502 crm_upstream_error` — Attio/HubSpot returned an error.
|
|
2404
|
+
* - `503 crm_upstream_rate_limited` — upstream rate-limit; the response
|
|
2405
|
+
* includes a `Retry-After` header.
|
|
2406
|
+
*/
|
|
2407
|
+
declare class CrmResource {
|
|
2408
|
+
private readonly http;
|
|
2409
|
+
constructor(http: Http);
|
|
2410
|
+
/**
|
|
2411
|
+
* Push one Lumnis prospect to the connected CRM.
|
|
2412
|
+
*
|
|
2413
|
+
* Idempotent: repeated calls for the same
|
|
2414
|
+
* `(userId, provider, linkedinUrl)` return `linked` with the same
|
|
2415
|
+
* `crmRecordId`. Stale links (record deleted in the CRM) are detected
|
|
2416
|
+
* and re-created automatically.
|
|
2417
|
+
*
|
|
2418
|
+
* @example
|
|
2419
|
+
* ```typescript
|
|
2420
|
+
* const result = await client.crm.syncProspect({
|
|
2421
|
+
* userId: 'user@example.com',
|
|
2422
|
+
* provider: 'attio',
|
|
2423
|
+
* linkedinUrl: 'https://www.linkedin.com/in/jane-doe/',
|
|
2424
|
+
* })
|
|
2425
|
+
* console.log(result.action, result.crmUrl)
|
|
2426
|
+
* ```
|
|
2427
|
+
*/
|
|
2428
|
+
syncProspect(data: CrmSyncProspectRequest): Promise<CrmSyncProspectResponse>;
|
|
2429
|
+
/**
|
|
2430
|
+
* Bulk-check whether prospects are already in the CRM. Designed for
|
|
2431
|
+
* list-view badge rendering: feed it every visible LinkedIn URL and
|
|
2432
|
+
* render a "linked" indicator for the ones that come back true.
|
|
2433
|
+
*
|
|
2434
|
+
* Layered cache on the server side: persistent positive matches are
|
|
2435
|
+
* served from the `campaign_prospects.crm_record_id` column, negative
|
|
2436
|
+
* results are served from a Redis cache (TTL configured by
|
|
2437
|
+
* `CRM_MATCH_NEGATIVE_CACHE_TTL_SECONDS`). Only the leftover unknowns
|
|
2438
|
+
* fan out to the live CRM, bounded by
|
|
2439
|
+
* `CRM_MATCH_LIVE_SEARCH_PARALLELISM`.
|
|
2440
|
+
*
|
|
2441
|
+
* Note: HubSpot does not expose a LinkedIn-URL search field through
|
|
2442
|
+
* Composio, so for `provider: 'hubspot'` URLs that aren't already in
|
|
2443
|
+
* the persistent cache will always come back `linked: false`. The
|
|
2444
|
+
* sync endpoint still reconciles via email when available.
|
|
2445
|
+
*
|
|
2446
|
+
* @example
|
|
2447
|
+
* ```typescript
|
|
2448
|
+
* const { matches } = await client.crm.matchBatch({
|
|
2449
|
+
* userId: 'user@example.com',
|
|
2450
|
+
* provider: 'attio',
|
|
2451
|
+
* linkedinUrls: prospects.map(p => p.linkedinUrl),
|
|
2452
|
+
* })
|
|
2453
|
+
* for (const m of matches) {
|
|
2454
|
+
* if (m.linked) console.log(m.linkedinUrl, '->', m.crmUrl)
|
|
2455
|
+
* }
|
|
2456
|
+
* ```
|
|
2457
|
+
*/
|
|
2458
|
+
matchBatch(data: CrmMatchBatchRequest): Promise<CrmMatchBatchResponse>;
|
|
2459
|
+
}
|
|
2460
|
+
|
|
2310
2461
|
/**
|
|
2311
2462
|
* Email infrastructure types.
|
|
2312
2463
|
*
|
|
@@ -2316,6 +2467,7 @@ interface SenderPersonaInput {
|
|
|
2316
2467
|
firstName: string;
|
|
2317
2468
|
lastName: string;
|
|
2318
2469
|
title?: string;
|
|
2470
|
+
dailyVolumeCap?: number | null;
|
|
2319
2471
|
}
|
|
2320
2472
|
interface ContactDetailsInput {
|
|
2321
2473
|
firstName: string;
|
|
@@ -2348,6 +2500,10 @@ interface AddPersonaRequest {
|
|
|
2348
2500
|
firstName: string;
|
|
2349
2501
|
lastName: string;
|
|
2350
2502
|
title?: string;
|
|
2503
|
+
dailyVolumeCap?: number | null;
|
|
2504
|
+
}
|
|
2505
|
+
interface UpdatePersonaRequest {
|
|
2506
|
+
dailyVolumeCap?: number | null;
|
|
2351
2507
|
}
|
|
2352
2508
|
interface AddOrgMemberRequest {
|
|
2353
2509
|
email: string;
|
|
@@ -2372,10 +2528,19 @@ interface EmailOrgSettingsResponse {
|
|
|
2372
2528
|
dailyVolume: number;
|
|
2373
2529
|
volumeMode: string;
|
|
2374
2530
|
physicalAddress?: string | null;
|
|
2375
|
-
senderPersonas:
|
|
2531
|
+
senderPersonas: EmailSenderPersona[];
|
|
2376
2532
|
domainsActive: number;
|
|
2377
2533
|
mailboxesReady: number;
|
|
2378
2534
|
}
|
|
2535
|
+
interface EmailSenderPersona {
|
|
2536
|
+
id: string;
|
|
2537
|
+
firstName: string;
|
|
2538
|
+
lastName: string;
|
|
2539
|
+
title?: string | null;
|
|
2540
|
+
dailyVolumeCap: number | null;
|
|
2541
|
+
mailboxCount: number;
|
|
2542
|
+
mailboxesReady: number;
|
|
2543
|
+
}
|
|
2379
2544
|
interface EmailOrgHealthResponse {
|
|
2380
2545
|
organizationId: string;
|
|
2381
2546
|
domains: Record<string, number>;
|
|
@@ -2398,6 +2563,15 @@ interface AddPersonaResponse {
|
|
|
2398
2563
|
personaId: string;
|
|
2399
2564
|
message: string;
|
|
2400
2565
|
}
|
|
2566
|
+
interface UpdatePersonaResponse {
|
|
2567
|
+
personaId: string;
|
|
2568
|
+
dailyVolumeCap: number | null;
|
|
2569
|
+
mailboxCount: number;
|
|
2570
|
+
requestedTargetMailboxes: number;
|
|
2571
|
+
mailboxesProvisioned: number;
|
|
2572
|
+
partial: boolean;
|
|
2573
|
+
shortfall: number;
|
|
2574
|
+
}
|
|
2401
2575
|
interface AddOrgMemberResponse {
|
|
2402
2576
|
message: string;
|
|
2403
2577
|
}
|
|
@@ -2446,9 +2620,18 @@ declare class EmailResource {
|
|
|
2446
2620
|
getHealth(orgId: string, userId: string): Promise<EmailOrgHealthResponse>;
|
|
2447
2621
|
/**
|
|
2448
2622
|
* Add a new sender persona to an organization.
|
|
2449
|
-
* Provisions mailboxes on existing domains.
|
|
2623
|
+
* Provisions mailboxes on existing domains. Set `dailyVolumeCap` to `0`
|
|
2624
|
+
* for a lazy persona with no mailbox provisioning. Requires admin role.
|
|
2450
2625
|
*/
|
|
2451
2626
|
addPersona(orgId: string, userId: string, persona: AddPersonaRequest): Promise<AddPersonaResponse>;
|
|
2627
|
+
/**
|
|
2628
|
+
* Update a sender persona's per-persona daily volume cap.
|
|
2629
|
+
*
|
|
2630
|
+
* Pass `{}` for a no-op read, `{ dailyVolumeCap: null }` to revert to the
|
|
2631
|
+
* organization formula, or `{ dailyVolumeCap: number }` to set an explicit
|
|
2632
|
+
* cap. Requires admin role.
|
|
2633
|
+
*/
|
|
2634
|
+
updatePersona(orgId: string, userId: string, personaId: string, update: UpdatePersonaRequest): Promise<UpdatePersonaResponse>;
|
|
2452
2635
|
/**
|
|
2453
2636
|
* Teardown an email organization's infrastructure.
|
|
2454
2637
|
*
|
|
@@ -5768,6 +5951,7 @@ declare class LumnisClient {
|
|
|
5768
5951
|
readonly contactRelationships: ContactRelationshipsResource;
|
|
5769
5952
|
readonly enrichment: EnrichmentResource;
|
|
5770
5953
|
readonly email: EmailResource;
|
|
5954
|
+
readonly crm: CrmResource;
|
|
5771
5955
|
private readonly _scopedUserId?;
|
|
5772
5956
|
private readonly _defaultScope;
|
|
5773
5957
|
constructor(options?: LumnisClientOptions);
|
|
@@ -6120,4 +6304,4 @@ declare class ProgressTracker {
|
|
|
6120
6304
|
*/
|
|
6121
6305
|
declare function verifyWebhookSignature(payload: string, signature: string, secret: string): boolean;
|
|
6122
6306
|
|
|
6123
|
-
export { ACTION_DELAYS, type ActionLimit, type ActiveHours, type AddAndRunCriterionRequest, type AddCriterionRequest, type AddOrgMemberRequest, type AddOrgMemberResponse, type AddPersonaRequest, type AddPersonaResponse, type AddProspectsRequest, type AddProspectsResponse, type AgentConfig, type ApiKeyMode, type ApiKeyModeRequest, type ApiKeyModeResponse, type ApiProvider, type AppEnabledResponse, type AppliedFilters, type ApprovalActionRequest, type ApprovalItem, type ApprovalListResponse, type ApprovalMode, type ApprovalResponse, type ApprovalSettings, type ApprovalStatus, type ApprovalsParams, type ApprovalsRequestItem, type ApprovalsResponseItem, type ApproveStepRequest, type AppsListResponse, type ArtifactObject, type ArtifactsListResponse, AuthenticationError, type BaseResource, type BatchCheckConnectionRequest, type BatchCheckPriorContactRequest, type BatchCheckPriorContactResponse, type BatchConnectionRequest, type BatchConnectionResponse, type BatchConnectionStatus, type BatchConnectionStatusResponse, type BatchDraftCompleteData, type BatchDraftCreatedData, type BatchDraftErrorData, type BatchDraftJobProgress, type BatchDraftJobResponse, type BatchDraftJobStartedData, type BatchDraftJobStatusResponse, type BatchDraftProgressData, type BatchDraftRequest, type BatchDraftResponse, type BatchDraftStreamCallbacks, type BatchDraftStreamEvent, type BatchDraftStreamEventType, type BatchExecutionInclude, type BatchExecutionRequest, type BatchExecutionResponse, BatchJobStatus, type BatchPollRequest, type BatchPollResponse, type BatchProspectIdentifier, type BatchRequestItem, type BatchRequestType, type BatchResponseItem, type BatchSendRequest, type BatchSendResponse, type BatchStepMetric, type BillingStatus, type BulkApprovalAction, type BulkApprovalFailure, type BulkApprovalRequest, type BulkApprovalResponse, type BulkCompleteFailure, type BulkCompleteRequest, type BulkCompleteResponse, type BulkDeleteRequest, type BulkDeleteResponse, type BulkOperationRequest, type BulkOperationResponse, type BulkUploadResponse, CONTENT_LIMITS, CONTENT_LIMITS_MAP, type CampaignActionListResponse, type CampaignActionResponse, type CampaignActionStatus, type CampaignActionType, type CampaignBulkApprovalAction, type CampaignBulkApprovalItem, type CampaignBulkApprovalRequest, type CampaignBulkApprovalResponse, type CampaignBulkApprovalResult, type CampaignCreate, type CampaignGuardrails, type CampaignListResponse, type CampaignMetricsResponse, type CampaignOutcomeType, type CampaignProspectDetailResponse, type CampaignProspectInput, type CampaignProspectResponse, type CampaignProspectState, type CampaignResponse, type CampaignStatus, type CampaignUpdate, CampaignsResource, type CancelDraftResponse, type CancelQueuedRequest, type CancelResponseResponse, type ChannelContactHistory, ChannelType, type CheckAppEnabledParams, type CheckLinkedInConnectionRequest, type CheckPriorContactRequest, type CheckPriorContactResponse, type ChunkingStrategy, type CompleteExecutionRequest, type CompleteExecutionResponse, type ConnectionAcceptedData, type ConnectionCallbackRequest, type ConnectionCallbackResponse, type ConnectionInfo, type ConnectionStatus, type ConnectionStatusResponse, type ConnectionSummary, type ConnectionsSyncStatus, type ContactDetailsInput, type ContactEnrichPersonInput, type ContactEnrichPersonResult, type ContactEnrichRequest, type ContactEnrichResponse, type ContactHistorySyncStatus, type ContactRelationshipProvider, type ContactRelationshipResponse, type ContactRelationshipStatus, ContactRelationshipsResource, type ContactScore, type ContentLimit, type ContentSource, type ContentType, type ConversationDetail, ConversationStatus, type ConversationSummary, type CreateDraftRequest, type CreateFeedbackRequest, type CreateFeedbackResponse, type CreateResponseRequest, type CreateResponseResponse, type CreateThreadRequest, type CriteriaClassification, type CriteriaMetadata, type CriterionDefinition, type CriterionResult, type CriterionType, DAILY_INMAIL_LIMITS, DEFAULT_SUBSCRIPTION_TYPE, type DatabaseStatus, type DeepPeopleSearchOutput, type DeepSearchPreview, type DeepSearchStats, type DeleteApiKeyResponse, type DeleteConnectionsResponse, type DeleteConversationResponse, type DeleteConversationsByProjectResponse, type DisconnectRequest, type DisconnectResponse, type DraftResponse, type DraftSendOverride, DraftStatus, type DuplicateHandling, type DuplicateTemplateRequest, type EditQueuedRequest, type Email, type EmailAction, type EmailOnboardRequest, type EmailOnboardResponse, type EmailOnboardStatusResponse, type EmailOrgHealthResponse, type EmailOrgListResponse, type EmailOrgSettingsResponse, type EmailOrgSettingsUpdate, type EmailOrgSummary, EmailResource, type EmailThreadSummary, type EngagementStatus, type EngagementStatusData, type EngagementStatusRequest, type EngagementStatusResponse, EnrichmentResource, type ErrorDetail, type ErrorResponse, type ErrorResponseItem, type EvidenceSource, type ExecutionDetailResponse, type ExecutionEvent, type ExecutionEventData, type ExecutionListResponse, type ExecutionMetricsOptions, type ExecutionMetricsResponse, type ExecutionStatus, type ExecutionSummary, type ExecutionSummaryExtended, type ExecutionsParams, type ExecutionsRequestItem, type ExecutionsResponseItem, ExternalAPIKeysResource, type ExternalApiKeyResponse, type FeedbackListResponse, type FeedbackObject, type FeedbackType, type FileAttachment, type FileChunk, type FileContentResponse, type FileListResponse, type FileMetadata, type FileScope, type FileScopeUpdateRequest, type FileSearchRequest, type FileSearchResponse, type FileSearchResult, type FileStatisticsResponse, type FileUploadResponse, FilesResource, type FilterLogic, type FilterValue, type FunnelStage, type GetConnectionStatusParams, type GetContactRelationshipsOptions, type GetToolsRequest, type GetToolsResponse, type GetUserConnectionsParams, type InitiateConnectionRequest, type InitiateConnectionResponse, type InmailSubscription, IntegrationsResource, InternalServerError, LINKEDIN_LIMITS, type LifecycleOperationRequest, type LifecycleOperationResponse, type LinkAssetsRequest, type LinkedAssetsResponse, type LinkedInAccountInfoResponse, type LinkedInAccountRateLimits, type LinkedInAccountRateLimitsResponse, type LinkedInAccountRateLimitsUpdate, type LinkedInAction, type LinkedInConnectionStatus, type LinkedInCreditsResponse, type LinkedInLimitSubscriptionType, type LinkedInLimits, type LinkedInSendRequest, type LinkedInSubscriptionInfo, LinkedInSubscriptionType, type LinkedInSyncStatusResponse, type ListApprovalsOptions, type ListAssetsOptions, type ListCampaignActionsOptions, type ListCampaignProspectsOptions, type ListCampaignsOptions, type ListExecutionsOptions, type ListPendingApprovalsOptions, type ListPlaybooksOptions, type ListProvidersResponse, type ListStepExecutionsOptions, type ListTemplatesOptions, LocalFileNotSupportedError, LumnisClient, type LumnisClientOptions, LumnisError, type LumnisErrorOptions, type MCPScope, type MCPServerCreateRequest, type MCPServerListResponse, type MCPServerResponse, type MCPServerUpdateRequest, MCPServersResource, type MCPToolListResponse, type MCPToolResponse, type MCPTransport, type Message, type MessageReceivedData, type MessageResponse, type MessageSentData, MessageType, MessagingAPIError, MessagingConnectionError, MessagingNotFoundError, MessagingResource, MessagingSendError, MessagingValidationError, type MetricsParams, type MetricsRequestItem, type MetricsResponseItem, type ModelAvailability, type ModelOverrides, type ModelPreferenceCreate, type ModelPreferencesBulkUpdate, ModelPreferencesResource, type ModelProvider, type ModelType, NetworkDistance, NoDataSourcesError, NotFoundError, type OnFailure, type OutcomeType, type OutreachAssetCreate, type OutreachAssetResponse, type OutreachAssetType, type OutreachAssetUpdate, OutreachMethod, type PaginationInfo, type PaginationParams, type PauseResumeQueuedRequest, type PendingApprovalExtended, PeopleDataSource, PeopleResource, type PeopleSearchRequest, type PeopleSearchResponse, type PersonResult, type Plan, type PlaybookCreate, type PlaybookGenerateJobResponse, type PlaybookGenerateJobStatusResponse, type PlaybookGenerateRequest, type PlaybookResponse, type PlaybookUpdate, type PlaybookVersionResponse, type PostPreviewRequest, type PostPreviewResponse, type PostPreviewResult, type PostsSearchStats, type PriorContactMessage, type ProcessingStatus, type ProcessingStatusResponse, type ProgressEntry, ProgressTracker, type ProjectApprovalsData, type ProjectExecutionsData, type ProjectMetricsData, type ProspectConnectionCheck, type ProspectInfo, type ProspectInput, type ProspectPriorContactResult, type ProspectSyncIdentifier, type ProspectSyncResult, type ProspectWarning, ProviderType, QueueItemStatus, type QuickPeopleSearchOutput, RATE_LIMIT_COOLDOWNS, type RateLimitData, RateLimitError, type RateLimitErrorOptions, type RateLimitInfo$1 as RateLimitInfo, type RateLimitStatusResponse, type RateLimitsParams, type RateLimitsRequestItem, type RateLimitsResponseItem, type RecordOutcomeRequest, type RejectActionRequest, type RejectStepRequest, type RemoveOrgMemberResponse, type ReplySentiment, type ResponseArtifact, type ResponseListResponse, type ResponseObject, type ResponseStatus, ResponsesResource, SEQUENCE_RATE_LIMITS, type SalaryRange, type Scope, type SelectedSkill, type SendMessageRequest, type SendMessageResponse, type SendReplyRequest, type SendResult, type SenderPersonaInput, type SequenceAction, type SequenceApprovalNeededData, type SequenceChannel, type SequenceEventType, type SequenceExecutionCompletedData, type SequenceExecutionFailedData, type SequenceRateLimitAction, type SequenceStepCompletedData, type SequenceTemplateCreate, type SequenceTemplateResponse, type SequenceTemplateUpdate, SequencesResource, SharePermission, type SkillAnalyticsRequest, type SkillEffectivenessMetrics, type SkillGuidelineBase, type SkillGuidelineCreate, type SkillGuidelineListResponse, type SkillGuidelineResponse, type SkillGuidelineUpdate, type SkillRetrievalMetadata, type SkillUsageBase, type SkillUsageCreate, type SkillUsageListResponse, type SkillUsageResponse, type SkillUsageUpdate, SkillsResource, type SkipActionRequest, type SkipStepRequest, type SkipStepResponse, type SkippedProspect, SourcesNotAvailableError, type SpecializedAgentParams, type SpecializedAgentType, type StartExecutionRequest, type StartExecutionResponse, type StepConfig, type StepExecutionItem, type StepExecutionListResponse, type StepExecutionStatus, type StepHistoryEntry, type StepMetric, type StoppedBreakdown, type StoreApiKeyRequest, type StructuredResponse, type SyncJobResponse, SyncJobStatus, SyncPhaseStatus, type SyncProspectRequest, type SyncProspectResponse, type SyncRequest, type SyncStats, type TeardownOrgResponse, type TemplateShareConfig, type TemplateShareInfo, type TemplateShareRequest, type TemplateSharesResponse, type TenantDetailsResponse, TenantInfoResource, type TenantModelPreference, type TenantModelPreferencesResponse, type TestConnectionResponse, type ThreadListResponse, type ThreadObject, type ThreadResponsesParams, ThreadsResource, type ToolInfo, type TransitionCondition, type TransitionConditionOperator, type TransitionConditionType, type TransitionConfig, type TransitionEventParams, type TriggerSyncResponse, UNIPILE_RATE_LIMIT_ERRORS, UNIPILE_SAFE_LIMITS, type UUID, type UnlinkConversationsResponse, type UpdateAppStatusParams, type UpdateAppStatusResponse, type UpdateDraftRequest, type UpdateLinkedInSubscriptionRequest, type UpdateStepExecutionRequest, type UpdateStepExecutionResponse, type UpdateThreadRequest, type UserConnectionsResponse, type UserCreateRequest, type UserDeleteResponse, type UserIdentifier, type UserListResponse, type UserResponse, type UserUpdateRequest, UsersResource, VALID_EVENT_TYPES, type ValidatedCandidate, ValidationError, type ValidationIssue, type ValidationResponse, type WebhookEvent, type WebhookPayload, canSendInmail, displayProgress, formatProgressEntry, getBestSubscriptionForAction, getConnectionRequestLimit, getContentLimit, getDailyInmailLimit, getDefaultDailyLimits, getInmailAllowance, getLimits, getMessageLimit, getRateLimit, hasOpenProfileMessages, isRecruiterSubscription, normalizeAction, verifyWebhookSignature };
|
|
6307
|
+
export { ACTION_DELAYS, type ActionLimit, type ActiveHours, type AddAndRunCriterionRequest, type AddCriterionRequest, type AddOrgMemberRequest, type AddOrgMemberResponse, type AddPersonaRequest, type AddPersonaResponse, type AddProspectsRequest, type AddProspectsResponse, type AgentConfig, type ApiKeyMode, type ApiKeyModeRequest, type ApiKeyModeResponse, type ApiProvider, type AppEnabledResponse, type AppliedFilters, type ApprovalActionRequest, type ApprovalItem, type ApprovalListResponse, type ApprovalMode, type ApprovalResponse, type ApprovalSettings, type ApprovalStatus, type ApprovalsParams, type ApprovalsRequestItem, type ApprovalsResponseItem, type ApproveStepRequest, type AppsListResponse, type ArtifactObject, type ArtifactsListResponse, AuthenticationError, type BaseResource, type BatchCheckConnectionRequest, type BatchCheckPriorContactRequest, type BatchCheckPriorContactResponse, type BatchConnectionRequest, type BatchConnectionResponse, type BatchConnectionStatus, type BatchConnectionStatusResponse, type BatchDraftCompleteData, type BatchDraftCreatedData, type BatchDraftErrorData, type BatchDraftJobProgress, type BatchDraftJobResponse, type BatchDraftJobStartedData, type BatchDraftJobStatusResponse, type BatchDraftProgressData, type BatchDraftRequest, type BatchDraftResponse, type BatchDraftStreamCallbacks, type BatchDraftStreamEvent, type BatchDraftStreamEventType, type BatchExecutionInclude, type BatchExecutionRequest, type BatchExecutionResponse, BatchJobStatus, type BatchPollRequest, type BatchPollResponse, type BatchProspectIdentifier, type BatchRequestItem, type BatchRequestType, type BatchResponseItem, type BatchSendRequest, type BatchSendResponse, type BatchStepMetric, type BillingStatus, type BulkApprovalAction, type BulkApprovalFailure, type BulkApprovalRequest, type BulkApprovalResponse, type BulkCompleteFailure, type BulkCompleteRequest, type BulkCompleteResponse, type BulkDeleteRequest, type BulkDeleteResponse, type BulkOperationRequest, type BulkOperationResponse, type BulkUploadResponse, CONTENT_LIMITS, CONTENT_LIMITS_MAP, type CampaignActionListResponse, type CampaignActionResponse, type CampaignActionStatus, type CampaignActionType, type CampaignBulkApprovalAction, type CampaignBulkApprovalItem, type CampaignBulkApprovalRequest, type CampaignBulkApprovalResponse, type CampaignBulkApprovalResult, type CampaignCreate, type CampaignGuardrails, type CampaignListResponse, type CampaignMetricsResponse, type CampaignOutcomeType, type CampaignProspectDetailResponse, type CampaignProspectInput, type CampaignProspectResponse, type CampaignProspectState, type CampaignResponse, type CampaignStatus, type CampaignUpdate, CampaignsResource, type CancelDraftResponse, type CancelQueuedRequest, type CancelResponseResponse, type ChannelContactHistory, ChannelType, type CheckAppEnabledParams, type CheckLinkedInConnectionRequest, type CheckPriorContactRequest, type CheckPriorContactResponse, type ChunkingStrategy, type CompleteExecutionRequest, type CompleteExecutionResponse, type ConnectionAcceptedData, type ConnectionCallbackRequest, type ConnectionCallbackResponse, type ConnectionInfo, type ConnectionStatus, type ConnectionStatusResponse, type ConnectionSummary, type ConnectionsSyncStatus, type ContactDetailsInput, type ContactEnrichPersonInput, type ContactEnrichPersonResult, type ContactEnrichRequest, type ContactEnrichResponse, type ContactHistorySyncStatus, type ContactRelationshipProvider, type ContactRelationshipResponse, type ContactRelationshipStatus, ContactRelationshipsResource, type ContactScore, type ContentLimit, type ContentSource, type ContentType, type ConversationDetail, ConversationStatus, type ConversationSummary, type CreateDraftRequest, type CreateFeedbackRequest, type CreateFeedbackResponse, type CreateResponseRequest, type CreateResponseResponse, type CreateThreadRequest, type CriteriaClassification, type CriteriaMetadata, type CriterionDefinition, type CriterionResult, type CriterionType, type CrmMatchBatchRequest, type CrmMatchBatchResponse, type CrmMatchedProspect, type CrmProvider, CrmResource, type CrmSyncProspectRequest, type CrmSyncProspectResponse, DAILY_INMAIL_LIMITS, DEFAULT_SUBSCRIPTION_TYPE, type DatabaseStatus, type DeepPeopleSearchOutput, type DeepSearchPreview, type DeepSearchStats, type DeleteApiKeyResponse, type DeleteConnectionsResponse, type DeleteConversationResponse, type DeleteConversationsByProjectResponse, type DisconnectRequest, type DisconnectResponse, type DraftResponse, type DraftSendOverride, DraftStatus, type DuplicateHandling, type DuplicateTemplateRequest, type EditQueuedRequest, type Email, type EmailAction, type EmailOnboardRequest, type EmailOnboardResponse, type EmailOnboardStatusResponse, type EmailOrgHealthResponse, type EmailOrgListResponse, type EmailOrgSettingsResponse, type EmailOrgSettingsUpdate, type EmailOrgSummary, EmailResource, type EmailSenderPersona, type EmailThreadSummary, type EngagementStatus, type EngagementStatusData, type EngagementStatusRequest, type EngagementStatusResponse, EnrichmentResource, type ErrorDetail, type ErrorResponse, type ErrorResponseItem, type EvidenceSource, type ExecutionDetailResponse, type ExecutionEvent, type ExecutionEventData, type ExecutionListResponse, type ExecutionMetricsOptions, type ExecutionMetricsResponse, type ExecutionStatus, type ExecutionSummary, type ExecutionSummaryExtended, type ExecutionsParams, type ExecutionsRequestItem, type ExecutionsResponseItem, ExternalAPIKeysResource, type ExternalApiKeyResponse, type FeedbackListResponse, type FeedbackObject, type FeedbackType, type FileAttachment, type FileChunk, type FileContentResponse, type FileListResponse, type FileMetadata, type FileScope, type FileScopeUpdateRequest, type FileSearchRequest, type FileSearchResponse, type FileSearchResult, type FileStatisticsResponse, type FileUploadResponse, FilesResource, type FilterLogic, type FilterValue, type FunnelStage, type GetConnectionStatusParams, type GetContactRelationshipsOptions, type GetToolsRequest, type GetToolsResponse, type GetUserConnectionsParams, type InitiateConnectionRequest, type InitiateConnectionResponse, type InmailSubscription, IntegrationsResource, InternalServerError, LINKEDIN_LIMITS, type LifecycleOperationRequest, type LifecycleOperationResponse, type LinkAssetsRequest, type LinkedAssetsResponse, type LinkedInAccountInfoResponse, type LinkedInAccountRateLimits, type LinkedInAccountRateLimitsResponse, type LinkedInAccountRateLimitsUpdate, type LinkedInAction, type LinkedInConnectionStatus, type LinkedInCreditsResponse, type LinkedInLimitSubscriptionType, type LinkedInLimits, type LinkedInSendRequest, type LinkedInSubscriptionInfo, LinkedInSubscriptionType, type LinkedInSyncStatusResponse, type ListApprovalsOptions, type ListAssetsOptions, type ListCampaignActionsOptions, type ListCampaignProspectsOptions, type ListCampaignsOptions, type ListExecutionsOptions, type ListPendingApprovalsOptions, type ListPlaybooksOptions, type ListProvidersResponse, type ListStepExecutionsOptions, type ListTemplatesOptions, LocalFileNotSupportedError, LumnisClient, type LumnisClientOptions, LumnisError, type LumnisErrorOptions, type MCPScope, type MCPServerCreateRequest, type MCPServerListResponse, type MCPServerResponse, type MCPServerUpdateRequest, MCPServersResource, type MCPToolListResponse, type MCPToolResponse, type MCPTransport, type Message, type MessageReceivedData, type MessageResponse, type MessageSentData, MessageType, MessagingAPIError, MessagingConnectionError, MessagingNotFoundError, MessagingResource, MessagingSendError, MessagingValidationError, type MetricsParams, type MetricsRequestItem, type MetricsResponseItem, type ModelAvailability, type ModelOverrides, type ModelPreferenceCreate, type ModelPreferencesBulkUpdate, ModelPreferencesResource, type ModelProvider, type ModelType, NetworkDistance, NoDataSourcesError, NotFoundError, type OnFailure, type OutcomeType, type OutreachAssetCreate, type OutreachAssetResponse, type OutreachAssetType, type OutreachAssetUpdate, OutreachMethod, type PaginationInfo, type PaginationParams, type PauseResumeQueuedRequest, type PendingApprovalExtended, PeopleDataSource, PeopleResource, type PeopleSearchRequest, type PeopleSearchResponse, type PersonResult, type Plan, type PlaybookCreate, type PlaybookGenerateJobResponse, type PlaybookGenerateJobStatusResponse, type PlaybookGenerateRequest, type PlaybookResponse, type PlaybookUpdate, type PlaybookVersionResponse, type PostPreviewRequest, type PostPreviewResponse, type PostPreviewResult, type PostsSearchStats, type PriorContactMessage, type ProcessingStatus, type ProcessingStatusResponse, type ProgressEntry, ProgressTracker, type ProjectApprovalsData, type ProjectExecutionsData, type ProjectMetricsData, type ProspectConnectionCheck, type ProspectInfo, type ProspectInput, type ProspectPriorContactResult, type ProspectSyncIdentifier, type ProspectSyncResult, type ProspectWarning, ProviderType, QueueItemStatus, type QuickPeopleSearchOutput, RATE_LIMIT_COOLDOWNS, type RateLimitData, RateLimitError, type RateLimitErrorOptions, type RateLimitInfo$1 as RateLimitInfo, type RateLimitStatusResponse, type RateLimitsParams, type RateLimitsRequestItem, type RateLimitsResponseItem, type RecordOutcomeRequest, type RejectActionRequest, type RejectStepRequest, type RemoveOrgMemberResponse, type ReplySentiment, type ResponseArtifact, type ResponseListResponse, type ResponseObject, type ResponseStatus, ResponsesResource, SEQUENCE_RATE_LIMITS, type SalaryRange, type Scope, type SelectedSkill, type SendMessageRequest, type SendMessageResponse, type SendReplyRequest, type SendResult, type SenderPersonaInput, type SequenceAction, type SequenceApprovalNeededData, type SequenceChannel, type SequenceEventType, type SequenceExecutionCompletedData, type SequenceExecutionFailedData, type SequenceRateLimitAction, type SequenceStepCompletedData, type SequenceTemplateCreate, type SequenceTemplateResponse, type SequenceTemplateUpdate, SequencesResource, SharePermission, type SkillAnalyticsRequest, type SkillEffectivenessMetrics, type SkillGuidelineBase, type SkillGuidelineCreate, type SkillGuidelineListResponse, type SkillGuidelineResponse, type SkillGuidelineUpdate, type SkillRetrievalMetadata, type SkillUsageBase, type SkillUsageCreate, type SkillUsageListResponse, type SkillUsageResponse, type SkillUsageUpdate, SkillsResource, type SkipActionRequest, type SkipStepRequest, type SkipStepResponse, type SkippedProspect, SourcesNotAvailableError, type SpecializedAgentParams, type SpecializedAgentType, type StartExecutionRequest, type StartExecutionResponse, type StepConfig, type StepExecutionItem, type StepExecutionListResponse, type StepExecutionStatus, type StepHistoryEntry, type StepMetric, type StoppedBreakdown, type StoreApiKeyRequest, type StructuredResponse, type SyncJobResponse, SyncJobStatus, SyncPhaseStatus, type SyncProspectRequest, type SyncProspectResponse, type SyncRequest, type SyncStats, type TeardownOrgResponse, type TemplateShareConfig, type TemplateShareInfo, type TemplateShareRequest, type TemplateSharesResponse, type TenantDetailsResponse, TenantInfoResource, type TenantModelPreference, type TenantModelPreferencesResponse, type TestConnectionResponse, type ThreadListResponse, type ThreadObject, type ThreadResponsesParams, ThreadsResource, type ToolInfo, type TransitionCondition, type TransitionConditionOperator, type TransitionConditionType, type TransitionConfig, type TransitionEventParams, type TriggerSyncResponse, UNIPILE_RATE_LIMIT_ERRORS, UNIPILE_SAFE_LIMITS, type UUID, type UnlinkConversationsResponse, type UpdateAppStatusParams, type UpdateAppStatusResponse, type UpdateDraftRequest, type UpdateLinkedInSubscriptionRequest, type UpdatePersonaRequest, type UpdatePersonaResponse, type UpdateStepExecutionRequest, type UpdateStepExecutionResponse, type UpdateThreadRequest, type UserConnectionsResponse, type UserCreateRequest, type UserDeleteResponse, type UserIdentifier, type UserListResponse, type UserResponse, type UserUpdateRequest, UsersResource, VALID_EVENT_TYPES, type ValidatedCandidate, ValidationError, type ValidationIssue, type ValidationResponse, type WebhookEvent, type WebhookPayload, canSendInmail, displayProgress, formatProgressEntry, getBestSubscriptionForAction, getConnectionRequestLimit, getContentLimit, getDailyInmailLimit, getDefaultDailyLimits, getInmailAllowance, getLimits, getMessageLimit, getRateLimit, hasOpenProfileMessages, isRecruiterSubscription, normalizeAction, verifyWebhookSignature };
|
package/dist/index.d.mts
CHANGED
|
@@ -1829,6 +1829,13 @@ interface CampaignProspectResponse {
|
|
|
1829
1829
|
nextEvaluateAt?: string | null;
|
|
1830
1830
|
stopReason?: string | null;
|
|
1831
1831
|
stopReasoning?: string | null;
|
|
1832
|
+
/**
|
|
1833
|
+
* CRM provider this prospect is linked to via the CRM Sync API.
|
|
1834
|
+
* Populated by `client.crm.syncProspect` and `client.crm.matchBatch`.
|
|
1835
|
+
*/
|
|
1836
|
+
crmProvider?: 'attio' | 'hubspot' | null;
|
|
1837
|
+
/** External CRM record id (Attio record_id, HubSpot contact id). */
|
|
1838
|
+
crmRecordId?: string | null;
|
|
1832
1839
|
metadata: Record<string, unknown>;
|
|
1833
1840
|
version: number;
|
|
1834
1841
|
createdAt: string;
|
|
@@ -2307,6 +2314,150 @@ declare class ContactRelationshipsResource {
|
|
|
2307
2314
|
get(options: GetContactRelationshipsOptions): Promise<ContactRelationshipResponse>;
|
|
2308
2315
|
}
|
|
2309
2316
|
|
|
2317
|
+
/**
|
|
2318
|
+
* CRM Sync API types.
|
|
2319
|
+
*
|
|
2320
|
+
* These types map to the Python backend endpoints under /v1/crm.
|
|
2321
|
+
* Provider list mirrors `CrmProvider` in src/app/api/schemas/crm_schemas.py.
|
|
2322
|
+
*
|
|
2323
|
+
* All types are prefixed with `Crm` to avoid collisions with the
|
|
2324
|
+
* messaging-API prospect-sync types (`SyncProspectRequest`,
|
|
2325
|
+
* `SyncProspectResponse` in `./messaging`), which serve a different
|
|
2326
|
+
* purpose (LinkedIn/email conversation sync, not CRM linkage).
|
|
2327
|
+
*/
|
|
2328
|
+
/**
|
|
2329
|
+
* Connected CRM systems supported by the sync API.
|
|
2330
|
+
*
|
|
2331
|
+
* Capability notes:
|
|
2332
|
+
* - `attio` supports both email and LinkedIn-URL person search.
|
|
2333
|
+
* - `hubspot` only supports email search; LinkedIn URLs are stored as a
|
|
2334
|
+
* custom property on create but are not searchable through the
|
|
2335
|
+
* reconciliation flow.
|
|
2336
|
+
*/
|
|
2337
|
+
type CrmProvider = 'attio' | 'hubspot';
|
|
2338
|
+
/**
|
|
2339
|
+
* Push one Lumnis prospect to the connected CRM.
|
|
2340
|
+
*
|
|
2341
|
+
* The prospect must already exist in a `campaign_prospects` row owned
|
|
2342
|
+
* by `userId`; the linkedin URL is the lookup key.
|
|
2343
|
+
*/
|
|
2344
|
+
interface CrmSyncProspectRequest {
|
|
2345
|
+
/** UUID or email of the user whose CRM connection executes the call. */
|
|
2346
|
+
userId: string;
|
|
2347
|
+
provider: CrmProvider;
|
|
2348
|
+
/** Must contain `linkedin.com/in/`. */
|
|
2349
|
+
linkedinUrl: string;
|
|
2350
|
+
}
|
|
2351
|
+
interface CrmSyncProspectResponse {
|
|
2352
|
+
/**
|
|
2353
|
+
* `linked` — record already existed in the CRM (matched by email or
|
|
2354
|
+
* LinkedIn URL) and was linked back to the prospect.
|
|
2355
|
+
* `created` — no existing match, a new CRM record was created.
|
|
2356
|
+
*/
|
|
2357
|
+
action: 'linked' | 'created';
|
|
2358
|
+
/** Provider-native record id (Attio record_id, HubSpot contact id). */
|
|
2359
|
+
crmRecordId: string;
|
|
2360
|
+
/** Stable URL that opens the record in the CRM UI. */
|
|
2361
|
+
crmUrl: string;
|
|
2362
|
+
}
|
|
2363
|
+
/**
|
|
2364
|
+
* Bulk-check whether prospects are already in the CRM.
|
|
2365
|
+
*
|
|
2366
|
+
* Server-side fan-out is bounded by the
|
|
2367
|
+
* `CRM_MATCH_LIVE_SEARCH_PARALLELISM` setting; the array max
|
|
2368
|
+
* (1000) is a Pydantic guard, not a UX cap.
|
|
2369
|
+
*/
|
|
2370
|
+
interface CrmMatchBatchRequest {
|
|
2371
|
+
userId: string;
|
|
2372
|
+
provider: CrmProvider;
|
|
2373
|
+
/** 1..1000 LinkedIn profile URLs. */
|
|
2374
|
+
linkedinUrls: string[];
|
|
2375
|
+
}
|
|
2376
|
+
interface CrmMatchedProspect {
|
|
2377
|
+
/** Echoed input URL (in original casing/form). */
|
|
2378
|
+
linkedinUrl: string;
|
|
2379
|
+
linked: boolean;
|
|
2380
|
+
/** Present iff `linked` is true. */
|
|
2381
|
+
crmRecordId?: string | null;
|
|
2382
|
+
crmUrl?: string | null;
|
|
2383
|
+
}
|
|
2384
|
+
interface CrmMatchBatchResponse {
|
|
2385
|
+
matches: CrmMatchedProspect[];
|
|
2386
|
+
}
|
|
2387
|
+
|
|
2388
|
+
/**
|
|
2389
|
+
* Resource for the user-triggered CRM Sync API.
|
|
2390
|
+
*
|
|
2391
|
+
* Wraps `POST /v1/crm/prospects/sync` and `POST /v1/crm/prospects/match-batch`.
|
|
2392
|
+
*
|
|
2393
|
+
* The user identified by `userId` must already have an active CRM
|
|
2394
|
+
* connection (see `client.integrations.initiateConnection`). When the
|
|
2395
|
+
* connection is missing, the server returns `409 crm_not_connected`
|
|
2396
|
+
* with `connect_url` in the error body so callers can route the user
|
|
2397
|
+
* to the OAuth flow.
|
|
2398
|
+
*
|
|
2399
|
+
* Failure modes worth handling:
|
|
2400
|
+
* - `409 crm_not_connected` — user hasn't connected the provider.
|
|
2401
|
+
* - `404 prospect_not_found` (sync only) — no `campaign_prospects` row
|
|
2402
|
+
* matches `linkedinUrl` for this user.
|
|
2403
|
+
* - `502 crm_upstream_error` — Attio/HubSpot returned an error.
|
|
2404
|
+
* - `503 crm_upstream_rate_limited` — upstream rate-limit; the response
|
|
2405
|
+
* includes a `Retry-After` header.
|
|
2406
|
+
*/
|
|
2407
|
+
declare class CrmResource {
|
|
2408
|
+
private readonly http;
|
|
2409
|
+
constructor(http: Http);
|
|
2410
|
+
/**
|
|
2411
|
+
* Push one Lumnis prospect to the connected CRM.
|
|
2412
|
+
*
|
|
2413
|
+
* Idempotent: repeated calls for the same
|
|
2414
|
+
* `(userId, provider, linkedinUrl)` return `linked` with the same
|
|
2415
|
+
* `crmRecordId`. Stale links (record deleted in the CRM) are detected
|
|
2416
|
+
* and re-created automatically.
|
|
2417
|
+
*
|
|
2418
|
+
* @example
|
|
2419
|
+
* ```typescript
|
|
2420
|
+
* const result = await client.crm.syncProspect({
|
|
2421
|
+
* userId: 'user@example.com',
|
|
2422
|
+
* provider: 'attio',
|
|
2423
|
+
* linkedinUrl: 'https://www.linkedin.com/in/jane-doe/',
|
|
2424
|
+
* })
|
|
2425
|
+
* console.log(result.action, result.crmUrl)
|
|
2426
|
+
* ```
|
|
2427
|
+
*/
|
|
2428
|
+
syncProspect(data: CrmSyncProspectRequest): Promise<CrmSyncProspectResponse>;
|
|
2429
|
+
/**
|
|
2430
|
+
* Bulk-check whether prospects are already in the CRM. Designed for
|
|
2431
|
+
* list-view badge rendering: feed it every visible LinkedIn URL and
|
|
2432
|
+
* render a "linked" indicator for the ones that come back true.
|
|
2433
|
+
*
|
|
2434
|
+
* Layered cache on the server side: persistent positive matches are
|
|
2435
|
+
* served from the `campaign_prospects.crm_record_id` column, negative
|
|
2436
|
+
* results are served from a Redis cache (TTL configured by
|
|
2437
|
+
* `CRM_MATCH_NEGATIVE_CACHE_TTL_SECONDS`). Only the leftover unknowns
|
|
2438
|
+
* fan out to the live CRM, bounded by
|
|
2439
|
+
* `CRM_MATCH_LIVE_SEARCH_PARALLELISM`.
|
|
2440
|
+
*
|
|
2441
|
+
* Note: HubSpot does not expose a LinkedIn-URL search field through
|
|
2442
|
+
* Composio, so for `provider: 'hubspot'` URLs that aren't already in
|
|
2443
|
+
* the persistent cache will always come back `linked: false`. The
|
|
2444
|
+
* sync endpoint still reconciles via email when available.
|
|
2445
|
+
*
|
|
2446
|
+
* @example
|
|
2447
|
+
* ```typescript
|
|
2448
|
+
* const { matches } = await client.crm.matchBatch({
|
|
2449
|
+
* userId: 'user@example.com',
|
|
2450
|
+
* provider: 'attio',
|
|
2451
|
+
* linkedinUrls: prospects.map(p => p.linkedinUrl),
|
|
2452
|
+
* })
|
|
2453
|
+
* for (const m of matches) {
|
|
2454
|
+
* if (m.linked) console.log(m.linkedinUrl, '->', m.crmUrl)
|
|
2455
|
+
* }
|
|
2456
|
+
* ```
|
|
2457
|
+
*/
|
|
2458
|
+
matchBatch(data: CrmMatchBatchRequest): Promise<CrmMatchBatchResponse>;
|
|
2459
|
+
}
|
|
2460
|
+
|
|
2310
2461
|
/**
|
|
2311
2462
|
* Email infrastructure types.
|
|
2312
2463
|
*
|
|
@@ -2316,6 +2467,7 @@ interface SenderPersonaInput {
|
|
|
2316
2467
|
firstName: string;
|
|
2317
2468
|
lastName: string;
|
|
2318
2469
|
title?: string;
|
|
2470
|
+
dailyVolumeCap?: number | null;
|
|
2319
2471
|
}
|
|
2320
2472
|
interface ContactDetailsInput {
|
|
2321
2473
|
firstName: string;
|
|
@@ -2348,6 +2500,10 @@ interface AddPersonaRequest {
|
|
|
2348
2500
|
firstName: string;
|
|
2349
2501
|
lastName: string;
|
|
2350
2502
|
title?: string;
|
|
2503
|
+
dailyVolumeCap?: number | null;
|
|
2504
|
+
}
|
|
2505
|
+
interface UpdatePersonaRequest {
|
|
2506
|
+
dailyVolumeCap?: number | null;
|
|
2351
2507
|
}
|
|
2352
2508
|
interface AddOrgMemberRequest {
|
|
2353
2509
|
email: string;
|
|
@@ -2372,10 +2528,19 @@ interface EmailOrgSettingsResponse {
|
|
|
2372
2528
|
dailyVolume: number;
|
|
2373
2529
|
volumeMode: string;
|
|
2374
2530
|
physicalAddress?: string | null;
|
|
2375
|
-
senderPersonas:
|
|
2531
|
+
senderPersonas: EmailSenderPersona[];
|
|
2376
2532
|
domainsActive: number;
|
|
2377
2533
|
mailboxesReady: number;
|
|
2378
2534
|
}
|
|
2535
|
+
interface EmailSenderPersona {
|
|
2536
|
+
id: string;
|
|
2537
|
+
firstName: string;
|
|
2538
|
+
lastName: string;
|
|
2539
|
+
title?: string | null;
|
|
2540
|
+
dailyVolumeCap: number | null;
|
|
2541
|
+
mailboxCount: number;
|
|
2542
|
+
mailboxesReady: number;
|
|
2543
|
+
}
|
|
2379
2544
|
interface EmailOrgHealthResponse {
|
|
2380
2545
|
organizationId: string;
|
|
2381
2546
|
domains: Record<string, number>;
|
|
@@ -2398,6 +2563,15 @@ interface AddPersonaResponse {
|
|
|
2398
2563
|
personaId: string;
|
|
2399
2564
|
message: string;
|
|
2400
2565
|
}
|
|
2566
|
+
interface UpdatePersonaResponse {
|
|
2567
|
+
personaId: string;
|
|
2568
|
+
dailyVolumeCap: number | null;
|
|
2569
|
+
mailboxCount: number;
|
|
2570
|
+
requestedTargetMailboxes: number;
|
|
2571
|
+
mailboxesProvisioned: number;
|
|
2572
|
+
partial: boolean;
|
|
2573
|
+
shortfall: number;
|
|
2574
|
+
}
|
|
2401
2575
|
interface AddOrgMemberResponse {
|
|
2402
2576
|
message: string;
|
|
2403
2577
|
}
|
|
@@ -2446,9 +2620,18 @@ declare class EmailResource {
|
|
|
2446
2620
|
getHealth(orgId: string, userId: string): Promise<EmailOrgHealthResponse>;
|
|
2447
2621
|
/**
|
|
2448
2622
|
* Add a new sender persona to an organization.
|
|
2449
|
-
* Provisions mailboxes on existing domains.
|
|
2623
|
+
* Provisions mailboxes on existing domains. Set `dailyVolumeCap` to `0`
|
|
2624
|
+
* for a lazy persona with no mailbox provisioning. Requires admin role.
|
|
2450
2625
|
*/
|
|
2451
2626
|
addPersona(orgId: string, userId: string, persona: AddPersonaRequest): Promise<AddPersonaResponse>;
|
|
2627
|
+
/**
|
|
2628
|
+
* Update a sender persona's per-persona daily volume cap.
|
|
2629
|
+
*
|
|
2630
|
+
* Pass `{}` for a no-op read, `{ dailyVolumeCap: null }` to revert to the
|
|
2631
|
+
* organization formula, or `{ dailyVolumeCap: number }` to set an explicit
|
|
2632
|
+
* cap. Requires admin role.
|
|
2633
|
+
*/
|
|
2634
|
+
updatePersona(orgId: string, userId: string, personaId: string, update: UpdatePersonaRequest): Promise<UpdatePersonaResponse>;
|
|
2452
2635
|
/**
|
|
2453
2636
|
* Teardown an email organization's infrastructure.
|
|
2454
2637
|
*
|
|
@@ -5768,6 +5951,7 @@ declare class LumnisClient {
|
|
|
5768
5951
|
readonly contactRelationships: ContactRelationshipsResource;
|
|
5769
5952
|
readonly enrichment: EnrichmentResource;
|
|
5770
5953
|
readonly email: EmailResource;
|
|
5954
|
+
readonly crm: CrmResource;
|
|
5771
5955
|
private readonly _scopedUserId?;
|
|
5772
5956
|
private readonly _defaultScope;
|
|
5773
5957
|
constructor(options?: LumnisClientOptions);
|
|
@@ -6120,4 +6304,4 @@ declare class ProgressTracker {
|
|
|
6120
6304
|
*/
|
|
6121
6305
|
declare function verifyWebhookSignature(payload: string, signature: string, secret: string): boolean;
|
|
6122
6306
|
|
|
6123
|
-
export { ACTION_DELAYS, type ActionLimit, type ActiveHours, type AddAndRunCriterionRequest, type AddCriterionRequest, type AddOrgMemberRequest, type AddOrgMemberResponse, type AddPersonaRequest, type AddPersonaResponse, type AddProspectsRequest, type AddProspectsResponse, type AgentConfig, type ApiKeyMode, type ApiKeyModeRequest, type ApiKeyModeResponse, type ApiProvider, type AppEnabledResponse, type AppliedFilters, type ApprovalActionRequest, type ApprovalItem, type ApprovalListResponse, type ApprovalMode, type ApprovalResponse, type ApprovalSettings, type ApprovalStatus, type ApprovalsParams, type ApprovalsRequestItem, type ApprovalsResponseItem, type ApproveStepRequest, type AppsListResponse, type ArtifactObject, type ArtifactsListResponse, AuthenticationError, type BaseResource, type BatchCheckConnectionRequest, type BatchCheckPriorContactRequest, type BatchCheckPriorContactResponse, type BatchConnectionRequest, type BatchConnectionResponse, type BatchConnectionStatus, type BatchConnectionStatusResponse, type BatchDraftCompleteData, type BatchDraftCreatedData, type BatchDraftErrorData, type BatchDraftJobProgress, type BatchDraftJobResponse, type BatchDraftJobStartedData, type BatchDraftJobStatusResponse, type BatchDraftProgressData, type BatchDraftRequest, type BatchDraftResponse, type BatchDraftStreamCallbacks, type BatchDraftStreamEvent, type BatchDraftStreamEventType, type BatchExecutionInclude, type BatchExecutionRequest, type BatchExecutionResponse, BatchJobStatus, type BatchPollRequest, type BatchPollResponse, type BatchProspectIdentifier, type BatchRequestItem, type BatchRequestType, type BatchResponseItem, type BatchSendRequest, type BatchSendResponse, type BatchStepMetric, type BillingStatus, type BulkApprovalAction, type BulkApprovalFailure, type BulkApprovalRequest, type BulkApprovalResponse, type BulkCompleteFailure, type BulkCompleteRequest, type BulkCompleteResponse, type BulkDeleteRequest, type BulkDeleteResponse, type BulkOperationRequest, type BulkOperationResponse, type BulkUploadResponse, CONTENT_LIMITS, CONTENT_LIMITS_MAP, type CampaignActionListResponse, type CampaignActionResponse, type CampaignActionStatus, type CampaignActionType, type CampaignBulkApprovalAction, type CampaignBulkApprovalItem, type CampaignBulkApprovalRequest, type CampaignBulkApprovalResponse, type CampaignBulkApprovalResult, type CampaignCreate, type CampaignGuardrails, type CampaignListResponse, type CampaignMetricsResponse, type CampaignOutcomeType, type CampaignProspectDetailResponse, type CampaignProspectInput, type CampaignProspectResponse, type CampaignProspectState, type CampaignResponse, type CampaignStatus, type CampaignUpdate, CampaignsResource, type CancelDraftResponse, type CancelQueuedRequest, type CancelResponseResponse, type ChannelContactHistory, ChannelType, type CheckAppEnabledParams, type CheckLinkedInConnectionRequest, type CheckPriorContactRequest, type CheckPriorContactResponse, type ChunkingStrategy, type CompleteExecutionRequest, type CompleteExecutionResponse, type ConnectionAcceptedData, type ConnectionCallbackRequest, type ConnectionCallbackResponse, type ConnectionInfo, type ConnectionStatus, type ConnectionStatusResponse, type ConnectionSummary, type ConnectionsSyncStatus, type ContactDetailsInput, type ContactEnrichPersonInput, type ContactEnrichPersonResult, type ContactEnrichRequest, type ContactEnrichResponse, type ContactHistorySyncStatus, type ContactRelationshipProvider, type ContactRelationshipResponse, type ContactRelationshipStatus, ContactRelationshipsResource, type ContactScore, type ContentLimit, type ContentSource, type ContentType, type ConversationDetail, ConversationStatus, type ConversationSummary, type CreateDraftRequest, type CreateFeedbackRequest, type CreateFeedbackResponse, type CreateResponseRequest, type CreateResponseResponse, type CreateThreadRequest, type CriteriaClassification, type CriteriaMetadata, type CriterionDefinition, type CriterionResult, type CriterionType, DAILY_INMAIL_LIMITS, DEFAULT_SUBSCRIPTION_TYPE, type DatabaseStatus, type DeepPeopleSearchOutput, type DeepSearchPreview, type DeepSearchStats, type DeleteApiKeyResponse, type DeleteConnectionsResponse, type DeleteConversationResponse, type DeleteConversationsByProjectResponse, type DisconnectRequest, type DisconnectResponse, type DraftResponse, type DraftSendOverride, DraftStatus, type DuplicateHandling, type DuplicateTemplateRequest, type EditQueuedRequest, type Email, type EmailAction, type EmailOnboardRequest, type EmailOnboardResponse, type EmailOnboardStatusResponse, type EmailOrgHealthResponse, type EmailOrgListResponse, type EmailOrgSettingsResponse, type EmailOrgSettingsUpdate, type EmailOrgSummary, EmailResource, type EmailThreadSummary, type EngagementStatus, type EngagementStatusData, type EngagementStatusRequest, type EngagementStatusResponse, EnrichmentResource, type ErrorDetail, type ErrorResponse, type ErrorResponseItem, type EvidenceSource, type ExecutionDetailResponse, type ExecutionEvent, type ExecutionEventData, type ExecutionListResponse, type ExecutionMetricsOptions, type ExecutionMetricsResponse, type ExecutionStatus, type ExecutionSummary, type ExecutionSummaryExtended, type ExecutionsParams, type ExecutionsRequestItem, type ExecutionsResponseItem, ExternalAPIKeysResource, type ExternalApiKeyResponse, type FeedbackListResponse, type FeedbackObject, type FeedbackType, type FileAttachment, type FileChunk, type FileContentResponse, type FileListResponse, type FileMetadata, type FileScope, type FileScopeUpdateRequest, type FileSearchRequest, type FileSearchResponse, type FileSearchResult, type FileStatisticsResponse, type FileUploadResponse, FilesResource, type FilterLogic, type FilterValue, type FunnelStage, type GetConnectionStatusParams, type GetContactRelationshipsOptions, type GetToolsRequest, type GetToolsResponse, type GetUserConnectionsParams, type InitiateConnectionRequest, type InitiateConnectionResponse, type InmailSubscription, IntegrationsResource, InternalServerError, LINKEDIN_LIMITS, type LifecycleOperationRequest, type LifecycleOperationResponse, type LinkAssetsRequest, type LinkedAssetsResponse, type LinkedInAccountInfoResponse, type LinkedInAccountRateLimits, type LinkedInAccountRateLimitsResponse, type LinkedInAccountRateLimitsUpdate, type LinkedInAction, type LinkedInConnectionStatus, type LinkedInCreditsResponse, type LinkedInLimitSubscriptionType, type LinkedInLimits, type LinkedInSendRequest, type LinkedInSubscriptionInfo, LinkedInSubscriptionType, type LinkedInSyncStatusResponse, type ListApprovalsOptions, type ListAssetsOptions, type ListCampaignActionsOptions, type ListCampaignProspectsOptions, type ListCampaignsOptions, type ListExecutionsOptions, type ListPendingApprovalsOptions, type ListPlaybooksOptions, type ListProvidersResponse, type ListStepExecutionsOptions, type ListTemplatesOptions, LocalFileNotSupportedError, LumnisClient, type LumnisClientOptions, LumnisError, type LumnisErrorOptions, type MCPScope, type MCPServerCreateRequest, type MCPServerListResponse, type MCPServerResponse, type MCPServerUpdateRequest, MCPServersResource, type MCPToolListResponse, type MCPToolResponse, type MCPTransport, type Message, type MessageReceivedData, type MessageResponse, type MessageSentData, MessageType, MessagingAPIError, MessagingConnectionError, MessagingNotFoundError, MessagingResource, MessagingSendError, MessagingValidationError, type MetricsParams, type MetricsRequestItem, type MetricsResponseItem, type ModelAvailability, type ModelOverrides, type ModelPreferenceCreate, type ModelPreferencesBulkUpdate, ModelPreferencesResource, type ModelProvider, type ModelType, NetworkDistance, NoDataSourcesError, NotFoundError, type OnFailure, type OutcomeType, type OutreachAssetCreate, type OutreachAssetResponse, type OutreachAssetType, type OutreachAssetUpdate, OutreachMethod, type PaginationInfo, type PaginationParams, type PauseResumeQueuedRequest, type PendingApprovalExtended, PeopleDataSource, PeopleResource, type PeopleSearchRequest, type PeopleSearchResponse, type PersonResult, type Plan, type PlaybookCreate, type PlaybookGenerateJobResponse, type PlaybookGenerateJobStatusResponse, type PlaybookGenerateRequest, type PlaybookResponse, type PlaybookUpdate, type PlaybookVersionResponse, type PostPreviewRequest, type PostPreviewResponse, type PostPreviewResult, type PostsSearchStats, type PriorContactMessage, type ProcessingStatus, type ProcessingStatusResponse, type ProgressEntry, ProgressTracker, type ProjectApprovalsData, type ProjectExecutionsData, type ProjectMetricsData, type ProspectConnectionCheck, type ProspectInfo, type ProspectInput, type ProspectPriorContactResult, type ProspectSyncIdentifier, type ProspectSyncResult, type ProspectWarning, ProviderType, QueueItemStatus, type QuickPeopleSearchOutput, RATE_LIMIT_COOLDOWNS, type RateLimitData, RateLimitError, type RateLimitErrorOptions, type RateLimitInfo$1 as RateLimitInfo, type RateLimitStatusResponse, type RateLimitsParams, type RateLimitsRequestItem, type RateLimitsResponseItem, type RecordOutcomeRequest, type RejectActionRequest, type RejectStepRequest, type RemoveOrgMemberResponse, type ReplySentiment, type ResponseArtifact, type ResponseListResponse, type ResponseObject, type ResponseStatus, ResponsesResource, SEQUENCE_RATE_LIMITS, type SalaryRange, type Scope, type SelectedSkill, type SendMessageRequest, type SendMessageResponse, type SendReplyRequest, type SendResult, type SenderPersonaInput, type SequenceAction, type SequenceApprovalNeededData, type SequenceChannel, type SequenceEventType, type SequenceExecutionCompletedData, type SequenceExecutionFailedData, type SequenceRateLimitAction, type SequenceStepCompletedData, type SequenceTemplateCreate, type SequenceTemplateResponse, type SequenceTemplateUpdate, SequencesResource, SharePermission, type SkillAnalyticsRequest, type SkillEffectivenessMetrics, type SkillGuidelineBase, type SkillGuidelineCreate, type SkillGuidelineListResponse, type SkillGuidelineResponse, type SkillGuidelineUpdate, type SkillRetrievalMetadata, type SkillUsageBase, type SkillUsageCreate, type SkillUsageListResponse, type SkillUsageResponse, type SkillUsageUpdate, SkillsResource, type SkipActionRequest, type SkipStepRequest, type SkipStepResponse, type SkippedProspect, SourcesNotAvailableError, type SpecializedAgentParams, type SpecializedAgentType, type StartExecutionRequest, type StartExecutionResponse, type StepConfig, type StepExecutionItem, type StepExecutionListResponse, type StepExecutionStatus, type StepHistoryEntry, type StepMetric, type StoppedBreakdown, type StoreApiKeyRequest, type StructuredResponse, type SyncJobResponse, SyncJobStatus, SyncPhaseStatus, type SyncProspectRequest, type SyncProspectResponse, type SyncRequest, type SyncStats, type TeardownOrgResponse, type TemplateShareConfig, type TemplateShareInfo, type TemplateShareRequest, type TemplateSharesResponse, type TenantDetailsResponse, TenantInfoResource, type TenantModelPreference, type TenantModelPreferencesResponse, type TestConnectionResponse, type ThreadListResponse, type ThreadObject, type ThreadResponsesParams, ThreadsResource, type ToolInfo, type TransitionCondition, type TransitionConditionOperator, type TransitionConditionType, type TransitionConfig, type TransitionEventParams, type TriggerSyncResponse, UNIPILE_RATE_LIMIT_ERRORS, UNIPILE_SAFE_LIMITS, type UUID, type UnlinkConversationsResponse, type UpdateAppStatusParams, type UpdateAppStatusResponse, type UpdateDraftRequest, type UpdateLinkedInSubscriptionRequest, type UpdateStepExecutionRequest, type UpdateStepExecutionResponse, type UpdateThreadRequest, type UserConnectionsResponse, type UserCreateRequest, type UserDeleteResponse, type UserIdentifier, type UserListResponse, type UserResponse, type UserUpdateRequest, UsersResource, VALID_EVENT_TYPES, type ValidatedCandidate, ValidationError, type ValidationIssue, type ValidationResponse, type WebhookEvent, type WebhookPayload, canSendInmail, displayProgress, formatProgressEntry, getBestSubscriptionForAction, getConnectionRequestLimit, getContentLimit, getDailyInmailLimit, getDefaultDailyLimits, getInmailAllowance, getLimits, getMessageLimit, getRateLimit, hasOpenProfileMessages, isRecruiterSubscription, normalizeAction, verifyWebhookSignature };
|
|
6307
|
+
export { ACTION_DELAYS, type ActionLimit, type ActiveHours, type AddAndRunCriterionRequest, type AddCriterionRequest, type AddOrgMemberRequest, type AddOrgMemberResponse, type AddPersonaRequest, type AddPersonaResponse, type AddProspectsRequest, type AddProspectsResponse, type AgentConfig, type ApiKeyMode, type ApiKeyModeRequest, type ApiKeyModeResponse, type ApiProvider, type AppEnabledResponse, type AppliedFilters, type ApprovalActionRequest, type ApprovalItem, type ApprovalListResponse, type ApprovalMode, type ApprovalResponse, type ApprovalSettings, type ApprovalStatus, type ApprovalsParams, type ApprovalsRequestItem, type ApprovalsResponseItem, type ApproveStepRequest, type AppsListResponse, type ArtifactObject, type ArtifactsListResponse, AuthenticationError, type BaseResource, type BatchCheckConnectionRequest, type BatchCheckPriorContactRequest, type BatchCheckPriorContactResponse, type BatchConnectionRequest, type BatchConnectionResponse, type BatchConnectionStatus, type BatchConnectionStatusResponse, type BatchDraftCompleteData, type BatchDraftCreatedData, type BatchDraftErrorData, type BatchDraftJobProgress, type BatchDraftJobResponse, type BatchDraftJobStartedData, type BatchDraftJobStatusResponse, type BatchDraftProgressData, type BatchDraftRequest, type BatchDraftResponse, type BatchDraftStreamCallbacks, type BatchDraftStreamEvent, type BatchDraftStreamEventType, type BatchExecutionInclude, type BatchExecutionRequest, type BatchExecutionResponse, BatchJobStatus, type BatchPollRequest, type BatchPollResponse, type BatchProspectIdentifier, type BatchRequestItem, type BatchRequestType, type BatchResponseItem, type BatchSendRequest, type BatchSendResponse, type BatchStepMetric, type BillingStatus, type BulkApprovalAction, type BulkApprovalFailure, type BulkApprovalRequest, type BulkApprovalResponse, type BulkCompleteFailure, type BulkCompleteRequest, type BulkCompleteResponse, type BulkDeleteRequest, type BulkDeleteResponse, type BulkOperationRequest, type BulkOperationResponse, type BulkUploadResponse, CONTENT_LIMITS, CONTENT_LIMITS_MAP, type CampaignActionListResponse, type CampaignActionResponse, type CampaignActionStatus, type CampaignActionType, type CampaignBulkApprovalAction, type CampaignBulkApprovalItem, type CampaignBulkApprovalRequest, type CampaignBulkApprovalResponse, type CampaignBulkApprovalResult, type CampaignCreate, type CampaignGuardrails, type CampaignListResponse, type CampaignMetricsResponse, type CampaignOutcomeType, type CampaignProspectDetailResponse, type CampaignProspectInput, type CampaignProspectResponse, type CampaignProspectState, type CampaignResponse, type CampaignStatus, type CampaignUpdate, CampaignsResource, type CancelDraftResponse, type CancelQueuedRequest, type CancelResponseResponse, type ChannelContactHistory, ChannelType, type CheckAppEnabledParams, type CheckLinkedInConnectionRequest, type CheckPriorContactRequest, type CheckPriorContactResponse, type ChunkingStrategy, type CompleteExecutionRequest, type CompleteExecutionResponse, type ConnectionAcceptedData, type ConnectionCallbackRequest, type ConnectionCallbackResponse, type ConnectionInfo, type ConnectionStatus, type ConnectionStatusResponse, type ConnectionSummary, type ConnectionsSyncStatus, type ContactDetailsInput, type ContactEnrichPersonInput, type ContactEnrichPersonResult, type ContactEnrichRequest, type ContactEnrichResponse, type ContactHistorySyncStatus, type ContactRelationshipProvider, type ContactRelationshipResponse, type ContactRelationshipStatus, ContactRelationshipsResource, type ContactScore, type ContentLimit, type ContentSource, type ContentType, type ConversationDetail, ConversationStatus, type ConversationSummary, type CreateDraftRequest, type CreateFeedbackRequest, type CreateFeedbackResponse, type CreateResponseRequest, type CreateResponseResponse, type CreateThreadRequest, type CriteriaClassification, type CriteriaMetadata, type CriterionDefinition, type CriterionResult, type CriterionType, type CrmMatchBatchRequest, type CrmMatchBatchResponse, type CrmMatchedProspect, type CrmProvider, CrmResource, type CrmSyncProspectRequest, type CrmSyncProspectResponse, DAILY_INMAIL_LIMITS, DEFAULT_SUBSCRIPTION_TYPE, type DatabaseStatus, type DeepPeopleSearchOutput, type DeepSearchPreview, type DeepSearchStats, type DeleteApiKeyResponse, type DeleteConnectionsResponse, type DeleteConversationResponse, type DeleteConversationsByProjectResponse, type DisconnectRequest, type DisconnectResponse, type DraftResponse, type DraftSendOverride, DraftStatus, type DuplicateHandling, type DuplicateTemplateRequest, type EditQueuedRequest, type Email, type EmailAction, type EmailOnboardRequest, type EmailOnboardResponse, type EmailOnboardStatusResponse, type EmailOrgHealthResponse, type EmailOrgListResponse, type EmailOrgSettingsResponse, type EmailOrgSettingsUpdate, type EmailOrgSummary, EmailResource, type EmailSenderPersona, type EmailThreadSummary, type EngagementStatus, type EngagementStatusData, type EngagementStatusRequest, type EngagementStatusResponse, EnrichmentResource, type ErrorDetail, type ErrorResponse, type ErrorResponseItem, type EvidenceSource, type ExecutionDetailResponse, type ExecutionEvent, type ExecutionEventData, type ExecutionListResponse, type ExecutionMetricsOptions, type ExecutionMetricsResponse, type ExecutionStatus, type ExecutionSummary, type ExecutionSummaryExtended, type ExecutionsParams, type ExecutionsRequestItem, type ExecutionsResponseItem, ExternalAPIKeysResource, type ExternalApiKeyResponse, type FeedbackListResponse, type FeedbackObject, type FeedbackType, type FileAttachment, type FileChunk, type FileContentResponse, type FileListResponse, type FileMetadata, type FileScope, type FileScopeUpdateRequest, type FileSearchRequest, type FileSearchResponse, type FileSearchResult, type FileStatisticsResponse, type FileUploadResponse, FilesResource, type FilterLogic, type FilterValue, type FunnelStage, type GetConnectionStatusParams, type GetContactRelationshipsOptions, type GetToolsRequest, type GetToolsResponse, type GetUserConnectionsParams, type InitiateConnectionRequest, type InitiateConnectionResponse, type InmailSubscription, IntegrationsResource, InternalServerError, LINKEDIN_LIMITS, type LifecycleOperationRequest, type LifecycleOperationResponse, type LinkAssetsRequest, type LinkedAssetsResponse, type LinkedInAccountInfoResponse, type LinkedInAccountRateLimits, type LinkedInAccountRateLimitsResponse, type LinkedInAccountRateLimitsUpdate, type LinkedInAction, type LinkedInConnectionStatus, type LinkedInCreditsResponse, type LinkedInLimitSubscriptionType, type LinkedInLimits, type LinkedInSendRequest, type LinkedInSubscriptionInfo, LinkedInSubscriptionType, type LinkedInSyncStatusResponse, type ListApprovalsOptions, type ListAssetsOptions, type ListCampaignActionsOptions, type ListCampaignProspectsOptions, type ListCampaignsOptions, type ListExecutionsOptions, type ListPendingApprovalsOptions, type ListPlaybooksOptions, type ListProvidersResponse, type ListStepExecutionsOptions, type ListTemplatesOptions, LocalFileNotSupportedError, LumnisClient, type LumnisClientOptions, LumnisError, type LumnisErrorOptions, type MCPScope, type MCPServerCreateRequest, type MCPServerListResponse, type MCPServerResponse, type MCPServerUpdateRequest, MCPServersResource, type MCPToolListResponse, type MCPToolResponse, type MCPTransport, type Message, type MessageReceivedData, type MessageResponse, type MessageSentData, MessageType, MessagingAPIError, MessagingConnectionError, MessagingNotFoundError, MessagingResource, MessagingSendError, MessagingValidationError, type MetricsParams, type MetricsRequestItem, type MetricsResponseItem, type ModelAvailability, type ModelOverrides, type ModelPreferenceCreate, type ModelPreferencesBulkUpdate, ModelPreferencesResource, type ModelProvider, type ModelType, NetworkDistance, NoDataSourcesError, NotFoundError, type OnFailure, type OutcomeType, type OutreachAssetCreate, type OutreachAssetResponse, type OutreachAssetType, type OutreachAssetUpdate, OutreachMethod, type PaginationInfo, type PaginationParams, type PauseResumeQueuedRequest, type PendingApprovalExtended, PeopleDataSource, PeopleResource, type PeopleSearchRequest, type PeopleSearchResponse, type PersonResult, type Plan, type PlaybookCreate, type PlaybookGenerateJobResponse, type PlaybookGenerateJobStatusResponse, type PlaybookGenerateRequest, type PlaybookResponse, type PlaybookUpdate, type PlaybookVersionResponse, type PostPreviewRequest, type PostPreviewResponse, type PostPreviewResult, type PostsSearchStats, type PriorContactMessage, type ProcessingStatus, type ProcessingStatusResponse, type ProgressEntry, ProgressTracker, type ProjectApprovalsData, type ProjectExecutionsData, type ProjectMetricsData, type ProspectConnectionCheck, type ProspectInfo, type ProspectInput, type ProspectPriorContactResult, type ProspectSyncIdentifier, type ProspectSyncResult, type ProspectWarning, ProviderType, QueueItemStatus, type QuickPeopleSearchOutput, RATE_LIMIT_COOLDOWNS, type RateLimitData, RateLimitError, type RateLimitErrorOptions, type RateLimitInfo$1 as RateLimitInfo, type RateLimitStatusResponse, type RateLimitsParams, type RateLimitsRequestItem, type RateLimitsResponseItem, type RecordOutcomeRequest, type RejectActionRequest, type RejectStepRequest, type RemoveOrgMemberResponse, type ReplySentiment, type ResponseArtifact, type ResponseListResponse, type ResponseObject, type ResponseStatus, ResponsesResource, SEQUENCE_RATE_LIMITS, type SalaryRange, type Scope, type SelectedSkill, type SendMessageRequest, type SendMessageResponse, type SendReplyRequest, type SendResult, type SenderPersonaInput, type SequenceAction, type SequenceApprovalNeededData, type SequenceChannel, type SequenceEventType, type SequenceExecutionCompletedData, type SequenceExecutionFailedData, type SequenceRateLimitAction, type SequenceStepCompletedData, type SequenceTemplateCreate, type SequenceTemplateResponse, type SequenceTemplateUpdate, SequencesResource, SharePermission, type SkillAnalyticsRequest, type SkillEffectivenessMetrics, type SkillGuidelineBase, type SkillGuidelineCreate, type SkillGuidelineListResponse, type SkillGuidelineResponse, type SkillGuidelineUpdate, type SkillRetrievalMetadata, type SkillUsageBase, type SkillUsageCreate, type SkillUsageListResponse, type SkillUsageResponse, type SkillUsageUpdate, SkillsResource, type SkipActionRequest, type SkipStepRequest, type SkipStepResponse, type SkippedProspect, SourcesNotAvailableError, type SpecializedAgentParams, type SpecializedAgentType, type StartExecutionRequest, type StartExecutionResponse, type StepConfig, type StepExecutionItem, type StepExecutionListResponse, type StepExecutionStatus, type StepHistoryEntry, type StepMetric, type StoppedBreakdown, type StoreApiKeyRequest, type StructuredResponse, type SyncJobResponse, SyncJobStatus, SyncPhaseStatus, type SyncProspectRequest, type SyncProspectResponse, type SyncRequest, type SyncStats, type TeardownOrgResponse, type TemplateShareConfig, type TemplateShareInfo, type TemplateShareRequest, type TemplateSharesResponse, type TenantDetailsResponse, TenantInfoResource, type TenantModelPreference, type TenantModelPreferencesResponse, type TestConnectionResponse, type ThreadListResponse, type ThreadObject, type ThreadResponsesParams, ThreadsResource, type ToolInfo, type TransitionCondition, type TransitionConditionOperator, type TransitionConditionType, type TransitionConfig, type TransitionEventParams, type TriggerSyncResponse, UNIPILE_RATE_LIMIT_ERRORS, UNIPILE_SAFE_LIMITS, type UUID, type UnlinkConversationsResponse, type UpdateAppStatusParams, type UpdateAppStatusResponse, type UpdateDraftRequest, type UpdateLinkedInSubscriptionRequest, type UpdatePersonaRequest, type UpdatePersonaResponse, type UpdateStepExecutionRequest, type UpdateStepExecutionResponse, type UpdateThreadRequest, type UserConnectionsResponse, type UserCreateRequest, type UserDeleteResponse, type UserIdentifier, type UserListResponse, type UserResponse, type UserUpdateRequest, UsersResource, VALID_EVENT_TYPES, type ValidatedCandidate, ValidationError, type ValidationIssue, type ValidationResponse, type WebhookEvent, type WebhookPayload, canSendInmail, displayProgress, formatProgressEntry, getBestSubscriptionForAction, getConnectionRequestLimit, getContentLimit, getDailyInmailLimit, getDefaultDailyLimits, getInmailAllowance, getLimits, getMessageLimit, getRateLimit, hasOpenProfileMessages, isRecruiterSubscription, normalizeAction, verifyWebhookSignature };
|
package/dist/index.d.ts
CHANGED
|
@@ -1829,6 +1829,13 @@ interface CampaignProspectResponse {
|
|
|
1829
1829
|
nextEvaluateAt?: string | null;
|
|
1830
1830
|
stopReason?: string | null;
|
|
1831
1831
|
stopReasoning?: string | null;
|
|
1832
|
+
/**
|
|
1833
|
+
* CRM provider this prospect is linked to via the CRM Sync API.
|
|
1834
|
+
* Populated by `client.crm.syncProspect` and `client.crm.matchBatch`.
|
|
1835
|
+
*/
|
|
1836
|
+
crmProvider?: 'attio' | 'hubspot' | null;
|
|
1837
|
+
/** External CRM record id (Attio record_id, HubSpot contact id). */
|
|
1838
|
+
crmRecordId?: string | null;
|
|
1832
1839
|
metadata: Record<string, unknown>;
|
|
1833
1840
|
version: number;
|
|
1834
1841
|
createdAt: string;
|
|
@@ -2307,6 +2314,150 @@ declare class ContactRelationshipsResource {
|
|
|
2307
2314
|
get(options: GetContactRelationshipsOptions): Promise<ContactRelationshipResponse>;
|
|
2308
2315
|
}
|
|
2309
2316
|
|
|
2317
|
+
/**
|
|
2318
|
+
* CRM Sync API types.
|
|
2319
|
+
*
|
|
2320
|
+
* These types map to the Python backend endpoints under /v1/crm.
|
|
2321
|
+
* Provider list mirrors `CrmProvider` in src/app/api/schemas/crm_schemas.py.
|
|
2322
|
+
*
|
|
2323
|
+
* All types are prefixed with `Crm` to avoid collisions with the
|
|
2324
|
+
* messaging-API prospect-sync types (`SyncProspectRequest`,
|
|
2325
|
+
* `SyncProspectResponse` in `./messaging`), which serve a different
|
|
2326
|
+
* purpose (LinkedIn/email conversation sync, not CRM linkage).
|
|
2327
|
+
*/
|
|
2328
|
+
/**
|
|
2329
|
+
* Connected CRM systems supported by the sync API.
|
|
2330
|
+
*
|
|
2331
|
+
* Capability notes:
|
|
2332
|
+
* - `attio` supports both email and LinkedIn-URL person search.
|
|
2333
|
+
* - `hubspot` only supports email search; LinkedIn URLs are stored as a
|
|
2334
|
+
* custom property on create but are not searchable through the
|
|
2335
|
+
* reconciliation flow.
|
|
2336
|
+
*/
|
|
2337
|
+
type CrmProvider = 'attio' | 'hubspot';
|
|
2338
|
+
/**
|
|
2339
|
+
* Push one Lumnis prospect to the connected CRM.
|
|
2340
|
+
*
|
|
2341
|
+
* The prospect must already exist in a `campaign_prospects` row owned
|
|
2342
|
+
* by `userId`; the linkedin URL is the lookup key.
|
|
2343
|
+
*/
|
|
2344
|
+
interface CrmSyncProspectRequest {
|
|
2345
|
+
/** UUID or email of the user whose CRM connection executes the call. */
|
|
2346
|
+
userId: string;
|
|
2347
|
+
provider: CrmProvider;
|
|
2348
|
+
/** Must contain `linkedin.com/in/`. */
|
|
2349
|
+
linkedinUrl: string;
|
|
2350
|
+
}
|
|
2351
|
+
interface CrmSyncProspectResponse {
|
|
2352
|
+
/**
|
|
2353
|
+
* `linked` — record already existed in the CRM (matched by email or
|
|
2354
|
+
* LinkedIn URL) and was linked back to the prospect.
|
|
2355
|
+
* `created` — no existing match, a new CRM record was created.
|
|
2356
|
+
*/
|
|
2357
|
+
action: 'linked' | 'created';
|
|
2358
|
+
/** Provider-native record id (Attio record_id, HubSpot contact id). */
|
|
2359
|
+
crmRecordId: string;
|
|
2360
|
+
/** Stable URL that opens the record in the CRM UI. */
|
|
2361
|
+
crmUrl: string;
|
|
2362
|
+
}
|
|
2363
|
+
/**
|
|
2364
|
+
* Bulk-check whether prospects are already in the CRM.
|
|
2365
|
+
*
|
|
2366
|
+
* Server-side fan-out is bounded by the
|
|
2367
|
+
* `CRM_MATCH_LIVE_SEARCH_PARALLELISM` setting; the array max
|
|
2368
|
+
* (1000) is a Pydantic guard, not a UX cap.
|
|
2369
|
+
*/
|
|
2370
|
+
interface CrmMatchBatchRequest {
|
|
2371
|
+
userId: string;
|
|
2372
|
+
provider: CrmProvider;
|
|
2373
|
+
/** 1..1000 LinkedIn profile URLs. */
|
|
2374
|
+
linkedinUrls: string[];
|
|
2375
|
+
}
|
|
2376
|
+
interface CrmMatchedProspect {
|
|
2377
|
+
/** Echoed input URL (in original casing/form). */
|
|
2378
|
+
linkedinUrl: string;
|
|
2379
|
+
linked: boolean;
|
|
2380
|
+
/** Present iff `linked` is true. */
|
|
2381
|
+
crmRecordId?: string | null;
|
|
2382
|
+
crmUrl?: string | null;
|
|
2383
|
+
}
|
|
2384
|
+
interface CrmMatchBatchResponse {
|
|
2385
|
+
matches: CrmMatchedProspect[];
|
|
2386
|
+
}
|
|
2387
|
+
|
|
2388
|
+
/**
|
|
2389
|
+
* Resource for the user-triggered CRM Sync API.
|
|
2390
|
+
*
|
|
2391
|
+
* Wraps `POST /v1/crm/prospects/sync` and `POST /v1/crm/prospects/match-batch`.
|
|
2392
|
+
*
|
|
2393
|
+
* The user identified by `userId` must already have an active CRM
|
|
2394
|
+
* connection (see `client.integrations.initiateConnection`). When the
|
|
2395
|
+
* connection is missing, the server returns `409 crm_not_connected`
|
|
2396
|
+
* with `connect_url` in the error body so callers can route the user
|
|
2397
|
+
* to the OAuth flow.
|
|
2398
|
+
*
|
|
2399
|
+
* Failure modes worth handling:
|
|
2400
|
+
* - `409 crm_not_connected` — user hasn't connected the provider.
|
|
2401
|
+
* - `404 prospect_not_found` (sync only) — no `campaign_prospects` row
|
|
2402
|
+
* matches `linkedinUrl` for this user.
|
|
2403
|
+
* - `502 crm_upstream_error` — Attio/HubSpot returned an error.
|
|
2404
|
+
* - `503 crm_upstream_rate_limited` — upstream rate-limit; the response
|
|
2405
|
+
* includes a `Retry-After` header.
|
|
2406
|
+
*/
|
|
2407
|
+
declare class CrmResource {
|
|
2408
|
+
private readonly http;
|
|
2409
|
+
constructor(http: Http);
|
|
2410
|
+
/**
|
|
2411
|
+
* Push one Lumnis prospect to the connected CRM.
|
|
2412
|
+
*
|
|
2413
|
+
* Idempotent: repeated calls for the same
|
|
2414
|
+
* `(userId, provider, linkedinUrl)` return `linked` with the same
|
|
2415
|
+
* `crmRecordId`. Stale links (record deleted in the CRM) are detected
|
|
2416
|
+
* and re-created automatically.
|
|
2417
|
+
*
|
|
2418
|
+
* @example
|
|
2419
|
+
* ```typescript
|
|
2420
|
+
* const result = await client.crm.syncProspect({
|
|
2421
|
+
* userId: 'user@example.com',
|
|
2422
|
+
* provider: 'attio',
|
|
2423
|
+
* linkedinUrl: 'https://www.linkedin.com/in/jane-doe/',
|
|
2424
|
+
* })
|
|
2425
|
+
* console.log(result.action, result.crmUrl)
|
|
2426
|
+
* ```
|
|
2427
|
+
*/
|
|
2428
|
+
syncProspect(data: CrmSyncProspectRequest): Promise<CrmSyncProspectResponse>;
|
|
2429
|
+
/**
|
|
2430
|
+
* Bulk-check whether prospects are already in the CRM. Designed for
|
|
2431
|
+
* list-view badge rendering: feed it every visible LinkedIn URL and
|
|
2432
|
+
* render a "linked" indicator for the ones that come back true.
|
|
2433
|
+
*
|
|
2434
|
+
* Layered cache on the server side: persistent positive matches are
|
|
2435
|
+
* served from the `campaign_prospects.crm_record_id` column, negative
|
|
2436
|
+
* results are served from a Redis cache (TTL configured by
|
|
2437
|
+
* `CRM_MATCH_NEGATIVE_CACHE_TTL_SECONDS`). Only the leftover unknowns
|
|
2438
|
+
* fan out to the live CRM, bounded by
|
|
2439
|
+
* `CRM_MATCH_LIVE_SEARCH_PARALLELISM`.
|
|
2440
|
+
*
|
|
2441
|
+
* Note: HubSpot does not expose a LinkedIn-URL search field through
|
|
2442
|
+
* Composio, so for `provider: 'hubspot'` URLs that aren't already in
|
|
2443
|
+
* the persistent cache will always come back `linked: false`. The
|
|
2444
|
+
* sync endpoint still reconciles via email when available.
|
|
2445
|
+
*
|
|
2446
|
+
* @example
|
|
2447
|
+
* ```typescript
|
|
2448
|
+
* const { matches } = await client.crm.matchBatch({
|
|
2449
|
+
* userId: 'user@example.com',
|
|
2450
|
+
* provider: 'attio',
|
|
2451
|
+
* linkedinUrls: prospects.map(p => p.linkedinUrl),
|
|
2452
|
+
* })
|
|
2453
|
+
* for (const m of matches) {
|
|
2454
|
+
* if (m.linked) console.log(m.linkedinUrl, '->', m.crmUrl)
|
|
2455
|
+
* }
|
|
2456
|
+
* ```
|
|
2457
|
+
*/
|
|
2458
|
+
matchBatch(data: CrmMatchBatchRequest): Promise<CrmMatchBatchResponse>;
|
|
2459
|
+
}
|
|
2460
|
+
|
|
2310
2461
|
/**
|
|
2311
2462
|
* Email infrastructure types.
|
|
2312
2463
|
*
|
|
@@ -2316,6 +2467,7 @@ interface SenderPersonaInput {
|
|
|
2316
2467
|
firstName: string;
|
|
2317
2468
|
lastName: string;
|
|
2318
2469
|
title?: string;
|
|
2470
|
+
dailyVolumeCap?: number | null;
|
|
2319
2471
|
}
|
|
2320
2472
|
interface ContactDetailsInput {
|
|
2321
2473
|
firstName: string;
|
|
@@ -2348,6 +2500,10 @@ interface AddPersonaRequest {
|
|
|
2348
2500
|
firstName: string;
|
|
2349
2501
|
lastName: string;
|
|
2350
2502
|
title?: string;
|
|
2503
|
+
dailyVolumeCap?: number | null;
|
|
2504
|
+
}
|
|
2505
|
+
interface UpdatePersonaRequest {
|
|
2506
|
+
dailyVolumeCap?: number | null;
|
|
2351
2507
|
}
|
|
2352
2508
|
interface AddOrgMemberRequest {
|
|
2353
2509
|
email: string;
|
|
@@ -2372,10 +2528,19 @@ interface EmailOrgSettingsResponse {
|
|
|
2372
2528
|
dailyVolume: number;
|
|
2373
2529
|
volumeMode: string;
|
|
2374
2530
|
physicalAddress?: string | null;
|
|
2375
|
-
senderPersonas:
|
|
2531
|
+
senderPersonas: EmailSenderPersona[];
|
|
2376
2532
|
domainsActive: number;
|
|
2377
2533
|
mailboxesReady: number;
|
|
2378
2534
|
}
|
|
2535
|
+
interface EmailSenderPersona {
|
|
2536
|
+
id: string;
|
|
2537
|
+
firstName: string;
|
|
2538
|
+
lastName: string;
|
|
2539
|
+
title?: string | null;
|
|
2540
|
+
dailyVolumeCap: number | null;
|
|
2541
|
+
mailboxCount: number;
|
|
2542
|
+
mailboxesReady: number;
|
|
2543
|
+
}
|
|
2379
2544
|
interface EmailOrgHealthResponse {
|
|
2380
2545
|
organizationId: string;
|
|
2381
2546
|
domains: Record<string, number>;
|
|
@@ -2398,6 +2563,15 @@ interface AddPersonaResponse {
|
|
|
2398
2563
|
personaId: string;
|
|
2399
2564
|
message: string;
|
|
2400
2565
|
}
|
|
2566
|
+
interface UpdatePersonaResponse {
|
|
2567
|
+
personaId: string;
|
|
2568
|
+
dailyVolumeCap: number | null;
|
|
2569
|
+
mailboxCount: number;
|
|
2570
|
+
requestedTargetMailboxes: number;
|
|
2571
|
+
mailboxesProvisioned: number;
|
|
2572
|
+
partial: boolean;
|
|
2573
|
+
shortfall: number;
|
|
2574
|
+
}
|
|
2401
2575
|
interface AddOrgMemberResponse {
|
|
2402
2576
|
message: string;
|
|
2403
2577
|
}
|
|
@@ -2446,9 +2620,18 @@ declare class EmailResource {
|
|
|
2446
2620
|
getHealth(orgId: string, userId: string): Promise<EmailOrgHealthResponse>;
|
|
2447
2621
|
/**
|
|
2448
2622
|
* Add a new sender persona to an organization.
|
|
2449
|
-
* Provisions mailboxes on existing domains.
|
|
2623
|
+
* Provisions mailboxes on existing domains. Set `dailyVolumeCap` to `0`
|
|
2624
|
+
* for a lazy persona with no mailbox provisioning. Requires admin role.
|
|
2450
2625
|
*/
|
|
2451
2626
|
addPersona(orgId: string, userId: string, persona: AddPersonaRequest): Promise<AddPersonaResponse>;
|
|
2627
|
+
/**
|
|
2628
|
+
* Update a sender persona's per-persona daily volume cap.
|
|
2629
|
+
*
|
|
2630
|
+
* Pass `{}` for a no-op read, `{ dailyVolumeCap: null }` to revert to the
|
|
2631
|
+
* organization formula, or `{ dailyVolumeCap: number }` to set an explicit
|
|
2632
|
+
* cap. Requires admin role.
|
|
2633
|
+
*/
|
|
2634
|
+
updatePersona(orgId: string, userId: string, personaId: string, update: UpdatePersonaRequest): Promise<UpdatePersonaResponse>;
|
|
2452
2635
|
/**
|
|
2453
2636
|
* Teardown an email organization's infrastructure.
|
|
2454
2637
|
*
|
|
@@ -5768,6 +5951,7 @@ declare class LumnisClient {
|
|
|
5768
5951
|
readonly contactRelationships: ContactRelationshipsResource;
|
|
5769
5952
|
readonly enrichment: EnrichmentResource;
|
|
5770
5953
|
readonly email: EmailResource;
|
|
5954
|
+
readonly crm: CrmResource;
|
|
5771
5955
|
private readonly _scopedUserId?;
|
|
5772
5956
|
private readonly _defaultScope;
|
|
5773
5957
|
constructor(options?: LumnisClientOptions);
|
|
@@ -6120,4 +6304,4 @@ declare class ProgressTracker {
|
|
|
6120
6304
|
*/
|
|
6121
6305
|
declare function verifyWebhookSignature(payload: string, signature: string, secret: string): boolean;
|
|
6122
6306
|
|
|
6123
|
-
export { ACTION_DELAYS, type ActionLimit, type ActiveHours, type AddAndRunCriterionRequest, type AddCriterionRequest, type AddOrgMemberRequest, type AddOrgMemberResponse, type AddPersonaRequest, type AddPersonaResponse, type AddProspectsRequest, type AddProspectsResponse, type AgentConfig, type ApiKeyMode, type ApiKeyModeRequest, type ApiKeyModeResponse, type ApiProvider, type AppEnabledResponse, type AppliedFilters, type ApprovalActionRequest, type ApprovalItem, type ApprovalListResponse, type ApprovalMode, type ApprovalResponse, type ApprovalSettings, type ApprovalStatus, type ApprovalsParams, type ApprovalsRequestItem, type ApprovalsResponseItem, type ApproveStepRequest, type AppsListResponse, type ArtifactObject, type ArtifactsListResponse, AuthenticationError, type BaseResource, type BatchCheckConnectionRequest, type BatchCheckPriorContactRequest, type BatchCheckPriorContactResponse, type BatchConnectionRequest, type BatchConnectionResponse, type BatchConnectionStatus, type BatchConnectionStatusResponse, type BatchDraftCompleteData, type BatchDraftCreatedData, type BatchDraftErrorData, type BatchDraftJobProgress, type BatchDraftJobResponse, type BatchDraftJobStartedData, type BatchDraftJobStatusResponse, type BatchDraftProgressData, type BatchDraftRequest, type BatchDraftResponse, type BatchDraftStreamCallbacks, type BatchDraftStreamEvent, type BatchDraftStreamEventType, type BatchExecutionInclude, type BatchExecutionRequest, type BatchExecutionResponse, BatchJobStatus, type BatchPollRequest, type BatchPollResponse, type BatchProspectIdentifier, type BatchRequestItem, type BatchRequestType, type BatchResponseItem, type BatchSendRequest, type BatchSendResponse, type BatchStepMetric, type BillingStatus, type BulkApprovalAction, type BulkApprovalFailure, type BulkApprovalRequest, type BulkApprovalResponse, type BulkCompleteFailure, type BulkCompleteRequest, type BulkCompleteResponse, type BulkDeleteRequest, type BulkDeleteResponse, type BulkOperationRequest, type BulkOperationResponse, type BulkUploadResponse, CONTENT_LIMITS, CONTENT_LIMITS_MAP, type CampaignActionListResponse, type CampaignActionResponse, type CampaignActionStatus, type CampaignActionType, type CampaignBulkApprovalAction, type CampaignBulkApprovalItem, type CampaignBulkApprovalRequest, type CampaignBulkApprovalResponse, type CampaignBulkApprovalResult, type CampaignCreate, type CampaignGuardrails, type CampaignListResponse, type CampaignMetricsResponse, type CampaignOutcomeType, type CampaignProspectDetailResponse, type CampaignProspectInput, type CampaignProspectResponse, type CampaignProspectState, type CampaignResponse, type CampaignStatus, type CampaignUpdate, CampaignsResource, type CancelDraftResponse, type CancelQueuedRequest, type CancelResponseResponse, type ChannelContactHistory, ChannelType, type CheckAppEnabledParams, type CheckLinkedInConnectionRequest, type CheckPriorContactRequest, type CheckPriorContactResponse, type ChunkingStrategy, type CompleteExecutionRequest, type CompleteExecutionResponse, type ConnectionAcceptedData, type ConnectionCallbackRequest, type ConnectionCallbackResponse, type ConnectionInfo, type ConnectionStatus, type ConnectionStatusResponse, type ConnectionSummary, type ConnectionsSyncStatus, type ContactDetailsInput, type ContactEnrichPersonInput, type ContactEnrichPersonResult, type ContactEnrichRequest, type ContactEnrichResponse, type ContactHistorySyncStatus, type ContactRelationshipProvider, type ContactRelationshipResponse, type ContactRelationshipStatus, ContactRelationshipsResource, type ContactScore, type ContentLimit, type ContentSource, type ContentType, type ConversationDetail, ConversationStatus, type ConversationSummary, type CreateDraftRequest, type CreateFeedbackRequest, type CreateFeedbackResponse, type CreateResponseRequest, type CreateResponseResponse, type CreateThreadRequest, type CriteriaClassification, type CriteriaMetadata, type CriterionDefinition, type CriterionResult, type CriterionType, DAILY_INMAIL_LIMITS, DEFAULT_SUBSCRIPTION_TYPE, type DatabaseStatus, type DeepPeopleSearchOutput, type DeepSearchPreview, type DeepSearchStats, type DeleteApiKeyResponse, type DeleteConnectionsResponse, type DeleteConversationResponse, type DeleteConversationsByProjectResponse, type DisconnectRequest, type DisconnectResponse, type DraftResponse, type DraftSendOverride, DraftStatus, type DuplicateHandling, type DuplicateTemplateRequest, type EditQueuedRequest, type Email, type EmailAction, type EmailOnboardRequest, type EmailOnboardResponse, type EmailOnboardStatusResponse, type EmailOrgHealthResponse, type EmailOrgListResponse, type EmailOrgSettingsResponse, type EmailOrgSettingsUpdate, type EmailOrgSummary, EmailResource, type EmailThreadSummary, type EngagementStatus, type EngagementStatusData, type EngagementStatusRequest, type EngagementStatusResponse, EnrichmentResource, type ErrorDetail, type ErrorResponse, type ErrorResponseItem, type EvidenceSource, type ExecutionDetailResponse, type ExecutionEvent, type ExecutionEventData, type ExecutionListResponse, type ExecutionMetricsOptions, type ExecutionMetricsResponse, type ExecutionStatus, type ExecutionSummary, type ExecutionSummaryExtended, type ExecutionsParams, type ExecutionsRequestItem, type ExecutionsResponseItem, ExternalAPIKeysResource, type ExternalApiKeyResponse, type FeedbackListResponse, type FeedbackObject, type FeedbackType, type FileAttachment, type FileChunk, type FileContentResponse, type FileListResponse, type FileMetadata, type FileScope, type FileScopeUpdateRequest, type FileSearchRequest, type FileSearchResponse, type FileSearchResult, type FileStatisticsResponse, type FileUploadResponse, FilesResource, type FilterLogic, type FilterValue, type FunnelStage, type GetConnectionStatusParams, type GetContactRelationshipsOptions, type GetToolsRequest, type GetToolsResponse, type GetUserConnectionsParams, type InitiateConnectionRequest, type InitiateConnectionResponse, type InmailSubscription, IntegrationsResource, InternalServerError, LINKEDIN_LIMITS, type LifecycleOperationRequest, type LifecycleOperationResponse, type LinkAssetsRequest, type LinkedAssetsResponse, type LinkedInAccountInfoResponse, type LinkedInAccountRateLimits, type LinkedInAccountRateLimitsResponse, type LinkedInAccountRateLimitsUpdate, type LinkedInAction, type LinkedInConnectionStatus, type LinkedInCreditsResponse, type LinkedInLimitSubscriptionType, type LinkedInLimits, type LinkedInSendRequest, type LinkedInSubscriptionInfo, LinkedInSubscriptionType, type LinkedInSyncStatusResponse, type ListApprovalsOptions, type ListAssetsOptions, type ListCampaignActionsOptions, type ListCampaignProspectsOptions, type ListCampaignsOptions, type ListExecutionsOptions, type ListPendingApprovalsOptions, type ListPlaybooksOptions, type ListProvidersResponse, type ListStepExecutionsOptions, type ListTemplatesOptions, LocalFileNotSupportedError, LumnisClient, type LumnisClientOptions, LumnisError, type LumnisErrorOptions, type MCPScope, type MCPServerCreateRequest, type MCPServerListResponse, type MCPServerResponse, type MCPServerUpdateRequest, MCPServersResource, type MCPToolListResponse, type MCPToolResponse, type MCPTransport, type Message, type MessageReceivedData, type MessageResponse, type MessageSentData, MessageType, MessagingAPIError, MessagingConnectionError, MessagingNotFoundError, MessagingResource, MessagingSendError, MessagingValidationError, type MetricsParams, type MetricsRequestItem, type MetricsResponseItem, type ModelAvailability, type ModelOverrides, type ModelPreferenceCreate, type ModelPreferencesBulkUpdate, ModelPreferencesResource, type ModelProvider, type ModelType, NetworkDistance, NoDataSourcesError, NotFoundError, type OnFailure, type OutcomeType, type OutreachAssetCreate, type OutreachAssetResponse, type OutreachAssetType, type OutreachAssetUpdate, OutreachMethod, type PaginationInfo, type PaginationParams, type PauseResumeQueuedRequest, type PendingApprovalExtended, PeopleDataSource, PeopleResource, type PeopleSearchRequest, type PeopleSearchResponse, type PersonResult, type Plan, type PlaybookCreate, type PlaybookGenerateJobResponse, type PlaybookGenerateJobStatusResponse, type PlaybookGenerateRequest, type PlaybookResponse, type PlaybookUpdate, type PlaybookVersionResponse, type PostPreviewRequest, type PostPreviewResponse, type PostPreviewResult, type PostsSearchStats, type PriorContactMessage, type ProcessingStatus, type ProcessingStatusResponse, type ProgressEntry, ProgressTracker, type ProjectApprovalsData, type ProjectExecutionsData, type ProjectMetricsData, type ProspectConnectionCheck, type ProspectInfo, type ProspectInput, type ProspectPriorContactResult, type ProspectSyncIdentifier, type ProspectSyncResult, type ProspectWarning, ProviderType, QueueItemStatus, type QuickPeopleSearchOutput, RATE_LIMIT_COOLDOWNS, type RateLimitData, RateLimitError, type RateLimitErrorOptions, type RateLimitInfo$1 as RateLimitInfo, type RateLimitStatusResponse, type RateLimitsParams, type RateLimitsRequestItem, type RateLimitsResponseItem, type RecordOutcomeRequest, type RejectActionRequest, type RejectStepRequest, type RemoveOrgMemberResponse, type ReplySentiment, type ResponseArtifact, type ResponseListResponse, type ResponseObject, type ResponseStatus, ResponsesResource, SEQUENCE_RATE_LIMITS, type SalaryRange, type Scope, type SelectedSkill, type SendMessageRequest, type SendMessageResponse, type SendReplyRequest, type SendResult, type SenderPersonaInput, type SequenceAction, type SequenceApprovalNeededData, type SequenceChannel, type SequenceEventType, type SequenceExecutionCompletedData, type SequenceExecutionFailedData, type SequenceRateLimitAction, type SequenceStepCompletedData, type SequenceTemplateCreate, type SequenceTemplateResponse, type SequenceTemplateUpdate, SequencesResource, SharePermission, type SkillAnalyticsRequest, type SkillEffectivenessMetrics, type SkillGuidelineBase, type SkillGuidelineCreate, type SkillGuidelineListResponse, type SkillGuidelineResponse, type SkillGuidelineUpdate, type SkillRetrievalMetadata, type SkillUsageBase, type SkillUsageCreate, type SkillUsageListResponse, type SkillUsageResponse, type SkillUsageUpdate, SkillsResource, type SkipActionRequest, type SkipStepRequest, type SkipStepResponse, type SkippedProspect, SourcesNotAvailableError, type SpecializedAgentParams, type SpecializedAgentType, type StartExecutionRequest, type StartExecutionResponse, type StepConfig, type StepExecutionItem, type StepExecutionListResponse, type StepExecutionStatus, type StepHistoryEntry, type StepMetric, type StoppedBreakdown, type StoreApiKeyRequest, type StructuredResponse, type SyncJobResponse, SyncJobStatus, SyncPhaseStatus, type SyncProspectRequest, type SyncProspectResponse, type SyncRequest, type SyncStats, type TeardownOrgResponse, type TemplateShareConfig, type TemplateShareInfo, type TemplateShareRequest, type TemplateSharesResponse, type TenantDetailsResponse, TenantInfoResource, type TenantModelPreference, type TenantModelPreferencesResponse, type TestConnectionResponse, type ThreadListResponse, type ThreadObject, type ThreadResponsesParams, ThreadsResource, type ToolInfo, type TransitionCondition, type TransitionConditionOperator, type TransitionConditionType, type TransitionConfig, type TransitionEventParams, type TriggerSyncResponse, UNIPILE_RATE_LIMIT_ERRORS, UNIPILE_SAFE_LIMITS, type UUID, type UnlinkConversationsResponse, type UpdateAppStatusParams, type UpdateAppStatusResponse, type UpdateDraftRequest, type UpdateLinkedInSubscriptionRequest, type UpdateStepExecutionRequest, type UpdateStepExecutionResponse, type UpdateThreadRequest, type UserConnectionsResponse, type UserCreateRequest, type UserDeleteResponse, type UserIdentifier, type UserListResponse, type UserResponse, type UserUpdateRequest, UsersResource, VALID_EVENT_TYPES, type ValidatedCandidate, ValidationError, type ValidationIssue, type ValidationResponse, type WebhookEvent, type WebhookPayload, canSendInmail, displayProgress, formatProgressEntry, getBestSubscriptionForAction, getConnectionRequestLimit, getContentLimit, getDailyInmailLimit, getDefaultDailyLimits, getInmailAllowance, getLimits, getMessageLimit, getRateLimit, hasOpenProfileMessages, isRecruiterSubscription, normalizeAction, verifyWebhookSignature };
|
|
6307
|
+
export { ACTION_DELAYS, type ActionLimit, type ActiveHours, type AddAndRunCriterionRequest, type AddCriterionRequest, type AddOrgMemberRequest, type AddOrgMemberResponse, type AddPersonaRequest, type AddPersonaResponse, type AddProspectsRequest, type AddProspectsResponse, type AgentConfig, type ApiKeyMode, type ApiKeyModeRequest, type ApiKeyModeResponse, type ApiProvider, type AppEnabledResponse, type AppliedFilters, type ApprovalActionRequest, type ApprovalItem, type ApprovalListResponse, type ApprovalMode, type ApprovalResponse, type ApprovalSettings, type ApprovalStatus, type ApprovalsParams, type ApprovalsRequestItem, type ApprovalsResponseItem, type ApproveStepRequest, type AppsListResponse, type ArtifactObject, type ArtifactsListResponse, AuthenticationError, type BaseResource, type BatchCheckConnectionRequest, type BatchCheckPriorContactRequest, type BatchCheckPriorContactResponse, type BatchConnectionRequest, type BatchConnectionResponse, type BatchConnectionStatus, type BatchConnectionStatusResponse, type BatchDraftCompleteData, type BatchDraftCreatedData, type BatchDraftErrorData, type BatchDraftJobProgress, type BatchDraftJobResponse, type BatchDraftJobStartedData, type BatchDraftJobStatusResponse, type BatchDraftProgressData, type BatchDraftRequest, type BatchDraftResponse, type BatchDraftStreamCallbacks, type BatchDraftStreamEvent, type BatchDraftStreamEventType, type BatchExecutionInclude, type BatchExecutionRequest, type BatchExecutionResponse, BatchJobStatus, type BatchPollRequest, type BatchPollResponse, type BatchProspectIdentifier, type BatchRequestItem, type BatchRequestType, type BatchResponseItem, type BatchSendRequest, type BatchSendResponse, type BatchStepMetric, type BillingStatus, type BulkApprovalAction, type BulkApprovalFailure, type BulkApprovalRequest, type BulkApprovalResponse, type BulkCompleteFailure, type BulkCompleteRequest, type BulkCompleteResponse, type BulkDeleteRequest, type BulkDeleteResponse, type BulkOperationRequest, type BulkOperationResponse, type BulkUploadResponse, CONTENT_LIMITS, CONTENT_LIMITS_MAP, type CampaignActionListResponse, type CampaignActionResponse, type CampaignActionStatus, type CampaignActionType, type CampaignBulkApprovalAction, type CampaignBulkApprovalItem, type CampaignBulkApprovalRequest, type CampaignBulkApprovalResponse, type CampaignBulkApprovalResult, type CampaignCreate, type CampaignGuardrails, type CampaignListResponse, type CampaignMetricsResponse, type CampaignOutcomeType, type CampaignProspectDetailResponse, type CampaignProspectInput, type CampaignProspectResponse, type CampaignProspectState, type CampaignResponse, type CampaignStatus, type CampaignUpdate, CampaignsResource, type CancelDraftResponse, type CancelQueuedRequest, type CancelResponseResponse, type ChannelContactHistory, ChannelType, type CheckAppEnabledParams, type CheckLinkedInConnectionRequest, type CheckPriorContactRequest, type CheckPriorContactResponse, type ChunkingStrategy, type CompleteExecutionRequest, type CompleteExecutionResponse, type ConnectionAcceptedData, type ConnectionCallbackRequest, type ConnectionCallbackResponse, type ConnectionInfo, type ConnectionStatus, type ConnectionStatusResponse, type ConnectionSummary, type ConnectionsSyncStatus, type ContactDetailsInput, type ContactEnrichPersonInput, type ContactEnrichPersonResult, type ContactEnrichRequest, type ContactEnrichResponse, type ContactHistorySyncStatus, type ContactRelationshipProvider, type ContactRelationshipResponse, type ContactRelationshipStatus, ContactRelationshipsResource, type ContactScore, type ContentLimit, type ContentSource, type ContentType, type ConversationDetail, ConversationStatus, type ConversationSummary, type CreateDraftRequest, type CreateFeedbackRequest, type CreateFeedbackResponse, type CreateResponseRequest, type CreateResponseResponse, type CreateThreadRequest, type CriteriaClassification, type CriteriaMetadata, type CriterionDefinition, type CriterionResult, type CriterionType, type CrmMatchBatchRequest, type CrmMatchBatchResponse, type CrmMatchedProspect, type CrmProvider, CrmResource, type CrmSyncProspectRequest, type CrmSyncProspectResponse, DAILY_INMAIL_LIMITS, DEFAULT_SUBSCRIPTION_TYPE, type DatabaseStatus, type DeepPeopleSearchOutput, type DeepSearchPreview, type DeepSearchStats, type DeleteApiKeyResponse, type DeleteConnectionsResponse, type DeleteConversationResponse, type DeleteConversationsByProjectResponse, type DisconnectRequest, type DisconnectResponse, type DraftResponse, type DraftSendOverride, DraftStatus, type DuplicateHandling, type DuplicateTemplateRequest, type EditQueuedRequest, type Email, type EmailAction, type EmailOnboardRequest, type EmailOnboardResponse, type EmailOnboardStatusResponse, type EmailOrgHealthResponse, type EmailOrgListResponse, type EmailOrgSettingsResponse, type EmailOrgSettingsUpdate, type EmailOrgSummary, EmailResource, type EmailSenderPersona, type EmailThreadSummary, type EngagementStatus, type EngagementStatusData, type EngagementStatusRequest, type EngagementStatusResponse, EnrichmentResource, type ErrorDetail, type ErrorResponse, type ErrorResponseItem, type EvidenceSource, type ExecutionDetailResponse, type ExecutionEvent, type ExecutionEventData, type ExecutionListResponse, type ExecutionMetricsOptions, type ExecutionMetricsResponse, type ExecutionStatus, type ExecutionSummary, type ExecutionSummaryExtended, type ExecutionsParams, type ExecutionsRequestItem, type ExecutionsResponseItem, ExternalAPIKeysResource, type ExternalApiKeyResponse, type FeedbackListResponse, type FeedbackObject, type FeedbackType, type FileAttachment, type FileChunk, type FileContentResponse, type FileListResponse, type FileMetadata, type FileScope, type FileScopeUpdateRequest, type FileSearchRequest, type FileSearchResponse, type FileSearchResult, type FileStatisticsResponse, type FileUploadResponse, FilesResource, type FilterLogic, type FilterValue, type FunnelStage, type GetConnectionStatusParams, type GetContactRelationshipsOptions, type GetToolsRequest, type GetToolsResponse, type GetUserConnectionsParams, type InitiateConnectionRequest, type InitiateConnectionResponse, type InmailSubscription, IntegrationsResource, InternalServerError, LINKEDIN_LIMITS, type LifecycleOperationRequest, type LifecycleOperationResponse, type LinkAssetsRequest, type LinkedAssetsResponse, type LinkedInAccountInfoResponse, type LinkedInAccountRateLimits, type LinkedInAccountRateLimitsResponse, type LinkedInAccountRateLimitsUpdate, type LinkedInAction, type LinkedInConnectionStatus, type LinkedInCreditsResponse, type LinkedInLimitSubscriptionType, type LinkedInLimits, type LinkedInSendRequest, type LinkedInSubscriptionInfo, LinkedInSubscriptionType, type LinkedInSyncStatusResponse, type ListApprovalsOptions, type ListAssetsOptions, type ListCampaignActionsOptions, type ListCampaignProspectsOptions, type ListCampaignsOptions, type ListExecutionsOptions, type ListPendingApprovalsOptions, type ListPlaybooksOptions, type ListProvidersResponse, type ListStepExecutionsOptions, type ListTemplatesOptions, LocalFileNotSupportedError, LumnisClient, type LumnisClientOptions, LumnisError, type LumnisErrorOptions, type MCPScope, type MCPServerCreateRequest, type MCPServerListResponse, type MCPServerResponse, type MCPServerUpdateRequest, MCPServersResource, type MCPToolListResponse, type MCPToolResponse, type MCPTransport, type Message, type MessageReceivedData, type MessageResponse, type MessageSentData, MessageType, MessagingAPIError, MessagingConnectionError, MessagingNotFoundError, MessagingResource, MessagingSendError, MessagingValidationError, type MetricsParams, type MetricsRequestItem, type MetricsResponseItem, type ModelAvailability, type ModelOverrides, type ModelPreferenceCreate, type ModelPreferencesBulkUpdate, ModelPreferencesResource, type ModelProvider, type ModelType, NetworkDistance, NoDataSourcesError, NotFoundError, type OnFailure, type OutcomeType, type OutreachAssetCreate, type OutreachAssetResponse, type OutreachAssetType, type OutreachAssetUpdate, OutreachMethod, type PaginationInfo, type PaginationParams, type PauseResumeQueuedRequest, type PendingApprovalExtended, PeopleDataSource, PeopleResource, type PeopleSearchRequest, type PeopleSearchResponse, type PersonResult, type Plan, type PlaybookCreate, type PlaybookGenerateJobResponse, type PlaybookGenerateJobStatusResponse, type PlaybookGenerateRequest, type PlaybookResponse, type PlaybookUpdate, type PlaybookVersionResponse, type PostPreviewRequest, type PostPreviewResponse, type PostPreviewResult, type PostsSearchStats, type PriorContactMessage, type ProcessingStatus, type ProcessingStatusResponse, type ProgressEntry, ProgressTracker, type ProjectApprovalsData, type ProjectExecutionsData, type ProjectMetricsData, type ProspectConnectionCheck, type ProspectInfo, type ProspectInput, type ProspectPriorContactResult, type ProspectSyncIdentifier, type ProspectSyncResult, type ProspectWarning, ProviderType, QueueItemStatus, type QuickPeopleSearchOutput, RATE_LIMIT_COOLDOWNS, type RateLimitData, RateLimitError, type RateLimitErrorOptions, type RateLimitInfo$1 as RateLimitInfo, type RateLimitStatusResponse, type RateLimitsParams, type RateLimitsRequestItem, type RateLimitsResponseItem, type RecordOutcomeRequest, type RejectActionRequest, type RejectStepRequest, type RemoveOrgMemberResponse, type ReplySentiment, type ResponseArtifact, type ResponseListResponse, type ResponseObject, type ResponseStatus, ResponsesResource, SEQUENCE_RATE_LIMITS, type SalaryRange, type Scope, type SelectedSkill, type SendMessageRequest, type SendMessageResponse, type SendReplyRequest, type SendResult, type SenderPersonaInput, type SequenceAction, type SequenceApprovalNeededData, type SequenceChannel, type SequenceEventType, type SequenceExecutionCompletedData, type SequenceExecutionFailedData, type SequenceRateLimitAction, type SequenceStepCompletedData, type SequenceTemplateCreate, type SequenceTemplateResponse, type SequenceTemplateUpdate, SequencesResource, SharePermission, type SkillAnalyticsRequest, type SkillEffectivenessMetrics, type SkillGuidelineBase, type SkillGuidelineCreate, type SkillGuidelineListResponse, type SkillGuidelineResponse, type SkillGuidelineUpdate, type SkillRetrievalMetadata, type SkillUsageBase, type SkillUsageCreate, type SkillUsageListResponse, type SkillUsageResponse, type SkillUsageUpdate, SkillsResource, type SkipActionRequest, type SkipStepRequest, type SkipStepResponse, type SkippedProspect, SourcesNotAvailableError, type SpecializedAgentParams, type SpecializedAgentType, type StartExecutionRequest, type StartExecutionResponse, type StepConfig, type StepExecutionItem, type StepExecutionListResponse, type StepExecutionStatus, type StepHistoryEntry, type StepMetric, type StoppedBreakdown, type StoreApiKeyRequest, type StructuredResponse, type SyncJobResponse, SyncJobStatus, SyncPhaseStatus, type SyncProspectRequest, type SyncProspectResponse, type SyncRequest, type SyncStats, type TeardownOrgResponse, type TemplateShareConfig, type TemplateShareInfo, type TemplateShareRequest, type TemplateSharesResponse, type TenantDetailsResponse, TenantInfoResource, type TenantModelPreference, type TenantModelPreferencesResponse, type TestConnectionResponse, type ThreadListResponse, type ThreadObject, type ThreadResponsesParams, ThreadsResource, type ToolInfo, type TransitionCondition, type TransitionConditionOperator, type TransitionConditionType, type TransitionConfig, type TransitionEventParams, type TriggerSyncResponse, UNIPILE_RATE_LIMIT_ERRORS, UNIPILE_SAFE_LIMITS, type UUID, type UnlinkConversationsResponse, type UpdateAppStatusParams, type UpdateAppStatusResponse, type UpdateDraftRequest, type UpdateLinkedInSubscriptionRequest, type UpdatePersonaRequest, type UpdatePersonaResponse, type UpdateStepExecutionRequest, type UpdateStepExecutionResponse, type UpdateThreadRequest, type UserConnectionsResponse, type UserCreateRequest, type UserDeleteResponse, type UserIdentifier, type UserListResponse, type UserResponse, type UserUpdateRequest, UsersResource, VALID_EVENT_TYPES, type ValidatedCandidate, ValidationError, type ValidationIssue, type ValidationResponse, type WebhookEvent, type WebhookPayload, canSendInmail, displayProgress, formatProgressEntry, getBestSubscriptionForAction, getConnectionRequestLimit, getContentLimit, getDailyInmailLimit, getDefaultDailyLimits, getInmailAllowance, getLimits, getMessageLimit, getRateLimit, hasOpenProfileMessages, isRecruiterSubscription, normalizeAction, verifyWebhookSignature };
|
package/dist/index.mjs
CHANGED
|
@@ -916,6 +916,65 @@ class ContactRelationshipsResource {
|
|
|
916
916
|
}
|
|
917
917
|
}
|
|
918
918
|
|
|
919
|
+
class CrmResource {
|
|
920
|
+
constructor(http) {
|
|
921
|
+
this.http = http;
|
|
922
|
+
}
|
|
923
|
+
/**
|
|
924
|
+
* Push one Lumnis prospect to the connected CRM.
|
|
925
|
+
*
|
|
926
|
+
* Idempotent: repeated calls for the same
|
|
927
|
+
* `(userId, provider, linkedinUrl)` return `linked` with the same
|
|
928
|
+
* `crmRecordId`. Stale links (record deleted in the CRM) are detected
|
|
929
|
+
* and re-created automatically.
|
|
930
|
+
*
|
|
931
|
+
* @example
|
|
932
|
+
* ```typescript
|
|
933
|
+
* const result = await client.crm.syncProspect({
|
|
934
|
+
* userId: 'user@example.com',
|
|
935
|
+
* provider: 'attio',
|
|
936
|
+
* linkedinUrl: 'https://www.linkedin.com/in/jane-doe/',
|
|
937
|
+
* })
|
|
938
|
+
* console.log(result.action, result.crmUrl)
|
|
939
|
+
* ```
|
|
940
|
+
*/
|
|
941
|
+
async syncProspect(data) {
|
|
942
|
+
return this.http.post("/crm/prospects/sync", data);
|
|
943
|
+
}
|
|
944
|
+
/**
|
|
945
|
+
* Bulk-check whether prospects are already in the CRM. Designed for
|
|
946
|
+
* list-view badge rendering: feed it every visible LinkedIn URL and
|
|
947
|
+
* render a "linked" indicator for the ones that come back true.
|
|
948
|
+
*
|
|
949
|
+
* Layered cache on the server side: persistent positive matches are
|
|
950
|
+
* served from the `campaign_prospects.crm_record_id` column, negative
|
|
951
|
+
* results are served from a Redis cache (TTL configured by
|
|
952
|
+
* `CRM_MATCH_NEGATIVE_CACHE_TTL_SECONDS`). Only the leftover unknowns
|
|
953
|
+
* fan out to the live CRM, bounded by
|
|
954
|
+
* `CRM_MATCH_LIVE_SEARCH_PARALLELISM`.
|
|
955
|
+
*
|
|
956
|
+
* Note: HubSpot does not expose a LinkedIn-URL search field through
|
|
957
|
+
* Composio, so for `provider: 'hubspot'` URLs that aren't already in
|
|
958
|
+
* the persistent cache will always come back `linked: false`. The
|
|
959
|
+
* sync endpoint still reconciles via email when available.
|
|
960
|
+
*
|
|
961
|
+
* @example
|
|
962
|
+
* ```typescript
|
|
963
|
+
* const { matches } = await client.crm.matchBatch({
|
|
964
|
+
* userId: 'user@example.com',
|
|
965
|
+
* provider: 'attio',
|
|
966
|
+
* linkedinUrls: prospects.map(p => p.linkedinUrl),
|
|
967
|
+
* })
|
|
968
|
+
* for (const m of matches) {
|
|
969
|
+
* if (m.linked) console.log(m.linkedinUrl, '->', m.crmUrl)
|
|
970
|
+
* }
|
|
971
|
+
* ```
|
|
972
|
+
*/
|
|
973
|
+
async matchBatch(data) {
|
|
974
|
+
return this.http.post("/crm/prospects/match-batch", data);
|
|
975
|
+
}
|
|
976
|
+
}
|
|
977
|
+
|
|
919
978
|
class EmailResource {
|
|
920
979
|
constructor(http) {
|
|
921
980
|
this.http = http;
|
|
@@ -979,7 +1038,8 @@ class EmailResource {
|
|
|
979
1038
|
// ==================== Personas ====================
|
|
980
1039
|
/**
|
|
981
1040
|
* Add a new sender persona to an organization.
|
|
982
|
-
* Provisions mailboxes on existing domains.
|
|
1041
|
+
* Provisions mailboxes on existing domains. Set `dailyVolumeCap` to `0`
|
|
1042
|
+
* for a lazy persona with no mailbox provisioning. Requires admin role.
|
|
983
1043
|
*/
|
|
984
1044
|
async addPersona(orgId, userId, persona) {
|
|
985
1045
|
return this.http.post(
|
|
@@ -988,6 +1048,20 @@ class EmailResource {
|
|
|
988
1048
|
{ params: { user_id: userId } }
|
|
989
1049
|
);
|
|
990
1050
|
}
|
|
1051
|
+
/**
|
|
1052
|
+
* Update a sender persona's per-persona daily volume cap.
|
|
1053
|
+
*
|
|
1054
|
+
* Pass `{}` for a no-op read, `{ dailyVolumeCap: null }` to revert to the
|
|
1055
|
+
* organization formula, or `{ dailyVolumeCap: number }` to set an explicit
|
|
1056
|
+
* cap. Requires admin role.
|
|
1057
|
+
*/
|
|
1058
|
+
async updatePersona(orgId, userId, personaId, update) {
|
|
1059
|
+
return this.http.patch(
|
|
1060
|
+
`/email/organizations/${encodeURIComponent(orgId)}/personas/${encodeURIComponent(personaId)}`,
|
|
1061
|
+
update,
|
|
1062
|
+
{ params: { user_id: userId } }
|
|
1063
|
+
);
|
|
1064
|
+
}
|
|
991
1065
|
// ==================== Teardown ====================
|
|
992
1066
|
/**
|
|
993
1067
|
* Teardown an email organization's infrastructure.
|
|
@@ -4268,6 +4342,7 @@ class LumnisClient {
|
|
|
4268
4342
|
contactRelationships;
|
|
4269
4343
|
enrichment;
|
|
4270
4344
|
email;
|
|
4345
|
+
crm;
|
|
4271
4346
|
_scopedUserId;
|
|
4272
4347
|
_defaultScope;
|
|
4273
4348
|
constructor(options = {}) {
|
|
@@ -4305,6 +4380,7 @@ class LumnisClient {
|
|
|
4305
4380
|
this.contactRelationships = new ContactRelationshipsResource(this.http);
|
|
4306
4381
|
this.enrichment = new EnrichmentResource(this.http);
|
|
4307
4382
|
this.email = new EmailResource(this.http);
|
|
4383
|
+
this.crm = new CrmResource(this.http);
|
|
4308
4384
|
}
|
|
4309
4385
|
forUser(userId) {
|
|
4310
4386
|
return new LumnisClient({
|