Status Update
Comments
jo...@google.com <jo...@google.com> #2
Hi there!
I don't have a clear view of the impact of this request. Could you please describe how this feature would impact your organizational processes? Feel free to add as many examples as needed.
Ro...@solvay.com <Ro...@solvay.com> #3
Building a piece of code that can spark the creation of a focus time is important to avoid overcrowding meetings in the calendar.
I wrote some code, but I cannot create Out of Office nor Focus time on my calendar, following specific conditions in other apps (Mails, Docs, SPreadsheets...).
If it helps, I can share my javascript snippet to create emergency slots automatically.
Regards,
Roberto
jo...@google.com <jo...@google.com> #4
I understand that you want to create an out of office event if certains conditions are meeted (i.e. a precise email, a Sheet status…). You can currently do so by using .createAllDayEvent
Ro...@solvay.com <Ro...@solvay.com> #5
This force to refuse one by one, and wastes time and non-immediate refusal notices are completely different from a delayed (manual) one.
jo...@google.com <jo...@google.com> #6
Thank you for your clarifications. I have reported this feature request to the appropriate team. Have a nice day.
Ro...@solvay.com <Ro...@solvay.com> #7
Thanks, this can help!!! If will be implemented I share this JS script that can create automatically the focus time
function emergencies_time_recall() {
//generate emergencies time lock
let numbers = 0;
let working_date = new Date();
let start = new Date(working_date.setHours(7,0,0,0));
let end = new Date(working_date.setHours(21,0,0,0));
///prepares the cycle for the next 21 days on
const Interval = 21;
let i = 0;
for (var days_count = 0; days_count < Internval; days_count++) {
//Saturday or Sunday -> jump
if (start.getDay()==0 || start.getDay()==6) {
start.setDate(start.getDate() + 1);
end.setDate(end.getDate() + 1);
continue;
}
//local vars for flow control
var create_emergency_time = true;
let temp_array = null;
temp_array = CalendarApp.getDefaultCalendar().getEvents(start, end);
//check if "Emergency Time" is already present
for (i = 0; i< temp_array.length; i++) {
if (temp_array[i].getTitle().indexOf("Emergency Time") > -1) {create_emergency_time = false;}
}
// if not
if (create_emergency_time == true) {setupEvent(new Date(start)); numbers++}
start.setDate(start.getDate() + 1);
end.setDate(end.getDate() + 1);
}
return numbers;
}
function setupEvent(date){
//prepares the creation
var j = 0;
var startTime = new Date(date.setHours(9,0,0,0));
var endTime = new Date(date.setHours(10,0,0,0));
var event = null;
//searches for an empty 1h in the calendar
for (j = 9; j <= 17; j++) {
startTime = new Date(date.setHours(j,0,0,0));
endTime = new Date(date.setHours(j+1,0,0,0));
if (CalendarApp.getDefaultCalendar().getEvents(startTime, endTime) == 0) {
// here we should create a focus time instead of a simple event to enable auto-decline
//////// This piece of code today does not work, it's an hypothesis how to implement the functionality
event = CalendarApp.createEvent(">>>FOCUS TIME<<<", startTime, endTime, {type: CalendarEvent.EventType.FOCUS_TIME});
event.setColor(CalendarApp.EventColor.PALE_BLUE);
return;
}
}
// creates a warning because no focus time is available today
startTime = new Date(date.setHours(8,0,0,0));
endTime = new Date(date.setHours(9,0,0,0));
event = CalendarApp.createEvent("No FOCUS TIME today!!!", startTime, endTime);
event.setColor(CalendarApp.EventColor.PALE_RED);
return;
}
k....@sdventures.com <k....@sdventures.com> #8
pa...@vaimo.com <pa...@vaimo.com> #9
sc...@salitsteel.com <sc...@salitsteel.com> #10
Are there any known work arounds for this process? Can we create an all day event with the FocusTime option, and then modify the start/end times of the resultant event to no longer be an all day event?
go...@ironmountain.com <go...@ironmountain.com> #11
It has been over a year, is this being worked on? Just adding the {eventType: 'focusTime'} option does not seem that hard.
sc...@ironmountain.com <sc...@ironmountain.com> #12
md...@gmail.com <md...@gmail.com> #13
tk...@andrew.cmu.edu <tk...@andrew.cmu.edu> #14
I find I'm most productive at work when I block off roughly 90 minute "sprint" blocks to be focused in and then a 15-30 minute period in between to do light tasks and other recovery things like socialize with coworkers. However, my schedule for the day changes frequently, and it's not always possible to schedule weekly recurring focus periods into my calendar. I like having scheduled sprints because it keeps me accountable but it's tedious to schedule more than a few items at a time onto Google Calendar, especially when you have to go through the drop downs of making some focus and coloring them appropriately. I was trying to make a script that would automatically fit in as many focus blocks as possible into my pre-existing calendar agenda for the day, something that I could get into work (possibly at slightly different times depending on traffic) and press run. Ideally, I'd see my calendar populated with large blocks of focus time in between meetings but not so close I get burnt out during the work day, as well as plan other events I want to do on a day like go to the gym for an hour. I've attached a version of a day I manually scheduled as an idea but this took a few minutes to do.
This is something that would take a script milliseconds to run and do better than I probably could (if implemented well), while, again, taking me a few minutes to do. That's just enough time where I hesitate to use this feature some days, even though I find it very helpful.
pa...@reclaim.ai <pa...@reclaim.ai> #15
Just chiming in here: my company (
For use case background: Reclaim's Habits and Tasks are dynamically adjusting time blocks that look at your overall schedule for the upcoming days and weeks and decide both on when to schedule them and when to "defend" them by marking them as busy (vs free) and potentially even auto-declining conflicts. We have effectively re-built some of the Focus Time and OOO capabilities that GCal provides and supercharged them, but we'd much rather just use the native feature.
Thanks!
ma...@roche.com <ma...@roche.com> #16
c1...@koenig-bauer.com <c1...@koenig-bauer.com> #17
sw...@gmail.com <sw...@gmail.com> #18
sw...@gmail.com <sw...@gmail.com> #19
What's the likely time for this change to be rolled put?
an...@gmail.com <an...@gmail.com> #20
ja...@roche.com <ja...@roche.com> #21
[Deleted User] <[Deleted User]> #22
[Deleted User] <[Deleted User]> #23
pi...@polyconseil.fr <pi...@polyconseil.fr> #24
is...@google.com <is...@google.com>
Ro...@solvay.com <Ro...@solvay.com> #25
What happened to this request wit a lot of votes? :(
Description
Create programmatically via CalendarApp API in Google Script events of type Focus Time
What is the purpose of this new feature?
To enable people to fire the focus time creation according to a precise event like a new calendar appointment or a mail or else. Or find a way to reserve automatically (using time triggers) sometime in the day according to precise conditions met in other apps
What existing data does this use?
Other apps (Drive, Mail, Calendar,...) have specific statuses to meet.
Please provide any additional information below, including the particular use cases you believe this feature would enable or improve.
I reserve every day for 1h to focus on my jobs, but I have to do it in advance and when I forget to block at least 15 days ahead my calendar is full enough I cannot reserve anymore. On daily basis, I try to find free time to book in advance automatically the focus time.