@automate.ax/catalog 0.95.4 → 0.97.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 +16 -0
- package/dist/catalog.js +8 -0
- package/dist/triggers/index.d.ts +342 -0
- package/dist/triggers/slack.d.ts +171 -0
- package/dist/triggers/slack.js +114 -0
- package/package.json +1 -1
- package/src/catalog.ts +9 -0
- package/src/triggers/slack.ts +116 -0
package/dist/catalog.d.ts
CHANGED
|
@@ -666,6 +666,14 @@ export declare const scrapflyService: {
|
|
|
666
666
|
}];
|
|
667
667
|
};
|
|
668
668
|
export declare const slackService: {
|
|
669
|
+
readonly connectionNotice: {
|
|
670
|
+
readonly action: {
|
|
671
|
+
readonly href: "https://docs.slack.dev/slack-marketplace/slack-marketplace-app-guidelines-and-requirements/#automation-platform-apps";
|
|
672
|
+
readonly label: "Review Slack requirements";
|
|
673
|
+
};
|
|
674
|
+
readonly description: "Slack requires automation-platform apps to connect only to paid workspaces. Free workspace authorizations are rejected and revoked.";
|
|
675
|
+
readonly title: "Paid Slack workspace required";
|
|
676
|
+
};
|
|
669
677
|
readonly connectionMethods: readonly [{
|
|
670
678
|
readonly id: "oauth";
|
|
671
679
|
readonly name: "OAuth";
|
|
@@ -1450,6 +1458,14 @@ export declare const integrationCatalog: readonly [{
|
|
|
1450
1458
|
readonly credentialUrl?: string | undefined;
|
|
1451
1459
|
}];
|
|
1452
1460
|
}, {
|
|
1461
|
+
readonly connectionNotice: {
|
|
1462
|
+
readonly action: {
|
|
1463
|
+
readonly href: "https://docs.slack.dev/slack-marketplace/slack-marketplace-app-guidelines-and-requirements/#automation-platform-apps";
|
|
1464
|
+
readonly label: "Review Slack requirements";
|
|
1465
|
+
};
|
|
1466
|
+
readonly description: "Slack requires automation-platform apps to connect only to paid workspaces. Free workspace authorizations are rejected and revoked.";
|
|
1467
|
+
readonly title: "Paid Slack workspace required";
|
|
1468
|
+
};
|
|
1453
1469
|
readonly connectionMethods: readonly [{
|
|
1454
1470
|
readonly id: "oauth";
|
|
1455
1471
|
readonly name: "OAuth";
|
package/dist/catalog.js
CHANGED
|
@@ -412,6 +412,14 @@ export const scrapflyService = defineApiKeyService({
|
|
|
412
412
|
placeholder: "scp-live-...",
|
|
413
413
|
});
|
|
414
414
|
export const slackService = defineIntegrationService({
|
|
415
|
+
connectionNotice: {
|
|
416
|
+
action: {
|
|
417
|
+
href: "https://docs.slack.dev/slack-marketplace/slack-marketplace-app-guidelines-and-requirements/#automation-platform-apps",
|
|
418
|
+
label: "Review Slack requirements",
|
|
419
|
+
},
|
|
420
|
+
description: "Slack requires automation-platform apps to connect only to paid workspaces. Free workspace authorizations are rejected and revoked.",
|
|
421
|
+
title: "Paid Slack workspace required",
|
|
422
|
+
},
|
|
415
423
|
connectionMethods: [{ id: "oauth", name: "OAuth", type: "redirect" }],
|
|
416
424
|
description: "Install the Automate.ax bot in a Slack workspace.",
|
|
417
425
|
id: "slack",
|
package/dist/triggers/index.d.ts
CHANGED
|
@@ -971,6 +971,138 @@ export declare const triggerDefinitions: {
|
|
|
971
971
|
};
|
|
972
972
|
readonly type: "slack.message.posted";
|
|
973
973
|
};
|
|
974
|
+
readonly slackChannelCreated: {
|
|
975
|
+
readonly account: {
|
|
976
|
+
readonly connectionOptions: readonly [{
|
|
977
|
+
readonly requiredScopes: readonly string[];
|
|
978
|
+
}];
|
|
979
|
+
readonly serviceId: "slack";
|
|
980
|
+
};
|
|
981
|
+
readonly type: "slack.channel.created";
|
|
982
|
+
};
|
|
983
|
+
readonly slackChannelMemberJoined: {
|
|
984
|
+
readonly account: {
|
|
985
|
+
readonly connectionOptions: readonly [{
|
|
986
|
+
readonly requiredScopes: readonly string[];
|
|
987
|
+
}];
|
|
988
|
+
readonly serviceId: "slack";
|
|
989
|
+
};
|
|
990
|
+
readonly type: "slack.channel.member.joined";
|
|
991
|
+
};
|
|
992
|
+
readonly slackChannelMemberLeft: {
|
|
993
|
+
readonly account: {
|
|
994
|
+
readonly connectionOptions: readonly [{
|
|
995
|
+
readonly requiredScopes: readonly string[];
|
|
996
|
+
}];
|
|
997
|
+
readonly serviceId: "slack";
|
|
998
|
+
};
|
|
999
|
+
readonly type: "slack.channel.member.left";
|
|
1000
|
+
};
|
|
1001
|
+
readonly slackChannelRenamed: {
|
|
1002
|
+
readonly account: {
|
|
1003
|
+
readonly connectionOptions: readonly [{
|
|
1004
|
+
readonly requiredScopes: readonly string[];
|
|
1005
|
+
}];
|
|
1006
|
+
readonly serviceId: "slack";
|
|
1007
|
+
};
|
|
1008
|
+
readonly type: "slack.channel.renamed";
|
|
1009
|
+
};
|
|
1010
|
+
readonly slackChannelShared: {
|
|
1011
|
+
readonly account: {
|
|
1012
|
+
readonly connectionOptions: readonly [{
|
|
1013
|
+
readonly requiredScopes: readonly string[];
|
|
1014
|
+
}];
|
|
1015
|
+
readonly serviceId: "slack";
|
|
1016
|
+
};
|
|
1017
|
+
readonly type: "slack.channel.shared";
|
|
1018
|
+
};
|
|
1019
|
+
readonly slackChannelUnshared: {
|
|
1020
|
+
readonly account: {
|
|
1021
|
+
readonly connectionOptions: readonly [{
|
|
1022
|
+
readonly requiredScopes: readonly string[];
|
|
1023
|
+
}];
|
|
1024
|
+
readonly serviceId: "slack";
|
|
1025
|
+
};
|
|
1026
|
+
readonly type: "slack.channel.unshared";
|
|
1027
|
+
};
|
|
1028
|
+
readonly slackEvent: {
|
|
1029
|
+
readonly account: {
|
|
1030
|
+
readonly connectionOptions: readonly [{
|
|
1031
|
+
readonly requiredScopes: readonly string[];
|
|
1032
|
+
}];
|
|
1033
|
+
readonly serviceId: "slack";
|
|
1034
|
+
};
|
|
1035
|
+
readonly type: "slack.event.received";
|
|
1036
|
+
};
|
|
1037
|
+
readonly slackFileCreated: {
|
|
1038
|
+
readonly account: {
|
|
1039
|
+
readonly connectionOptions: readonly [{
|
|
1040
|
+
readonly requiredScopes: readonly string[];
|
|
1041
|
+
}];
|
|
1042
|
+
readonly serviceId: "slack";
|
|
1043
|
+
};
|
|
1044
|
+
readonly type: "slack.file.created";
|
|
1045
|
+
};
|
|
1046
|
+
readonly slackFileDeleted: {
|
|
1047
|
+
readonly account: {
|
|
1048
|
+
readonly connectionOptions: readonly [{
|
|
1049
|
+
readonly requiredScopes: readonly string[];
|
|
1050
|
+
}];
|
|
1051
|
+
readonly serviceId: "slack";
|
|
1052
|
+
};
|
|
1053
|
+
readonly type: "slack.file.deleted";
|
|
1054
|
+
};
|
|
1055
|
+
readonly slackFileShared: {
|
|
1056
|
+
readonly account: {
|
|
1057
|
+
readonly connectionOptions: readonly [{
|
|
1058
|
+
readonly requiredScopes: readonly string[];
|
|
1059
|
+
}];
|
|
1060
|
+
readonly serviceId: "slack";
|
|
1061
|
+
};
|
|
1062
|
+
readonly type: "slack.file.shared";
|
|
1063
|
+
};
|
|
1064
|
+
readonly slackMessageChanged: {
|
|
1065
|
+
readonly account: {
|
|
1066
|
+
readonly connectionOptions: readonly [{
|
|
1067
|
+
readonly requiredScopes: readonly [{
|
|
1068
|
+
readonly requirements: readonly ["channels:history", "groups:history", "im:history", "mpim:history"];
|
|
1069
|
+
readonly type: "and";
|
|
1070
|
+
}];
|
|
1071
|
+
}];
|
|
1072
|
+
readonly serviceId: "slack";
|
|
1073
|
+
};
|
|
1074
|
+
readonly type: "slack.message.changed";
|
|
1075
|
+
};
|
|
1076
|
+
readonly slackMessageDeleted: {
|
|
1077
|
+
readonly account: {
|
|
1078
|
+
readonly connectionOptions: readonly [{
|
|
1079
|
+
readonly requiredScopes: readonly [{
|
|
1080
|
+
readonly requirements: readonly ["channels:history", "groups:history", "im:history", "mpim:history"];
|
|
1081
|
+
readonly type: "and";
|
|
1082
|
+
}];
|
|
1083
|
+
}];
|
|
1084
|
+
readonly serviceId: "slack";
|
|
1085
|
+
};
|
|
1086
|
+
readonly type: "slack.message.deleted";
|
|
1087
|
+
};
|
|
1088
|
+
readonly slackPinAdded: {
|
|
1089
|
+
readonly account: {
|
|
1090
|
+
readonly connectionOptions: readonly [{
|
|
1091
|
+
readonly requiredScopes: readonly string[];
|
|
1092
|
+
}];
|
|
1093
|
+
readonly serviceId: "slack";
|
|
1094
|
+
};
|
|
1095
|
+
readonly type: "slack.pin.added";
|
|
1096
|
+
};
|
|
1097
|
+
readonly slackPinRemoved: {
|
|
1098
|
+
readonly account: {
|
|
1099
|
+
readonly connectionOptions: readonly [{
|
|
1100
|
+
readonly requiredScopes: readonly string[];
|
|
1101
|
+
}];
|
|
1102
|
+
readonly serviceId: "slack";
|
|
1103
|
+
};
|
|
1104
|
+
readonly type: "slack.pin.removed";
|
|
1105
|
+
};
|
|
974
1106
|
readonly slackReactionAdded: {
|
|
975
1107
|
readonly account: {
|
|
976
1108
|
readonly connectionOptions: readonly [{
|
|
@@ -980,6 +1112,15 @@ export declare const triggerDefinitions: {
|
|
|
980
1112
|
};
|
|
981
1113
|
readonly type: "slack.reaction.added";
|
|
982
1114
|
};
|
|
1115
|
+
readonly slackReactionEvent: {
|
|
1116
|
+
readonly account: {
|
|
1117
|
+
readonly connectionOptions: readonly [{
|
|
1118
|
+
readonly requiredScopes: readonly ["reactions:read"];
|
|
1119
|
+
}];
|
|
1120
|
+
readonly serviceId: "slack";
|
|
1121
|
+
};
|
|
1122
|
+
readonly type: "slack.reaction.event";
|
|
1123
|
+
};
|
|
983
1124
|
readonly slackReactionRemoved: {
|
|
984
1125
|
readonly account: {
|
|
985
1126
|
readonly connectionOptions: readonly [{
|
|
@@ -989,6 +1130,36 @@ export declare const triggerDefinitions: {
|
|
|
989
1130
|
};
|
|
990
1131
|
readonly type: "slack.reaction.removed";
|
|
991
1132
|
};
|
|
1133
|
+
readonly slackThreadReplyPosted: {
|
|
1134
|
+
readonly account: {
|
|
1135
|
+
readonly connectionOptions: readonly [{
|
|
1136
|
+
readonly requiredScopes: readonly [{
|
|
1137
|
+
readonly requirements: readonly ["channels:history", "groups:history", "im:history", "mpim:history"];
|
|
1138
|
+
readonly type: "and";
|
|
1139
|
+
}];
|
|
1140
|
+
}];
|
|
1141
|
+
readonly serviceId: "slack";
|
|
1142
|
+
};
|
|
1143
|
+
readonly type: "slack.thread.reply.posted";
|
|
1144
|
+
};
|
|
1145
|
+
readonly slackWorkspaceMemberChanged: {
|
|
1146
|
+
readonly account: {
|
|
1147
|
+
readonly connectionOptions: readonly [{
|
|
1148
|
+
readonly requiredScopes: readonly string[];
|
|
1149
|
+
}];
|
|
1150
|
+
readonly serviceId: "slack";
|
|
1151
|
+
};
|
|
1152
|
+
readonly type: "slack.workspace.member.changed";
|
|
1153
|
+
};
|
|
1154
|
+
readonly slackWorkspaceMemberJoined: {
|
|
1155
|
+
readonly account: {
|
|
1156
|
+
readonly connectionOptions: readonly [{
|
|
1157
|
+
readonly requiredScopes: readonly string[];
|
|
1158
|
+
}];
|
|
1159
|
+
readonly serviceId: "slack";
|
|
1160
|
+
};
|
|
1161
|
+
readonly type: "slack.workspace.member.joined";
|
|
1162
|
+
};
|
|
992
1163
|
readonly resendEmailBounced: {
|
|
993
1164
|
readonly account: {
|
|
994
1165
|
readonly connectionOptions: readonly [{
|
|
@@ -6869,6 +7040,138 @@ export declare const triggerCatalog: ({
|
|
|
6869
7040
|
readonly serviceId: "slack";
|
|
6870
7041
|
};
|
|
6871
7042
|
type: "slack.message.posted";
|
|
7043
|
+
} | {
|
|
7044
|
+
name: string;
|
|
7045
|
+
account: {
|
|
7046
|
+
readonly connectionOptions: readonly [{
|
|
7047
|
+
readonly requiredScopes: readonly string[];
|
|
7048
|
+
}];
|
|
7049
|
+
readonly serviceId: "slack";
|
|
7050
|
+
};
|
|
7051
|
+
type: "slack.channel.created";
|
|
7052
|
+
} | {
|
|
7053
|
+
name: string;
|
|
7054
|
+
account: {
|
|
7055
|
+
readonly connectionOptions: readonly [{
|
|
7056
|
+
readonly requiredScopes: readonly string[];
|
|
7057
|
+
}];
|
|
7058
|
+
readonly serviceId: "slack";
|
|
7059
|
+
};
|
|
7060
|
+
type: "slack.channel.member.joined";
|
|
7061
|
+
} | {
|
|
7062
|
+
name: string;
|
|
7063
|
+
account: {
|
|
7064
|
+
readonly connectionOptions: readonly [{
|
|
7065
|
+
readonly requiredScopes: readonly string[];
|
|
7066
|
+
}];
|
|
7067
|
+
readonly serviceId: "slack";
|
|
7068
|
+
};
|
|
7069
|
+
type: "slack.channel.member.left";
|
|
7070
|
+
} | {
|
|
7071
|
+
name: string;
|
|
7072
|
+
account: {
|
|
7073
|
+
readonly connectionOptions: readonly [{
|
|
7074
|
+
readonly requiredScopes: readonly string[];
|
|
7075
|
+
}];
|
|
7076
|
+
readonly serviceId: "slack";
|
|
7077
|
+
};
|
|
7078
|
+
type: "slack.channel.renamed";
|
|
7079
|
+
} | {
|
|
7080
|
+
name: string;
|
|
7081
|
+
account: {
|
|
7082
|
+
readonly connectionOptions: readonly [{
|
|
7083
|
+
readonly requiredScopes: readonly string[];
|
|
7084
|
+
}];
|
|
7085
|
+
readonly serviceId: "slack";
|
|
7086
|
+
};
|
|
7087
|
+
type: "slack.channel.shared";
|
|
7088
|
+
} | {
|
|
7089
|
+
name: string;
|
|
7090
|
+
account: {
|
|
7091
|
+
readonly connectionOptions: readonly [{
|
|
7092
|
+
readonly requiredScopes: readonly string[];
|
|
7093
|
+
}];
|
|
7094
|
+
readonly serviceId: "slack";
|
|
7095
|
+
};
|
|
7096
|
+
type: "slack.channel.unshared";
|
|
7097
|
+
} | {
|
|
7098
|
+
name: string;
|
|
7099
|
+
account: {
|
|
7100
|
+
readonly connectionOptions: readonly [{
|
|
7101
|
+
readonly requiredScopes: readonly string[];
|
|
7102
|
+
}];
|
|
7103
|
+
readonly serviceId: "slack";
|
|
7104
|
+
};
|
|
7105
|
+
type: "slack.event.received";
|
|
7106
|
+
} | {
|
|
7107
|
+
name: string;
|
|
7108
|
+
account: {
|
|
7109
|
+
readonly connectionOptions: readonly [{
|
|
7110
|
+
readonly requiredScopes: readonly string[];
|
|
7111
|
+
}];
|
|
7112
|
+
readonly serviceId: "slack";
|
|
7113
|
+
};
|
|
7114
|
+
type: "slack.file.created";
|
|
7115
|
+
} | {
|
|
7116
|
+
name: string;
|
|
7117
|
+
account: {
|
|
7118
|
+
readonly connectionOptions: readonly [{
|
|
7119
|
+
readonly requiredScopes: readonly string[];
|
|
7120
|
+
}];
|
|
7121
|
+
readonly serviceId: "slack";
|
|
7122
|
+
};
|
|
7123
|
+
type: "slack.file.deleted";
|
|
7124
|
+
} | {
|
|
7125
|
+
name: string;
|
|
7126
|
+
account: {
|
|
7127
|
+
readonly connectionOptions: readonly [{
|
|
7128
|
+
readonly requiredScopes: readonly string[];
|
|
7129
|
+
}];
|
|
7130
|
+
readonly serviceId: "slack";
|
|
7131
|
+
};
|
|
7132
|
+
type: "slack.file.shared";
|
|
7133
|
+
} | {
|
|
7134
|
+
name: string;
|
|
7135
|
+
account: {
|
|
7136
|
+
readonly connectionOptions: readonly [{
|
|
7137
|
+
readonly requiredScopes: readonly [{
|
|
7138
|
+
readonly requirements: readonly ["channels:history", "groups:history", "im:history", "mpim:history"];
|
|
7139
|
+
readonly type: "and";
|
|
7140
|
+
}];
|
|
7141
|
+
}];
|
|
7142
|
+
readonly serviceId: "slack";
|
|
7143
|
+
};
|
|
7144
|
+
type: "slack.message.changed";
|
|
7145
|
+
} | {
|
|
7146
|
+
name: string;
|
|
7147
|
+
account: {
|
|
7148
|
+
readonly connectionOptions: readonly [{
|
|
7149
|
+
readonly requiredScopes: readonly [{
|
|
7150
|
+
readonly requirements: readonly ["channels:history", "groups:history", "im:history", "mpim:history"];
|
|
7151
|
+
readonly type: "and";
|
|
7152
|
+
}];
|
|
7153
|
+
}];
|
|
7154
|
+
readonly serviceId: "slack";
|
|
7155
|
+
};
|
|
7156
|
+
type: "slack.message.deleted";
|
|
7157
|
+
} | {
|
|
7158
|
+
name: string;
|
|
7159
|
+
account: {
|
|
7160
|
+
readonly connectionOptions: readonly [{
|
|
7161
|
+
readonly requiredScopes: readonly string[];
|
|
7162
|
+
}];
|
|
7163
|
+
readonly serviceId: "slack";
|
|
7164
|
+
};
|
|
7165
|
+
type: "slack.pin.added";
|
|
7166
|
+
} | {
|
|
7167
|
+
name: string;
|
|
7168
|
+
account: {
|
|
7169
|
+
readonly connectionOptions: readonly [{
|
|
7170
|
+
readonly requiredScopes: readonly string[];
|
|
7171
|
+
}];
|
|
7172
|
+
readonly serviceId: "slack";
|
|
7173
|
+
};
|
|
7174
|
+
type: "slack.pin.removed";
|
|
6872
7175
|
} | {
|
|
6873
7176
|
name: string;
|
|
6874
7177
|
account: {
|
|
@@ -6878,6 +7181,15 @@ export declare const triggerCatalog: ({
|
|
|
6878
7181
|
readonly serviceId: "slack";
|
|
6879
7182
|
};
|
|
6880
7183
|
type: "slack.reaction.added";
|
|
7184
|
+
} | {
|
|
7185
|
+
name: string;
|
|
7186
|
+
account: {
|
|
7187
|
+
readonly connectionOptions: readonly [{
|
|
7188
|
+
readonly requiredScopes: readonly ["reactions:read"];
|
|
7189
|
+
}];
|
|
7190
|
+
readonly serviceId: "slack";
|
|
7191
|
+
};
|
|
7192
|
+
type: "slack.reaction.event";
|
|
6881
7193
|
} | {
|
|
6882
7194
|
name: string;
|
|
6883
7195
|
account: {
|
|
@@ -6887,6 +7199,36 @@ export declare const triggerCatalog: ({
|
|
|
6887
7199
|
readonly serviceId: "slack";
|
|
6888
7200
|
};
|
|
6889
7201
|
type: "slack.reaction.removed";
|
|
7202
|
+
} | {
|
|
7203
|
+
name: string;
|
|
7204
|
+
account: {
|
|
7205
|
+
readonly connectionOptions: readonly [{
|
|
7206
|
+
readonly requiredScopes: readonly [{
|
|
7207
|
+
readonly requirements: readonly ["channels:history", "groups:history", "im:history", "mpim:history"];
|
|
7208
|
+
readonly type: "and";
|
|
7209
|
+
}];
|
|
7210
|
+
}];
|
|
7211
|
+
readonly serviceId: "slack";
|
|
7212
|
+
};
|
|
7213
|
+
type: "slack.thread.reply.posted";
|
|
7214
|
+
} | {
|
|
7215
|
+
name: string;
|
|
7216
|
+
account: {
|
|
7217
|
+
readonly connectionOptions: readonly [{
|
|
7218
|
+
readonly requiredScopes: readonly string[];
|
|
7219
|
+
}];
|
|
7220
|
+
readonly serviceId: "slack";
|
|
7221
|
+
};
|
|
7222
|
+
type: "slack.workspace.member.changed";
|
|
7223
|
+
} | {
|
|
7224
|
+
name: string;
|
|
7225
|
+
account: {
|
|
7226
|
+
readonly connectionOptions: readonly [{
|
|
7227
|
+
readonly requiredScopes: readonly string[];
|
|
7228
|
+
}];
|
|
7229
|
+
readonly serviceId: "slack";
|
|
7230
|
+
};
|
|
7231
|
+
type: "slack.workspace.member.joined";
|
|
6890
7232
|
} | {
|
|
6891
7233
|
name: string;
|
|
6892
7234
|
account: {
|
package/dist/triggers/slack.d.ts
CHANGED
|
@@ -20,6 +20,138 @@ export declare const slackTriggerDefinitions: {
|
|
|
20
20
|
};
|
|
21
21
|
readonly type: "slack.message.posted";
|
|
22
22
|
};
|
|
23
|
+
readonly slackChannelCreated: {
|
|
24
|
+
readonly account: {
|
|
25
|
+
readonly connectionOptions: readonly [{
|
|
26
|
+
readonly requiredScopes: readonly string[];
|
|
27
|
+
}];
|
|
28
|
+
readonly serviceId: "slack";
|
|
29
|
+
};
|
|
30
|
+
readonly type: "slack.channel.created";
|
|
31
|
+
};
|
|
32
|
+
readonly slackChannelMemberJoined: {
|
|
33
|
+
readonly account: {
|
|
34
|
+
readonly connectionOptions: readonly [{
|
|
35
|
+
readonly requiredScopes: readonly string[];
|
|
36
|
+
}];
|
|
37
|
+
readonly serviceId: "slack";
|
|
38
|
+
};
|
|
39
|
+
readonly type: "slack.channel.member.joined";
|
|
40
|
+
};
|
|
41
|
+
readonly slackChannelMemberLeft: {
|
|
42
|
+
readonly account: {
|
|
43
|
+
readonly connectionOptions: readonly [{
|
|
44
|
+
readonly requiredScopes: readonly string[];
|
|
45
|
+
}];
|
|
46
|
+
readonly serviceId: "slack";
|
|
47
|
+
};
|
|
48
|
+
readonly type: "slack.channel.member.left";
|
|
49
|
+
};
|
|
50
|
+
readonly slackChannelRenamed: {
|
|
51
|
+
readonly account: {
|
|
52
|
+
readonly connectionOptions: readonly [{
|
|
53
|
+
readonly requiredScopes: readonly string[];
|
|
54
|
+
}];
|
|
55
|
+
readonly serviceId: "slack";
|
|
56
|
+
};
|
|
57
|
+
readonly type: "slack.channel.renamed";
|
|
58
|
+
};
|
|
59
|
+
readonly slackChannelShared: {
|
|
60
|
+
readonly account: {
|
|
61
|
+
readonly connectionOptions: readonly [{
|
|
62
|
+
readonly requiredScopes: readonly string[];
|
|
63
|
+
}];
|
|
64
|
+
readonly serviceId: "slack";
|
|
65
|
+
};
|
|
66
|
+
readonly type: "slack.channel.shared";
|
|
67
|
+
};
|
|
68
|
+
readonly slackChannelUnshared: {
|
|
69
|
+
readonly account: {
|
|
70
|
+
readonly connectionOptions: readonly [{
|
|
71
|
+
readonly requiredScopes: readonly string[];
|
|
72
|
+
}];
|
|
73
|
+
readonly serviceId: "slack";
|
|
74
|
+
};
|
|
75
|
+
readonly type: "slack.channel.unshared";
|
|
76
|
+
};
|
|
77
|
+
readonly slackEvent: {
|
|
78
|
+
readonly account: {
|
|
79
|
+
readonly connectionOptions: readonly [{
|
|
80
|
+
readonly requiredScopes: readonly string[];
|
|
81
|
+
}];
|
|
82
|
+
readonly serviceId: "slack";
|
|
83
|
+
};
|
|
84
|
+
readonly type: "slack.event.received";
|
|
85
|
+
};
|
|
86
|
+
readonly slackFileCreated: {
|
|
87
|
+
readonly account: {
|
|
88
|
+
readonly connectionOptions: readonly [{
|
|
89
|
+
readonly requiredScopes: readonly string[];
|
|
90
|
+
}];
|
|
91
|
+
readonly serviceId: "slack";
|
|
92
|
+
};
|
|
93
|
+
readonly type: "slack.file.created";
|
|
94
|
+
};
|
|
95
|
+
readonly slackFileDeleted: {
|
|
96
|
+
readonly account: {
|
|
97
|
+
readonly connectionOptions: readonly [{
|
|
98
|
+
readonly requiredScopes: readonly string[];
|
|
99
|
+
}];
|
|
100
|
+
readonly serviceId: "slack";
|
|
101
|
+
};
|
|
102
|
+
readonly type: "slack.file.deleted";
|
|
103
|
+
};
|
|
104
|
+
readonly slackFileShared: {
|
|
105
|
+
readonly account: {
|
|
106
|
+
readonly connectionOptions: readonly [{
|
|
107
|
+
readonly requiredScopes: readonly string[];
|
|
108
|
+
}];
|
|
109
|
+
readonly serviceId: "slack";
|
|
110
|
+
};
|
|
111
|
+
readonly type: "slack.file.shared";
|
|
112
|
+
};
|
|
113
|
+
readonly slackMessageChanged: {
|
|
114
|
+
readonly account: {
|
|
115
|
+
readonly connectionOptions: readonly [{
|
|
116
|
+
readonly requiredScopes: readonly [{
|
|
117
|
+
readonly requirements: readonly ["channels:history", "groups:history", "im:history", "mpim:history"];
|
|
118
|
+
readonly type: "and";
|
|
119
|
+
}];
|
|
120
|
+
}];
|
|
121
|
+
readonly serviceId: "slack";
|
|
122
|
+
};
|
|
123
|
+
readonly type: "slack.message.changed";
|
|
124
|
+
};
|
|
125
|
+
readonly slackMessageDeleted: {
|
|
126
|
+
readonly account: {
|
|
127
|
+
readonly connectionOptions: readonly [{
|
|
128
|
+
readonly requiredScopes: readonly [{
|
|
129
|
+
readonly requirements: readonly ["channels:history", "groups:history", "im:history", "mpim:history"];
|
|
130
|
+
readonly type: "and";
|
|
131
|
+
}];
|
|
132
|
+
}];
|
|
133
|
+
readonly serviceId: "slack";
|
|
134
|
+
};
|
|
135
|
+
readonly type: "slack.message.deleted";
|
|
136
|
+
};
|
|
137
|
+
readonly slackPinAdded: {
|
|
138
|
+
readonly account: {
|
|
139
|
+
readonly connectionOptions: readonly [{
|
|
140
|
+
readonly requiredScopes: readonly string[];
|
|
141
|
+
}];
|
|
142
|
+
readonly serviceId: "slack";
|
|
143
|
+
};
|
|
144
|
+
readonly type: "slack.pin.added";
|
|
145
|
+
};
|
|
146
|
+
readonly slackPinRemoved: {
|
|
147
|
+
readonly account: {
|
|
148
|
+
readonly connectionOptions: readonly [{
|
|
149
|
+
readonly requiredScopes: readonly string[];
|
|
150
|
+
}];
|
|
151
|
+
readonly serviceId: "slack";
|
|
152
|
+
};
|
|
153
|
+
readonly type: "slack.pin.removed";
|
|
154
|
+
};
|
|
23
155
|
readonly slackReactionAdded: {
|
|
24
156
|
readonly account: {
|
|
25
157
|
readonly connectionOptions: readonly [{
|
|
@@ -29,6 +161,15 @@ export declare const slackTriggerDefinitions: {
|
|
|
29
161
|
};
|
|
30
162
|
readonly type: "slack.reaction.added";
|
|
31
163
|
};
|
|
164
|
+
readonly slackReactionEvent: {
|
|
165
|
+
readonly account: {
|
|
166
|
+
readonly connectionOptions: readonly [{
|
|
167
|
+
readonly requiredScopes: readonly ["reactions:read"];
|
|
168
|
+
}];
|
|
169
|
+
readonly serviceId: "slack";
|
|
170
|
+
};
|
|
171
|
+
readonly type: "slack.reaction.event";
|
|
172
|
+
};
|
|
32
173
|
readonly slackReactionRemoved: {
|
|
33
174
|
readonly account: {
|
|
34
175
|
readonly connectionOptions: readonly [{
|
|
@@ -38,4 +179,34 @@ export declare const slackTriggerDefinitions: {
|
|
|
38
179
|
};
|
|
39
180
|
readonly type: "slack.reaction.removed";
|
|
40
181
|
};
|
|
182
|
+
readonly slackThreadReplyPosted: {
|
|
183
|
+
readonly account: {
|
|
184
|
+
readonly connectionOptions: readonly [{
|
|
185
|
+
readonly requiredScopes: readonly [{
|
|
186
|
+
readonly requirements: readonly ["channels:history", "groups:history", "im:history", "mpim:history"];
|
|
187
|
+
readonly type: "and";
|
|
188
|
+
}];
|
|
189
|
+
}];
|
|
190
|
+
readonly serviceId: "slack";
|
|
191
|
+
};
|
|
192
|
+
readonly type: "slack.thread.reply.posted";
|
|
193
|
+
};
|
|
194
|
+
readonly slackWorkspaceMemberChanged: {
|
|
195
|
+
readonly account: {
|
|
196
|
+
readonly connectionOptions: readonly [{
|
|
197
|
+
readonly requiredScopes: readonly string[];
|
|
198
|
+
}];
|
|
199
|
+
readonly serviceId: "slack";
|
|
200
|
+
};
|
|
201
|
+
readonly type: "slack.workspace.member.changed";
|
|
202
|
+
};
|
|
203
|
+
readonly slackWorkspaceMemberJoined: {
|
|
204
|
+
readonly account: {
|
|
205
|
+
readonly connectionOptions: readonly [{
|
|
206
|
+
readonly requiredScopes: readonly string[];
|
|
207
|
+
}];
|
|
208
|
+
readonly serviceId: "slack";
|
|
209
|
+
};
|
|
210
|
+
readonly type: "slack.workspace.member.joined";
|
|
211
|
+
};
|
|
41
212
|
};
|
package/dist/triggers/slack.js
CHANGED
|
@@ -32,6 +32,37 @@ const SLACK_REACTION_ACCOUNT = {
|
|
|
32
32
|
],
|
|
33
33
|
serviceId: "slack",
|
|
34
34
|
};
|
|
35
|
+
const SLACK_CHANNEL_MEMBER_JOINED_ACCOUNT = slackAccount([
|
|
36
|
+
"channels:read",
|
|
37
|
+
"groups:read",
|
|
38
|
+
"mpim:read",
|
|
39
|
+
]);
|
|
40
|
+
const SLACK_CHANNEL_MEMBER_LEFT_ACCOUNT = slackAccount([
|
|
41
|
+
"channels:read",
|
|
42
|
+
"groups:read",
|
|
43
|
+
]);
|
|
44
|
+
const SLACK_FILE_ACCOUNT = slackAccount(["files:read"]);
|
|
45
|
+
const SLACK_WORKSPACE_MEMBER_ACCOUNT = slackAccount(["users:read"]);
|
|
46
|
+
const SLACK_PUBLIC_CHANNEL_ACCOUNT = slackAccount(["channels:read"]);
|
|
47
|
+
const SLACK_SHARED_CHANNEL_ACCOUNT = slackAccount([
|
|
48
|
+
"channels:read",
|
|
49
|
+
"groups:read",
|
|
50
|
+
]);
|
|
51
|
+
const SLACK_PIN_ACCOUNT = slackAccount(["pins:read"]);
|
|
52
|
+
const SLACK_EVENT_ACCOUNT = slackAccount([
|
|
53
|
+
"app_mentions:read",
|
|
54
|
+
"channels:history",
|
|
55
|
+
"groups:history",
|
|
56
|
+
"im:history",
|
|
57
|
+
"mpim:history",
|
|
58
|
+
"reactions:read",
|
|
59
|
+
"channels:read",
|
|
60
|
+
"groups:read",
|
|
61
|
+
"mpim:read",
|
|
62
|
+
"files:read",
|
|
63
|
+
"users:read",
|
|
64
|
+
"pins:read",
|
|
65
|
+
]);
|
|
35
66
|
export const slackTriggerDefinitions = {
|
|
36
67
|
slackAppMentioned: {
|
|
37
68
|
account: SLACK_APP_MENTION_ACCOUNT,
|
|
@@ -41,12 +72,95 @@ export const slackTriggerDefinitions = {
|
|
|
41
72
|
account: SLACK_MESSAGE_ACCOUNT,
|
|
42
73
|
type: "slack.message.posted",
|
|
43
74
|
},
|
|
75
|
+
slackChannelCreated: {
|
|
76
|
+
account: SLACK_PUBLIC_CHANNEL_ACCOUNT,
|
|
77
|
+
type: "slack.channel.created",
|
|
78
|
+
},
|
|
79
|
+
slackChannelMemberJoined: {
|
|
80
|
+
account: SLACK_CHANNEL_MEMBER_JOINED_ACCOUNT,
|
|
81
|
+
type: "slack.channel.member.joined",
|
|
82
|
+
},
|
|
83
|
+
slackChannelMemberLeft: {
|
|
84
|
+
account: SLACK_CHANNEL_MEMBER_LEFT_ACCOUNT,
|
|
85
|
+
type: "slack.channel.member.left",
|
|
86
|
+
},
|
|
87
|
+
slackChannelRenamed: {
|
|
88
|
+
account: SLACK_PUBLIC_CHANNEL_ACCOUNT,
|
|
89
|
+
type: "slack.channel.renamed",
|
|
90
|
+
},
|
|
91
|
+
slackChannelShared: {
|
|
92
|
+
account: SLACK_SHARED_CHANNEL_ACCOUNT,
|
|
93
|
+
type: "slack.channel.shared",
|
|
94
|
+
},
|
|
95
|
+
slackChannelUnshared: {
|
|
96
|
+
account: SLACK_SHARED_CHANNEL_ACCOUNT,
|
|
97
|
+
type: "slack.channel.unshared",
|
|
98
|
+
},
|
|
99
|
+
slackEvent: {
|
|
100
|
+
account: SLACK_EVENT_ACCOUNT,
|
|
101
|
+
type: "slack.event.received",
|
|
102
|
+
},
|
|
103
|
+
slackFileCreated: {
|
|
104
|
+
account: SLACK_FILE_ACCOUNT,
|
|
105
|
+
type: "slack.file.created",
|
|
106
|
+
},
|
|
107
|
+
slackFileDeleted: {
|
|
108
|
+
account: SLACK_FILE_ACCOUNT,
|
|
109
|
+
type: "slack.file.deleted",
|
|
110
|
+
},
|
|
111
|
+
slackFileShared: {
|
|
112
|
+
account: SLACK_FILE_ACCOUNT,
|
|
113
|
+
type: "slack.file.shared",
|
|
114
|
+
},
|
|
115
|
+
slackMessageChanged: {
|
|
116
|
+
account: SLACK_MESSAGE_ACCOUNT,
|
|
117
|
+
type: "slack.message.changed",
|
|
118
|
+
},
|
|
119
|
+
slackMessageDeleted: {
|
|
120
|
+
account: SLACK_MESSAGE_ACCOUNT,
|
|
121
|
+
type: "slack.message.deleted",
|
|
122
|
+
},
|
|
123
|
+
slackPinAdded: {
|
|
124
|
+
account: SLACK_PIN_ACCOUNT,
|
|
125
|
+
type: "slack.pin.added",
|
|
126
|
+
},
|
|
127
|
+
slackPinRemoved: {
|
|
128
|
+
account: SLACK_PIN_ACCOUNT,
|
|
129
|
+
type: "slack.pin.removed",
|
|
130
|
+
},
|
|
44
131
|
slackReactionAdded: {
|
|
45
132
|
account: SLACK_REACTION_ACCOUNT,
|
|
46
133
|
type: "slack.reaction.added",
|
|
47
134
|
},
|
|
135
|
+
slackReactionEvent: {
|
|
136
|
+
account: SLACK_REACTION_ACCOUNT,
|
|
137
|
+
type: "slack.reaction.event",
|
|
138
|
+
},
|
|
48
139
|
slackReactionRemoved: {
|
|
49
140
|
account: SLACK_REACTION_ACCOUNT,
|
|
50
141
|
type: "slack.reaction.removed",
|
|
51
142
|
},
|
|
143
|
+
slackThreadReplyPosted: {
|
|
144
|
+
account: SLACK_MESSAGE_ACCOUNT,
|
|
145
|
+
type: "slack.thread.reply.posted",
|
|
146
|
+
},
|
|
147
|
+
slackWorkspaceMemberChanged: {
|
|
148
|
+
account: SLACK_WORKSPACE_MEMBER_ACCOUNT,
|
|
149
|
+
type: "slack.workspace.member.changed",
|
|
150
|
+
},
|
|
151
|
+
slackWorkspaceMemberJoined: {
|
|
152
|
+
account: SLACK_WORKSPACE_MEMBER_ACCOUNT,
|
|
153
|
+
type: "slack.workspace.member.joined",
|
|
154
|
+
},
|
|
52
155
|
};
|
|
156
|
+
/**
|
|
157
|
+
* Builds one bot-token account requirement from its least-privilege scopes.
|
|
158
|
+
*
|
|
159
|
+
* @param scopes - Slack bot OAuth scopes required by the trigger.
|
|
160
|
+
*/
|
|
161
|
+
function slackAccount(scopes) {
|
|
162
|
+
return {
|
|
163
|
+
connectionOptions: [{ requiredScopes: [...scopes] }],
|
|
164
|
+
serviceId: "slack",
|
|
165
|
+
};
|
|
166
|
+
}
|
package/package.json
CHANGED
package/src/catalog.ts
CHANGED
|
@@ -458,6 +458,15 @@ export const scrapflyService = defineApiKeyService({
|
|
|
458
458
|
})
|
|
459
459
|
|
|
460
460
|
export const slackService = defineIntegrationService({
|
|
461
|
+
connectionNotice: {
|
|
462
|
+
action: {
|
|
463
|
+
href: "https://docs.slack.dev/slack-marketplace/slack-marketplace-app-guidelines-and-requirements/#automation-platform-apps",
|
|
464
|
+
label: "Review Slack requirements",
|
|
465
|
+
},
|
|
466
|
+
description:
|
|
467
|
+
"Slack requires automation-platform apps to connect only to paid workspaces. Free workspace authorizations are rejected and revoked.",
|
|
468
|
+
title: "Paid Slack workspace required",
|
|
469
|
+
},
|
|
461
470
|
connectionMethods: [{ id: "oauth", name: "OAuth", type: "redirect" }],
|
|
462
471
|
description: "Install the Automate.ax bot in a Slack workspace.",
|
|
463
472
|
id: "slack",
|
package/src/triggers/slack.ts
CHANGED
|
@@ -37,6 +37,38 @@ const SLACK_REACTION_ACCOUNT = {
|
|
|
37
37
|
serviceId: "slack",
|
|
38
38
|
} as const satisfies IntegrationAccountRequirement
|
|
39
39
|
|
|
40
|
+
const SLACK_CHANNEL_MEMBER_JOINED_ACCOUNT = slackAccount([
|
|
41
|
+
"channels:read",
|
|
42
|
+
"groups:read",
|
|
43
|
+
"mpim:read",
|
|
44
|
+
])
|
|
45
|
+
const SLACK_CHANNEL_MEMBER_LEFT_ACCOUNT = slackAccount([
|
|
46
|
+
"channels:read",
|
|
47
|
+
"groups:read",
|
|
48
|
+
])
|
|
49
|
+
const SLACK_FILE_ACCOUNT = slackAccount(["files:read"])
|
|
50
|
+
const SLACK_WORKSPACE_MEMBER_ACCOUNT = slackAccount(["users:read"])
|
|
51
|
+
const SLACK_PUBLIC_CHANNEL_ACCOUNT = slackAccount(["channels:read"])
|
|
52
|
+
const SLACK_SHARED_CHANNEL_ACCOUNT = slackAccount([
|
|
53
|
+
"channels:read",
|
|
54
|
+
"groups:read",
|
|
55
|
+
])
|
|
56
|
+
const SLACK_PIN_ACCOUNT = slackAccount(["pins:read"])
|
|
57
|
+
const SLACK_EVENT_ACCOUNT = slackAccount([
|
|
58
|
+
"app_mentions:read",
|
|
59
|
+
"channels:history",
|
|
60
|
+
"groups:history",
|
|
61
|
+
"im:history",
|
|
62
|
+
"mpim:history",
|
|
63
|
+
"reactions:read",
|
|
64
|
+
"channels:read",
|
|
65
|
+
"groups:read",
|
|
66
|
+
"mpim:read",
|
|
67
|
+
"files:read",
|
|
68
|
+
"users:read",
|
|
69
|
+
"pins:read",
|
|
70
|
+
])
|
|
71
|
+
|
|
40
72
|
export const slackTriggerDefinitions = {
|
|
41
73
|
slackAppMentioned: {
|
|
42
74
|
account: SLACK_APP_MENTION_ACCOUNT,
|
|
@@ -46,12 +78,96 @@ export const slackTriggerDefinitions = {
|
|
|
46
78
|
account: SLACK_MESSAGE_ACCOUNT,
|
|
47
79
|
type: "slack.message.posted",
|
|
48
80
|
},
|
|
81
|
+
slackChannelCreated: {
|
|
82
|
+
account: SLACK_PUBLIC_CHANNEL_ACCOUNT,
|
|
83
|
+
type: "slack.channel.created",
|
|
84
|
+
},
|
|
85
|
+
slackChannelMemberJoined: {
|
|
86
|
+
account: SLACK_CHANNEL_MEMBER_JOINED_ACCOUNT,
|
|
87
|
+
type: "slack.channel.member.joined",
|
|
88
|
+
},
|
|
89
|
+
slackChannelMemberLeft: {
|
|
90
|
+
account: SLACK_CHANNEL_MEMBER_LEFT_ACCOUNT,
|
|
91
|
+
type: "slack.channel.member.left",
|
|
92
|
+
},
|
|
93
|
+
slackChannelRenamed: {
|
|
94
|
+
account: SLACK_PUBLIC_CHANNEL_ACCOUNT,
|
|
95
|
+
type: "slack.channel.renamed",
|
|
96
|
+
},
|
|
97
|
+
slackChannelShared: {
|
|
98
|
+
account: SLACK_SHARED_CHANNEL_ACCOUNT,
|
|
99
|
+
type: "slack.channel.shared",
|
|
100
|
+
},
|
|
101
|
+
slackChannelUnshared: {
|
|
102
|
+
account: SLACK_SHARED_CHANNEL_ACCOUNT,
|
|
103
|
+
type: "slack.channel.unshared",
|
|
104
|
+
},
|
|
105
|
+
slackEvent: {
|
|
106
|
+
account: SLACK_EVENT_ACCOUNT,
|
|
107
|
+
type: "slack.event.received",
|
|
108
|
+
},
|
|
109
|
+
slackFileCreated: {
|
|
110
|
+
account: SLACK_FILE_ACCOUNT,
|
|
111
|
+
type: "slack.file.created",
|
|
112
|
+
},
|
|
113
|
+
slackFileDeleted: {
|
|
114
|
+
account: SLACK_FILE_ACCOUNT,
|
|
115
|
+
type: "slack.file.deleted",
|
|
116
|
+
},
|
|
117
|
+
slackFileShared: {
|
|
118
|
+
account: SLACK_FILE_ACCOUNT,
|
|
119
|
+
type: "slack.file.shared",
|
|
120
|
+
},
|
|
121
|
+
slackMessageChanged: {
|
|
122
|
+
account: SLACK_MESSAGE_ACCOUNT,
|
|
123
|
+
type: "slack.message.changed",
|
|
124
|
+
},
|
|
125
|
+
slackMessageDeleted: {
|
|
126
|
+
account: SLACK_MESSAGE_ACCOUNT,
|
|
127
|
+
type: "slack.message.deleted",
|
|
128
|
+
},
|
|
129
|
+
slackPinAdded: {
|
|
130
|
+
account: SLACK_PIN_ACCOUNT,
|
|
131
|
+
type: "slack.pin.added",
|
|
132
|
+
},
|
|
133
|
+
slackPinRemoved: {
|
|
134
|
+
account: SLACK_PIN_ACCOUNT,
|
|
135
|
+
type: "slack.pin.removed",
|
|
136
|
+
},
|
|
49
137
|
slackReactionAdded: {
|
|
50
138
|
account: SLACK_REACTION_ACCOUNT,
|
|
51
139
|
type: "slack.reaction.added",
|
|
52
140
|
},
|
|
141
|
+
slackReactionEvent: {
|
|
142
|
+
account: SLACK_REACTION_ACCOUNT,
|
|
143
|
+
type: "slack.reaction.event",
|
|
144
|
+
},
|
|
53
145
|
slackReactionRemoved: {
|
|
54
146
|
account: SLACK_REACTION_ACCOUNT,
|
|
55
147
|
type: "slack.reaction.removed",
|
|
56
148
|
},
|
|
149
|
+
slackThreadReplyPosted: {
|
|
150
|
+
account: SLACK_MESSAGE_ACCOUNT,
|
|
151
|
+
type: "slack.thread.reply.posted",
|
|
152
|
+
},
|
|
153
|
+
slackWorkspaceMemberChanged: {
|
|
154
|
+
account: SLACK_WORKSPACE_MEMBER_ACCOUNT,
|
|
155
|
+
type: "slack.workspace.member.changed",
|
|
156
|
+
},
|
|
157
|
+
slackWorkspaceMemberJoined: {
|
|
158
|
+
account: SLACK_WORKSPACE_MEMBER_ACCOUNT,
|
|
159
|
+
type: "slack.workspace.member.joined",
|
|
160
|
+
},
|
|
57
161
|
} as const satisfies Record<string, TriggerDefinition>
|
|
162
|
+
|
|
163
|
+
/**
|
|
164
|
+
* Builds one bot-token account requirement from its least-privilege scopes.
|
|
165
|
+
*
|
|
166
|
+
* @param scopes - Slack bot OAuth scopes required by the trigger.
|
|
167
|
+
*/
|
|
168
|
+
function slackAccount(scopes: readonly string[]) {
|
|
169
|
+
return {
|
|
170
|
+
connectionOptions: [{ requiredScopes: [...scopes] }],
|
|
171
|
+
serviceId: "slack",
|
|
172
|
+
} as const satisfies IntegrationAccountRequirement
|
|
173
|
+
}
|