@@ -37,7 +37,10 @@ export const GoogleCalendarBlock: BlockConfig<GoogleCalendarResponse> = {
3737 { label : 'Invite Attendees' , id : 'invite' } ,
3838 { label : 'Check Free/Busy' , id : 'freebusy' } ,
3939 { label : 'Create Calendar' , id : 'create_calendar' } ,
40+ { label : 'Update Calendar' , id : 'update_calendar' } ,
41+ { label : 'Delete Calendar' , id : 'delete_calendar' } ,
4042 { label : 'Share Calendar' , id : 'share_calendar' } ,
43+ { label : 'Update Sharing' , id : 'update_acl' } ,
4144 { label : 'List Sharing' , id : 'list_acl' } ,
4245 { label : 'Remove Sharing' , id : 'unshare_calendar' } ,
4346 ] ,
@@ -621,14 +624,36 @@ Return ONLY the timestamp string - no explanations, no quotes, no extra text.`,
621624 title : 'Time Zone' ,
622625 type : 'short-input' ,
623626 placeholder : 'America/Los_Angeles' ,
624- condition : { field : 'operation' , value : [ 'create_calendar' , 'freebusy' ] } ,
627+ condition : { field : 'operation' , value : [ 'create_calendar' , 'freebusy' , 'update_calendar' ] } ,
628+ } ,
629+
630+ {
631+ id : 'summary' ,
632+ title : 'New Calendar Name' ,
633+ type : 'short-input' ,
634+ placeholder : 'Team Calendar' ,
635+ condition : { field : 'operation' , value : 'update_calendar' } ,
636+ } ,
637+ {
638+ id : 'description' ,
639+ title : 'New Calendar Description' ,
640+ type : 'long-input' ,
641+ placeholder : 'Shared team events and milestones' ,
642+ condition : { field : 'operation' , value : 'update_calendar' } ,
643+ } ,
644+ {
645+ id : 'location' ,
646+ title : 'New Calendar Location' ,
647+ type : 'short-input' ,
648+ placeholder : 'San Francisco, CA' ,
649+ condition : { field : 'operation' , value : 'update_calendar' } ,
625650 } ,
626651
627652 {
628653 id : 'role' ,
629654 title : 'Access Role' ,
630655 type : 'dropdown' ,
631- condition : { field : 'operation' , value : 'share_calendar' } ,
656+ condition : { field : 'operation' , value : [ 'share_calendar' , 'update_acl' ] } ,
632657 required : true ,
633658 options : [
634659 { label : 'See free/busy only' , id : 'freeBusyReader' } ,
@@ -668,7 +693,7 @@ Return ONLY the timestamp string - no explanations, no quotes, no extra text.`,
668693 id : 'sendNotifications' ,
669694 title : 'Send Notification Email' ,
670695 type : 'dropdown' ,
671- condition : { field : 'operation' , value : 'share_calendar' } ,
696+ condition : { field : 'operation' , value : [ 'share_calendar' , 'update_acl' ] } ,
672697 mode : 'advanced' ,
673698 options : [
674699 { label : 'Yes' , id : 'true' } ,
@@ -682,7 +707,7 @@ Return ONLY the timestamp string - no explanations, no quotes, no extra text.`,
682707 title : 'ACL Rule ID' ,
683708 type : 'short-input' ,
684709 placeholder : 'user:person@example.com' ,
685- condition : { field : 'operation' , value : 'unshare_calendar' } ,
710+ condition : { field : 'operation' , value : [ 'unshare_calendar' , 'update_acl' ] } ,
686711 required : true ,
687712 } ,
688713
@@ -716,7 +741,10 @@ Return ONLY the timestamp string - no explanations, no quotes, no extra text.`,
716741 'google_calendar_invite' ,
717742 'google_calendar_freebusy' ,
718743 'google_calendar_create_calendar' ,
744+ 'google_calendar_update_calendar' ,
745+ 'google_calendar_delete_calendar' ,
719746 'google_calendar_share_calendar' ,
747+ 'google_calendar_update_acl' ,
720748 'google_calendar_list_acl' ,
721749 'google_calendar_unshare_calendar' ,
722750 ] ,
@@ -747,8 +775,14 @@ Return ONLY the timestamp string - no explanations, no quotes, no extra text.`,
747775 return 'google_calendar_freebusy'
748776 case 'create_calendar' :
749777 return 'google_calendar_create_calendar'
778+ case 'update_calendar' :
779+ return 'google_calendar_update_calendar'
780+ case 'delete_calendar' :
781+ return 'google_calendar_delete_calendar'
750782 case 'share_calendar' :
751783 return 'google_calendar_share_calendar'
784+ case 'update_acl' :
785+ return 'google_calendar_update_acl'
752786 case 'list_acl' :
753787 return 'google_calendar_list_acl'
754788 case 'unshare_calendar' :
@@ -803,7 +837,10 @@ Return ONLY the timestamp string - no explanations, no quotes, no extra text.`,
803837 processedParams . addGoogleMeet === 'true' || processedParams . addGoogleMeet === true
804838 }
805839
806- if ( operation === 'share_calendar' && processedParams . sendNotifications !== undefined ) {
840+ if (
841+ [ 'share_calendar' , 'update_acl' ] . includes ( operation ) &&
842+ processedParams . sendNotifications !== undefined
843+ ) {
807844 processedParams . sendNotifications =
808845 processedParams . sendNotifications === 'true' ||
809846 processedParams . sendNotifications === true
@@ -907,7 +944,10 @@ export const GoogleCalendarV2Block: BlockConfig<GoogleCalendarResponse> = {
907944 'google_calendar_invite_v2' ,
908945 'google_calendar_freebusy_v2' ,
909946 'google_calendar_create_calendar_v2' ,
947+ 'google_calendar_update_calendar_v2' ,
948+ 'google_calendar_delete_calendar_v2' ,
910949 'google_calendar_share_calendar_v2' ,
950+ 'google_calendar_update_acl_v2' ,
911951 'google_calendar_list_acl_v2' ,
912952 'google_calendar_unshare_calendar_v2' ,
913953 ] ,
@@ -946,6 +986,7 @@ export const GoogleCalendarV2Block: BlockConfig<GoogleCalendarResponse> = {
946986 scope : { type : 'json' , description : 'Grantee scope (share operation)' } ,
947987 rules : { type : 'json' , description : 'List of ACL sharing rules (list sharing operation)' } ,
948988 ruleId : { type : 'string' , description : 'Removed ACL rule ID (remove sharing operation)' } ,
989+ calendarId : { type : 'string' , description : 'Deleted calendar ID (delete calendar operation)' } ,
949990 nextPageToken : { type : 'string' , description : 'Next page token' } ,
950991 timeZone : { type : 'string' , description : 'Calendar time zone' } ,
951992 } ,
0 commit comments