* Add logging to `companyFieldName`
* Add logging to `getTextValueFromRoutingFormResponse`
* Add logging around unhandled field type
* Remove extra bracket
* Type app options
* Refactor `writeToPersonRecord` to `writeToRecord`
* Abstract writing to salesforce record options component
* Add option to write to event object on cancellation
* Add on booking cancel write to event object to schema
* Refactor writing to record on booking option to use `<WriteToObjectSettings />`
* Pass event object to crm delete method
* When cancelling booking write to event object
- App data isn't being read
* V1 pass app data to crm service
* Undo .env commit
* Fix passing event to cancel crm cancel event method
* Pass event type metadata to `EventManager` in `handleCancelBooking`
* Handle writing to event record
* Type fix
* Add checkbox field type
* Handle accepting booleans under value field when saving writing to field settings
* UI saving settings to write to checkbox field
* Prepare update body to pass boolean value to checkbox field
* Type fixes
* Type fix
* Add picklist to `SalesforceFieldType` enum
* Add picklist value to Salesforce settings
* Add `getPicklistFieldValue` method
* Find picklist option based on active and value
* Remove unused param
* Add log when no contacts are created
* Replace console.log with logger
* Add logging around `buildRecordUpdatePayload`
* Add details if field isn't being caught
* Revert change
* Type fixes
---------
Co-authored-by: Keith Williams <keithwillcode@gmail.com>
* incompleteBooking only search for leads if contact is not found
* Fix logic
* Abstract to functions
---------
Co-authored-by: Udit Takkar <53316345+Udit-takkar@users.noreply.github.com>
* perf: Avoid leading wildcard for Salesforce
* use limit of 1 since we need 1 record
* use LOWER to check exact website match
* Revert the usage of LOWER since we need wider searches
* Add limits to queries
* Update packages/app-store/salesforce/lib/CrmService.ts
* Remove unneeded LIMIT statements
* Update packages/app-store/salesforce/lib/CrmService.ts
* Apply suggestions from code review
* Update packages/app-store/salesforce/lib/CrmService.ts
---------
Co-authored-by: Joe Au-Yeung <j.auyeung419@gmail.com>
* Allow user to select custom field type
* Get field value and write to field - ignoring field type
* Only validate field length if present
---------
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* Add booking incomplete actions table
* Add incomplete booking page tab
* Add `getincompleteBookingSettings` trpc endpoints
* Add incomplete booking page
* Abstract enabled apps array
* Handle no enabled credentials and no actions
* Add enabled field to incomplete booking action db record
* Add new write record entries
* UI add separation between switch and inputs
* Fix typo
* clean up
* Add saveIncompleteBookingSettings endpoint
* Save incomplete booking settings
* Fix language around when to write to field
* Add `credentialId` to action record
* Choose which credential to assign to action
* Save credential to action
* Revert "Save credential to action"
This reverts commit ba6a1c808baed54f6d3d4c6155cf192c813d0696.
* Revert "Choose which credential to assign to action"
This reverts commit 968f6e5295d098c64abe95268afd1fa139a175ba.
* Revert "Add `credentialId` to action record"
This reverts commit 579f9ff4167b65aa987659e4e8f8c26f9e773317.
* Add credentialId to action record - rewrite migration file
* Revert "Add credentialId to action record - rewrite migration file"
This reverts commit 2843a92c61820e7f7a1614a557d3f7ea96342107.
* Revert "Add booking incomplete actions table"
This reverts commit 7ec75bef4a0f0a9d07be0142da64c49d739439ea.
* Revert "Add enabled field to incomplete booking action db record"
This reverts commit d279a1da05819eafa8fc5d664e3be733e0687e8d.
* Write migration in single commit
* Rename table
* Rename table - remove underscores
* Remove credential relationship
* Type fix - changing table name
* Fix table name
* Change writeToRecordObject to object
* Salesforce add incomplete booking, write to record
* Add incomplete booking actions to `triggerFormSubmittedNoEventWebhooks`
* Remove console.log
* Type fixes
* Type fixes
* Iterate if incompleteBookingActions
* Choose which credential to assign to action
* Save credential to action
* Fix getServerSideProp changes
* Type fix
* Type fix
* Type fix
* Type fix
---------
Co-authored-by: Alex van Andel <me@alexvanandel.com>
* Add email domain array
* Create numbered email domain object
* Check email domain
* Rename function
* Add tests
* Frontend enable skip ownership check if free email domain
* Backend ignore adding ownership to return records if free email domain check is enabled
* feat: Only require confirmation for free email domains (#17917)
* Add requiresConfirmationForFreeEmail to db
* Add option to event type settings
* Get requiresConfirmationForFreeEmail for event type page
* Include requiresConfirmationForFreeEmail in fetching event type
* Pass bookerEmail to `getRequiresConfirmationFlags`
* Add free email domain check to `determineRequiresConfirmation`
* Add `requiresConfirmationForFreeEmail` to types
* Add severity to Watchlist table
* Add migration for watchlist severity
* Add `getEmailDomainInWatchlist` method to watchlist repository
* Use watchlist repository to check for free email domain
* Mock watchlist repository in test
* Update test
* Rename method
* Add severity to blocked list
* Move check free email domain to async
* Type checks
* Adjust for promise returned
* Fix tests
* Fix
* Fix tests
* Catch undefined app option properties
* Add `getCompanyNameFromBookingResponse` method
* Pass bookingResponse when Lead is being created
* Pass bookingResponse from CRMManager
* Handle empty company response
* Return the company value