@automate.ax/catalog 0.119.10 → 0.121.0

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/catalog.d.ts CHANGED
@@ -433,6 +433,29 @@ export declare const huggingfaceService: {
433
433
  readonly id: "huggingface";
434
434
  readonly name: "Hugging Face";
435
435
  };
436
+ export declare const hubspotService: {
437
+ readonly connectionMethods: readonly [{
438
+ readonly id: "oauth";
439
+ readonly name: "OAuth";
440
+ readonly type: "redirect";
441
+ }, {
442
+ readonly credentialUrl: "https://app.hubspot.com/private-apps/";
443
+ readonly fields: readonly [{
444
+ readonly input: "password";
445
+ readonly label: "Private app access token";
446
+ readonly name: "accessToken";
447
+ readonly placeholder: "pat-...";
448
+ readonly required: true;
449
+ }];
450
+ readonly id: "private-app";
451
+ readonly name: "Private app access token";
452
+ readonly type: "form";
453
+ }];
454
+ readonly description: "Connect a HubSpot CRM account with OAuth or a private app token.";
455
+ readonly id: "hubspot";
456
+ readonly name: "HubSpot";
457
+ readonly preferredConnectionMethodId: "oauth";
458
+ };
436
459
  export declare const linearService: {
437
460
  readonly connectionMethods: readonly [{
438
461
  readonly id: "oauth";
@@ -1302,6 +1325,28 @@ export declare const integrationCatalog: readonly [{
1302
1325
  readonly description: "Connect a Hugging Face access token.";
1303
1326
  readonly id: "huggingface";
1304
1327
  readonly name: "Hugging Face";
1328
+ }, {
1329
+ readonly connectionMethods: readonly [{
1330
+ readonly id: "oauth";
1331
+ readonly name: "OAuth";
1332
+ readonly type: "redirect";
1333
+ }, {
1334
+ readonly credentialUrl: "https://app.hubspot.com/private-apps/";
1335
+ readonly fields: readonly [{
1336
+ readonly input: "password";
1337
+ readonly label: "Private app access token";
1338
+ readonly name: "accessToken";
1339
+ readonly placeholder: "pat-...";
1340
+ readonly required: true;
1341
+ }];
1342
+ readonly id: "private-app";
1343
+ readonly name: "Private app access token";
1344
+ readonly type: "form";
1345
+ }];
1346
+ readonly description: "Connect a HubSpot CRM account with OAuth or a private app token.";
1347
+ readonly id: "hubspot";
1348
+ readonly name: "HubSpot";
1349
+ readonly preferredConnectionMethodId: "oauth";
1305
1350
  }, {
1306
1351
  readonly id: "jobnimbus";
1307
1352
  readonly name: string;
package/dist/catalog.js CHANGED
@@ -289,6 +289,30 @@ export const huggingfaceService = defineIntegrationService({
289
289
  id: "huggingface",
290
290
  name: "Hugging Face",
291
291
  });
292
+ export const hubspotService = defineIntegrationService({
293
+ connectionMethods: [
294
+ { id: "oauth", name: "OAuth", type: "redirect" },
295
+ {
296
+ credentialUrl: "https://app.hubspot.com/private-apps/",
297
+ fields: [
298
+ {
299
+ input: "password",
300
+ label: "Private app access token",
301
+ name: "accessToken",
302
+ placeholder: "pat-...",
303
+ required: true,
304
+ },
305
+ ],
306
+ id: "private-app",
307
+ name: "Private app access token",
308
+ type: "form",
309
+ },
310
+ ],
311
+ description: "Connect a HubSpot CRM account with OAuth or a private app token.",
312
+ id: "hubspot",
313
+ name: "HubSpot",
314
+ preferredConnectionMethodId: "oauth",
315
+ });
292
316
  export const linearService = defineIntegrationService({
293
317
  connectionMethods: [
294
318
  { id: "oauth", name: "OAuth", type: "redirect" },
@@ -608,6 +632,7 @@ export const integrationCatalog = defineIntegrationCatalog([
608
632
  googleGenaiService,
609
633
  groqService,
610
634
  huggingfaceService,
635
+ hubspotService,
611
636
  jobNimbusService,
612
637
  linearService,
613
638
  microsoftService,
package/dist/index.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- export { airtableService, anthropicService, apolloService, asanaService, automateService, brevoService, cerebrasService, chatgptService, cloudflareService, closeService, codexService, cohereService, convexService, deepinfraService, deepseekService, firecrawlService, fireworksService, getIntegrationService, githubService, googleGenaiService, googleService, groqService, huggingfaceService, integrationCatalog, jobNimbusService, linearService, microsoftService, millionverifierService, mistralService, notionService, openaiService, onePasswordService, openrouterService, perplexityService, postgresService, resendService, scrapflyService, slackService, stripeService, tidycalService, togetheraiService, trelloService, vercelAiGatewayService, vercelService, webflowService, whatsappService, xaiService, type IntegrationServiceId, } from "./catalog.js";
1
+ export { airtableService, anthropicService, apolloService, asanaService, automateService, brevoService, cerebrasService, chatgptService, cloudflareService, closeService, codexService, cohereService, convexService, deepinfraService, deepseekService, firecrawlService, fireworksService, getIntegrationService, githubService, googleGenaiService, googleService, groqService, huggingfaceService, hubspotService, integrationCatalog, jobNimbusService, linearService, microsoftService, millionverifierService, mistralService, notionService, openaiService, onePasswordService, openrouterService, perplexityService, postgresService, resendService, scrapflyService, slackService, stripeService, tidycalService, togetheraiService, trelloService, vercelAiGatewayService, vercelService, webflowService, whatsappService, xaiService, type IntegrationServiceId, } from "./catalog.js";
2
2
  export { defineIntegrationCatalog, defineIntegrationService, integrationScope, type IntegrationAccountConnectionOption, type IntegrationAccountRequirement, type IntegrationConnectionDefinition, type IntegrationConnectionNotice, type IntegrationFormField, type IntegrationScopeRequirement, type IntegrationServiceDefinition, type ScopeRequirementGroup, type TriggerAccountRequirement, type TriggerDefinition, type TriggerPresentation, type TriggerPresentationContext, type TriggerPresentationDetail, type TriggerScopePresentation, type TriggerPresentationValue, } from "./types.js";
3
3
  export { getDashboardRunEndpoint, getDashboardRunEndpointKey, getHttpTriggerEndpoint, getHttpTriggerEndpointKey, getMailhookAddress, getMailhookAddressKey, DASHBOARD_RUN_CONFIG_SCHEMA, getTriggerDefinition, getTriggerName, getTriggerPresentation, isTriggerVisible, PLATFORM_EMAIL_DOMAIN, triggerCatalog, triggerDefinitions, type DashboardRunConfig, type DashboardRunEndpointOptions, type DashboardRunField, type HttpTriggerEndpointOptions, type HttpTriggerScope, type MailhookAddressOptions, type MailhookScope, type TriggerType, } from "./triggers/index.js";
package/dist/index.js CHANGED
@@ -1,3 +1,3 @@
1
- export { airtableService, anthropicService, apolloService, asanaService, automateService, brevoService, cerebrasService, chatgptService, cloudflareService, closeService, codexService, cohereService, convexService, deepinfraService, deepseekService, firecrawlService, fireworksService, getIntegrationService, githubService, googleGenaiService, googleService, groqService, huggingfaceService, integrationCatalog, jobNimbusService, linearService, microsoftService, millionverifierService, mistralService, notionService, openaiService, onePasswordService, openrouterService, perplexityService, postgresService, resendService, scrapflyService, slackService, stripeService, tidycalService, togetheraiService, trelloService, vercelAiGatewayService, vercelService, webflowService, whatsappService, xaiService, } from "./catalog.js";
1
+ export { airtableService, anthropicService, apolloService, asanaService, automateService, brevoService, cerebrasService, chatgptService, cloudflareService, closeService, codexService, cohereService, convexService, deepinfraService, deepseekService, firecrawlService, fireworksService, getIntegrationService, githubService, googleGenaiService, googleService, groqService, huggingfaceService, hubspotService, integrationCatalog, jobNimbusService, linearService, microsoftService, millionverifierService, mistralService, notionService, openaiService, onePasswordService, openrouterService, perplexityService, postgresService, resendService, scrapflyService, slackService, stripeService, tidycalService, togetheraiService, trelloService, vercelAiGatewayService, vercelService, webflowService, whatsappService, xaiService, } from "./catalog.js";
2
2
  export { defineIntegrationCatalog, defineIntegrationService, integrationScope, } from "./types.js";
3
3
  export { getDashboardRunEndpoint, getDashboardRunEndpointKey, getHttpTriggerEndpoint, getHttpTriggerEndpointKey, getMailhookAddress, getMailhookAddressKey, DASHBOARD_RUN_CONFIG_SCHEMA, getTriggerDefinition, getTriggerName, getTriggerPresentation, isTriggerVisible, PLATFORM_EMAIL_DOMAIN, triggerCatalog, triggerDefinitions, } from "./triggers/index.js";
@@ -0,0 +1,119 @@
1
+ import type { IntegrationAccountRequirement } from "../types.js";
2
+ export declare const hubspotTriggerDefinitions: {
3
+ readonly hubspotCrmEvent: {
4
+ account: IntegrationAccountRequirement<"hubspot">;
5
+ type: "hubspot.crm.event";
6
+ };
7
+ readonly hubspotCompanyAssociationAdded: {
8
+ account: IntegrationAccountRequirement<"hubspot">;
9
+ type: "hubspot.company.associationAdded";
10
+ };
11
+ readonly hubspotCompanyAssociationRemoved: {
12
+ account: IntegrationAccountRequirement<"hubspot">;
13
+ type: "hubspot.company.associationRemoved";
14
+ };
15
+ readonly hubspotCompanyCreated: {
16
+ account: IntegrationAccountRequirement<"hubspot">;
17
+ type: "hubspot.company.created";
18
+ };
19
+ readonly hubspotCompanyDeleted: {
20
+ account: IntegrationAccountRequirement<"hubspot">;
21
+ type: "hubspot.company.deleted";
22
+ };
23
+ readonly hubspotCompanyMerged: {
24
+ account: IntegrationAccountRequirement<"hubspot">;
25
+ type: "hubspot.company.merged";
26
+ };
27
+ readonly hubspotCompanyPropertyChanged: {
28
+ account: IntegrationAccountRequirement<"hubspot">;
29
+ type: "hubspot.company.propertyChanged";
30
+ };
31
+ readonly hubspotCompanyRestored: {
32
+ account: IntegrationAccountRequirement<"hubspot">;
33
+ type: "hubspot.company.restored";
34
+ };
35
+ readonly hubspotContactAssociationAdded: {
36
+ account: IntegrationAccountRequirement<"hubspot">;
37
+ type: "hubspot.contact.associationAdded";
38
+ };
39
+ readonly hubspotContactAssociationRemoved: {
40
+ account: IntegrationAccountRequirement<"hubspot">;
41
+ type: "hubspot.contact.associationRemoved";
42
+ };
43
+ readonly hubspotContactCreated: {
44
+ account: IntegrationAccountRequirement<"hubspot">;
45
+ type: "hubspot.contact.created";
46
+ };
47
+ readonly hubspotContactDeleted: {
48
+ account: IntegrationAccountRequirement<"hubspot">;
49
+ type: "hubspot.contact.deleted";
50
+ };
51
+ readonly hubspotContactMerged: {
52
+ account: IntegrationAccountRequirement<"hubspot">;
53
+ type: "hubspot.contact.merged";
54
+ };
55
+ readonly hubspotContactPropertyChanged: {
56
+ account: IntegrationAccountRequirement<"hubspot">;
57
+ type: "hubspot.contact.propertyChanged";
58
+ };
59
+ readonly hubspotContactRestored: {
60
+ account: IntegrationAccountRequirement<"hubspot">;
61
+ type: "hubspot.contact.restored";
62
+ };
63
+ readonly hubspotDealAssociationAdded: {
64
+ account: IntegrationAccountRequirement<"hubspot">;
65
+ type: "hubspot.deal.associationAdded";
66
+ };
67
+ readonly hubspotDealAssociationRemoved: {
68
+ account: IntegrationAccountRequirement<"hubspot">;
69
+ type: "hubspot.deal.associationRemoved";
70
+ };
71
+ readonly hubspotDealCreated: {
72
+ account: IntegrationAccountRequirement<"hubspot">;
73
+ type: "hubspot.deal.created";
74
+ };
75
+ readonly hubspotDealDeleted: {
76
+ account: IntegrationAccountRequirement<"hubspot">;
77
+ type: "hubspot.deal.deleted";
78
+ };
79
+ readonly hubspotDealMerged: {
80
+ account: IntegrationAccountRequirement<"hubspot">;
81
+ type: "hubspot.deal.merged";
82
+ };
83
+ readonly hubspotDealPropertyChanged: {
84
+ account: IntegrationAccountRequirement<"hubspot">;
85
+ type: "hubspot.deal.propertyChanged";
86
+ };
87
+ readonly hubspotDealRestored: {
88
+ account: IntegrationAccountRequirement<"hubspot">;
89
+ type: "hubspot.deal.restored";
90
+ };
91
+ readonly hubspotTicketAssociationAdded: {
92
+ account: IntegrationAccountRequirement<"hubspot">;
93
+ type: "hubspot.ticket.associationAdded";
94
+ };
95
+ readonly hubspotTicketAssociationRemoved: {
96
+ account: IntegrationAccountRequirement<"hubspot">;
97
+ type: "hubspot.ticket.associationRemoved";
98
+ };
99
+ readonly hubspotTicketCreated: {
100
+ account: IntegrationAccountRequirement<"hubspot">;
101
+ type: "hubspot.ticket.created";
102
+ };
103
+ readonly hubspotTicketDeleted: {
104
+ account: IntegrationAccountRequirement<"hubspot">;
105
+ type: "hubspot.ticket.deleted";
106
+ };
107
+ readonly hubspotTicketMerged: {
108
+ account: IntegrationAccountRequirement<"hubspot">;
109
+ type: "hubspot.ticket.merged";
110
+ };
111
+ readonly hubspotTicketPropertyChanged: {
112
+ account: IntegrationAccountRequirement<"hubspot">;
113
+ type: "hubspot.ticket.propertyChanged";
114
+ };
115
+ readonly hubspotTicketRestored: {
116
+ account: IntegrationAccountRequirement<"hubspot">;
117
+ type: "hubspot.ticket.restored";
118
+ };
119
+ };
@@ -0,0 +1,67 @@
1
+ const CONTACT = hubspotAccount("crm.objects.contacts.read");
2
+ const COMPANY = hubspotAccount("crm.objects.companies.read");
3
+ const DEAL = hubspotAccount("crm.objects.deals.read");
4
+ const TICKET = hubspotAccount("tickets");
5
+ export const hubspotTriggerDefinitions = {
6
+ hubspotCrmEvent: definition("hubspot.crm.event", hubspotAccount([
7
+ "crm.objects.companies.read",
8
+ "crm.objects.contacts.read",
9
+ "crm.objects.deals.read",
10
+ "tickets",
11
+ ])),
12
+ hubspotCompanyAssociationAdded: definition("hubspot.company.associationAdded", COMPANY),
13
+ hubspotCompanyAssociationRemoved: definition("hubspot.company.associationRemoved", COMPANY),
14
+ hubspotCompanyCreated: definition("hubspot.company.created", COMPANY),
15
+ hubspotCompanyDeleted: definition("hubspot.company.deleted", COMPANY),
16
+ hubspotCompanyMerged: definition("hubspot.company.merged", COMPANY),
17
+ hubspotCompanyPropertyChanged: definition("hubspot.company.propertyChanged", COMPANY),
18
+ hubspotCompanyRestored: definition("hubspot.company.restored", COMPANY),
19
+ hubspotContactAssociationAdded: definition("hubspot.contact.associationAdded", CONTACT),
20
+ hubspotContactAssociationRemoved: definition("hubspot.contact.associationRemoved", CONTACT),
21
+ hubspotContactCreated: definition("hubspot.contact.created", CONTACT),
22
+ hubspotContactDeleted: definition("hubspot.contact.deleted", CONTACT),
23
+ hubspotContactMerged: definition("hubspot.contact.merged", CONTACT),
24
+ hubspotContactPropertyChanged: definition("hubspot.contact.propertyChanged", CONTACT),
25
+ hubspotContactRestored: definition("hubspot.contact.restored", CONTACT),
26
+ hubspotDealAssociationAdded: definition("hubspot.deal.associationAdded", DEAL),
27
+ hubspotDealAssociationRemoved: definition("hubspot.deal.associationRemoved", DEAL),
28
+ hubspotDealCreated: definition("hubspot.deal.created", DEAL),
29
+ hubspotDealDeleted: definition("hubspot.deal.deleted", DEAL),
30
+ hubspotDealMerged: definition("hubspot.deal.merged", DEAL),
31
+ hubspotDealPropertyChanged: definition("hubspot.deal.propertyChanged", DEAL),
32
+ hubspotDealRestored: definition("hubspot.deal.restored", DEAL),
33
+ hubspotTicketAssociationAdded: definition("hubspot.ticket.associationAdded", TICKET),
34
+ hubspotTicketAssociationRemoved: definition("hubspot.ticket.associationRemoved", TICKET),
35
+ hubspotTicketCreated: definition("hubspot.ticket.created", TICKET),
36
+ hubspotTicketDeleted: definition("hubspot.ticket.deleted", TICKET),
37
+ hubspotTicketMerged: definition("hubspot.ticket.merged", TICKET),
38
+ hubspotTicketPropertyChanged: definition("hubspot.ticket.propertyChanged", TICKET),
39
+ hubspotTicketRestored: definition("hubspot.ticket.restored", TICKET),
40
+ };
41
+ /**
42
+ * Builds one typed HubSpot trigger definition.
43
+ *
44
+ * @param type - Public event type.
45
+ * @param account - Required HubSpot account contract.
46
+ */
47
+ function definition(type, account) {
48
+ return { account, type };
49
+ }
50
+ /**
51
+ * Builds an OAuth-only HubSpot trigger account requirement.
52
+ *
53
+ * @param requiredScopes - Required OAuth scopes.
54
+ */
55
+ function hubspotAccount(requiredScopes) {
56
+ return {
57
+ connectionOptions: [
58
+ {
59
+ connectionMethodId: "oauth",
60
+ requiredScopes: typeof requiredScopes === "string"
61
+ ? [requiredScopes]
62
+ : requiredScopes,
63
+ },
64
+ ],
65
+ serviceId: "hubspot",
66
+ };
67
+ }
@@ -2931,6 +2931,122 @@ export declare const triggerDefinitions: {
2931
2931
  };
2932
2932
  readonly type: "linear.user.updated";
2933
2933
  };
2934
+ readonly hubspotCrmEvent: {
2935
+ account: import("..").IntegrationAccountRequirement<"hubspot">;
2936
+ type: "hubspot.crm.event";
2937
+ };
2938
+ readonly hubspotCompanyAssociationAdded: {
2939
+ account: import("..").IntegrationAccountRequirement<"hubspot">;
2940
+ type: "hubspot.company.associationAdded";
2941
+ };
2942
+ readonly hubspotCompanyAssociationRemoved: {
2943
+ account: import("..").IntegrationAccountRequirement<"hubspot">;
2944
+ type: "hubspot.company.associationRemoved";
2945
+ };
2946
+ readonly hubspotCompanyCreated: {
2947
+ account: import("..").IntegrationAccountRequirement<"hubspot">;
2948
+ type: "hubspot.company.created";
2949
+ };
2950
+ readonly hubspotCompanyDeleted: {
2951
+ account: import("..").IntegrationAccountRequirement<"hubspot">;
2952
+ type: "hubspot.company.deleted";
2953
+ };
2954
+ readonly hubspotCompanyMerged: {
2955
+ account: import("..").IntegrationAccountRequirement<"hubspot">;
2956
+ type: "hubspot.company.merged";
2957
+ };
2958
+ readonly hubspotCompanyPropertyChanged: {
2959
+ account: import("..").IntegrationAccountRequirement<"hubspot">;
2960
+ type: "hubspot.company.propertyChanged";
2961
+ };
2962
+ readonly hubspotCompanyRestored: {
2963
+ account: import("..").IntegrationAccountRequirement<"hubspot">;
2964
+ type: "hubspot.company.restored";
2965
+ };
2966
+ readonly hubspotContactAssociationAdded: {
2967
+ account: import("..").IntegrationAccountRequirement<"hubspot">;
2968
+ type: "hubspot.contact.associationAdded";
2969
+ };
2970
+ readonly hubspotContactAssociationRemoved: {
2971
+ account: import("..").IntegrationAccountRequirement<"hubspot">;
2972
+ type: "hubspot.contact.associationRemoved";
2973
+ };
2974
+ readonly hubspotContactCreated: {
2975
+ account: import("..").IntegrationAccountRequirement<"hubspot">;
2976
+ type: "hubspot.contact.created";
2977
+ };
2978
+ readonly hubspotContactDeleted: {
2979
+ account: import("..").IntegrationAccountRequirement<"hubspot">;
2980
+ type: "hubspot.contact.deleted";
2981
+ };
2982
+ readonly hubspotContactMerged: {
2983
+ account: import("..").IntegrationAccountRequirement<"hubspot">;
2984
+ type: "hubspot.contact.merged";
2985
+ };
2986
+ readonly hubspotContactPropertyChanged: {
2987
+ account: import("..").IntegrationAccountRequirement<"hubspot">;
2988
+ type: "hubspot.contact.propertyChanged";
2989
+ };
2990
+ readonly hubspotContactRestored: {
2991
+ account: import("..").IntegrationAccountRequirement<"hubspot">;
2992
+ type: "hubspot.contact.restored";
2993
+ };
2994
+ readonly hubspotDealAssociationAdded: {
2995
+ account: import("..").IntegrationAccountRequirement<"hubspot">;
2996
+ type: "hubspot.deal.associationAdded";
2997
+ };
2998
+ readonly hubspotDealAssociationRemoved: {
2999
+ account: import("..").IntegrationAccountRequirement<"hubspot">;
3000
+ type: "hubspot.deal.associationRemoved";
3001
+ };
3002
+ readonly hubspotDealCreated: {
3003
+ account: import("..").IntegrationAccountRequirement<"hubspot">;
3004
+ type: "hubspot.deal.created";
3005
+ };
3006
+ readonly hubspotDealDeleted: {
3007
+ account: import("..").IntegrationAccountRequirement<"hubspot">;
3008
+ type: "hubspot.deal.deleted";
3009
+ };
3010
+ readonly hubspotDealMerged: {
3011
+ account: import("..").IntegrationAccountRequirement<"hubspot">;
3012
+ type: "hubspot.deal.merged";
3013
+ };
3014
+ readonly hubspotDealPropertyChanged: {
3015
+ account: import("..").IntegrationAccountRequirement<"hubspot">;
3016
+ type: "hubspot.deal.propertyChanged";
3017
+ };
3018
+ readonly hubspotDealRestored: {
3019
+ account: import("..").IntegrationAccountRequirement<"hubspot">;
3020
+ type: "hubspot.deal.restored";
3021
+ };
3022
+ readonly hubspotTicketAssociationAdded: {
3023
+ account: import("..").IntegrationAccountRequirement<"hubspot">;
3024
+ type: "hubspot.ticket.associationAdded";
3025
+ };
3026
+ readonly hubspotTicketAssociationRemoved: {
3027
+ account: import("..").IntegrationAccountRequirement<"hubspot">;
3028
+ type: "hubspot.ticket.associationRemoved";
3029
+ };
3030
+ readonly hubspotTicketCreated: {
3031
+ account: import("..").IntegrationAccountRequirement<"hubspot">;
3032
+ type: "hubspot.ticket.created";
3033
+ };
3034
+ readonly hubspotTicketDeleted: {
3035
+ account: import("..").IntegrationAccountRequirement<"hubspot">;
3036
+ type: "hubspot.ticket.deleted";
3037
+ };
3038
+ readonly hubspotTicketMerged: {
3039
+ account: import("..").IntegrationAccountRequirement<"hubspot">;
3040
+ type: "hubspot.ticket.merged";
3041
+ };
3042
+ readonly hubspotTicketPropertyChanged: {
3043
+ account: import("..").IntegrationAccountRequirement<"hubspot">;
3044
+ type: "hubspot.ticket.propertyChanged";
3045
+ };
3046
+ readonly hubspotTicketRestored: {
3047
+ account: import("..").IntegrationAccountRequirement<"hubspot">;
3048
+ type: "hubspot.ticket.restored";
3049
+ };
2934
3050
  readonly gmailLabelAdded: {
2935
3051
  readonly account: {
2936
3052
  readonly connectionOptions: readonly [{
@@ -9901,6 +10017,122 @@ export declare const triggerCatalog: ({
9901
10017
  };
9902
10018
  icon: "google-sheets";
9903
10019
  type: "googleSheets.cells.changed";
10020
+ } | {
10021
+ name: string;
10022
+ account: import("..").IntegrationAccountRequirement<"hubspot">;
10023
+ type: "hubspot.crm.event";
10024
+ } | {
10025
+ name: string;
10026
+ account: import("..").IntegrationAccountRequirement<"hubspot">;
10027
+ type: "hubspot.company.associationAdded";
10028
+ } | {
10029
+ name: string;
10030
+ account: import("..").IntegrationAccountRequirement<"hubspot">;
10031
+ type: "hubspot.company.associationRemoved";
10032
+ } | {
10033
+ name: string;
10034
+ account: import("..").IntegrationAccountRequirement<"hubspot">;
10035
+ type: "hubspot.company.created";
10036
+ } | {
10037
+ name: string;
10038
+ account: import("..").IntegrationAccountRequirement<"hubspot">;
10039
+ type: "hubspot.company.deleted";
10040
+ } | {
10041
+ name: string;
10042
+ account: import("..").IntegrationAccountRequirement<"hubspot">;
10043
+ type: "hubspot.company.merged";
10044
+ } | {
10045
+ name: string;
10046
+ account: import("..").IntegrationAccountRequirement<"hubspot">;
10047
+ type: "hubspot.company.propertyChanged";
10048
+ } | {
10049
+ name: string;
10050
+ account: import("..").IntegrationAccountRequirement<"hubspot">;
10051
+ type: "hubspot.company.restored";
10052
+ } | {
10053
+ name: string;
10054
+ account: import("..").IntegrationAccountRequirement<"hubspot">;
10055
+ type: "hubspot.contact.associationAdded";
10056
+ } | {
10057
+ name: string;
10058
+ account: import("..").IntegrationAccountRequirement<"hubspot">;
10059
+ type: "hubspot.contact.associationRemoved";
10060
+ } | {
10061
+ name: string;
10062
+ account: import("..").IntegrationAccountRequirement<"hubspot">;
10063
+ type: "hubspot.contact.created";
10064
+ } | {
10065
+ name: string;
10066
+ account: import("..").IntegrationAccountRequirement<"hubspot">;
10067
+ type: "hubspot.contact.deleted";
10068
+ } | {
10069
+ name: string;
10070
+ account: import("..").IntegrationAccountRequirement<"hubspot">;
10071
+ type: "hubspot.contact.merged";
10072
+ } | {
10073
+ name: string;
10074
+ account: import("..").IntegrationAccountRequirement<"hubspot">;
10075
+ type: "hubspot.contact.propertyChanged";
10076
+ } | {
10077
+ name: string;
10078
+ account: import("..").IntegrationAccountRequirement<"hubspot">;
10079
+ type: "hubspot.contact.restored";
10080
+ } | {
10081
+ name: string;
10082
+ account: import("..").IntegrationAccountRequirement<"hubspot">;
10083
+ type: "hubspot.deal.associationAdded";
10084
+ } | {
10085
+ name: string;
10086
+ account: import("..").IntegrationAccountRequirement<"hubspot">;
10087
+ type: "hubspot.deal.associationRemoved";
10088
+ } | {
10089
+ name: string;
10090
+ account: import("..").IntegrationAccountRequirement<"hubspot">;
10091
+ type: "hubspot.deal.created";
10092
+ } | {
10093
+ name: string;
10094
+ account: import("..").IntegrationAccountRequirement<"hubspot">;
10095
+ type: "hubspot.deal.deleted";
10096
+ } | {
10097
+ name: string;
10098
+ account: import("..").IntegrationAccountRequirement<"hubspot">;
10099
+ type: "hubspot.deal.merged";
10100
+ } | {
10101
+ name: string;
10102
+ account: import("..").IntegrationAccountRequirement<"hubspot">;
10103
+ type: "hubspot.deal.propertyChanged";
10104
+ } | {
10105
+ name: string;
10106
+ account: import("..").IntegrationAccountRequirement<"hubspot">;
10107
+ type: "hubspot.deal.restored";
10108
+ } | {
10109
+ name: string;
10110
+ account: import("..").IntegrationAccountRequirement<"hubspot">;
10111
+ type: "hubspot.ticket.associationAdded";
10112
+ } | {
10113
+ name: string;
10114
+ account: import("..").IntegrationAccountRequirement<"hubspot">;
10115
+ type: "hubspot.ticket.associationRemoved";
10116
+ } | {
10117
+ name: string;
10118
+ account: import("..").IntegrationAccountRequirement<"hubspot">;
10119
+ type: "hubspot.ticket.created";
10120
+ } | {
10121
+ name: string;
10122
+ account: import("..").IntegrationAccountRequirement<"hubspot">;
10123
+ type: "hubspot.ticket.deleted";
10124
+ } | {
10125
+ name: string;
10126
+ account: import("..").IntegrationAccountRequirement<"hubspot">;
10127
+ type: "hubspot.ticket.merged";
10128
+ } | {
10129
+ name: string;
10130
+ account: import("..").IntegrationAccountRequirement<"hubspot">;
10131
+ type: "hubspot.ticket.propertyChanged";
10132
+ } | {
10133
+ name: string;
10134
+ account: import("..").IntegrationAccountRequirement<"hubspot">;
10135
+ type: "hubspot.ticket.restored";
9904
10136
  } | {
9905
10137
  name: string;
9906
10138
  account: {
@@ -8,6 +8,7 @@ import { cloudflareTriggerDefinitions } from "./cloudflare.js";
8
8
  import { coreTriggerDefinitions } from "./core.js";
9
9
  import { githubTriggerDefinitions } from "./github.js";
10
10
  import { googleTriggerDefinitions } from "./google.js";
11
+ import { hubspotTriggerDefinitions } from "./hubspot.js";
11
12
  import { linearTriggerDefinitions } from "./linear.js";
12
13
  import { millionVerifierTriggerDefinitions } from "./millionverifier.js";
13
14
  import { microsoftTriggerDefinitions } from "./microsoft.js";
@@ -34,6 +35,7 @@ export const triggerDefinitions = {
34
35
  ...coreTriggerDefinitions,
35
36
  ...githubTriggerDefinitions,
36
37
  ...googleTriggerDefinitions,
38
+ ...hubspotTriggerDefinitions,
37
39
  ...linearTriggerDefinitions,
38
40
  ...millionVerifierTriggerDefinitions,
39
41
  ...microsoftTriggerDefinitions,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@automate.ax/catalog",
3
- "version": "0.119.10",
3
+ "version": "0.121.0",
4
4
  "description": "Shared integration service and trigger definitions for Automate.ax.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -34,6 +34,7 @@
34
34
  "./triggers/core-schedule": "./src/triggers/core-schedule.ts",
35
35
  "./triggers/github": "./src/triggers/github.ts",
36
36
  "./triggers/google": "./src/triggers/google.ts",
37
+ "./triggers/hubspot": "./src/triggers/hubspot.ts",
37
38
  "./triggers/linear": "./src/triggers/linear.ts",
38
39
  "./triggers/millionverifier": "./src/triggers/millionverifier.ts",
39
40
  "./triggers/microsoft": "./src/triggers/microsoft.ts",
@@ -164,6 +165,11 @@
164
165
  "types": "./dist/triggers/google.d.ts",
165
166
  "default": "./dist/triggers/google.js"
166
167
  },
168
+ "./triggers/hubspot": {
169
+ "bun": "./src/triggers/hubspot.ts",
170
+ "types": "./dist/triggers/hubspot.d.ts",
171
+ "default": "./dist/triggers/hubspot.js"
172
+ },
167
173
  "./triggers/linear": {
168
174
  "bun": "./src/triggers/linear.ts",
169
175
  "types": "./dist/triggers/linear.d.ts",
package/src/catalog.ts CHANGED
@@ -320,6 +320,32 @@ export const huggingfaceService = defineIntegrationService({
320
320
  name: "Hugging Face",
321
321
  })
322
322
 
323
+ export const hubspotService = defineIntegrationService({
324
+ connectionMethods: [
325
+ { id: "oauth", name: "OAuth", type: "redirect" },
326
+ {
327
+ credentialUrl: "https://app.hubspot.com/private-apps/",
328
+ fields: [
329
+ {
330
+ input: "password",
331
+ label: "Private app access token",
332
+ name: "accessToken",
333
+ placeholder: "pat-...",
334
+ required: true,
335
+ },
336
+ ],
337
+ id: "private-app",
338
+ name: "Private app access token",
339
+ type: "form",
340
+ },
341
+ ],
342
+ description:
343
+ "Connect a HubSpot CRM account with OAuth or a private app token.",
344
+ id: "hubspot",
345
+ name: "HubSpot",
346
+ preferredConnectionMethodId: "oauth",
347
+ })
348
+
323
349
  export const linearService = defineIntegrationService({
324
350
  connectionMethods: [
325
351
  { id: "oauth", name: "OAuth", type: "redirect" },
@@ -671,6 +697,7 @@ export const integrationCatalog = defineIntegrationCatalog([
671
697
  googleGenaiService,
672
698
  groqService,
673
699
  huggingfaceService,
700
+ hubspotService,
674
701
  jobNimbusService,
675
702
  linearService,
676
703
  microsoftService,
package/src/index.ts CHANGED
@@ -22,6 +22,7 @@ export {
22
22
  googleService,
23
23
  groqService,
24
24
  huggingfaceService,
25
+ hubspotService,
25
26
  integrationCatalog,
26
27
  jobNimbusService,
27
28
  linearService,
@@ -0,0 +1,114 @@
1
+ import type { IntegrationAccountRequirement, TriggerDefinition } from "../types"
2
+
3
+ const CONTACT = hubspotAccount("crm.objects.contacts.read")
4
+ const COMPANY = hubspotAccount("crm.objects.companies.read")
5
+ const DEAL = hubspotAccount("crm.objects.deals.read")
6
+ const TICKET = hubspotAccount("tickets")
7
+
8
+ export const hubspotTriggerDefinitions = {
9
+ hubspotCrmEvent: definition(
10
+ "hubspot.crm.event",
11
+ hubspotAccount([
12
+ "crm.objects.companies.read",
13
+ "crm.objects.contacts.read",
14
+ "crm.objects.deals.read",
15
+ "tickets",
16
+ ]),
17
+ ),
18
+ hubspotCompanyAssociationAdded: definition(
19
+ "hubspot.company.associationAdded",
20
+ COMPANY,
21
+ ),
22
+ hubspotCompanyAssociationRemoved: definition(
23
+ "hubspot.company.associationRemoved",
24
+ COMPANY,
25
+ ),
26
+ hubspotCompanyCreated: definition("hubspot.company.created", COMPANY),
27
+ hubspotCompanyDeleted: definition("hubspot.company.deleted", COMPANY),
28
+ hubspotCompanyMerged: definition("hubspot.company.merged", COMPANY),
29
+ hubspotCompanyPropertyChanged: definition(
30
+ "hubspot.company.propertyChanged",
31
+ COMPANY,
32
+ ),
33
+ hubspotCompanyRestored: definition("hubspot.company.restored", COMPANY),
34
+ hubspotContactAssociationAdded: definition(
35
+ "hubspot.contact.associationAdded",
36
+ CONTACT,
37
+ ),
38
+ hubspotContactAssociationRemoved: definition(
39
+ "hubspot.contact.associationRemoved",
40
+ CONTACT,
41
+ ),
42
+ hubspotContactCreated: definition("hubspot.contact.created", CONTACT),
43
+ hubspotContactDeleted: definition("hubspot.contact.deleted", CONTACT),
44
+ hubspotContactMerged: definition("hubspot.contact.merged", CONTACT),
45
+ hubspotContactPropertyChanged: definition(
46
+ "hubspot.contact.propertyChanged",
47
+ CONTACT,
48
+ ),
49
+ hubspotContactRestored: definition("hubspot.contact.restored", CONTACT),
50
+ hubspotDealAssociationAdded: definition(
51
+ "hubspot.deal.associationAdded",
52
+ DEAL,
53
+ ),
54
+ hubspotDealAssociationRemoved: definition(
55
+ "hubspot.deal.associationRemoved",
56
+ DEAL,
57
+ ),
58
+ hubspotDealCreated: definition("hubspot.deal.created", DEAL),
59
+ hubspotDealDeleted: definition("hubspot.deal.deleted", DEAL),
60
+ hubspotDealMerged: definition("hubspot.deal.merged", DEAL),
61
+ hubspotDealPropertyChanged: definition("hubspot.deal.propertyChanged", DEAL),
62
+ hubspotDealRestored: definition("hubspot.deal.restored", DEAL),
63
+ hubspotTicketAssociationAdded: definition(
64
+ "hubspot.ticket.associationAdded",
65
+ TICKET,
66
+ ),
67
+ hubspotTicketAssociationRemoved: definition(
68
+ "hubspot.ticket.associationRemoved",
69
+ TICKET,
70
+ ),
71
+ hubspotTicketCreated: definition("hubspot.ticket.created", TICKET),
72
+ hubspotTicketDeleted: definition("hubspot.ticket.deleted", TICKET),
73
+ hubspotTicketMerged: definition("hubspot.ticket.merged", TICKET),
74
+ hubspotTicketPropertyChanged: definition(
75
+ "hubspot.ticket.propertyChanged",
76
+ TICKET,
77
+ ),
78
+ hubspotTicketRestored: definition("hubspot.ticket.restored", TICKET),
79
+ } as const satisfies Record<string, TriggerDefinition>
80
+
81
+ /**
82
+ * Builds one typed HubSpot trigger definition.
83
+ *
84
+ * @param type - Public event type.
85
+ * @param account - Required HubSpot account contract.
86
+ */
87
+ function definition<const TType extends string>(
88
+ type: TType,
89
+ account: IntegrationAccountRequirement<"hubspot">,
90
+ ) {
91
+ return { account, type }
92
+ }
93
+
94
+ /**
95
+ * Builds an OAuth-only HubSpot trigger account requirement.
96
+ *
97
+ * @param requiredScopes - Required OAuth scopes.
98
+ */
99
+ function hubspotAccount(
100
+ requiredScopes: string | readonly string[],
101
+ ): IntegrationAccountRequirement<"hubspot"> {
102
+ return {
103
+ connectionOptions: [
104
+ {
105
+ connectionMethodId: "oauth",
106
+ requiredScopes:
107
+ typeof requiredScopes === "string"
108
+ ? [requiredScopes]
109
+ : requiredScopes,
110
+ },
111
+ ],
112
+ serviceId: "hubspot",
113
+ }
114
+ }
@@ -8,6 +8,7 @@ import { cloudflareTriggerDefinitions } from "./cloudflare"
8
8
  import { coreTriggerDefinitions } from "./core"
9
9
  import { githubTriggerDefinitions } from "./github"
10
10
  import { googleTriggerDefinitions } from "./google"
11
+ import { hubspotTriggerDefinitions } from "./hubspot"
11
12
  import { linearTriggerDefinitions } from "./linear"
12
13
  import { millionVerifierTriggerDefinitions } from "./millionverifier"
13
14
  import { microsoftTriggerDefinitions } from "./microsoft"
@@ -58,6 +59,7 @@ export const triggerDefinitions = {
58
59
  ...coreTriggerDefinitions,
59
60
  ...githubTriggerDefinitions,
60
61
  ...googleTriggerDefinitions,
62
+ ...hubspotTriggerDefinitions,
61
63
  ...linearTriggerDefinitions,
62
64
  ...millionVerifierTriggerDefinitions,
63
65
  ...microsoftTriggerDefinitions,