3.0 KiB
Get Google Calendar reminders in Zulip! This is a great way to see your reminders directly in your Zulip feed.
-
{!download-python-bindings.md!}
This bot should be set up on a trusted machine, because your API key is visible to local users through the command line or config file.
-
Next, follow the instructions for Step 1 at this link to get a
client_secret
file. Save this file asclient_secret.json
to your~/
directory. -
Next, install the latest Google API Client for Python by following the instructions on the Google website.
-
Then go to your Zulip Settings by clicking on the cog in the top right corner, and then clicking on Settings.
-
Click on the tab that’s labeled Your bots and click on Show/change your API key. Enter your password if prompted, and download the
zuliprc
file. Save this file as.zuliprc
to your~/
directory. -
Run the
get-google-credentials
with this command:python /usr/local/share/zulip/integrations/google/get-google-credentials
-
It should open up a browser and ask you for certain permissions. Give Zulip access, and move on to the next step. If it doesn’t open a browser, follow the instructions in the terminal window.
-
Now, all that’s left to do is to run the
gcal-bot
script, in the same directory as theget-google-credentials
script, with the necessary parameters:python /usr/local/share/zulip/integrations/google/gcal-bot --user foo@zulip.com
The
--user
flag specifies the user to send the reminder to. -
Don’t close the terminal window with the bot running (you can use
screen
if needed). You will only get reminders if the bot is still running.
{!congrats.md!}
Supported parameters
There are two optional flags that you can specify when running this script:
--calendar
: This flag specifies the calendar to watch from the user’s Google account. By default, this flag is set to a user’s primary or default calendar. To specify a calendar, you need the calendar ID which can be obtained by going to Google Calendar and clicking on the wedge next to the calendar’s name. Click on settings in Calendar settings in the drop down, and look for the Calendar Address section. Copy the Calendar ID from the right side of the page and use that as the value for this flag.
--interval
: This flag specifies the interval of time - in minutes - between receiving the reminder, and the actual event. For example, an interval of 30 minutes would mean that you would receive a reminder for an event 30 minutes before it is scheduled to occur.