Continuing the job of announcing things using Tasker, today’s task download is for Google Calendar. It will read your Google Calendar XML file and announce when and what the next appointment is, assuming it’s on the same day. If it’s not on the same day, it will announce that you have no appointments that day.

Difficulty level: Medium. Meant for existing Tasker users that know the basics of Tasker, but with task download and instructions provided for easy implementation

How to use

Make sure you have the latest beta version of Tasker installed. This is because this task uses a Read File action that is not available in the current release version. Don’t worry though, it’s “beta” because of new features, not because it’s unstable.

Download the task from the bottom of the article. Four versions are available: A direct .xml download and a zipped version for each of the two basic task versions, DDMM and MMDD. Which of the basic versions you need depends on the date format you use. This task only works with the date formats DD/MM/YYYY and MM/DD/YYYY. This is a setting you pick in your device’s system settings, in the date and time section. It has to use one of those two, or it won’t work. If you read 07.12.2012 as July 12th, you want MM/DD/YYYY. If you read it as December 7th, you want DD/MM/YYYY.

As for .xml vs .zip download, on some devices you can go to this page in your browser, long click on the .xml download, select “save link”, open it once downloaded, and then select to open with Tasker. If that doesn’t work, download the .zip, and unzip it to the Tasker/tasks folder manually. The resulting steps are identical regardless of which of these methods and basic versions you use:

Go into Tasker, long click on the Tasks tab, select Import. Select the Calendar version you chose to download.

Open the task, then the HTTP Get action. In the Path field, you will see XXXX and YYYY as part of the path:

calendar/feeds/XXXX%40gmail.com/private-YYYY/full?singleevents=true&futureevents=true&orderby=starttime&sortorder=ascending&max-results=1

These are the two pieces of information you have to switch out. XXXX needs to be replaced with your Google user name, e.g. “example” if your login email for Google is example@gmail.com. If your email for Google does not end in @gmail.com, you also have to change the bit after %40 with whatever domaing your email is. Examples:

calendar/feeds/example%40gmail.com/private-YYYY/full?singleevents=true&futureevents=true&orderby=starttime&sortorder=ascending&max-results=1

calendar/feeds/example%40googlemail.com/private-YYYY/full?singleevents=true&futureevents=true&orderby=starttime&sortorder=ascending&max-results=1

YYYY needs to be replaced with a private access key for your Google calendar. To get this, start by going to the Google Calendar website, then go into settings. Click the Calendars tab, then the calendar you want to use. At the bottom of the calendar details screen, click the orange XML button next to Private Address. You should get a popup box with a URL that looks something like this:

https://www.google.com/calendar/feeds/example%40gmail.com/private-1234567812345678/basic

Your access key is the piece I highlighted in bold. You need to copy this in place of YYYY in the Path field in Tasker. An example of a finished Path would be:

calendar/feeds/example%40gmail.com/private-1234567812345678/full?singleevents=true&futureevents=true&orderby=starttime&sortorder=ascending&max-results=1

Save the edit to the HTTP Get action and then find the Say action at the end. Select a speech engine that you have installed on your device.

That’s it, the task will now hopefully work. It takes a few seconds to pull the data and process it, so if you want to use this in combination with other Say tasks, you should delete the Say action from the task itself, use it in the other task using the Perform Task action, and then include %Nextevent in your existing Say action to include the calendar information in that Say.

Download (DDMM, .xml): CalendarDDMM.tsk.xml

Download (DDMM, .zip): CalendarDDMM.tsk.xml.zip

Download (MMDD, .xml): CalendarMMDD.tsk.xml

Download (MMDD, .zip): CalendarMMDD.tsk.xml.zip

The idea for this task came from one of our readers. She knows who she is. Thanks!