diff --git a/packages/app-store/hubspot/lib/CrmService.ts b/packages/app-store/hubspot/lib/CrmService.ts index 92b1168271..e94849f34d 100644 --- a/packages/app-store/hubspot/lib/CrmService.ts +++ b/packages/app-store/hubspot/lib/CrmService.ts @@ -21,10 +21,6 @@ import getAppKeysFromSlug from "../../_utils/getAppKeysFromSlug"; import refreshOAuthTokens from "../../_utils/oauth/refreshOAuthTokens"; import type { HubspotToken } from "../api/callback"; -interface CustomPublicObjectInput extends SimplePublicObjectInput { - id?: string; -} - export default class HubspotCalendarService implements CRM { private url = ""; private integrationName = ""; @@ -117,8 +113,14 @@ export default class HubspotCalendarService implements CRM { return this.hubspotClient.crm.objects.meetings.basicApi.update(uid, simplePublicObjectInput); }; - private hubspotDeleteMeeting = async (uid: string) => { - return this.hubspotClient.crm.objects.meetings.basicApi.archive(uid); + private hubspotCancelMeeting = async (uid: string) => { + const simplePublicObjectInput: SimplePublicObjectInput = { + properties: { + hs_meeting_outcome: "CANCELED", + }, + }; + + return this.hubspotClient.crm.objects.meetings.basicApi.update(uid, simplePublicObjectInput); }; private hubspotAuth = async (credential: CredentialPayload) => { @@ -204,7 +206,6 @@ export default class HubspotCalendarService implements CRM { return await this.handleMeetingCreation(event, contacts); } - // eslint-disable-next-line @typescript-eslint/no-explicit-any async updateEvent(uid: string, event: CalendarEvent): Promise { const auth = await this.auth; await auth.getToken(); @@ -214,7 +215,7 @@ export default class HubspotCalendarService implements CRM { async deleteEvent(uid: string): Promise { const auth = await this.auth; await auth.getToken(); - return await this.hubspotDeleteMeeting(uid); + await this.hubspotCancelMeeting(uid); } async getContacts({ emails }: { emails: string | string[] }): Promise {