@activepieces/piece-microsoft-outlook 0.2.0 → 0.2.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/package.json +3 -2
- package/src/i18n/translation.json +6 -1
- package/src/index.js +1 -1
- package/src/index.js.map +1 -1
- package/src/lib/triggers/new-attachment.d.ts +6 -0
- package/src/lib/triggers/new-attachment.js +22 -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.2",
|
|
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",
|
package/src/index.js
CHANGED
|
@@ -25,7 +25,7 @@ exports.microsoftOutlook = (0, pieces_framework_1.createPiece)({
|
|
|
25
25
|
minimumSupportedRelease: '0.36.1',
|
|
26
26
|
logoUrl: 'https://cdn.activepieces.com/pieces/microsoft-outlook.jpg',
|
|
27
27
|
categories: [shared_1.PieceCategory.PRODUCTIVITY],
|
|
28
|
-
authors: ['lucaslimasouza', 'kishanprmr'],
|
|
28
|
+
authors: ['lucaslimasouza', 'kishanprmr', 'sanket-a11y'],
|
|
29
29
|
actions: [
|
|
30
30
|
send_email_1.sendEmailAction,
|
|
31
31
|
download_email_attachment_1.downloadAttachmentAction,
|
package/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/pieces/community/microsoft-outlook/src/index.ts"],"names":[],"mappings":";;;;AAAA,+DAAwE;AACxE,qEAAkF;AAClF,iDAAqD;AACrD,yEAAyE;AACzE,yEAA0E;AAC1E,uFAAmF;AACnF,yDAA2D;AAC3D,+DAAiE;AACjE,6EAA6E;AAC7E,mFAAmF;AACnF,2DAA6D;AAC7D,qEAAsE;AACtE,yDAA2D;AAC3D,4CAAyD;AACzD,kEAAqE;AACrE,4EAA6E;AAC7E,wDAA2D;AAE9C,QAAA,gBAAgB,GAAG,IAAA,8BAAW,EAAC;IAC3C,WAAW,EAAE,mBAAmB;IAChC,IAAI,EAAE,2BAAoB;IAC1B,uBAAuB,EAAE,QAAQ;IACjC,OAAO,EAAE,2DAA2D;IACpE,UAAU,EAAE,CAAC,sBAAa,CAAC,YAAY,CAAC;IACxC,OAAO,EAAE,CAAC,gBAAgB,EAAE,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/pieces/community/microsoft-outlook/src/index.ts"],"names":[],"mappings":";;;;AAAA,+DAAwE;AACxE,qEAAkF;AAClF,iDAAqD;AACrD,yEAAyE;AACzE,yEAA0E;AAC1E,uFAAmF;AACnF,yDAA2D;AAC3D,+DAAiE;AACjE,6EAA6E;AAC7E,mFAAmF;AACnF,2DAA6D;AAC7D,qEAAsE;AACtE,yDAA2D;AAC3D,4CAAyD;AACzD,kEAAqE;AACrE,4EAA6E;AAC7E,wDAA2D;AAE9C,QAAA,gBAAgB,GAAG,IAAA,8BAAW,EAAC;IAC3C,WAAW,EAAE,mBAAmB;IAChC,IAAI,EAAE,2BAAoB;IAC1B,uBAAuB,EAAE,QAAQ;IACjC,OAAO,EAAE,2DAA2D;IACpE,UAAU,EAAE,CAAC,sBAAa,CAAC,YAAY,CAAC;IACxC,OAAO,EAAE,CAAC,gBAAgB,EAAE,YAAY,EAAC,aAAa,CAAC;IACvD,OAAO,EAAE;QACR,4BAAe;QACf,oDAAwB;QACxB,8BAAgB;QAChB,2CAAsB;QACtB,0CAAqB;QACrB,oDAA0B;QAC1B,8CAAuB;QACvB,uCAAoB;QACpB,kCAAkB;QAClB,4BAAe;QACf,IAAA,yCAAyB,EAAC;YACzB,IAAI,EAAE,2BAAoB;YAC1B,OAAO,EAAE,GAAG,EAAE,CAAC,mCAAmC;YAClD,WAAW,EAAE,CAAO,IAAI,EAAE,EAAE;gBAAC,OAAA,CAAC;oBAC7B,aAAa,EAAE,UAAW,IAA4B,CAAC,YAAY,EAAE;iBACrE,CAAC,CAAA;cAAA;SACF,CAAC;KACF;IACD,QAAQ,EAAE;QACT,2BAAe;QACf,6CAAuB;QACvB,qCAAoB;KACpB;CACD,CAAC,CAAC"}
|
|
@@ -1,8 +1,14 @@
|
|
|
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
|
+
sender: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
5
|
+
attachmentNameFilter: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
4
6
|
}> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.POLLING, import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {
|
|
5
7
|
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>>;
|
|
8
|
+
sender: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
9
|
+
attachmentNameFilter: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
6
10
|
}> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.APP_WEBHOOK, import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {
|
|
7
11
|
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>>;
|
|
12
|
+
sender: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
13
|
+
attachmentNameFilter: import("@activepieces/pieces-framework").ShortTextProperty<false>;
|
|
8
14
|
}>;
|
|
@@ -8,15 +8,22 @@ 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, senderFilter) {
|
|
12
12
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
13
|
+
var _a, _b;
|
|
13
14
|
const attachments = [];
|
|
14
15
|
for (const message of messages) {
|
|
16
|
+
if (senderFilter && ((_b = (_a = message.sender) === null || _a === void 0 ? void 0 : _a.emailAddress) === null || _b === void 0 ? void 0 : _b.address) && !message.sender.emailAddress.address.toLowerCase().includes(senderFilter.toLowerCase())) {
|
|
17
|
+
continue;
|
|
18
|
+
}
|
|
15
19
|
const attachmentResponse = yield client
|
|
16
20
|
.api(`/me/messages/${message.id}/attachments`)
|
|
17
21
|
.get();
|
|
18
22
|
for (const attachment of attachmentResponse.value) {
|
|
19
23
|
const { contentBytes } = attachment, rest = tslib_1.__rest(attachment, ["contentBytes"]);
|
|
24
|
+
if (nameFilter && attachment.name && !attachment.name.toLowerCase().includes(nameFilter.toLowerCase())) {
|
|
25
|
+
continue;
|
|
26
|
+
}
|
|
20
27
|
if (attachment.name && contentBytes) {
|
|
21
28
|
const file = yield files.write({
|
|
22
29
|
fileName: attachment.name,
|
|
@@ -40,6 +47,16 @@ exports.newAttachmentTrigger = (0, pieces_framework_1.createTrigger)({
|
|
|
40
47
|
description: 'Monitor attachments in a specific folder. Leave empty to monitor all folders.',
|
|
41
48
|
required: false,
|
|
42
49
|
}),
|
|
50
|
+
sender: pieces_framework_1.Property.ShortText({
|
|
51
|
+
displayName: 'From (Sender Email)',
|
|
52
|
+
description: 'Filter emails from a specific sender (optional). Leave empty to for all senders.',
|
|
53
|
+
required: false,
|
|
54
|
+
}),
|
|
55
|
+
attachmentNameFilter: pieces_framework_1.Property.ShortText({
|
|
56
|
+
displayName: 'Attachment Name Filter',
|
|
57
|
+
description: 'Filter attachments by name (contains). Leave empty to include all attachments.',
|
|
58
|
+
required: false,
|
|
59
|
+
}),
|
|
43
60
|
},
|
|
44
61
|
sampleData: {},
|
|
45
62
|
type: pieces_framework_1.TriggerStrategy.POLLING,
|
|
@@ -55,7 +72,7 @@ exports.newAttachmentTrigger = (0, pieces_framework_1.createTrigger)({
|
|
|
55
72
|
},
|
|
56
73
|
test(context) {
|
|
57
74
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
58
|
-
const { folderId } = context.propsValue;
|
|
75
|
+
const { folderId, attachmentNameFilter, sender } = context.propsValue;
|
|
59
76
|
const client = microsoft_graph_client_1.Client.initWithMiddleware({
|
|
60
77
|
authProvider: {
|
|
61
78
|
getAccessToken: () => Promise.resolve(context.auth.access_token),
|
|
@@ -66,7 +83,7 @@ exports.newAttachmentTrigger = (0, pieces_framework_1.createTrigger)({
|
|
|
66
83
|
.api(`${baseUrl}?$filter=hasAttachments eq true`)
|
|
67
84
|
.top(10)
|
|
68
85
|
.get();
|
|
69
|
-
const attachments = yield enrichAttachments(client, response.value, context.files);
|
|
86
|
+
const attachments = yield enrichAttachments(client, response.value, context.files, attachmentNameFilter, sender);
|
|
70
87
|
const items = attachments.map((attachment) => ({
|
|
71
88
|
epochMilliSeconds: (0, dayjs_1.default)(attachment['messageReceivedDateTime']).valueOf(),
|
|
72
89
|
data: attachment,
|
|
@@ -80,7 +97,7 @@ exports.newAttachmentTrigger = (0, pieces_framework_1.createTrigger)({
|
|
|
80
97
|
if ((0, shared_1.isNil)(lastFetchEpochMS)) {
|
|
81
98
|
throw new Error("lastPoll doesn't exist in the store.");
|
|
82
99
|
}
|
|
83
|
-
const { folderId } = context.propsValue;
|
|
100
|
+
const { folderId, attachmentNameFilter, sender } = context.propsValue;
|
|
84
101
|
const client = microsoft_graph_client_1.Client.initWithMiddleware({
|
|
85
102
|
authProvider: {
|
|
86
103
|
getAccessToken: () => Promise.resolve(context.auth.access_token),
|
|
@@ -101,7 +118,7 @@ exports.newAttachmentTrigger = (0, pieces_framework_1.createTrigger)({
|
|
|
101
118
|
break;
|
|
102
119
|
}
|
|
103
120
|
}
|
|
104
|
-
const attachments = yield enrichAttachments(client, messages, context.files);
|
|
121
|
+
const attachments = yield enrichAttachments(client, messages, context.files, attachmentNameFilter, sender);
|
|
105
122
|
const items = attachments.map((attachment) => ({
|
|
106
123
|
epochMilliSeconds: (0, dayjs_1.default)(attachment['messageReceivedDateTime']).valueOf(),
|
|
107
124
|
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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"}
|