Skip to main content

Generate service quotes with GPT-4.1-mini, Telegram approval and Gmail

Workflow preview

Workflow preview
100%
Generate service quotes with GPT-4.1-mini, Telegram approval and Gmail preview
Open on n8n.io

1. Workflow Overview

Who's it for Service businesses such as trade contractors (roofers, plumbers, electricians, cleaners, facility management) who want to send out customer quotes automatically as PDFs — either trigge...

Best for

  • Document Extraction automation workflows
  • AI Summarization automation workflows
  • advanced n8n builders looking for reusable templates

Tools used

n8n-nodes-base.set, n8n-nodes-base.switch, n8n-nodes-base.telegram, n8n-nodes-tallyforms.tallytrigger, @n8n/n8n-nodes-langchain.openai, n8n-nodes-pdfmonkey.pdfmonkey, n8n-nodes-base.gmail, n8n-nodes-base.if

Source and attribution

This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by Elias Jakob.

Original n8n.io source

1.1 Workflow description

Title
Generate service quotes with GPT-4.1-mini, Telegram approval and Gmail
Workflow name
Generate service quotes with GPT-4.1-mini, Telegram approval and Gmail

Who's it for

Service businesses such as trade contractors (roofers, plumbers, electricians, cleaners, facility management) who want to send out customer quotes automatically as PDFs — either triggered by a Tally form embedded on their website or by a Voice AI agent webhook request. The business owner wants to delegate the operational work without giving up control, so every quote passes through an approval instance via Telegram before reaching the customer.

How it works

  1. Intake: A Tally form submission triggers the workflow. A parallel Webhook path catches direct API submissions (e.g., from a Voice AI agent) and routes them through a validity check.
  2. Normalization: An Edit Fields node maps the raw payload into a clean, consistent schema.
  3. AI classification: GPT analyzes the request and assigns one of six categories (single-family quote, multi-family quote, management matter, emergency, on-site appointment, special request).
  4. Routing: A Switch node dispatches the request to the matching branch.
  5. Approval-gated quoting (for quote-requiring requests): PDFMonkey generates a draft PDF, a Telegram sendAndWait approval request is sent to the business owner, and depending on the response the document is either emailed to the customer via Gmail or discarded.
  6. Direct notification paths (management, emergency, on-site, special requests): Each fires a Telegram alert plus a structured Gmail message to the relevant inbox.

How to set up

Estimated time: 30–45 minutes

  1. Credentials — connect: Tally (webhook), OpenAI, Telegram Bot, Gmail (OAuth2), PDFMonkey API.
  2. Tally form — duplicate your form, copy its ID into the Tally Trigger node.
  3. Telegram — create a bot via @BotFather, paste the token, and set the target chat IDs in each Telegram node (one per branch).
  4. Gmail recipients — open each Gmail node and set the correct destination address per category (management, emergency, on-site, special).
  5. PDFMonkey — create your document template in PDFMonkey, paste the template_id into both PDFMonkey nodes (one for single-family, one for multi-family).
  6. AI prompt — open the "Classify Request" node and adapt the classification categories to your business vocabulary if needed.
  7. Test — submit a test entry per category through the Tally form and verify each branch fires correctly.

Requirements

  • n8n (self-hosted or cloud)
  • OpenAI API key (GPT-4o or comparable model)
  • Telegram Bot token
  • Gmail OAuth2 credentials
  • PDFMonkey account with at least one document template
  • Tally account with a form (optional: Voice AI agent for the webhook path)

How to customize

  • Add more categories: extend the AI prompt and add new Switch routes.
  • Swap Telegram for Slack/Discord: replace the Telegram nodes with your channel of choice — the approval flow works identically with Slack's "Send and Wait".
  • Change the LLM: replace the OpenAI node with Anthropic, Mistral, or any other supported model node.
  • Skip the approval step: bypass PDFMonkey + sendAndWait for low-risk document categories by adding a direct route.
  • Trigger via Voice AI agent: point your Voice AI's tool/webhook output at the Webhook node instead of using the Tally form.

1.2 Logical Blocks

This catalog entry is organized from the workflow JSON. The node-level section below shows the executable blocks available for review before importing the template.

2. Block-by-Block Analysis

Block 1 - Set Quote Variables (EFH/MFH)

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

Block 2 - Route by Request Category

Type / Role
n8n-nodes-base.switch - switch
Config choices
Version 3.4

Block 3 - Telegram: Notify Management

Type / Role
n8n-nodes-base.telegram - telegram
Config choices
Version 1.2

