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.Create a Google Cloud project
Go to the Google Cloud Console and
sign in with the Google account you want the bot to access.
- Click the project dropdown at the top of the page
- Click New Project
- Enter a name (e.g.
ollim-bot) and click Create - 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.
Configure the consent screen
Open the navigation menu (the three-line icon in the top-left corner) and
click APIs & Services. In the left sidebar, click OAuth consent
screen. This opens the Google Auth Platform section.
- Click Get started
- Enter an app name (e.g.
ollim-bot) and select your email from the User support email dropdown, then click Next - Under Audience, select External and click Next
- Enter your email address in the Email addresses field and press Enter to confirm it, then click Next
- Check the box to agree to the Google API Services User Data Policy, click Continue, then click Create
Add yourself as a test user
In the Google Auth Platform sidebar on the left, click Audience.
- Scroll down to the Test users section
- Click Add users
- Enter your Google email address and press Enter
- Click Save
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:
Verify: After enabling all three, click Enabled APIs & services in
the left sidebar. You should see all three listed.
| API to search for | Used for |
|---|---|
| Google Tasks API | Managing your task lists |
| Google Calendar API | Reading and creating calendar events |
| Gmail API | Reading emails (read-only) |
Create OAuth credentials
In the APIs & Services sidebar, click Credentials.
- Click Create Credentials at the top, then select OAuth client ID
- For Application type, select Desktop app (not “Web application”)
- Give it a name (e.g.
ollim-bot) and click Create - In the popup that appears, click Download JSON
client_secret_[...].json downloads to your computer.Save the credentials file
Move the downloaded file to Verify: Check the file is in the right place:You should see JSON starting with
~/.ollim-bot/state/credentials.json. Open
a terminal and run:- Linux / macOS
- Windows (PowerShell)
- Linux / macOS
- Windows (PowerShell)
{"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.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./google-auth again.
Troubleshooting
I don't see /google-auth in Discord
I don't see /google-auth in Discord
Slash commands only appear when the bot is online and has synced its commands
with Discord. Check these in order:
- Is the bot running? Start it if it isn’t — slash commands won’t show up for an offline bot.
- 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.
- 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.
- Still nothing? Try typing
/in the message box — if no command menu appears at all, Discord may need a restart.
Timestamps are in the wrong timezone
Timestamps are in the wrong timezone
ollim-bot auto-detects your system timezone. If timestamps are wrong, set it
explicitly in the Use a name from the
tz database
— for example,
.env file in the folder where you cloned ollim-bot (the
same folder where you run the bot):.env
Europe/London, Asia/Tokyo, or US/Pacific. This affects
scheduling, Google Calendar, Gmail, session history, and the system prompt.Next steps
How ollim-bot works
Understand the agent loop, session persistence, fork model, and context flow.
Conversations
Learn how DM conversations, context, and streaming work.
Configuration reference
All environment variables, runtime settings, and their defaults.
Data directory
Layout of ~/.ollim-bot/ — auto-tracked with git for versioned backups.
