Skip to main content
You’ve completed the quickstart and the bot is running. The bot works without this, but Google Tasks, Calendar, and Gmail integration is where it really shines — if that’s why you’re here, this is the next step.

Set up Google OAuth

Google Tasks, Calendar, and Gmail integration requires connecting your Google account. You’ll create a small project in Google Cloud Console (free, no billing required) and link it to the bot.
1

Create a Google Cloud project

Go to the Google Cloud Console and sign in with the Google account you want the bot to access.
  1. Click the project dropdown at the top of the page
  2. Click New Project
  3. Enter a name (e.g. ollim-bot) and click Create
  4. After creation, click the project dropdown again, find your new project in the list, and double-click it to switch to it — the dropdown at the top should now show your new project name
Google Cloud Console is free for this use case — you will not be charged.
All following steps must be done inside this project. If the project name at the top of the page doesn’t match, click the dropdown and switch to it before continuing.
3

Add yourself as a test user

In the Google Auth Platform sidebar on the left, click Audience.
  1. Scroll down to the Test users section
  2. Click Add users
  3. Enter your Google email address and press Enter
  4. Click Save
If you skip adding yourself as a test user, the “Connect with /google-auth” step will fail with “Access blocked: This app’s request is invalid.”
4

Enable APIs

Open the navigation menu (three-line icon, top-left) and click APIs & Services. In the left sidebar, click Library. Search for and enable each of these three APIs:
API to search forUsed for
Google Tasks APIManaging your task lists
Google Calendar APIReading and creating calendar events
Gmail APIReading emails (read-only)
Verify: After enabling all three, click Enabled APIs & services in the left sidebar. You should see all three listed.
5

Create OAuth credentials

In the APIs & Services sidebar, click Credentials.
  1. Click Create Credentials at the top, then select OAuth client ID
  2. For Application type, select Desktop app (not “Web application”)
  3. Give it a name (e.g. ollim-bot) and click Create
  4. In the popup that appears, click Download JSON
A file named client_secret_[...].json downloads to your computer.
Download the JSON file before clicking OK — you won’t be able to download it again after closing this dialog.
The application type must be Desktop app. If you select “Web application”, the downloaded file will have a "web" key instead of "installed", and the bot will not be able to use it.
6

Save the credentials file

Move the downloaded file to ~/.ollim-bot/state/credentials.json. Open a terminal and run:
mkdir -p ~/.ollim-bot/state
mv ~/Downloads/client_secret_*.json ~/.ollim-bot/state/credentials.json
Verify: Check the file is in the right place:
cat ~/.ollim-bot/state/credentials.json
You should see JSON starting with {"installed": {. If it starts with {"web": {, you selected the wrong application type in “Create OAuth credentials” — go back and create a new credential with Desktop app.
7

Connect with /google-auth

Open Discord and go to your DM with the bot (the bot must be running). Click the message box, type /google-auth — a slash command menu appears above the text box — select google-auth from the list and press Enter.The bot responds with a sign-in link. Click it — your browser opens a Google consent page. Select your Google account, click Continue through the permissions screens, and authentication completes automatically.When it works, the bot sends “google connected.” in the DM.Verify: Ask the bot something like “list my tasks” or “what’s on my calendar today?” to confirm the connection is working.
Running the bot on a different computer than your browser? Open the sign-in link on any device, complete the consent flow, then copy the URL your browser redirected to (it starts with http://127.0.0.1:) and paste it back into the Discord DM. The auth flow has a 5-minute timeout.
If Google stops working (e.g. after a password change), the bot notices automatically and asks you to run /google-auth again.

Troubleshooting

Slash commands only appear when the bot is online and has synced its commands with Discord. Check these in order:
  1. Is the bot running? Start it if it isn’t — slash commands won’t show up for an offline bot.
  2. Are you in the right place? Open a DM with the bot, not a server channel. Click the bot’s name in the member list and click Message.
  3. Did commands sync? After the bot’s first startup (or after being added to a new server), slash commands can take up to an hour to appear. Restart the bot and wait a few minutes.
  4. Still nothing? Try typing / in the message box — if no command menu appears at all, Discord may need a restart.
ollim-bot auto-detects your system timezone. If timestamps are wrong, set it explicitly in the .env file in the folder where you cloned ollim-bot (the same folder where you run the bot):
.env
OLLIM_TIMEZONE=America/New_York
Use a name from the tz database — for example, Europe/London, Asia/Tokyo, or US/Pacific. This affects scheduling, Google Calendar, Gmail, session history, and the system prompt.

Next steps