@automate.ax/catalog 0.88.10 → 0.89.2
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 +45 -0
- package/dist/catalog.js +25 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/triggers/index.d.ts +240 -0
- package/dist/triggers/index.js +2 -0
- package/dist/triggers/notion.d.ts +123 -0
- package/dist/triggers/notion.js +55 -0
- package/package.json +7 -1
- package/src/catalog.ts +27 -0
- package/src/index.ts +1 -0
- package/src/triggers/index.ts +2 -0
- package/src/triggers/notion.ts +155 -0
package/dist/catalog.d.ts
CHANGED
|
@@ -462,6 +462,29 @@ export declare const mistralService: {
|
|
|
462
462
|
readonly credentialUrl?: string | undefined;
|
|
463
463
|
}];
|
|
464
464
|
};
|
|
465
|
+
export declare const notionService: {
|
|
466
|
+
readonly connectionMethods: readonly [{
|
|
467
|
+
readonly id: "oauth";
|
|
468
|
+
readonly name: "OAuth";
|
|
469
|
+
readonly type: "redirect";
|
|
470
|
+
}, {
|
|
471
|
+
readonly credentialUrl: "https://www.notion.so/developers/tokens";
|
|
472
|
+
readonly fields: readonly [{
|
|
473
|
+
readonly input: "password";
|
|
474
|
+
readonly label: "Personal access token";
|
|
475
|
+
readonly name: "apiKey";
|
|
476
|
+
readonly placeholder: "ntn_...";
|
|
477
|
+
readonly required: true;
|
|
478
|
+
}];
|
|
479
|
+
readonly id: "personal-access-token";
|
|
480
|
+
readonly name: "Personal access token";
|
|
481
|
+
readonly type: "form";
|
|
482
|
+
}];
|
|
483
|
+
readonly description: "Connect a Notion workspace with OAuth or a personal access token.";
|
|
484
|
+
readonly id: "notion";
|
|
485
|
+
readonly name: "Notion";
|
|
486
|
+
readonly preferredConnectionMethodId: "oauth";
|
|
487
|
+
};
|
|
465
488
|
export declare const openaiService: {
|
|
466
489
|
readonly id: "openai";
|
|
467
490
|
readonly name: string;
|
|
@@ -1212,6 +1235,28 @@ export declare const integrationCatalog: readonly [{
|
|
|
1212
1235
|
readonly type: "form";
|
|
1213
1236
|
readonly credentialUrl?: string | undefined;
|
|
1214
1237
|
}];
|
|
1238
|
+
}, {
|
|
1239
|
+
readonly connectionMethods: readonly [{
|
|
1240
|
+
readonly id: "oauth";
|
|
1241
|
+
readonly name: "OAuth";
|
|
1242
|
+
readonly type: "redirect";
|
|
1243
|
+
}, {
|
|
1244
|
+
readonly credentialUrl: "https://www.notion.so/developers/tokens";
|
|
1245
|
+
readonly fields: readonly [{
|
|
1246
|
+
readonly input: "password";
|
|
1247
|
+
readonly label: "Personal access token";
|
|
1248
|
+
readonly name: "apiKey";
|
|
1249
|
+
readonly placeholder: "ntn_...";
|
|
1250
|
+
readonly required: true;
|
|
1251
|
+
}];
|
|
1252
|
+
readonly id: "personal-access-token";
|
|
1253
|
+
readonly name: "Personal access token";
|
|
1254
|
+
readonly type: "form";
|
|
1255
|
+
}];
|
|
1256
|
+
readonly description: "Connect a Notion workspace with OAuth or a personal access token.";
|
|
1257
|
+
readonly id: "notion";
|
|
1258
|
+
readonly name: "Notion";
|
|
1259
|
+
readonly preferredConnectionMethodId: "oauth";
|
|
1215
1260
|
}, {
|
|
1216
1261
|
readonly id: "openai";
|
|
1217
1262
|
readonly name: string;
|
package/dist/catalog.js
CHANGED
|
@@ -271,6 +271,30 @@ export const mistralService = defineApiKeyService({
|
|
|
271
271
|
id: "mistral",
|
|
272
272
|
name: "Mistral AI",
|
|
273
273
|
});
|
|
274
|
+
export const notionService = defineIntegrationService({
|
|
275
|
+
connectionMethods: [
|
|
276
|
+
{ id: "oauth", name: "OAuth", type: "redirect" },
|
|
277
|
+
{
|
|
278
|
+
credentialUrl: "https://www.notion.so/developers/tokens",
|
|
279
|
+
fields: [
|
|
280
|
+
{
|
|
281
|
+
input: "password",
|
|
282
|
+
label: "Personal access token",
|
|
283
|
+
name: "apiKey",
|
|
284
|
+
placeholder: "ntn_...",
|
|
285
|
+
required: true,
|
|
286
|
+
},
|
|
287
|
+
],
|
|
288
|
+
id: "personal-access-token",
|
|
289
|
+
name: "Personal access token",
|
|
290
|
+
type: "form",
|
|
291
|
+
},
|
|
292
|
+
],
|
|
293
|
+
description: "Connect a Notion workspace with OAuth or a personal access token.",
|
|
294
|
+
id: "notion",
|
|
295
|
+
name: "Notion",
|
|
296
|
+
preferredConnectionMethodId: "oauth",
|
|
297
|
+
});
|
|
274
298
|
export const openaiService = defineApiKeyService({
|
|
275
299
|
credentialUrl: "https://platform.openai.com/api-keys",
|
|
276
300
|
description: "Connect an OpenAI API key.",
|
|
@@ -493,6 +517,7 @@ export const integrationCatalog = defineIntegrationCatalog([
|
|
|
493
517
|
microsoftService,
|
|
494
518
|
millionverifierService,
|
|
495
519
|
mistralService,
|
|
520
|
+
notionService,
|
|
496
521
|
openaiService,
|
|
497
522
|
onePasswordService,
|
|
498
523
|
openrouterService,
|
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { airtableService, anthropicService, apolloService, asanaService, brevoService, cerebrasService, chatgptService, cloudflareService, closeService, codexService, cohereService, convexService, deepinfraService, deepseekService, firecrawlService, fireworksService, getIntegrationService, githubService, googleGenaiService, googleService, groqService, huggingfaceService, integrationCatalog, linearService, microsoftService, millionverifierService, mistralService, 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, brevoService, cerebrasService, chatgptService, cloudflareService, closeService, codexService, cohereService, convexService, deepinfraService, deepseekService, firecrawlService, fireworksService, getIntegrationService, githubService, googleGenaiService, googleService, groqService, huggingfaceService, integrationCatalog, 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 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, brevoService, cerebrasService, chatgptService, cloudflareService, closeService, codexService, cohereService, convexService, deepinfraService, deepseekService, firecrawlService, fireworksService, getIntegrationService, githubService, googleGenaiService, googleService, groqService, huggingfaceService, integrationCatalog, linearService, microsoftService, millionverifierService, mistralService, 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, brevoService, cerebrasService, chatgptService, cloudflareService, closeService, codexService, cohereService, convexService, deepinfraService, deepseekService, firecrawlService, fireworksService, getIntegrationService, githubService, googleGenaiService, googleService, groqService, huggingfaceService, integrationCatalog, 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";
|
package/dist/triggers/index.d.ts
CHANGED
|
@@ -863,6 +863,126 @@ export declare const triggerDefinitions: {
|
|
|
863
863
|
};
|
|
864
864
|
readonly type: "resend.email.suppressed";
|
|
865
865
|
};
|
|
866
|
+
readonly notionCommentCreated: {
|
|
867
|
+
account: import("..").IntegrationAccountRequirement<"notion">;
|
|
868
|
+
type: "notion.comment.created";
|
|
869
|
+
};
|
|
870
|
+
readonly notionCommentDeleted: {
|
|
871
|
+
account: import("..").IntegrationAccountRequirement<"notion">;
|
|
872
|
+
type: "notion.comment.deleted";
|
|
873
|
+
};
|
|
874
|
+
readonly notionCommentUpdated: {
|
|
875
|
+
account: import("..").IntegrationAccountRequirement<"notion">;
|
|
876
|
+
type: "notion.comment.updated";
|
|
877
|
+
};
|
|
878
|
+
readonly notionDatabaseCreated: {
|
|
879
|
+
account: import("..").IntegrationAccountRequirement<"notion">;
|
|
880
|
+
type: "notion.database.created";
|
|
881
|
+
};
|
|
882
|
+
readonly notionDatabaseDeleted: {
|
|
883
|
+
account: import("..").IntegrationAccountRequirement<"notion">;
|
|
884
|
+
type: "notion.database.deleted";
|
|
885
|
+
};
|
|
886
|
+
readonly notionDatabaseMoved: {
|
|
887
|
+
account: import("..").IntegrationAccountRequirement<"notion">;
|
|
888
|
+
type: "notion.database.moved";
|
|
889
|
+
};
|
|
890
|
+
readonly notionDatabaseUndeleted: {
|
|
891
|
+
account: import("..").IntegrationAccountRequirement<"notion">;
|
|
892
|
+
type: "notion.database.undeleted";
|
|
893
|
+
};
|
|
894
|
+
readonly notionDataSourceContentUpdated: {
|
|
895
|
+
account: import("..").IntegrationAccountRequirement<"notion">;
|
|
896
|
+
type: "notion.dataSource.contentUpdated";
|
|
897
|
+
};
|
|
898
|
+
readonly notionDataSourceCreated: {
|
|
899
|
+
account: import("..").IntegrationAccountRequirement<"notion">;
|
|
900
|
+
type: "notion.dataSource.created";
|
|
901
|
+
};
|
|
902
|
+
readonly notionDataSourceDeleted: {
|
|
903
|
+
account: import("..").IntegrationAccountRequirement<"notion">;
|
|
904
|
+
type: "notion.dataSource.deleted";
|
|
905
|
+
};
|
|
906
|
+
readonly notionDataSourceMoved: {
|
|
907
|
+
account: import("..").IntegrationAccountRequirement<"notion">;
|
|
908
|
+
type: "notion.dataSource.moved";
|
|
909
|
+
};
|
|
910
|
+
readonly notionDataSourceSchemaUpdated: {
|
|
911
|
+
account: import("..").IntegrationAccountRequirement<"notion">;
|
|
912
|
+
type: "notion.dataSource.schemaUpdated";
|
|
913
|
+
};
|
|
914
|
+
readonly notionDataSourceUndeleted: {
|
|
915
|
+
account: import("..").IntegrationAccountRequirement<"notion">;
|
|
916
|
+
type: "notion.dataSource.undeleted";
|
|
917
|
+
};
|
|
918
|
+
readonly notionEvent: {
|
|
919
|
+
account: import("..").IntegrationAccountRequirement<"notion">;
|
|
920
|
+
type: "notion.event";
|
|
921
|
+
};
|
|
922
|
+
readonly notionFileUploadCompleted: {
|
|
923
|
+
account: import("..").IntegrationAccountRequirement<"notion">;
|
|
924
|
+
type: "notion.fileUpload.completed";
|
|
925
|
+
};
|
|
926
|
+
readonly notionFileUploadCreated: {
|
|
927
|
+
account: import("..").IntegrationAccountRequirement<"notion">;
|
|
928
|
+
type: "notion.fileUpload.created";
|
|
929
|
+
};
|
|
930
|
+
readonly notionFileUploadExpired: {
|
|
931
|
+
account: import("..").IntegrationAccountRequirement<"notion">;
|
|
932
|
+
type: "notion.fileUpload.expired";
|
|
933
|
+
};
|
|
934
|
+
readonly notionFileUploadFailed: {
|
|
935
|
+
account: import("..").IntegrationAccountRequirement<"notion">;
|
|
936
|
+
type: "notion.fileUpload.failed";
|
|
937
|
+
};
|
|
938
|
+
readonly notionPageContentUpdated: {
|
|
939
|
+
account: import("..").IntegrationAccountRequirement<"notion">;
|
|
940
|
+
type: "notion.page.contentUpdated";
|
|
941
|
+
};
|
|
942
|
+
readonly notionPageCreated: {
|
|
943
|
+
account: import("..").IntegrationAccountRequirement<"notion">;
|
|
944
|
+
type: "notion.page.created";
|
|
945
|
+
};
|
|
946
|
+
readonly notionPageDeleted: {
|
|
947
|
+
account: import("..").IntegrationAccountRequirement<"notion">;
|
|
948
|
+
type: "notion.page.deleted";
|
|
949
|
+
};
|
|
950
|
+
readonly notionPageLocked: {
|
|
951
|
+
account: import("..").IntegrationAccountRequirement<"notion">;
|
|
952
|
+
type: "notion.page.locked";
|
|
953
|
+
};
|
|
954
|
+
readonly notionPageMoved: {
|
|
955
|
+
account: import("..").IntegrationAccountRequirement<"notion">;
|
|
956
|
+
type: "notion.page.moved";
|
|
957
|
+
};
|
|
958
|
+
readonly notionPagePropertiesUpdated: {
|
|
959
|
+
account: import("..").IntegrationAccountRequirement<"notion">;
|
|
960
|
+
type: "notion.page.propertiesUpdated";
|
|
961
|
+
};
|
|
962
|
+
readonly notionPageTranscriptDeleted: {
|
|
963
|
+
account: import("..").IntegrationAccountRequirement<"notion">;
|
|
964
|
+
type: "notion.page.transcriptDeleted";
|
|
965
|
+
};
|
|
966
|
+
readonly notionPageUndeleted: {
|
|
967
|
+
account: import("..").IntegrationAccountRequirement<"notion">;
|
|
968
|
+
type: "notion.page.undeleted";
|
|
969
|
+
};
|
|
970
|
+
readonly notionPageUnlocked: {
|
|
971
|
+
account: import("..").IntegrationAccountRequirement<"notion">;
|
|
972
|
+
type: "notion.page.unlocked";
|
|
973
|
+
};
|
|
974
|
+
readonly notionViewCreated: {
|
|
975
|
+
account: import("..").IntegrationAccountRequirement<"notion">;
|
|
976
|
+
type: "notion.view.created";
|
|
977
|
+
};
|
|
978
|
+
readonly notionViewDeleted: {
|
|
979
|
+
account: import("..").IntegrationAccountRequirement<"notion">;
|
|
980
|
+
type: "notion.view.deleted";
|
|
981
|
+
};
|
|
982
|
+
readonly notionViewUpdated: {
|
|
983
|
+
account: import("..").IntegrationAccountRequirement<"notion">;
|
|
984
|
+
type: "notion.view.updated";
|
|
985
|
+
};
|
|
866
986
|
readonly outlookEmailReceived: {
|
|
867
987
|
readonly account: {
|
|
868
988
|
readonly connectionOptions: readonly [{
|
|
@@ -6266,6 +6386,126 @@ export declare const triggerCatalog: ({
|
|
|
6266
6386
|
readonly serviceId: "microsoft";
|
|
6267
6387
|
};
|
|
6268
6388
|
type: "teams.chat.message.posted";
|
|
6389
|
+
} | {
|
|
6390
|
+
name: string;
|
|
6391
|
+
account: import("..").IntegrationAccountRequirement<"notion">;
|
|
6392
|
+
type: "notion.comment.created";
|
|
6393
|
+
} | {
|
|
6394
|
+
name: string;
|
|
6395
|
+
account: import("..").IntegrationAccountRequirement<"notion">;
|
|
6396
|
+
type: "notion.comment.deleted";
|
|
6397
|
+
} | {
|
|
6398
|
+
name: string;
|
|
6399
|
+
account: import("..").IntegrationAccountRequirement<"notion">;
|
|
6400
|
+
type: "notion.comment.updated";
|
|
6401
|
+
} | {
|
|
6402
|
+
name: string;
|
|
6403
|
+
account: import("..").IntegrationAccountRequirement<"notion">;
|
|
6404
|
+
type: "notion.database.created";
|
|
6405
|
+
} | {
|
|
6406
|
+
name: string;
|
|
6407
|
+
account: import("..").IntegrationAccountRequirement<"notion">;
|
|
6408
|
+
type: "notion.database.deleted";
|
|
6409
|
+
} | {
|
|
6410
|
+
name: string;
|
|
6411
|
+
account: import("..").IntegrationAccountRequirement<"notion">;
|
|
6412
|
+
type: "notion.database.moved";
|
|
6413
|
+
} | {
|
|
6414
|
+
name: string;
|
|
6415
|
+
account: import("..").IntegrationAccountRequirement<"notion">;
|
|
6416
|
+
type: "notion.database.undeleted";
|
|
6417
|
+
} | {
|
|
6418
|
+
name: string;
|
|
6419
|
+
account: import("..").IntegrationAccountRequirement<"notion">;
|
|
6420
|
+
type: "notion.dataSource.contentUpdated";
|
|
6421
|
+
} | {
|
|
6422
|
+
name: string;
|
|
6423
|
+
account: import("..").IntegrationAccountRequirement<"notion">;
|
|
6424
|
+
type: "notion.dataSource.created";
|
|
6425
|
+
} | {
|
|
6426
|
+
name: string;
|
|
6427
|
+
account: import("..").IntegrationAccountRequirement<"notion">;
|
|
6428
|
+
type: "notion.dataSource.deleted";
|
|
6429
|
+
} | {
|
|
6430
|
+
name: string;
|
|
6431
|
+
account: import("..").IntegrationAccountRequirement<"notion">;
|
|
6432
|
+
type: "notion.dataSource.moved";
|
|
6433
|
+
} | {
|
|
6434
|
+
name: string;
|
|
6435
|
+
account: import("..").IntegrationAccountRequirement<"notion">;
|
|
6436
|
+
type: "notion.dataSource.schemaUpdated";
|
|
6437
|
+
} | {
|
|
6438
|
+
name: string;
|
|
6439
|
+
account: import("..").IntegrationAccountRequirement<"notion">;
|
|
6440
|
+
type: "notion.dataSource.undeleted";
|
|
6441
|
+
} | {
|
|
6442
|
+
name: string;
|
|
6443
|
+
account: import("..").IntegrationAccountRequirement<"notion">;
|
|
6444
|
+
type: "notion.event";
|
|
6445
|
+
} | {
|
|
6446
|
+
name: string;
|
|
6447
|
+
account: import("..").IntegrationAccountRequirement<"notion">;
|
|
6448
|
+
type: "notion.fileUpload.completed";
|
|
6449
|
+
} | {
|
|
6450
|
+
name: string;
|
|
6451
|
+
account: import("..").IntegrationAccountRequirement<"notion">;
|
|
6452
|
+
type: "notion.fileUpload.created";
|
|
6453
|
+
} | {
|
|
6454
|
+
name: string;
|
|
6455
|
+
account: import("..").IntegrationAccountRequirement<"notion">;
|
|
6456
|
+
type: "notion.fileUpload.expired";
|
|
6457
|
+
} | {
|
|
6458
|
+
name: string;
|
|
6459
|
+
account: import("..").IntegrationAccountRequirement<"notion">;
|
|
6460
|
+
type: "notion.fileUpload.failed";
|
|
6461
|
+
} | {
|
|
6462
|
+
name: string;
|
|
6463
|
+
account: import("..").IntegrationAccountRequirement<"notion">;
|
|
6464
|
+
type: "notion.page.contentUpdated";
|
|
6465
|
+
} | {
|
|
6466
|
+
name: string;
|
|
6467
|
+
account: import("..").IntegrationAccountRequirement<"notion">;
|
|
6468
|
+
type: "notion.page.created";
|
|
6469
|
+
} | {
|
|
6470
|
+
name: string;
|
|
6471
|
+
account: import("..").IntegrationAccountRequirement<"notion">;
|
|
6472
|
+
type: "notion.page.deleted";
|
|
6473
|
+
} | {
|
|
6474
|
+
name: string;
|
|
6475
|
+
account: import("..").IntegrationAccountRequirement<"notion">;
|
|
6476
|
+
type: "notion.page.locked";
|
|
6477
|
+
} | {
|
|
6478
|
+
name: string;
|
|
6479
|
+
account: import("..").IntegrationAccountRequirement<"notion">;
|
|
6480
|
+
type: "notion.page.moved";
|
|
6481
|
+
} | {
|
|
6482
|
+
name: string;
|
|
6483
|
+
account: import("..").IntegrationAccountRequirement<"notion">;
|
|
6484
|
+
type: "notion.page.propertiesUpdated";
|
|
6485
|
+
} | {
|
|
6486
|
+
name: string;
|
|
6487
|
+
account: import("..").IntegrationAccountRequirement<"notion">;
|
|
6488
|
+
type: "notion.page.transcriptDeleted";
|
|
6489
|
+
} | {
|
|
6490
|
+
name: string;
|
|
6491
|
+
account: import("..").IntegrationAccountRequirement<"notion">;
|
|
6492
|
+
type: "notion.page.undeleted";
|
|
6493
|
+
} | {
|
|
6494
|
+
name: string;
|
|
6495
|
+
account: import("..").IntegrationAccountRequirement<"notion">;
|
|
6496
|
+
type: "notion.page.unlocked";
|
|
6497
|
+
} | {
|
|
6498
|
+
name: string;
|
|
6499
|
+
account: import("..").IntegrationAccountRequirement<"notion">;
|
|
6500
|
+
type: "notion.view.created";
|
|
6501
|
+
} | {
|
|
6502
|
+
name: string;
|
|
6503
|
+
account: import("..").IntegrationAccountRequirement<"notion">;
|
|
6504
|
+
type: "notion.view.deleted";
|
|
6505
|
+
} | {
|
|
6506
|
+
name: string;
|
|
6507
|
+
account: import("..").IntegrationAccountRequirement<"notion">;
|
|
6508
|
+
type: "notion.view.updated";
|
|
6269
6509
|
} | {
|
|
6270
6510
|
name: string;
|
|
6271
6511
|
account: {
|
package/dist/triggers/index.js
CHANGED
|
@@ -8,6 +8,7 @@ import { githubTriggerDefinitions } from "./github.js";
|
|
|
8
8
|
import { googleTriggerDefinitions } from "./google.js";
|
|
9
9
|
import { linearTriggerDefinitions } from "./linear.js";
|
|
10
10
|
import { microsoftTriggerDefinitions } from "./microsoft.js";
|
|
11
|
+
import { notionTriggerDefinitions } from "./notion.js";
|
|
11
12
|
import { resendTriggerDefinitions } from "./resend.js";
|
|
12
13
|
import { slackTriggerDefinitions } from "./slack.js";
|
|
13
14
|
import { stripeTriggerDefinitions } from "./stripe.js";
|
|
@@ -30,6 +31,7 @@ export const triggerDefinitions = {
|
|
|
30
31
|
...googleTriggerDefinitions,
|
|
31
32
|
...linearTriggerDefinitions,
|
|
32
33
|
...microsoftTriggerDefinitions,
|
|
34
|
+
...notionTriggerDefinitions,
|
|
33
35
|
...resendTriggerDefinitions,
|
|
34
36
|
...slackTriggerDefinitions,
|
|
35
37
|
...stripeTriggerDefinitions,
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import type { IntegrationAccountRequirement } from "../types.js";
|
|
2
|
+
export declare const notionTriggerDefinitions: {
|
|
3
|
+
readonly notionCommentCreated: {
|
|
4
|
+
account: IntegrationAccountRequirement<"notion">;
|
|
5
|
+
type: "notion.comment.created";
|
|
6
|
+
};
|
|
7
|
+
readonly notionCommentDeleted: {
|
|
8
|
+
account: IntegrationAccountRequirement<"notion">;
|
|
9
|
+
type: "notion.comment.deleted";
|
|
10
|
+
};
|
|
11
|
+
readonly notionCommentUpdated: {
|
|
12
|
+
account: IntegrationAccountRequirement<"notion">;
|
|
13
|
+
type: "notion.comment.updated";
|
|
14
|
+
};
|
|
15
|
+
readonly notionDatabaseCreated: {
|
|
16
|
+
account: IntegrationAccountRequirement<"notion">;
|
|
17
|
+
type: "notion.database.created";
|
|
18
|
+
};
|
|
19
|
+
readonly notionDatabaseDeleted: {
|
|
20
|
+
account: IntegrationAccountRequirement<"notion">;
|
|
21
|
+
type: "notion.database.deleted";
|
|
22
|
+
};
|
|
23
|
+
readonly notionDatabaseMoved: {
|
|
24
|
+
account: IntegrationAccountRequirement<"notion">;
|
|
25
|
+
type: "notion.database.moved";
|
|
26
|
+
};
|
|
27
|
+
readonly notionDatabaseUndeleted: {
|
|
28
|
+
account: IntegrationAccountRequirement<"notion">;
|
|
29
|
+
type: "notion.database.undeleted";
|
|
30
|
+
};
|
|
31
|
+
readonly notionDataSourceContentUpdated: {
|
|
32
|
+
account: IntegrationAccountRequirement<"notion">;
|
|
33
|
+
type: "notion.dataSource.contentUpdated";
|
|
34
|
+
};
|
|
35
|
+
readonly notionDataSourceCreated: {
|
|
36
|
+
account: IntegrationAccountRequirement<"notion">;
|
|
37
|
+
type: "notion.dataSource.created";
|
|
38
|
+
};
|
|
39
|
+
readonly notionDataSourceDeleted: {
|
|
40
|
+
account: IntegrationAccountRequirement<"notion">;
|
|
41
|
+
type: "notion.dataSource.deleted";
|
|
42
|
+
};
|
|
43
|
+
readonly notionDataSourceMoved: {
|
|
44
|
+
account: IntegrationAccountRequirement<"notion">;
|
|
45
|
+
type: "notion.dataSource.moved";
|
|
46
|
+
};
|
|
47
|
+
readonly notionDataSourceSchemaUpdated: {
|
|
48
|
+
account: IntegrationAccountRequirement<"notion">;
|
|
49
|
+
type: "notion.dataSource.schemaUpdated";
|
|
50
|
+
};
|
|
51
|
+
readonly notionDataSourceUndeleted: {
|
|
52
|
+
account: IntegrationAccountRequirement<"notion">;
|
|
53
|
+
type: "notion.dataSource.undeleted";
|
|
54
|
+
};
|
|
55
|
+
readonly notionEvent: {
|
|
56
|
+
account: IntegrationAccountRequirement<"notion">;
|
|
57
|
+
type: "notion.event";
|
|
58
|
+
};
|
|
59
|
+
readonly notionFileUploadCompleted: {
|
|
60
|
+
account: IntegrationAccountRequirement<"notion">;
|
|
61
|
+
type: "notion.fileUpload.completed";
|
|
62
|
+
};
|
|
63
|
+
readonly notionFileUploadCreated: {
|
|
64
|
+
account: IntegrationAccountRequirement<"notion">;
|
|
65
|
+
type: "notion.fileUpload.created";
|
|
66
|
+
};
|
|
67
|
+
readonly notionFileUploadExpired: {
|
|
68
|
+
account: IntegrationAccountRequirement<"notion">;
|
|
69
|
+
type: "notion.fileUpload.expired";
|
|
70
|
+
};
|
|
71
|
+
readonly notionFileUploadFailed: {
|
|
72
|
+
account: IntegrationAccountRequirement<"notion">;
|
|
73
|
+
type: "notion.fileUpload.failed";
|
|
74
|
+
};
|
|
75
|
+
readonly notionPageContentUpdated: {
|
|
76
|
+
account: IntegrationAccountRequirement<"notion">;
|
|
77
|
+
type: "notion.page.contentUpdated";
|
|
78
|
+
};
|
|
79
|
+
readonly notionPageCreated: {
|
|
80
|
+
account: IntegrationAccountRequirement<"notion">;
|
|
81
|
+
type: "notion.page.created";
|
|
82
|
+
};
|
|
83
|
+
readonly notionPageDeleted: {
|
|
84
|
+
account: IntegrationAccountRequirement<"notion">;
|
|
85
|
+
type: "notion.page.deleted";
|
|
86
|
+
};
|
|
87
|
+
readonly notionPageLocked: {
|
|
88
|
+
account: IntegrationAccountRequirement<"notion">;
|
|
89
|
+
type: "notion.page.locked";
|
|
90
|
+
};
|
|
91
|
+
readonly notionPageMoved: {
|
|
92
|
+
account: IntegrationAccountRequirement<"notion">;
|
|
93
|
+
type: "notion.page.moved";
|
|
94
|
+
};
|
|
95
|
+
readonly notionPagePropertiesUpdated: {
|
|
96
|
+
account: IntegrationAccountRequirement<"notion">;
|
|
97
|
+
type: "notion.page.propertiesUpdated";
|
|
98
|
+
};
|
|
99
|
+
readonly notionPageTranscriptDeleted: {
|
|
100
|
+
account: IntegrationAccountRequirement<"notion">;
|
|
101
|
+
type: "notion.page.transcriptDeleted";
|
|
102
|
+
};
|
|
103
|
+
readonly notionPageUndeleted: {
|
|
104
|
+
account: IntegrationAccountRequirement<"notion">;
|
|
105
|
+
type: "notion.page.undeleted";
|
|
106
|
+
};
|
|
107
|
+
readonly notionPageUnlocked: {
|
|
108
|
+
account: IntegrationAccountRequirement<"notion">;
|
|
109
|
+
type: "notion.page.unlocked";
|
|
110
|
+
};
|
|
111
|
+
readonly notionViewCreated: {
|
|
112
|
+
account: IntegrationAccountRequirement<"notion">;
|
|
113
|
+
type: "notion.view.created";
|
|
114
|
+
};
|
|
115
|
+
readonly notionViewDeleted: {
|
|
116
|
+
account: IntegrationAccountRequirement<"notion">;
|
|
117
|
+
type: "notion.view.deleted";
|
|
118
|
+
};
|
|
119
|
+
readonly notionViewUpdated: {
|
|
120
|
+
account: IntegrationAccountRequirement<"notion">;
|
|
121
|
+
type: "notion.view.updated";
|
|
122
|
+
};
|
|
123
|
+
};
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
const NOTION_READ_CONTENT_ACCOUNT = notionOAuthAccount(["read_content"]);
|
|
2
|
+
const NOTION_READ_COMMENTS_ACCOUNT = notionOAuthAccount(["read_comments"]);
|
|
3
|
+
const NOTION_INSERT_CONTENT_ACCOUNT = notionOAuthAccount(["insert_content"]);
|
|
4
|
+
export const notionTriggerDefinitions = {
|
|
5
|
+
notionCommentCreated: notionTrigger(NOTION_READ_COMMENTS_ACCOUNT, "notion.comment.created"),
|
|
6
|
+
notionCommentDeleted: notionTrigger(NOTION_READ_COMMENTS_ACCOUNT, "notion.comment.deleted"),
|
|
7
|
+
notionCommentUpdated: notionTrigger(NOTION_READ_COMMENTS_ACCOUNT, "notion.comment.updated"),
|
|
8
|
+
notionDatabaseCreated: notionTrigger(NOTION_READ_CONTENT_ACCOUNT, "notion.database.created"),
|
|
9
|
+
notionDatabaseDeleted: notionTrigger(NOTION_READ_CONTENT_ACCOUNT, "notion.database.deleted"),
|
|
10
|
+
notionDatabaseMoved: notionTrigger(NOTION_READ_CONTENT_ACCOUNT, "notion.database.moved"),
|
|
11
|
+
notionDatabaseUndeleted: notionTrigger(NOTION_READ_CONTENT_ACCOUNT, "notion.database.undeleted"),
|
|
12
|
+
notionDataSourceContentUpdated: notionTrigger(NOTION_READ_CONTENT_ACCOUNT, "notion.dataSource.contentUpdated"),
|
|
13
|
+
notionDataSourceCreated: notionTrigger(NOTION_READ_CONTENT_ACCOUNT, "notion.dataSource.created"),
|
|
14
|
+
notionDataSourceDeleted: notionTrigger(NOTION_READ_CONTENT_ACCOUNT, "notion.dataSource.deleted"),
|
|
15
|
+
notionDataSourceMoved: notionTrigger(NOTION_READ_CONTENT_ACCOUNT, "notion.dataSource.moved"),
|
|
16
|
+
notionDataSourceSchemaUpdated: notionTrigger(NOTION_READ_CONTENT_ACCOUNT, "notion.dataSource.schemaUpdated"),
|
|
17
|
+
notionDataSourceUndeleted: notionTrigger(NOTION_READ_CONTENT_ACCOUNT, "notion.dataSource.undeleted"),
|
|
18
|
+
notionEvent: notionTrigger(notionOAuthAccount(["insert_content", "read_comments", "read_content"]), "notion.event"),
|
|
19
|
+
notionFileUploadCompleted: notionTrigger(NOTION_INSERT_CONTENT_ACCOUNT, "notion.fileUpload.completed"),
|
|
20
|
+
notionFileUploadCreated: notionTrigger(NOTION_INSERT_CONTENT_ACCOUNT, "notion.fileUpload.created"),
|
|
21
|
+
notionFileUploadExpired: notionTrigger(NOTION_INSERT_CONTENT_ACCOUNT, "notion.fileUpload.expired"),
|
|
22
|
+
notionFileUploadFailed: notionTrigger(NOTION_INSERT_CONTENT_ACCOUNT, "notion.fileUpload.failed"),
|
|
23
|
+
notionPageContentUpdated: notionTrigger(NOTION_READ_CONTENT_ACCOUNT, "notion.page.contentUpdated"),
|
|
24
|
+
notionPageCreated: notionTrigger(NOTION_READ_CONTENT_ACCOUNT, "notion.page.created"),
|
|
25
|
+
notionPageDeleted: notionTrigger(NOTION_READ_CONTENT_ACCOUNT, "notion.page.deleted"),
|
|
26
|
+
notionPageLocked: notionTrigger(NOTION_READ_CONTENT_ACCOUNT, "notion.page.locked"),
|
|
27
|
+
notionPageMoved: notionTrigger(NOTION_READ_CONTENT_ACCOUNT, "notion.page.moved"),
|
|
28
|
+
notionPagePropertiesUpdated: notionTrigger(NOTION_READ_CONTENT_ACCOUNT, "notion.page.propertiesUpdated"),
|
|
29
|
+
notionPageTranscriptDeleted: notionTrigger(NOTION_READ_CONTENT_ACCOUNT, "notion.page.transcriptDeleted"),
|
|
30
|
+
notionPageUndeleted: notionTrigger(NOTION_READ_CONTENT_ACCOUNT, "notion.page.undeleted"),
|
|
31
|
+
notionPageUnlocked: notionTrigger(NOTION_READ_CONTENT_ACCOUNT, "notion.page.unlocked"),
|
|
32
|
+
notionViewCreated: notionTrigger(NOTION_READ_CONTENT_ACCOUNT, "notion.view.created"),
|
|
33
|
+
notionViewDeleted: notionTrigger(NOTION_READ_CONTENT_ACCOUNT, "notion.view.deleted"),
|
|
34
|
+
notionViewUpdated: notionTrigger(NOTION_READ_CONTENT_ACCOUNT, "notion.view.updated"),
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* Defines one Notion trigger with its exact stable event type.
|
|
38
|
+
*
|
|
39
|
+
* @param account - OAuth capability requirements for the event family.
|
|
40
|
+
* @param type - Stable internal event type.
|
|
41
|
+
*/
|
|
42
|
+
function notionTrigger(account, type) {
|
|
43
|
+
return { account, type };
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Creates the OAuth-only account requirement for a Notion webhook family.
|
|
47
|
+
*
|
|
48
|
+
* @param requiredScopes - Fixed Notion integration capabilities.
|
|
49
|
+
*/
|
|
50
|
+
function notionOAuthAccount(requiredScopes) {
|
|
51
|
+
return {
|
|
52
|
+
connectionOptions: [{ connectionMethodId: "oauth", requiredScopes }],
|
|
53
|
+
serviceId: "notion",
|
|
54
|
+
};
|
|
55
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@automate.ax/catalog",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.89.2",
|
|
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/google": "./src/triggers/google.ts",
|
|
35
35
|
"./triggers/linear": "./src/triggers/linear.ts",
|
|
36
36
|
"./triggers/microsoft": "./src/triggers/microsoft.ts",
|
|
37
|
+
"./triggers/notion": "./src/triggers/notion.ts",
|
|
37
38
|
"./triggers/name": "./src/triggers/name.ts",
|
|
38
39
|
"./triggers/resend": "./src/triggers/resend.ts",
|
|
39
40
|
"./triggers/slack": "./src/triggers/slack.ts",
|
|
@@ -160,6 +161,11 @@
|
|
|
160
161
|
"types": "./dist/triggers/microsoft.d.ts",
|
|
161
162
|
"default": "./dist/triggers/microsoft.js"
|
|
162
163
|
},
|
|
164
|
+
"./triggers/notion": {
|
|
165
|
+
"bun": "./src/triggers/notion.ts",
|
|
166
|
+
"types": "./dist/triggers/notion.d.ts",
|
|
167
|
+
"default": "./dist/triggers/notion.js"
|
|
168
|
+
},
|
|
163
169
|
"./triggers/name": {
|
|
164
170
|
"bun": "./src/triggers/name.ts",
|
|
165
171
|
"types": "./dist/triggers/name.d.ts",
|
package/src/catalog.ts
CHANGED
|
@@ -302,6 +302,32 @@ export const mistralService = defineApiKeyService({
|
|
|
302
302
|
name: "Mistral AI",
|
|
303
303
|
})
|
|
304
304
|
|
|
305
|
+
export const notionService = defineIntegrationService({
|
|
306
|
+
connectionMethods: [
|
|
307
|
+
{ id: "oauth", name: "OAuth", type: "redirect" },
|
|
308
|
+
{
|
|
309
|
+
credentialUrl: "https://www.notion.so/developers/tokens",
|
|
310
|
+
fields: [
|
|
311
|
+
{
|
|
312
|
+
input: "password",
|
|
313
|
+
label: "Personal access token",
|
|
314
|
+
name: "apiKey",
|
|
315
|
+
placeholder: "ntn_...",
|
|
316
|
+
required: true,
|
|
317
|
+
},
|
|
318
|
+
],
|
|
319
|
+
id: "personal-access-token",
|
|
320
|
+
name: "Personal access token",
|
|
321
|
+
type: "form",
|
|
322
|
+
},
|
|
323
|
+
],
|
|
324
|
+
description:
|
|
325
|
+
"Connect a Notion workspace with OAuth or a personal access token.",
|
|
326
|
+
id: "notion",
|
|
327
|
+
name: "Notion",
|
|
328
|
+
preferredConnectionMethodId: "oauth",
|
|
329
|
+
})
|
|
330
|
+
|
|
305
331
|
export const openaiService = defineApiKeyService({
|
|
306
332
|
credentialUrl: "https://platform.openai.com/api-keys",
|
|
307
333
|
description: "Connect an OpenAI API key.",
|
|
@@ -547,6 +573,7 @@ export const integrationCatalog = defineIntegrationCatalog([
|
|
|
547
573
|
microsoftService,
|
|
548
574
|
millionverifierService,
|
|
549
575
|
mistralService,
|
|
576
|
+
notionService,
|
|
550
577
|
openaiService,
|
|
551
578
|
onePasswordService,
|
|
552
579
|
openrouterService,
|
package/src/index.ts
CHANGED
package/src/triggers/index.ts
CHANGED
|
@@ -8,6 +8,7 @@ import { githubTriggerDefinitions } from "./github"
|
|
|
8
8
|
import { googleTriggerDefinitions } from "./google"
|
|
9
9
|
import { linearTriggerDefinitions } from "./linear"
|
|
10
10
|
import { microsoftTriggerDefinitions } from "./microsoft"
|
|
11
|
+
import { notionTriggerDefinitions } from "./notion"
|
|
11
12
|
import { resendTriggerDefinitions } from "./resend"
|
|
12
13
|
import { slackTriggerDefinitions } from "./slack"
|
|
13
14
|
import { stripeTriggerDefinitions } from "./stripe"
|
|
@@ -54,6 +55,7 @@ export const triggerDefinitions = {
|
|
|
54
55
|
...googleTriggerDefinitions,
|
|
55
56
|
...linearTriggerDefinitions,
|
|
56
57
|
...microsoftTriggerDefinitions,
|
|
58
|
+
...notionTriggerDefinitions,
|
|
57
59
|
...resendTriggerDefinitions,
|
|
58
60
|
...slackTriggerDefinitions,
|
|
59
61
|
...stripeTriggerDefinitions,
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
import type { IntegrationAccountRequirement, TriggerDefinition } from "../types"
|
|
2
|
+
|
|
3
|
+
const NOTION_READ_CONTENT_ACCOUNT = notionOAuthAccount(["read_content"])
|
|
4
|
+
const NOTION_READ_COMMENTS_ACCOUNT = notionOAuthAccount(["read_comments"])
|
|
5
|
+
const NOTION_INSERT_CONTENT_ACCOUNT = notionOAuthAccount(["insert_content"])
|
|
6
|
+
|
|
7
|
+
export const notionTriggerDefinitions = {
|
|
8
|
+
notionCommentCreated: notionTrigger(
|
|
9
|
+
NOTION_READ_COMMENTS_ACCOUNT,
|
|
10
|
+
"notion.comment.created",
|
|
11
|
+
),
|
|
12
|
+
notionCommentDeleted: notionTrigger(
|
|
13
|
+
NOTION_READ_COMMENTS_ACCOUNT,
|
|
14
|
+
"notion.comment.deleted",
|
|
15
|
+
),
|
|
16
|
+
notionCommentUpdated: notionTrigger(
|
|
17
|
+
NOTION_READ_COMMENTS_ACCOUNT,
|
|
18
|
+
"notion.comment.updated",
|
|
19
|
+
),
|
|
20
|
+
notionDatabaseCreated: notionTrigger(
|
|
21
|
+
NOTION_READ_CONTENT_ACCOUNT,
|
|
22
|
+
"notion.database.created",
|
|
23
|
+
),
|
|
24
|
+
notionDatabaseDeleted: notionTrigger(
|
|
25
|
+
NOTION_READ_CONTENT_ACCOUNT,
|
|
26
|
+
"notion.database.deleted",
|
|
27
|
+
),
|
|
28
|
+
notionDatabaseMoved: notionTrigger(
|
|
29
|
+
NOTION_READ_CONTENT_ACCOUNT,
|
|
30
|
+
"notion.database.moved",
|
|
31
|
+
),
|
|
32
|
+
notionDatabaseUndeleted: notionTrigger(
|
|
33
|
+
NOTION_READ_CONTENT_ACCOUNT,
|
|
34
|
+
"notion.database.undeleted",
|
|
35
|
+
),
|
|
36
|
+
notionDataSourceContentUpdated: notionTrigger(
|
|
37
|
+
NOTION_READ_CONTENT_ACCOUNT,
|
|
38
|
+
"notion.dataSource.contentUpdated",
|
|
39
|
+
),
|
|
40
|
+
notionDataSourceCreated: notionTrigger(
|
|
41
|
+
NOTION_READ_CONTENT_ACCOUNT,
|
|
42
|
+
"notion.dataSource.created",
|
|
43
|
+
),
|
|
44
|
+
notionDataSourceDeleted: notionTrigger(
|
|
45
|
+
NOTION_READ_CONTENT_ACCOUNT,
|
|
46
|
+
"notion.dataSource.deleted",
|
|
47
|
+
),
|
|
48
|
+
notionDataSourceMoved: notionTrigger(
|
|
49
|
+
NOTION_READ_CONTENT_ACCOUNT,
|
|
50
|
+
"notion.dataSource.moved",
|
|
51
|
+
),
|
|
52
|
+
notionDataSourceSchemaUpdated: notionTrigger(
|
|
53
|
+
NOTION_READ_CONTENT_ACCOUNT,
|
|
54
|
+
"notion.dataSource.schemaUpdated",
|
|
55
|
+
),
|
|
56
|
+
notionDataSourceUndeleted: notionTrigger(
|
|
57
|
+
NOTION_READ_CONTENT_ACCOUNT,
|
|
58
|
+
"notion.dataSource.undeleted",
|
|
59
|
+
),
|
|
60
|
+
notionEvent: notionTrigger(
|
|
61
|
+
notionOAuthAccount(["insert_content", "read_comments", "read_content"]),
|
|
62
|
+
"notion.event",
|
|
63
|
+
),
|
|
64
|
+
notionFileUploadCompleted: notionTrigger(
|
|
65
|
+
NOTION_INSERT_CONTENT_ACCOUNT,
|
|
66
|
+
"notion.fileUpload.completed",
|
|
67
|
+
),
|
|
68
|
+
notionFileUploadCreated: notionTrigger(
|
|
69
|
+
NOTION_INSERT_CONTENT_ACCOUNT,
|
|
70
|
+
"notion.fileUpload.created",
|
|
71
|
+
),
|
|
72
|
+
notionFileUploadExpired: notionTrigger(
|
|
73
|
+
NOTION_INSERT_CONTENT_ACCOUNT,
|
|
74
|
+
"notion.fileUpload.expired",
|
|
75
|
+
),
|
|
76
|
+
notionFileUploadFailed: notionTrigger(
|
|
77
|
+
NOTION_INSERT_CONTENT_ACCOUNT,
|
|
78
|
+
"notion.fileUpload.failed",
|
|
79
|
+
),
|
|
80
|
+
notionPageContentUpdated: notionTrigger(
|
|
81
|
+
NOTION_READ_CONTENT_ACCOUNT,
|
|
82
|
+
"notion.page.contentUpdated",
|
|
83
|
+
),
|
|
84
|
+
notionPageCreated: notionTrigger(
|
|
85
|
+
NOTION_READ_CONTENT_ACCOUNT,
|
|
86
|
+
"notion.page.created",
|
|
87
|
+
),
|
|
88
|
+
notionPageDeleted: notionTrigger(
|
|
89
|
+
NOTION_READ_CONTENT_ACCOUNT,
|
|
90
|
+
"notion.page.deleted",
|
|
91
|
+
),
|
|
92
|
+
notionPageLocked: notionTrigger(
|
|
93
|
+
NOTION_READ_CONTENT_ACCOUNT,
|
|
94
|
+
"notion.page.locked",
|
|
95
|
+
),
|
|
96
|
+
notionPageMoved: notionTrigger(
|
|
97
|
+
NOTION_READ_CONTENT_ACCOUNT,
|
|
98
|
+
"notion.page.moved",
|
|
99
|
+
),
|
|
100
|
+
notionPagePropertiesUpdated: notionTrigger(
|
|
101
|
+
NOTION_READ_CONTENT_ACCOUNT,
|
|
102
|
+
"notion.page.propertiesUpdated",
|
|
103
|
+
),
|
|
104
|
+
notionPageTranscriptDeleted: notionTrigger(
|
|
105
|
+
NOTION_READ_CONTENT_ACCOUNT,
|
|
106
|
+
"notion.page.transcriptDeleted",
|
|
107
|
+
),
|
|
108
|
+
notionPageUndeleted: notionTrigger(
|
|
109
|
+
NOTION_READ_CONTENT_ACCOUNT,
|
|
110
|
+
"notion.page.undeleted",
|
|
111
|
+
),
|
|
112
|
+
notionPageUnlocked: notionTrigger(
|
|
113
|
+
NOTION_READ_CONTENT_ACCOUNT,
|
|
114
|
+
"notion.page.unlocked",
|
|
115
|
+
),
|
|
116
|
+
notionViewCreated: notionTrigger(
|
|
117
|
+
NOTION_READ_CONTENT_ACCOUNT,
|
|
118
|
+
"notion.view.created",
|
|
119
|
+
),
|
|
120
|
+
notionViewDeleted: notionTrigger(
|
|
121
|
+
NOTION_READ_CONTENT_ACCOUNT,
|
|
122
|
+
"notion.view.deleted",
|
|
123
|
+
),
|
|
124
|
+
notionViewUpdated: notionTrigger(
|
|
125
|
+
NOTION_READ_CONTENT_ACCOUNT,
|
|
126
|
+
"notion.view.updated",
|
|
127
|
+
),
|
|
128
|
+
} as const satisfies Record<string, TriggerDefinition>
|
|
129
|
+
|
|
130
|
+
/**
|
|
131
|
+
* Defines one Notion trigger with its exact stable event type.
|
|
132
|
+
*
|
|
133
|
+
* @param account - OAuth capability requirements for the event family.
|
|
134
|
+
* @param type - Stable internal event type.
|
|
135
|
+
*/
|
|
136
|
+
function notionTrigger<const TType extends `notion.${string}`>(
|
|
137
|
+
account: IntegrationAccountRequirement<"notion">,
|
|
138
|
+
type: TType,
|
|
139
|
+
) {
|
|
140
|
+
return { account, type }
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
/**
|
|
144
|
+
* Creates the OAuth-only account requirement for a Notion webhook family.
|
|
145
|
+
*
|
|
146
|
+
* @param requiredScopes - Fixed Notion integration capabilities.
|
|
147
|
+
*/
|
|
148
|
+
function notionOAuthAccount(
|
|
149
|
+
requiredScopes: readonly string[],
|
|
150
|
+
): IntegrationAccountRequirement<"notion"> {
|
|
151
|
+
return {
|
|
152
|
+
connectionOptions: [{ connectionMethodId: "oauth", requiredScopes }],
|
|
153
|
+
serviceId: "notion",
|
|
154
|
+
}
|
|
155
|
+
}
|