Home › Blog › Website form → Telegram + Google Sheets + Gmail with n8n

// blog

Website form → Telegram + Google Sheets + Gmail with n8n

7 October 2026 · 4 min read · Oleksandr Shylo

This is the workflow behind the contact form on this site, exported with ids and credentials removed. Five nodes, three parallel branches, one filter that keeps bots out of your inbox. Import it, attach three credentials, replace three placeholders.

What it does

Webhook (POST) receives the form as JSON → Filter drops submissions where name or email is empty (bots post empty bodies to any public webhook within days) → in parallel: Telegram message to your private channel, Google Sheets append (timestamp, name, email, platform, handle, description, budget, status), Gmail copy to you.

Download the template (JSON)

Setup

  1. Import. n8n → Workflows → Import from file → pick the JSON.
  2. Telegram. Create a bot with @BotFather, add it to a private channel or group as admin, paste the token into a Telegram credential, and put the chat id (negative number for groups/channels) into the Telegram node.
  3. Google Sheets. Create a sheet with the header row timestamp, name, email, contact_platform, contact_handle, description, budget, status; connect a Google credential (OAuth2 — on self-hosted n8n you create the OAuth client in Google Cloud and add n8n's callback URL); paste the sheet id into the node.
  4. Gmail. Same Google credential with the gmail.send scope; set the recipient.
  5. Publish the workflow. The production URL is https://your-n8n/webhook/website-form.
  6. Point the form at it. Your site's JavaScript posts JSON with the field names above. A minimal version:
fetch('https://your-n8n/webhook/website-form', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({ name, email, contact_platform, contact_handle, description, budget,
                         timestamp: new Date().toISOString() })
}).then(r => { if (r.ok) location.href = '/thank-you'; });

Three things to add before you rely on it

When a form is not enough

The same five-node shape grows into lead routing (CRM lookup before the alert), qualification (a Telegram bot asking questions instead of a form) or AI triage (a model classifying the message and drafting the first reply). Those are the n8n, Telegram bot and AI automation services.

Related work

Describe your process

Which tools are involved, what is done by hand today, how often. I reply within 24 hours with a fit/no-fit answer and, if it fits, a fixed quote.

By sending you agree to the privacy policy. Reply within 24 hours; fit or no-fit, you get an answer.

See also