* Remove title and subtitle from ICS calendar description
* Remove unused method
* Use generateIcsString function for workflows
* Type fixes
* Refactor typing of CalEventParser
* WIP
* Type fixes
* Fix test
* Fix tests
* type fixes
* Remove duplicate code before `scheduleEmailReminder`
* add org to create workflow button
* add save button for testing in dev mode
* add select all to multi select dropdown
* fix select all
* pass isOrg to WorkflowDetailsPage
* add checkbox to apply to all including future
* fix count text on select
* WIP schema
* shows teams in dropdown
* add team option to UI
* [WIP] refactor for update handler
* filter out "all" from activeOn
* fix type error
* create more helper functions
* create reusable function for scheduling all booking reminders
* finish update workflows for orgs (without testing)
* fix isAuthorized check for orgs
* fix getting newActiveOn
* move all helper functions to util file
* more code clean up
* fix deleting reminders for org workflows
* fix adding and editing steps
* update form data when workflow is saved
* code clean up
* fixing creating/deleting reminders when user is member of several teams
* fix setting activeOn for teams in useffect
* add on delete cascade
* make multiSelectSchenbox searchable
* set activeOn correctly when checkbox true
* WIP
* fix type errors in MultiSelectCheckboxes
* implemented scheduling org-wide workfow notifications (not yet tested)
* fix type errors
* type error
* add missing changes from merge conflict
* remote not needed include statement
* fix type errors
* code clean up + some todo comments
* support org workflows for cancelled workflows
* delete reminders from removed members
* remove reminders if isActiveOnAll is turned off
* fix unti test and type error
* code clean up
* create basis for testing to book org team event
* create org workflow with active team
* fix getting active org workflows on team + test setup
* fix creating workflow step for tests
* fix first org test
* add test for user event type with org workflow active
* use deleteAllWorkflowReminders everywhere
* add test for deleteRemindersFromRemovedActiveOn
* fix type errors
* make all tests pass
* fix type error
* fix getSchedule test
* code clean up
* add missing import
* fix type error
* fix tests
* code clean up
* fix imports
* update reminders when trigger was changed
* check for teamId before userId in reminderScheduler
* move getOrgIdFromMemberOrTeamId to different folder
* code clean up
* fix tests
* test setup for scheduleBookingReminders
* fix typo
* add tests for scheduleBookingReminders
* fix prisma default import
* fix workflowStep type
* add scheduleBookingReminders test for sms
* return dummy sid for scheduleSMS testMode
* clean up + fixes
* add lost changes from merge
* get teamId and userId from incoming evt object
* removing not needed select
* add org support for scheduleMandatory email reminder
* add other teams to dropdown
* move getAllWorkflows to seperate file and call it in parent function
* include org wide workflows in createNewSeat
* some fixes + code clean up
* add new team to select text count when including future teams is checked
* fix upsert and remove sms reminder field
* correctly update activeOn if 'including future ...' is enabled
* list active Org workflows in event workflows settings
* fix sms reminder field in all handlers
* add helper function to check if step was edited
* fix active on badge on workflow
* fix type error
* fix double reminders
* add teamId: null for userWorkflow query
* fix activeOnAll with managed event types
* add missing teamId in getAllWorkflows
* add a dafaut to prisma param
* fix managed event types on select all user workflows
* code clean up
* better variable name
* small fixes in update handler
* fix test name to match function name
* add info badge
* fix workflow count in event type settings
* fix getting bookings from children manged event types
* delete reminders when user is not part of any time no more
* implement feedback
* fix disbale workflow in event type settings
* fix remove member
* create new function getAllWorkflowsFromEventType
* add some removed code
* use promise.allSettled when deleting workflow reminders
* create new function deleteWorkflowRemindersOfRemovedMember.ts
* fix userId param
* delete org worklfows when team is disbanded
* don't trigger active on all workflow if not part of any team
* fix active on count badge
* add test for deleteWorkflowRemidnersOfRemovedMember
* trigger workflow also if not member of any subteam
* fix failing test
* remove unused code
* use testId for go back button
* fixes for managed event types & activateEventTypeHandler
* code clean up
* don't activate workflow on locked managed event type
* fix type error
* type error
* more type fixes
* feedback
---------
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
Co-authored-by: Hariom Balhara <hariombalhara@gmail.com>
Co-authored-by: Keith Williams <keithwillcode@gmail.com>
Co-authored-by: Udit Takkar <53316345+Udit-takkar@users.noreply.github.com>
* feat: Workflow — Send Email to Specific Email
* disable button when verifyEmail pending
* add verified emails table and routes
* fix: include teamId in verifyEmailCode
* fix: include email address in activate handler
* fix: check team before adding email
* feat: check verified email, add to team if only users
* remove logs
* fix: if statement
Co-authored-by: Carina Wollendorfer <30310907+CarinaWolli@users.noreply.github.com>
* change email to verify your email
* fix: show error if saving unverified email
* fix: show email in subject
* verify email when editing steps
* remove double calls from same block
* verify email when creating new step
---------
Co-authored-by: v0ltZzie <161201747+v0ltZzie@users.noreply.github.com>
Co-authored-by: Carina Wollendorfer <30310907+CarinaWolli@users.noreply.github.com>
* add reschedule link if event if type team
* fix type errors
* fix type errors
* change team.name to team.slug
* fix type_errors
* fix type-errors
* fix type-errors
* fetch team from db
* make rescheduleLink dynamic (temp_changes)
* fix type-error
* add org support
* fix type errors
* remove old org code
* use /reschedule/uid instead
* remove not needed changes
* implement feedback
* code clean up
---------
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
Co-authored-by: Carina Wollendorfer <30310907+CarinaWolli@users.noreply.github.com>
Co-authored-by: Udit Takkar <53316345+Udit-takkar@users.noreply.github.com>
* Fix calendar event included in the workflow, doesn't show the meeting link
* Fix type error
* fix public video call url
---------
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
* add workflows to bookingScenario
* activate sandbox mode for unit/integreation tests
* add sendgrid specific code to SendgridProvider
* Refactor WIP
* remove duplicate sendgridProvider file
* first implementation for testing workflows
* revert unintended changes
* comment out Workflow trigger tests
* move sendgrid check after test mode
* Update signup.tsx
* fix esLint
* test webhooks on all tests in fresh-booking.test.ts
* fix subjectPattern as title can be different
* add workflow tests to reschedule.test.ts
* code clean up
* code clean up
* fix sendgrid credentials missing message
* code clean up
---------
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
* create test files
* add first e2e test
* finish first e2e test
* code clean up
* fix event type create button data-testid
* enable sandbox mode for non production environments
* comment out code for testing
* Revert "comment out code for testing"
This reverts commit 5553dacce23cd85c27e41b76f99fc31ce69499b7.
* clean up comments
* prettier
* use NEXT_PUBLIC_IS_E2E
* use todo fn
---------
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
Co-authored-by: Alan <alannnc@gmail.com>
Co-authored-by: Keith Williams <keithwillcode@gmail.com>
Co-authored-by: Shivam Kalra <shivamkalra98@gmail.com>
* add switches to advanced even type settings
* only show switches when workflow is enabled
* check in event type update handler if user is allowed to disable standard emails
* don't send emails if disabled
* make sure emails can't be disabled if no workflow exist
* send workflow emails to all attendees
* code clean up
* add translations
* always send to all attendees when scheduling reminders
* change text
---------
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
* add event end time as variable
* add timezone as new variable
* add first version of template prefill
* set template body when template is updated
* set reminder template body and subject when creating workflow
* set email subject when changes templates
* save emailBody and emailsubject for all templates + fix duplicate template text
* add more flexibility for templates
* remove console.log
* fix {ORAGANIZER} and {ATTENDEE} variable
* make sure to always send reminder body and not default template
* fix import
* remove email body text and match variables in templates
* handle translations of formatted variables
* fix email reminder template
* add cancel and reschedule link as variable
* add cancel and reschedule link for scheduled emails/sms
* make sure empty empty body and subject are set for reminder template
* add info message for testing workflow
* fix typo
* add sms template
* add migration to remove reminderBody and emailSubject
* add branding
* code clean up
* add hide branding everywhere
* fix sms reminder template
* set sms reminder template if sms body is empty
* fix custom inputs variables everywhere
* fix variable translations + other small fixes
* fix some type errors
* fix more type errors
* fix everything missing around cron job scheduling
* make sure to always use custom template for sms messages
* fix type error
* code clean up
* rename link to url
* Add debug logs
* Update handleNewBooking.ts
* Add debug logs
* removed unneded responses
* fix booking questions + UI improvements
* remove html email body when changing to sms action
* code clean up + comments
* code clean up
* code clean up
* remove comment
* more clear info message for timezone variable
---------
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
Co-authored-by: Hariom Balhara <hariombalhara@gmail.com>
Co-authored-by: zomars <zomars@me.com>
Co-authored-by: alannnc <alannnc@gmail.com>
* Fix workflows on seated events
* Fix new args required in handleConfirmation
* Update function import to new name
* added email to override for workflows
* translate {EVENT_DATE} variable to correct language
* fix locale for cron schedule reminder emails/sms
* fix type error
* add missing locale to attendees
* fix type error
* code clean up
* revert last commit
* using Intl for date translations
---------
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
* small design fix for time unit select
* save video cal url to booking in metaData
* save video url when bookings are confirmed
* fix e2e tests
* remove not needed waitForNavigation
* add metadata to booking created webhook payload
* add migration
* fix type error
* add meeting url variable to dropdown
* add meeting url to custom template
* add BookingMetaDataSchema
* add meeting url to email reminder
* add meeting url to sms notifcation
* adjust e2e tests
* add bookingMetadataSchema
* add missing change from merge
* fix spelling
* fix type error
* code clean up
* fix e2e snapshot
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
* add after event ends workflow trigger to enum
* add after meetings ends trigger
* fix label for time span
* add deleted label for message template
* add lost changes from merge conflict
* set reminder for already existing bookings
* fix label 'How long before event starts/ends'
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
* improve functionality to update a step
* remove console logs
* fix issue with active event types
* allow null value for time and timeUnit
* sort steps asc step number
* add action to workflow (frontend)
* add phone number input for SMS to specific number
* use PhoneInput for number input + input validation
* improve invalid input for phone number
* improve UI of phoneInput
* Improve design and validation
* fix undefined error
* set default action when adding action
* include all team event types
* fix phone number input for editing steps
* fix update muation to add steps
* remove console logs
* fix order of steps
* functionality to delete steps
* add trigger when event is cancelled
* add custom email body
* sms and email reminder updates
* add custom emails
* add custom email subject
* send reminder email to all attendees
* update migration
* fix default value for time and timeUnit
* save email reminders to database
* clean code
* add custom template to SMS actions
* schedule emails with sendgrid
* clean code
* add workflow templates
* keep custom template saved when changing templates
* create reminder template for email
* add dot at the end of sentace for email template
* fix merge error
* fix issue that template was not saved
* include sending emails for when event is cancelled
* fix bug that email was always sent
* add templates to sms reminders
* add info that sending sms to attendees won't trigger for already exisitng bookings
* only schedule sms for attendees when smsReminderNumber exists
* only schedule sms for attendees when smsReminderNumber exists
* set scheduled of workflow reminder to false when longer than 72 hours
* add cron for email scheduling + fixes for for sms an email scheduling
* adjust step number when deleting a step
* cast to boolean with !!
* update cron job for email reminders
* update sms template
* send reminder email not to guests
* remove sendTo from workflow reminder
* fixes sending sms without name + removing sendTo everywhere
* fix undefined name in sms template
* set user name to undefined for sending sms to a specific number
* fix singular and plural for time unit
* set to edit mode when changing action and custom template is selected
* delete reminders when booking cancelled or not active anymore
* fix type errors
* fix error that deleted reminders twice
* create booking reminders for existing bookings when eventType is set active
* improve email and sms templates
* use BookingInfo type instead of calendarEvent for reminder emails
* schedule emails for already existing bookings
* add and remove reminders for new active event types and cancelled events
* connect add action button with last step
* fix step container width for mobile view
* helper functions that return options for select
* fix typo and remove comment
* clean code
* add/improve error messages for forms
* fix typo
* clean code
* improve email template
* clean code
* fix missing prop
* save reference id when scheduling reminder
* fix step not added because of changed id for new steps
* small fixes + code cleanup
* code cleanup
* show error message when number is invalid
* fix typo
* fix phone number input when location is already phone
* set multi select checkbox to read only
* change email scheduling in cron job from 7 days to 72 hours
* show active event types in workflow list
* fix trigger information for workflow list
* improve layout for small screens in workflow list
* remove optional from zod type for workflow name
* order workflows by id
* use link icon to show active event types
* fix plural and add translation for showing nr of active eventtypes
* fix text for sms reminder template
* add reminders for added steps
* remove optional for activeOn
* improve reminder templates
* improve design of custom input fields
* set edit mode to false when phone number isn't needed anymore
* set sendTo in workflow step only for SMS_NUMBER action
* set email body and subject only when custom template
* only delete reminders that belong to workflow steps
* improve text for new event book trigger
* move reminders folder to workflows
* fix issue that save button was sometimes enabled in edit mode
* fix form issues for send to
* delete all scheduled reminders when workflow is deleted
* use enum for method
* fix imports for workflow methods
* add missing import
* fix edit mode
* create reminders when event is confirmed
* add reminderScheduler to reduce duplicate code
* make workflow enterprise and pro only feature
* move all files to /ee/ folder
* move package.json change to /ee/ folder
* add pro badge to shell
* set to edit mode to true if email subject is missing when action changes
* fix loading bug
* add migration
* fix old imports
* don't schedule reminders for opt-ins
* fix style of email body
* code clean up
* Update yarn.lock
* fix isLoading for active on dropdown
* update import for prisma
Co-authored-by: Omar López <zomars@me.com>
* update imports
* remove console
* use session to check if user has valid license
* use defaultHandler
* clean up code
* Create db-staging-snapshot.yml
* move LisenceRequired inside shell
* update import for FormValues
* fix phone input design
* fix disabled save button for edit mode
* squah all migration into a single one
* use isAfter and isBefore instead of isBetween
* import dayjs from @calcom
* validate phone number for sms reminders when booking event
* Allows auto approvals for crowdin
* add dropdown for adding dynamic variables to string
* use lighter text colour for disabled button
* change textarea for email subject to one row only
* add function to create custom template with dynamic variables
* add location to dynamic variables
* add missing locations to custom template
* add variables at cursor position
* remove second curly brakets from variables
* code cleanup
* fix names for attendee and organizer
* enable internationaliztion for custom reminders
* disabled add workflow button when mutation is loading
* fix translation keys
* internationalize dates
* code clean up
* add translation for email subject
* skip translation for english
* remove language from BookingInfo type
* add additional notes as variable
* add custom inputs as variables
* add information for custom inputs
* add translation
* Add formated variables in additional input information
* fix type errors
* code clean up
* Update AddVariablesDropdown.tsx
* Update variableTranslations.ts
* Update variableTranslations.ts
* Formatting
* Update [workflow].tsx
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
Co-authored-by: zomars <zomars@me.com>