@activepieces/piece-microsoft-outlook 0.2.0 → 0.2.1
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/package.json +3 -2
- package/src/i18n/translation.json +6 -1
- package/src/lib/triggers/new-attachment.d.ts +3 -0
- package/src/lib/triggers/new-attachment.js +13 -5
- package/src/lib/triggers/new-attachment.js.map +1 -1
- package/src/lib/triggers/new-email.d.ts +10 -1
- package/src/lib/triggers/new-email.js +35 -3
- package/src/lib/triggers/new-email.js.map +1 -1
package/package.json
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@activepieces/piece-microsoft-outlook",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"dependencies": {
|
|
5
5
|
"@microsoft/microsoft-graph-client": "3.0.7",
|
|
6
6
|
"@microsoft/microsoft-graph-types": "2.40.0",
|
|
7
7
|
"@sinclair/typebox": "0.34.11",
|
|
8
|
+
"ai": "5.0.104",
|
|
8
9
|
"axios": "1.13.1",
|
|
9
10
|
"axios-retry": "4.4.1",
|
|
10
11
|
"dayjs": "1.11.9",
|
|
@@ -15,7 +16,7 @@
|
|
|
15
16
|
"semver": "7.6.0",
|
|
16
17
|
"socket.io-client": "4.8.1",
|
|
17
18
|
"zod": "4.1.13",
|
|
18
|
-
"@activepieces/pieces-common": "0.11.
|
|
19
|
+
"@activepieces/pieces-common": "0.11.1",
|
|
19
20
|
"@activepieces/pieces-framework": "0.23.0",
|
|
20
21
|
"@activepieces/shared": "0.30.4",
|
|
21
22
|
"tslib": "2.6.2"
|
|
@@ -46,6 +46,7 @@
|
|
|
46
46
|
"Method": "Method",
|
|
47
47
|
"Headers": "Headers",
|
|
48
48
|
"Query Parameters": "Query Parameters",
|
|
49
|
+
"Body Type": "Body Type",
|
|
49
50
|
"Response is Binary ?": "Response is Binary ?",
|
|
50
51
|
"No Error on Failure": "No Error on Failure",
|
|
51
52
|
"Timeout (in seconds)": "Timeout (in seconds)",
|
|
@@ -65,7 +66,7 @@
|
|
|
65
66
|
"Search in a specific folder. Leave empty to search all folders.": "Search in a specific folder. Leave empty to search all folders.",
|
|
66
67
|
"Maximum number of results to return (1-1000).": "Maximum number of results to return (1-1000).",
|
|
67
68
|
"Authorization headers are injected automatically from your connection.": "Authorization headers are injected automatically from your connection.",
|
|
68
|
-
"Enable for files like PDFs, images, etc
|
|
69
|
+
"Enable for files like PDFs, images, etc.": "Enable for files like PDFs, images, etc.",
|
|
69
70
|
"HTML": "HTML",
|
|
70
71
|
"Text": "Text",
|
|
71
72
|
"GET": "GET",
|
|
@@ -74,6 +75,10 @@
|
|
|
74
75
|
"PUT": "PUT",
|
|
75
76
|
"DELETE": "DELETE",
|
|
76
77
|
"HEAD": "HEAD",
|
|
78
|
+
"None": "None",
|
|
79
|
+
"JSON": "JSON",
|
|
80
|
+
"Form Data": "Form Data",
|
|
81
|
+
"Raw": "Raw",
|
|
77
82
|
"New Email": "New Email",
|
|
78
83
|
"New Email in Folder": "New Email in Folder",
|
|
79
84
|
"New Attachment": "New Attachment",
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { TriggerStrategy } from '@activepieces/pieces-framework';
|
|
2
2
|
export declare const newAttachmentTrigger: import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.WEBHOOK, import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {
|
|
3
3
|
folderId: import("@activepieces/pieces-framework").DropdownProperty<string, false, import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>> | import("@activepieces/pieces-framework").DropdownProperty<string, true, import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>>;
|
|
4
|
+
attachmentNameFilter: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
4
5
|
}> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.POLLING, import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {
|
|
5
6
|
folderId: import("@activepieces/pieces-framework").DropdownProperty<string, false, import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>> | import("@activepieces/pieces-framework").DropdownProperty<string, true, import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>>;
|
|
7
|
+
attachmentNameFilter: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
6
8
|
}> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.APP_WEBHOOK, import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {
|
|
7
9
|
folderId: import("@activepieces/pieces-framework").DropdownProperty<string, false, import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>> | import("@activepieces/pieces-framework").DropdownProperty<string, true, import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>>;
|
|
10
|
+
attachmentNameFilter: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
8
11
|
}>;
|
|
@@ -8,7 +8,7 @@ const dayjs_1 = tslib_1.__importDefault(require("dayjs"));
|
|
|
8
8
|
const auth_1 = require("../common/auth");
|
|
9
9
|
const props_1 = require("../common/props");
|
|
10
10
|
const shared_1 = require("@activepieces/shared");
|
|
11
|
-
function enrichAttachments(client, messages, files) {
|
|
11
|
+
function enrichAttachments(client, messages, files, nameFilter) {
|
|
12
12
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
13
13
|
const attachments = [];
|
|
14
14
|
for (const message of messages) {
|
|
@@ -17,6 +17,9 @@ function enrichAttachments(client, messages, files) {
|
|
|
17
17
|
.get();
|
|
18
18
|
for (const attachment of attachmentResponse.value) {
|
|
19
19
|
const { contentBytes } = attachment, rest = tslib_1.__rest(attachment, ["contentBytes"]);
|
|
20
|
+
if (nameFilter && attachment.name && !attachment.name.toLowerCase().includes(nameFilter.toLowerCase())) {
|
|
21
|
+
continue;
|
|
22
|
+
}
|
|
20
23
|
if (attachment.name && contentBytes) {
|
|
21
24
|
const file = yield files.write({
|
|
22
25
|
fileName: attachment.name,
|
|
@@ -40,6 +43,11 @@ exports.newAttachmentTrigger = (0, pieces_framework_1.createTrigger)({
|
|
|
40
43
|
description: 'Monitor attachments in a specific folder. Leave empty to monitor all folders.',
|
|
41
44
|
required: false,
|
|
42
45
|
}),
|
|
46
|
+
attachmentNameFilter: pieces_framework_1.Property.ShortText({
|
|
47
|
+
displayName: 'Attachment Name Filter',
|
|
48
|
+
description: 'Filter attachments by name (contains). Leave empty to include all attachments.',
|
|
49
|
+
required: false,
|
|
50
|
+
}),
|
|
43
51
|
},
|
|
44
52
|
sampleData: {},
|
|
45
53
|
type: pieces_framework_1.TriggerStrategy.POLLING,
|
|
@@ -55,7 +63,7 @@ exports.newAttachmentTrigger = (0, pieces_framework_1.createTrigger)({
|
|
|
55
63
|
},
|
|
56
64
|
test(context) {
|
|
57
65
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
58
|
-
const { folderId } = context.propsValue;
|
|
66
|
+
const { folderId, attachmentNameFilter } = context.propsValue;
|
|
59
67
|
const client = microsoft_graph_client_1.Client.initWithMiddleware({
|
|
60
68
|
authProvider: {
|
|
61
69
|
getAccessToken: () => Promise.resolve(context.auth.access_token),
|
|
@@ -66,7 +74,7 @@ exports.newAttachmentTrigger = (0, pieces_framework_1.createTrigger)({
|
|
|
66
74
|
.api(`${baseUrl}?$filter=hasAttachments eq true`)
|
|
67
75
|
.top(10)
|
|
68
76
|
.get();
|
|
69
|
-
const attachments = yield enrichAttachments(client, response.value, context.files);
|
|
77
|
+
const attachments = yield enrichAttachments(client, response.value, context.files, attachmentNameFilter);
|
|
70
78
|
const items = attachments.map((attachment) => ({
|
|
71
79
|
epochMilliSeconds: (0, dayjs_1.default)(attachment['messageReceivedDateTime']).valueOf(),
|
|
72
80
|
data: attachment,
|
|
@@ -80,7 +88,7 @@ exports.newAttachmentTrigger = (0, pieces_framework_1.createTrigger)({
|
|
|
80
88
|
if ((0, shared_1.isNil)(lastFetchEpochMS)) {
|
|
81
89
|
throw new Error("lastPoll doesn't exist in the store.");
|
|
82
90
|
}
|
|
83
|
-
const { folderId } = context.propsValue;
|
|
91
|
+
const { folderId, attachmentNameFilter } = context.propsValue;
|
|
84
92
|
const client = microsoft_graph_client_1.Client.initWithMiddleware({
|
|
85
93
|
authProvider: {
|
|
86
94
|
getAccessToken: () => Promise.resolve(context.auth.access_token),
|
|
@@ -101,7 +109,7 @@ exports.newAttachmentTrigger = (0, pieces_framework_1.createTrigger)({
|
|
|
101
109
|
break;
|
|
102
110
|
}
|
|
103
111
|
}
|
|
104
|
-
const attachments = yield enrichAttachments(client, messages, context.files);
|
|
112
|
+
const attachments = yield enrichAttachments(client, messages, context.files, attachmentNameFilter);
|
|
105
113
|
const items = attachments.map((attachment) => ({
|
|
106
114
|
epochMilliSeconds: (0, dayjs_1.default)(attachment['messageReceivedDateTime']).valueOf(),
|
|
107
115
|
data: attachment,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"new-attachment.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/microsoft-outlook/src/lib/triggers/new-attachment.ts"],"names":[],"mappings":";;;;AAAA,
|
|
1
|
+
{"version":3,"file":"new-attachment.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/microsoft-outlook/src/lib/triggers/new-attachment.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,11 @@
|
|
|
1
1
|
import { TriggerStrategy } from '@activepieces/pieces-framework';
|
|
2
|
-
export declare const newEmailTrigger: import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.WEBHOOK, import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {
|
|
2
|
+
export declare const newEmailTrigger: import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.WEBHOOK, import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {
|
|
3
|
+
sender: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
4
|
+
recipient: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
5
|
+
}> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.POLLING, import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {
|
|
6
|
+
sender: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
7
|
+
recipient: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
8
|
+
}> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.APP_WEBHOOK, import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {
|
|
9
|
+
sender: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
10
|
+
recipient: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
11
|
+
}>;
|
|
@@ -9,7 +9,7 @@ const dayjs_1 = tslib_1.__importDefault(require("dayjs"));
|
|
|
9
9
|
const auth_1 = require("../common/auth");
|
|
10
10
|
const polling = {
|
|
11
11
|
strategy: pieces_common_1.DedupeStrategy.TIMEBASED,
|
|
12
|
-
items: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth, lastFetchEpochMS }) {
|
|
12
|
+
items: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth, lastFetchEpochMS, propsValue }) {
|
|
13
13
|
const client = microsoft_graph_client_1.Client.initWithMiddleware({
|
|
14
14
|
authProvider: {
|
|
15
15
|
getAccessToken: () => Promise.resolve(auth.access_token),
|
|
@@ -41,7 +41,28 @@ const polling = {
|
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
|
-
|
|
44
|
+
let filteredMessages = messages;
|
|
45
|
+
if (propsValue === null || propsValue === void 0 ? void 0 : propsValue.sender) {
|
|
46
|
+
filteredMessages = filteredMessages.filter((message) => {
|
|
47
|
+
var _a, _b, _c, _d;
|
|
48
|
+
const messageSenderEmail = (_c = (_b = (_a = message.from) === null || _a === void 0 ? void 0 : _a.emailAddress) === null || _b === void 0 ? void 0 : _b.address) === null || _c === void 0 ? void 0 : _c.toLowerCase();
|
|
49
|
+
const filterSenderEmail = (_d = propsValue.sender) === null || _d === void 0 ? void 0 : _d.toLowerCase();
|
|
50
|
+
return messageSenderEmail === filterSenderEmail;
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
if (propsValue === null || propsValue === void 0 ? void 0 : propsValue.recipient) {
|
|
54
|
+
filteredMessages = filteredMessages.filter((message) => {
|
|
55
|
+
var _a;
|
|
56
|
+
const hasRecipient = (_a = message.toRecipients) === null || _a === void 0 ? void 0 : _a.some((recipient) => {
|
|
57
|
+
var _a, _b, _c;
|
|
58
|
+
const recipientEmail = (_b = (_a = recipient.emailAddress) === null || _a === void 0 ? void 0 : _a.address) === null || _b === void 0 ? void 0 : _b.toLowerCase();
|
|
59
|
+
const filterRecipientEmail = (_c = propsValue.recipient) === null || _c === void 0 ? void 0 : _c.toLowerCase();
|
|
60
|
+
return recipientEmail === filterRecipientEmail;
|
|
61
|
+
});
|
|
62
|
+
return hasRecipient;
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
return filteredMessages.map((message) => ({
|
|
45
66
|
epochMilliSeconds: (0, dayjs_1.default)(message.receivedDateTime).valueOf(),
|
|
46
67
|
data: message,
|
|
47
68
|
}));
|
|
@@ -52,7 +73,18 @@ exports.newEmailTrigger = (0, pieces_framework_1.createTrigger)({
|
|
|
52
73
|
name: 'newEmail',
|
|
53
74
|
displayName: 'New Email',
|
|
54
75
|
description: 'Triggers when a new email is received in the inbox.',
|
|
55
|
-
props: {
|
|
76
|
+
props: {
|
|
77
|
+
sender: pieces_framework_1.Property.ShortText({
|
|
78
|
+
displayName: 'From (Sender Email)',
|
|
79
|
+
description: 'Filter emails from a specific sender (optional). Leave empty to for all senders.',
|
|
80
|
+
required: false,
|
|
81
|
+
}),
|
|
82
|
+
recipient: pieces_framework_1.Property.ShortText({
|
|
83
|
+
displayName: 'To (Recipient Email)',
|
|
84
|
+
description: 'Filter emails to a specific recipient (optional). Leave empty to for all recipients.',
|
|
85
|
+
required: false,
|
|
86
|
+
}),
|
|
87
|
+
},
|
|
56
88
|
sampleData: {},
|
|
57
89
|
type: pieces_framework_1.TriggerStrategy.POLLING,
|
|
58
90
|
onEnable(context) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"new-email.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/microsoft-outlook/src/lib/triggers/new-email.ts"],"names":[],"mappings":";;;;AAAA,+DAAqF;AACrF,qEAKwC;AACxC,8EAA2E;AAE3E,0DAA0B;AAC1B,yCAAsD;AAEtD,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"new-email.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/microsoft-outlook/src/lib/triggers/new-email.ts"],"names":[],"mappings":"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"}
|