From 700f0aeb35fe42afaf0cd5463c1a4914a6c0bc42 Mon Sep 17 00:00:00 2001 From: Joe Au-Yeung <65426560+joeauyeung@users.noreply.github.com> Date: Tue, 22 Oct 2024 15:36:39 -0400 Subject: [PATCH] fix: Salesforce - Check for existing lead when "Account" is set (#17254) --- packages/app-store/salesforce/lib/CrmService.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/packages/app-store/salesforce/lib/CrmService.ts b/packages/app-store/salesforce/lib/CrmService.ts index 034838ee97..17df3151bc 100644 --- a/packages/app-store/salesforce/lib/CrmService.ts +++ b/packages/app-store/salesforce/lib/CrmService.ts @@ -419,6 +419,13 @@ export default class SalesforceCRMService implements CRM { } if (appOptions.createLeadIfAccountNull) { + // Check to see if the lead exists already + const leadQuery = await conn.query(`SELECT Id, Email FROM Lead WHERE Email = '${attendee.email}'`); + if (leadQuery.records.length) { + const contact = leadQuery.records[0] as { Id: string; Email: string }; + return [{ id: contact.Id, email: contact.Email }]; + } + await Promise.all( contactsToCreate.map(async (attendee) => { return await conn