diff --git a/components/gmail/actions/find-email/find-email.mjs b/components/gmail/actions/find-email/find-email.mjs index 56953ef00e71e..9d14e68dd4898 100644 --- a/components/gmail/actions/find-email/find-email.mjs +++ b/components/gmail/actions/find-email/find-email.mjs @@ -6,7 +6,7 @@ export default { key: "gmail-find-email", name: "Find Email", description: "Find an email using Google's Search Engine. [See the docs](https://developers.google.com/gmail/api/reference/rest/v1/users.messages/list)", - version: "0.1.1", + version: "0.1.2", type: "action", props: { gmail, @@ -64,28 +64,52 @@ export default { (h) => h.name.toLowerCase() === "message-id", ); if (messageIdHeader) { - message.message_id = messageIdHeader.value; + message.message_id = messageIdHeader.value.replace(/[<>]/g, ""); } - if (message.payload?.body?.data && !Array.isArray(message.payload.parts)) { - const decodedBody = utils.decodeBase64Url(message.payload.body.data); - if (this.withTextPayload) { + if (message.internalDate) { + message.date = new Date(parseInt(message.internalDate)).toISOString(); + } + + const senderHeader = message.payload?.headers?.find( + (h) => h.name.toLowerCase() === "from", + ); + if (senderHeader) { + message.sender = senderHeader.value; + } + + const recipientHeader = message.payload?.headers?.find( + (h) => h.name.toLowerCase() === "to", + ); + if (recipientHeader) { + message.recipient = recipientHeader.value; + } + + const subjectHeader = message.payload?.headers?.find( + (h) => h.name.toLowerCase() === "subject", + ); + if (subjectHeader) { + message.subject = subjectHeader.value; + } + + if (this.withTextPayload) { + if (message.payload?.body?.data && !Array.isArray(message.payload.parts)) { + const decodedBody = utils.decodeBase64Url(message.payload.body.data); newPayload += convert(decodedBody); - } else { - message.payload.body.text = decodedBody; } - } - if (Array.isArray(message.payload?.parts)) { - if (this.withTextPayload) { + if (Array.isArray(message.payload?.parts)) { newPayload += utils.extractTextFromParts(message.payload.parts); - } else { - utils.attachTextToParts(message.payload.parts); } - } - if (this.withTextPayload) { message.payload = newPayload; + } else { + if (message.payload?.body?.data && !Array.isArray(message.payload.parts)) { + message.payload.body.text = utils.decodeBase64Url(message.payload.body.data); + } + if (Array.isArray(message.payload?.parts)) { + utils.attachTextToParts(message.payload.parts); + } } } diff --git a/components/gmail/package.json b/components/gmail/package.json index 4f373ff79acd9..ac1318479a149 100644 --- a/components/gmail/package.json +++ b/components/gmail/package.json @@ -1,6 +1,6 @@ { "name": "@pipedream/gmail", - "version": "0.3.4", + "version": "0.3.5", "description": "Pipedream Gmail Components", "main": "gmail.app.mjs", "keywords": [