diff --git a/packages/app-store/hubspot/lib/CrmService.ts b/packages/app-store/hubspot/lib/CrmService.ts index 56ed0b5da4..269346155b 100644 --- a/packages/app-store/hubspot/lib/CrmService.ts +++ b/packages/app-store/hubspot/lib/CrmService.ts @@ -560,12 +560,18 @@ class HubspotCalendarService implements CRM { const simplePublicObjectInputs = contactsToCreate.map((attendee) => { const [firstname, lastname] = attendee.name ? attendee.name.split(" ") : [attendee.email, ""]; + const properties: Record = { + firstname, + lastname, + email: attendee.email, + }; + + if (attendee.phone) { + properties.phone = attendee.phone; + } + return { - properties: { - firstname, - lastname, - email: attendee.email, - }, + properties, }; }); const createdContacts = await Promise.all( diff --git a/packages/features/crmManager/crmManager.ts b/packages/features/crmManager/crmManager.ts index 69aed5e526..8c95fa847a 100644 --- a/packages/features/crmManager/crmManager.ts +++ b/packages/features/crmManager/crmManager.ts @@ -40,8 +40,14 @@ export default class CrmManager { if (skipContactCreation) return; const contactSet = new Set(contacts.map((c: { email: string }) => c.email)); - // Figure out which contacts to create - const contactsToCreate = eventAttendees.filter((attendee) => !contactSet.has(attendee.email)); + // Figure out which contacts to create and map phoneNumber to phone + const contactsToCreate: ContactCreateInput[] = eventAttendees + .filter((attendee) => !contactSet.has(attendee.email)) + .map((attendee) => ({ + email: attendee.email, + name: attendee.name, + phone: attendee.phoneNumber ?? undefined, + })); const createdContacts = await this.createContacts( contactsToCreate, event.organizer?.email, diff --git a/packages/types/CrmService.d.ts b/packages/types/CrmService.d.ts index 49d006307b..86b5dbcbc6 100644 --- a/packages/types/CrmService.d.ts +++ b/packages/types/CrmService.d.ts @@ -11,6 +11,7 @@ export interface CrmData { export interface ContactCreateInput { email: string; name: string; + phone?: string | null; } export interface Contact {