Gmail to webhook, no API required
The easiest way to make Gmail programmable
Google makes it notoriously difficult to read Gmail programmatically. But there's a simpler path: forward to an EmailConnect alias and get structured JSON at your webhook. No OAuth, no Workspace, no restricted scopes.
The problem with the Gmail API
If you've ever tried to programmatically read a Gmail inbox, you know the pain. Google requires OAuth 2.0 with consent screens, your app needs verification for sensitive scopes like gmail.readonly, and if you're not using Google Workspace you're dealing with per-user tokens and refresh logic. For a team of ten people, that's ten separate OAuth flows to maintain.
All of this to do something conceptually simple: "when an email arrives, send me the data."
The forwarding shortcut
Gmail has a built-in forwarding feature that's free, requires no API credentials, and works with any Gmail account. You add a forwarding address in Gmail's settings, confirm it with a single click, and every incoming email gets forwarded automatically.
The trick is where you forward to. Point it at an EmailConnect alias, and every forwarded email becomes a structured webhook call to your endpoint, with the sender, recipient, subject, body, links, and attachments all parsed into clean JSON.
How it works
1. Create an alias
Set up a domain on EmailConnect and create an alias, or use a catch-all if you want to handle multiple Gmail accounts under one domain. Point the alias at your webhook URL.
2. Enable forwarding in Gmail
In Gmail, go to Settings → Forwarding and POP/IMAP, add your alias address, and click the confirmation link that arrives. That's it. No API keys, no client secrets, no scopes.
3. Receive structured data
From that moment on, every email that lands in that Gmail inbox gets forwarded to your alias. EmailConnect parses it and delivers a webhook POST to your endpoint with everything extracted:
{
"message": {
"sender": {
"name": "Acme Corp",
"email": "billing@acme.com"
},
"subject": "Your invoice #1042 is ready",
"content": {
"text": "Hi, your invoice for February is attached...",
"links": [
{
"url": "https://acme.com/invoices/1042",
"domain": "acme.com"
}
]
},
"attachments": [
{
"filename": "invoice-1042.pdf",
"contentType": "application/pdf",
"size": 48210,
"downloadUrl": "https://files.emailconnect.eu/d/a1b2c3/invoice-1042.pdf"
}
]
},
"spam": {
"isSpam": false,
"score": 0.2,
"authentication": {
"dkim": { "result": "pass" },
"spf": { "result": "pass" },
"dmarc": { "result": "pass" }
}
}
}Why this beats the API approach
Gmail API
- OAuth 2.0 per user
- App verification for sensitive scopes
- Token refresh logic
- Polling or Pub/Sub setup
- Google Workspace for some features
Gmail forwarding + EmailConnect
- One confirmation click per account
- No API credentials at all
- Real-time push (no polling)
- Works with any free Gmail account
- Built-in spam scoring and authentication
What teams are building with this
The pattern opens up a range of workflows that would normally require the Gmail API or a paid Google Workspace integration:
- Centralized team inbox: multiple team members forward to a shared alias, and your backend processes everything through a single webhook
- Notification processing: forward order confirmations, shipping updates, or platform alerts from Gmail to your system for automated extraction
- Lead capture: sales reps forward inbound inquiries, and your CRM picks them up via the webhook without manual data entry
- Multi-account monitoring: aggregate mail from several Gmail accounts into one processing pipeline using a catch-all alias
Scaling up with a catch-all
If you're forwarding from multiple Gmail accounts, a catch-all alias is the cleanest approach. Set up a domain on EmailConnect, enable the catch-all, and forward each Gmail account to a unique address under that domain (e.g. alice@ingest.yourapp.com, bob@ingest.yourapp.com). Your webhook receives everything, and the recipient field tells you which source account it came from.
A note on Google Workspace
This approach works equally well with Google Workspace accounts. If your organization already uses Workspace but you'd rather avoid building against the Gmail API, the forwarding path gives you the same result with far less engineering effort. Workspace admins can even configure forwarding at the organization level.
Get started
You can set this up in under five minutes on the free tier. Create an alias, enable forwarding in Gmail, and your webhook starts receiving parsed emails immediately. No billing details required.
Thinking about a different source?
This pattern isn't limited to Gmail. Outlook, Yahoo, and most major providers support forwarding too. If it can forward, EmailConnect can parse it. Let us know what you're building.
Try it free
Set up a Gmail-to-webhook pipeline in under five minutes. No credit card needed.
Create your aliasView documentation