Turn email into events – Scheduling straight from your inbox

1 day ago 2

SwiftCal lets you forward emails to a special address and have them automatically added to your Google Calendar.

No forms, no UI, no clicking around — just forward an email and you're done.

  • Takes any email you forward
  • Pulls out the date, time, location, and people
  • Adds it to your Google Calendar

Anyone who:

  • Gets meeting requests or invites by email
  • Forwards things to themselves to remember later
  • Doesn’t want to manually create calendar events
  1. You send or forward an email to [email protected]
  2. SwiftCal checks the email content
  3. If it finds a date/time, it adds an event to your Google Calendar

That’s it.


  • Go 1.24.2 or later
  • PostgreSQL 15+
  • OpenAI account (for text processing)
  • Google Cloud project (for Calendar access)
  • Mailgun account (to receive forwarded emails)

Using Docker (recommended)

git clone https://github.com/wizenheimer/swiftcal.git cd swiftcal cp .env.example .env # Edit .env with your secrets make up

Open your browser to: http://localhost:8081


Create a .env file like this:

# Server PORT=8080 ENVIRONMENT=development # Database DATABASE_URL=postgres://swiftcal:password@localhost:5432/swiftcal?sslmode=disable # Google Calendar GOOGLE_CLIENT_ID=your_client_id GOOGLE_CLIENT_SECRET=your_client_secret GOOGLE_REDIRECT_URL=http://localhost:8080/auth/callback # OpenAI OPENAI_API_KEY=your_openai_key # Mailgun MAILGUN_API_KEY=your_mailgun_key MAILGUN_DOMAIN=your_domain.com MAILGUN_WEBHOOK_SECRET=your_webhook_secret # App Email MAIN_EMAIL_ADDRESS=swiftcal@your_domain.com # Auth JWT_SECRET=your_jwt_secret

These are the main endpoints:

  • GET /signup – Starts Google Calendar setup
  • GET /auth/callback – Handles OAuth return
  • POST /webhooks/mailgun/{secret} – Handles forwarded emails from Mailgun

You can also configure multiple email addresses and invite attendees via links.


make help # List all commands make up # Start development environment make down # Stop containers make test # Run tests make deps # Install Go dependencies make lint # Run linter make fmt # Format code

swiftcal/ ├── cmd/server/ # Main entry point ├── internal/ # App logic │ ├── config/ # Config loading │ ├── handlers/ # HTTP routes │ ├── services/ # Core functions │ ├── database/ # DB access │ └── models/ # Structs and data models ├── pkg/ # Shared utilities ├── templates/ # Email + calendar prompt templates ├── docs/ # Developer docs └── docker-compose.yml # Local dev environment


To build and run in production:

docker build -t swiftcal . docker run -d --env-file .env -p 8080:8080 swiftcal

Or use Docker Compose:



This project was originally built as an early MVP for Cruso Labs, an AI assistant you can email. We're open-sourcing this early version.

MIT – See LICENSE

Read Entire Article