diff --git a/packages/twenty-front/src/modules/activities/emails/right-drawer/components/RightDrawerEmailThread.tsx b/packages/twenty-front/src/modules/activities/emails/right-drawer/components/RightDrawerEmailThread.tsx index 92b3fdc7e..dcba48a72 100644 --- a/packages/twenty-front/src/modules/activities/emails/right-drawer/components/RightDrawerEmailThread.tsx +++ b/packages/twenty-front/src/modules/activities/emails/right-drawer/components/RightDrawerEmailThread.tsx @@ -55,6 +55,7 @@ export const RightDrawerEmailThread = () => { connectedAccountHandle, messageChannelLoading, connectedAccountProvider, + lastMessageExternalId, } = useRightDrawerEmailThread(); useEffect(() => { @@ -117,7 +118,7 @@ export const RightDrawerEmailThread = () => { let url: string; switch (connectedAccountProvider) { case ConnectedAccountProvider.MICROSOFT: - url = `https://outlook.office365.com/mail/inbox/id/${messageThreadExternalId}`; + url = `https://outlook.office.com/mail/deeplink?ItemID=${lastMessageExternalId}`; window.open(url, '_blank'); break; case ConnectedAccountProvider.GOOGLE: diff --git a/packages/twenty-front/src/modules/activities/emails/right-drawer/hooks/useRightDrawerEmailThread.ts b/packages/twenty-front/src/modules/activities/emails/right-drawer/hooks/useRightDrawerEmailThread.ts index 705dfc8f6..d41c54cb3 100644 --- a/packages/twenty-front/src/modules/activities/emails/right-drawer/hooks/useRightDrawerEmailThread.ts +++ b/packages/twenty-front/src/modules/activities/emails/right-drawer/hooks/useRightDrawerEmailThread.ts @@ -109,6 +109,7 @@ export const useRightDrawerEmailThread = () => { messageId: true, messageChannelId: true, messageThreadExternalId: true, + messageExternalId: true, }, skip: !lastMessageId || !isMessagesFetchComplete, }); @@ -144,6 +145,10 @@ export const useRightDrawerEmailThread = () => { messageChannelMessageAssociationData.length > 0 ? messageChannelMessageAssociationData[0].messageThreadExternalId : null; + const lastMessageExternalId = + messageChannelMessageAssociationData.length > 0 + ? messageChannelMessageAssociationData[0].messageExternalId + : null; const connectedAccountHandle = messageChannelData.length > 0 ? messageChannelData[0].handle : null; @@ -175,6 +180,7 @@ export const useRightDrawerEmailThread = () => { connectedAccountProvider, threadLoading: messagesLoading, messageChannelLoading, + lastMessageExternalId, fetchMoreMessages, }; }; diff --git a/packages/twenty-front/src/modules/activities/emails/types/MessageChannelMessageAssociation.ts b/packages/twenty-front/src/modules/activities/emails/types/MessageChannelMessageAssociation.ts index ef0bfb1b6..c2a35c22f 100644 --- a/packages/twenty-front/src/modules/activities/emails/types/MessageChannelMessageAssociation.ts +++ b/packages/twenty-front/src/modules/activities/emails/types/MessageChannelMessageAssociation.ts @@ -4,4 +4,5 @@ export type MessageChannelMessageAssociation = { messageId: string; messageChannelId: string; messageThreadExternalId: string; + messageExternalId: string; };