GitHub - giuerr/livia: Self-hosted, open-source AI executive assistant — Gmail + Calendar, configured via a web setup wizard. · GitHub
/" data-turbo-transient="true" />
Skip to content
Search or jump to...
Search code, repositories, users, issues, pull requests...
-->
Search
Clear
Search syntax tips
Provide feedback
--><br>We read every piece of feedback, and take your input very seriously.
Include my email address so I can be contacted
Cancel
Submit feedback
Saved searches
Use saved searches to filter your results more quickly
-->
Name
Query
To see all available qualifiers, see our documentation.
Cancel
Create saved search
Sign in
/;ref_cta:Sign up;ref_loc:header logged out"}"<br>Sign up
Appearance settings
Resetting focus
You signed in with another tab or window. Reload to refresh your session.<br>You signed out in another tab or window. Reload to refresh your session.<br>You switched accounts on another tab or window. Reload to refresh your session.
Dismiss alert
{{ message }}
giuerr
livia
Public
Notifications<br>You must be signed in to change notification settings
Fork
Star
main
BranchesTags
Go to file
CodeOpen more actions menu
Folders and files<br>NameNameLast commit message<br>Last commit date<br>Latest commit
History<br>4 Commits<br>4 Commits
.agentetna
.agentetna
.etna
.etna
public
public
.env.example
.env.example
.gitignore
.gitignore
LICENSE
LICENSE
README.md
README.md
SECURITY.md
SECURITY.md
instructions.txt
instructions.txt
package-lock.json
package-lock.json
package.json
package.json
server.js
server.js
yarn.lock
yarn.lock
View all files
Repository files navigation
Livia — AI Executive Assistant
Livia is a self-hosted, white-label AI executive assistant. She lives in a Gmail<br>inbox and handles scheduling, correspondence, research, and bookings on your<br>behalf — proposing meeting times, creating and rescheduling calendar invites,<br>drafting and sending replies, and keeping a lightweight CRM of the people you<br>deal with.
She is configured entirely through a web setup wizard — no code editing, and no<br>secrets are ever committed to the repo.
How it works
A single Node.js / Express service (server.js) polls a dedicated Gmail inbox,<br>uses the Anthropic API to understand and draft messages, and acts through the<br>Gmail and Google Calendar APIs. A small web dashboard (public/) lets you<br>monitor activity and adjust settings. State is stored as JSON files on disk.
Prerequisites
You'll need three things (the setup wizard links to each):
A dedicated Gmail account for the assistant — create a fresh one; this is<br>the inbox Livia sends and receives from.
An Anthropic API key — from console.anthropic.com.
A Google OAuth client (type: Web application) from the<br>Google Cloud Console,<br>with the Gmail and Calendar APIs enabled and your redirect URI registered.
Quick start
livia<br>cd livia<br>npm install<br>npm start">git clone your-fork-url> livia<br>cd livia<br>npm install<br>npm start
On first run there's no configuration, so the app starts in setup mode and<br>prints a link. Open it (default http://localhost:3000/setup) and complete the<br>wizard:
About you — your name, brand, email address(es), phone.
Your assistant — its name and the dedicated Gmail address you created.
AI & security — your Anthropic API key and a dashboard password.
Google — your OAuth client ID/secret (the page shows the exact redirect<br>URI to register).
Click Save , then restart the app so it picks up your Google credentials.<br>Return to /setup, click Connect Gmail and Connect Calendar to grant<br>access (tokens are saved automatically), then restart once more. Setup is<br>complete — the dashboard loads at / and Livia begins watching the inbox.
Configuration
Everything the wizard collects is stored in setup.json on your own server<br>(git-ignored, never uploaded anywhere). If you prefer environment variables —<br>for example on a managed host — copy .env.example to .env and fill it in;<br>values in setup.json take precedence over environment variables.
Deployment
Livia runs anywhere Node 18+ runs (Render, Railway, Fly, a VPS, …). For<br>persistent data across restarts, mount a writable disk at /var/data — the app<br>stores its JSON state and setup.json there when present, otherwise in the<br>working directory. Set DASHBOARD_PASSWORD and ALLOWED_ORIGINS in production.
Security
Livia hardcodes no credentials; secrets live only in setup.json / .env,<br>both git-ignored. If a secret is ever exposed, rotate it at the provider — see<br>SECURITY.md.
License
MIT.
About
Self-hosted, open-source AI executive assistant — Gmail + Calendar, configured via a web setup wizard.
Topics
nodejs
open-source
gmail
google-calendar
self-hosted
claude
ai-assistant
ai-agent
anthropic
executive-assistant
Resources
Readme
License
MIT license
Security policy
Security policy
Uh oh!
There was an error while loading. Please reload this page.
Activity
Stars
stars
Watchers
watching
Forks
forks
Report repository
Releases
No releases...