Livia – Executive Assistant

giuerrp1 pts0 comments

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...

livia setup gmail json assistant calendar

Related Articles