PipeMailSheet Logo

PipeMailSheet

A lightweight Go service that automatically connects your Gmail inbox to a Google Sheet for real-time job application tracking.

What it does

PipeMailSheet listens for incoming emails via Google Pub/Sub push notifications, matches them to your existing job applications in a Google Sheet, and updates the status, color coding, and metadata — all automatically and in real time.

Real-time sync

Receives Gmail push notifications via Pub/Sub. No polling, no delays — updates happen within seconds of a new email.

Smart matching

Matches emails to applications using company name, job title, location, contact person, and sender domain with weighted scoring.

Status parsing

Interprets free-text German status entries (e.g. “Absage”, “Einladung”) and normalizes them into actionable states with date extraction.

Color coding

Automatically applies row background colors: green for positive, red for rejection, orange for rejection after a prior positive step.

How it works

  1. A new email arrives in your Gmail inbox.
  2. Google Pub/Sub sends a push notification to this service.
  3. The service fetches the email, extracts metadata (sender, subject, snippet).
  4. It matches the email against your tracked job applications in the Google Sheet.
  5. If a match is found, it updates the row: status, last email info, thread ID, and row color.

Technical details

Built with Go and deployed on Google Cloud Run. Uses OAuth 2.0 for secure access to Gmail (read-only) and Google Sheets. All state is stored in the user’s own Google Sheet — no external database required.