Block 4 - Telegram: Emergency Alert

Type / Role
n8n-nodes-base.telegram - telegram
Config choices
Version 1.2

Block 5 - Telegram: On-Site Appointment Request

Type / Role
n8n-nodes-base.telegram - telegram
Config choices
Version 1.2

Block 6 - Telegram: Special Request

Type / Role
n8n-nodes-base.telegram - telegram
Config choices
Version 1.2

Block 7 - Tally Trigger: New Form Submission

Type / Role
n8n-nodes-tallyforms.tallyTrigger - tallyTrigger
Config choices
Version 2

Block 8 - Classify Request with GPT-4.1-mini

Type / Role
@n8n/n8n-nodes-langchain.openAi - openAi
Config choices
Version 2.1

Block 9 - Map Tally Fields to Schema

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

Block 10 - Route by Building Type (EFH vs MFH)

Type / Role
n8n-nodes-base.switch - switch
Config choices
Version 3.4

Block 11 - Telegram: Approval Request EFH

Type / Role
n8n-nodes-base.telegram - telegram
Config choices
Version 1.2

Block 12 - Generate Quote PDF: Single-Family Home

Type / Role
n8n-nodes-pdfmonkey.pdfMonkey - pdfMonkey
Config choices
Version 1

Block 13 - Gmail: Send Approved Quote EFH

Type / Role
n8n-nodes-base.gmail - gmail
Config choices
Version 2.2

Block 14 - If Approval Approved EFH

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2.3

Block 15 - Generate Quote PDF: Multi-Family Home

Type / Role
n8n-nodes-pdfmonkey.pdfMonkey - pdfMonkey
Config choices
Version 1

Block 16 - Telegram: Approval Request MFH

Type / Role
n8n-nodes-base.telegram - telegram
Config choices
Version 1.2

Block 17 - Gmail: Send Approved Quote MFH

Type / Role
n8n-nodes-base.gmail - gmail
Config choices
Version 2.2

Block 18 - If Approval Approved MFH

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2.3

Block 19 - Gmail: Forward to Management

Type / Role
n8n-nodes-base.gmail - gmail
Config choices
Version 2.2

Block 20 - Gmail: On-Site Appointment Notification

Type / Role
n8n-nodes-base.gmail - gmail
Config choices
Version 2.2

Block 21 - Gmail: Emergency Notification

Type / Role
n8n-nodes-base.gmail - gmail
Config choices
Version 2.2

Block 22 - Gmail: Special Request Notification

Type / Role
n8n-nodes-base.gmail - gmail
Config choices
Version 2.2

Block 23 - Webhook: Alternative Intake

Type / Role
n8n-nodes-base.webhook - webhook
Config choices
Version 2.1

Block 24 - Map Webhook Fields

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

Showing the first 24 of 33 workflow blocks. Download the JSON for the full node graph.

3. Summary Table

Workflow Generate service quotes with GPT-4.1-mini, Telegram approval and Gmail
Complexity advanced
Nodes 33
Categories Document Extraction, AI Summarization
Author Elias Jakob
Published 12 May 2026

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/15676/15676.json as the source template for this automation.

  2. 2. Import the template into n8n

    Open n8n, import the downloaded JSON, and review each node before activating the workflow.

  3. 3. Configure credentials and variables

    Replace placeholder credentials, API keys, webhook URLs, account IDs, and environment-specific values with your own settings.

  4. 4. Test with sample data

    Run the workflow manually or in a staging workspace, inspect node output, and confirm downstream systems receive the expected data.

  5. 5. Activate and monitor

    Enable the workflow only after testing, then monitor executions, errors, and rate limits during the first production runs.

5. General Notes & Resources

Review imported nodes carefully before activation. This catalog entry is intended to help you inspect the workflow structure, understand required services, and find related templates faster.

Node names, credentials, schedules, webhook paths, and external service limits may need adjustment for your workspace.

Frequently asked questions

What does Generate service quotes with GPT-4.1-mini, Telegram approval and Gmail do?

Who's it for Service businesses such as trade contractors (roofers, plumbers, electricians, cleaners, facility management) who want to send out customer quotes automatically as PDFs — either trigge...

What do I need before importing this workflow?

Review the workflow JSON, configure any required credentials in n8n, and test the automation in a safe workspace before using it in production.

Can I customize this workflow?

Yes. Use the block-by-block analysis and the downloadable JSON to inspect each node, then adjust credentials, prompts, schedules, filters, or destinations for your Document Extraction, AI Summarization use case.