feat: Salesforce choose how to save attendees & other options (#17009)

* Refactor get SF user and create event

* Add new Salesforce options

* Pass app options to CrmService

* Add record enum

* Add creating new lead and contact under an account

* Handle if the contact already exists but not connected to account

* Create a lead if an account doesn't exist

* Merge fix

* Refactor - add generateCreateRecordBody

* Type fix

* Clean up

* Add getAppOptions to other CRM services

* Type fixes

* Fix typo

* feat: Salesforce round robin skip - choose which entity to search on (#17038)

* Add option to search which entity for the owner

* Add logic to search entity for skipping RR assignment

* Type fixes

* Disable license

* Skip license check in component

* Revert license changes

---------

Co-authored-by: Udit Takkar <53316345+Udit-takkar@users.noreply.github.com>
This commit is contained in:
Joe Au-Yeung
2024-10-12 10:02:27 +00:00
committed by GitHub
co-authored by Udit Takkar
parent 47b9e8a8ac
commit b1d9e2b84c
15 changed files with 406 additions and 96 deletions
@@ -78,8 +78,8 @@ export default class PipedriveCrmService implements CRM {
return results.map((result) => result.result);
}
async getContacts(email: string | string[]): Promise<Contact[]> {
const emailArray = Array.isArray(email) ? email : [email];
async getContacts({ emails }: { emails: string | string[] }): Promise<Contact[]> {
const emailArray = Array.isArray(emails) ? emails : [emails];
const result = emailArray.map(async (attendeeEmail) => {
const headers = new Headers();
@@ -230,4 +230,8 @@ export default class PipedriveCrmService implements CRM {
async listCalendars(_event?: CalendarEvent): Promise<IntegrationCalendar[]> {
return Promise.resolve([]);
}
getAppOptions() {
console.log("No options implemented");
}
}