Mindket

Sales proposal from a call recording

Newversion 1 · updated

Overview

An n8n workflow that turns a recorded sales call into a proposal. A form starts it, OpenAI transcribes the call and drafts the proposal text, your Google Docs template is filled in, and Gmail holds a draft with the PDF attached.

Sales proposal from a call recording is an n8n workflow in the Business category, listed by Mindket. It is free. This is version 1, last updated on . Download it on this page or copy its JSON, then import it into an n8n canvas. Nothing runs until you activate it in n8n.

At a glance

Runs in
  • n8n Cloud or your own server: import the file and publish it, so the form’s submissions reach the trigger
  • Jotform: any form whose questions carry the labels this workflow reads
  • A Google account: Drive holds the template, the recording and the copies, and Gmail holds the draft
  • Your sales routine: the draft is a normal Gmail draft, so your usual review and send steps stay as they are

Platform

Connects 5 apps

How it works

Trigger

Form submission

It starts when someone submits the Jotform form with:

  • First name and last name
  • Company name
  • A Google Drive link to the call recording
  • The prospect’s email address

Actions

  1. Copies your proposal template in Google Drive, named after the company
  2. Downloads the recording, and OpenAI turns the call into text
  3. GPT-4.1 mini writes the proposal’s parts as JSON: the problem, the solution, a price and an upsell
  4. Fills the copy, exports it as a PDF and saves a Gmail draft with the PDF attached

Result

A personal proposal as a PDF, waiting as a draft addressed to the prospect

Integrations

What you need before you start.

Jotform

Form

Starts each run and supplies the prospect’s details and the link to the recording.

NeedsJotform account, and a form with five labeled questions

Google Drive

File storage

Copies the template, downloads the recording and exports the finished copy as a PDF.

NeedsGoogle account connected with OAuth

OpenAI

Transcript and writing

Transcribes the call and writes the proposal’s parts with GPT-4.1 mini.

NeedsOpenAI API key

Google Docs

Document

Replaces each placeholder in the copy with its text.

NeedsGoogle account connected with OAuth, and a template with the placeholders

Gmail

Email

Saves a draft to the prospect with the PDF attached.

NeedsGoogle account connected with OAuth

Workflow check

Checked by Mindket on 13 Nov 2026

Steps
8 steps, starting on a JotForm event
AI
2 steps call an AI model: OpenAI and OpenAI1
Sign-ins
Signs in to: Google Drive, OpenAI, Google Docs, Gmail and JotForm
API keys
No API key is left in the file
Step types
Mindket’s checker reads 4 of its 5 step types. It does not read: JotForm Trigger

Read from the workflow’s file, not from a run.

About

What it is

This n8n workflow turns a recorded sales call into a proposal draft. A Jotform submission starts it, carrying the prospect’s details and a Google Drive link to the recording. The eight nodes run in a line. n8n copies your proposal template in Drive, downloads the recording and has OpenAI transcribe it. GPT-4.1 mini then writes the proposal’s parts as JSON: the prospect’s problem in their own words, a named solution with its scope and price, and one upsell. A Google Docs node fills the copy, Drive exports it as a PDF, and Gmail saves a draft to the prospect with the PDF attached. Nothing is sent until you press send.

Who it suits

Freelancers and small agencies that sell AI systems, automation or other services after a first sales call, and spend days writing the proposal that follows. The prompt is written for that kind of seller, so anyone else should rewrite it first.

Who uses it, and how
IndustryWho uses itHow they use itExample
Automation and AI agenciesFounders and sales leadsSubmit the form after each first call with a prospect and read the draft that lands in GmailA founder submits the form after a call and finds a PDF proposal waiting as a draft.
Software consultanciesSolo consultantsKeep one Google Docs template and let every call fill a fresh copyA consultant sees one named copy per prospect appear in Drive, each with its own scope and price.
Marketing and web studiosAccount managersRewrite the prompt’s price rule and wording for their own service linesA studio swaps the price range for its own packages and gets quotes in that band.
Training providersSales teamsLet the recording’s own words shape the problem statementA trainer’s proposal opens with the problem the buyer described on the call.

Skip it if your recordings do not live in Google Drive, or if a proposal must go out without anyone reading it. The download step reads a Drive link, and the last step only drafts.

Where to use it

Any n8n that can reach Jotform, Google and OpenAI. Jotform has to reach it back, since a submission starts the run.

  • n8n Cloud or your own server: import the file and publish it, so the form’s submissions reach the trigger
  • Jotform: any form whose questions carry the labels this workflow reads
  • A Google account: Drive holds the template, the recording and the copies, and Gmail holds the draft
  • Your sales routine: the draft is a normal Gmail draft, so your usual review and send steps stay as they are

Setup

Get it saves a zip with workflow.json and Mindket’s setup notes in your downloads folder. Have these ready before you import it.

What you need first
NeedDetail
n8nOn n8n Cloud or on a server of your own
JotformAn account and a form with five questions labeled First Name, Last Name, Company Name, Call Link and Email
Google DocsA proposal template in your Drive that holds the placeholders listed below
GoogleA Google account for Drive, Docs and Gmail, connected to n8n with OAuth
OpenAIAn API key, for the transcript and the proposal text
  1. In n8n, create a workflow, open its menu, choose Import from File and pick workflow.json.
  2. Add a Jotform credential. In JotForm Trigger, choose your form where it says YOUR_FORM_ID.
  3. Add Google Drive, Google Docs and Gmail credentials, one Google account will do, and select them in the Drive, Docs and Gmail nodes.
  4. Open the first Google Drive node and put the ID of your template document in YOUR_TEMPLATE_DOC_ID.
  5. Add an OpenAI credential and select it in OpenAI and OpenAI1.
  6. In Gmail, replace YOUR_NAME at the end of the message with your name, and change the wording if you like.
  7. Save, submit the form once with a short test recording, then press Publish.

How to use it

Submit the form with the prospect’s name, company and email, and a link to the call recording in Google Drive. The Google account n8n uses must be able to read that file. The run goes on without you and ends with a draft in Gmail.

What the template holds
PartPlaceholders to put in the document
Prospect and date{{prospectFirstName}}, {{companyName}}, {{date}}
Problem{{problemStatement}}, {{problemStatementBulletOne}}, {{problemStatementBulletTwo}}, {{problemStatementBulletThree}}
Solution{{aiSystem}}, {{solutionStatement}}, {{solutionStatementBulletOne}}, {{solutionStatementBulletTwo}}, {{solutionStatementBulletThree}}, {{whyThisWorks}}, {{workScope}}
Price{{price}}, {{solutionPricingType}}, {{50percentDiscount}}
Upsell{{upsellOne}}, {{upsellOneScope}}, {{upsellOneBulletOne}}, {{upsellOneBulletTwo}}, {{upsellOneBulletThree}}, {{upsellOnePricing}}, {{upsellOnePricingType}}

Two of them are searched for with a space after them, {{problemStatementBulletTwo}} and {{upsellOneBulletOne}}. Type a space after each in the template, or delete the space in the Docs node, or they stay as typed.

Example

A consultant saves the recording of a call with a clinic owner to Drive and submits the form with its link. A copy of the template named after the clinic appears in Drive, and the draft goes to the owner’s address with the proposal attached. The model’s answer comes back as JSON, trimmed here:

{
  "problemStatement": "…",
  "problemStatementBulletOne": "…",
  "aiSystem": "…",
  "solutionStatement": "…",
  "whyThisWorks": "…",
  "workScope": "…",
  "price": "…",
  "solutionPricingType": "…",
  "50percentDiscount": "…",
  "upsellOne": "…",
  "upsellOnePricing": "…"
}

The draft’s subject is the company name, a bar and the solution’s name followed by Proposal. The body is a short note that greets the prospect by first name and points to the attachment.

For newcomers and experts

If you are new. This is a short template, since the nodes run in a single line. Send a short test recording first, and open the run under Executions to see what each node received. A wrong template ID or an unreadable recording shows up there.

For experts. Two OpenAI nodes carry the work. The transcription node names no model in the file, and OpenAI1 runs gpt-4.1-mini with JSON output switched on. Its system message holds the format, a sample answer and the pricing rule: a price between $2,000 and $10,000, set at 5 to 10 percent of a year’s value to the buyer. It also returns half the price, which your template can show as a deposit or a discount.

Good to know

Each submission spends OpenAI credit and leaves a copy in Drive, and the draft needs your eyes.

  • Read before sending: the price, the bullets and the system’s name come from one call and a prompt, so check them against what you meant to offer
  • Draft only: the Gmail node creates a draft and sends nothing
  • Open form: anyone who has the form’s address can start a run on your accounts, so keep the form private
  • Copies: each run leaves a named copy of the template in Drive, so tidy them now and then
  • Recording size: OpenAI limits the size of an audio upload, 25 MB when this was written, so compress a long recording or check the current limit
  • Your data: the call’s text and the prospect’s name and company go to OpenAI, and the PDF goes to Gmail

README and files

README

Sales proposal from a call recording

An n8n workflow. Submit a Jotform form with a prospect's details and a Google Drive link to the call recording, and it
returns a proposal as a PDF, waiting as a Gmail draft. The page says the email is sent. The file only saves a draft, and
these notes follow the file.

What is inside

  • workflow.json: the workflow as n8n exports it, eight nodes in one line. It holds no credential. Your form, your
    template document and your name are left as placeholders.
  • README.md: these notes.

Before you start

  • An n8n instance, on n8n Cloud or your own server. Jotform must be able to reach it.
  • A Jotform account and a form with five questions labeled First Name, Last Name, Company Name, Call Link and
    Email. The workflow reads the answers by those labels.
  • A Google account for Drive, Docs and Gmail.
  • A proposal template in Google Docs, with the placeholders below.
  • An OpenAI API key.

Set it up

  1. In n8n, create a workflow, open its menu and choose Import from File. Pick workflow.json.
  2. Add a Jotform credential. Open JotForm Trigger and choose your form where it says YOUR_FORM_ID.
  3. Add Google Drive, Google Docs and Gmail credentials with the same Google account. Select them in Google Drive,
    Google Drive1, Google Drive2, Google Docs and Gmail.
  4. Open Google Drive, the first Drive node, and put the ID of your template document where it says
    YOUR_TEMPLATE_DOC_ID. The ID is the long part of the document's address between /d/ and /edit.
  5. Add an OpenAI credential and select it in OpenAI and OpenAI1.
  6. Open Gmail. At the end of the message, replace YOUR_NAME with your name. Change the subject or the wording if you like.
  7. Save, submit the form once with a short test recording, then press Publish at the top of the canvas (or Shift+P).

If submissions do not reach n8n after you publish, copy the production address from JotForm Trigger into the form's
webhook integration in Jotform.

The template document

The Docs node replaces each of these placeholders in the copy. Put the ones you want in your template, typed exactly.

| Part | Placeholders |
|---|---|
| Prospect and date | {{prospectFirstName}}, {{companyName}}, {{date}} |
| Problem | {{problemStatement}}, {{problemStatementBulletOne}}, {{problemStatementBulletTwo}}, {{problemStatementBulletThree}} |
| Solution | {{aiSystem}}, {{solutionStatement}}, {{solutionStatementBulletOne}}, {{solutionStatementBulletTwo}}, {{solutionStatementBulletThree}}, {{whyThisWorks}}, {{workScope}} |
| Price | {{price}}, {{solutionPricingType}}, {{50percentDiscount}} |
| Upsell | {{upsellOne}}, {{upsellOneScope}}, {{upsellOneBulletOne}}, {{upsellOneBulletTwo}}, {{upsellOneBulletThree}}, {{upsellOnePricing}}, {{upsellOnePricingType}} |

Two of them are searched for with a space after them: {{problemStatementBulletTwo}} and {{upsellOneBulletOne}}. Type a
space after each in the template, or delete the space in the matching line of the Google Docs node. Without that, the
two stay in the document as typed.

{{50percentDiscount}} is half the price. Your template can call it a deposit, a discount or leave it out.

How a run goes

  1. Google Drive copies the template and names the copy with the company name followed by | Ai Proposal.
  2. Google Drive1 downloads the recording from the Call Link answer, and OpenAI transcribes it.
  3. OpenAI1 gets the prospect's name, company and the transcript, and answers in JSON.
  4. Google Docs replaces the placeholders in the copy. Google Drive2 exports the copy as proposal.pdf.
  5. Gmail saves a draft to the Email answer, with the PDF attached. The subject is the company name, a bar and the
    system's name followed by Proposal.

Change it

  • Wording and numbers: edit the system message in OpenAI1. It sets the format, a sample answer and the pricing rule, a
    price between $2,000 and $10,000 set at 5 to 10 percent of a year's value to the buyer.
  • Model: OpenAI1 runs gpt-4.1-mini. Pick another in the node.
  • Email: the subject and message are in Gmail.
  • File name: the copy's name is in the first Drive node.

Good to know

  • Read the draft before it goes out. The price, the bullets and the system's name come from one call and a prompt.
  • The Gmail node creates a draft and sends nothing.
  • Anyone who has the form's address can start a run on your accounts, so keep the form private.
  • Every run leaves a named copy of the template in Drive.
  • OpenAI limits the size of an audio upload (25 MB when this was written). Compress a long recording or check the
    current limit.
  • The call's text and the prospect's name and company go to OpenAI. The PDF goes to Gmail.
Files
README.md  5 KB
workflow.json  15 KB

2 files, 20 KB, downloaded as a zip.

What’s new

  • Version 1 · 2026-11-03

Reviews

No ratings yet

Write a review

No reviews yet.

More from Mindket

See all from Mindket

Huashu Design

alchaincyf · Skill

Turns a one-line request in your AI agent into a finished design: a launch animation, a clickable app prototype, an editable slide deck, an infographic or a se…

New29.4k

Guizang PPT Skill

op7418 · Skill

Skill that makes single-file HTML slide decks, slide illustrations and platform covers in two visual styles, with a presenter mode for rehearsal. For speakers…

New29.8k

Claude Code Skills & Plugins

alirezarezvani · Skill

Adds 411 ready-made skills for Claude Code and other coding agents, grouped by role from engineering and product to marketing, finance and compliance. Installs…

New29.8k

Similar in Business

See all in Business

pplx-decider-v1.1-27b

perplexity-ai · Kit

Picks the best option for a decision from text and images, such as which team should handle a request, with a probability for each choice, for developers who b…

New

NuExtract3

numind · Kit

Reads documents as text or images and fills a JSON template with the fields you ask for, or converts the pages to Markdown. A 4B model for teams that process s…

New

Drex DLM

nace-ai · Kit

Scores yes or no, multiple choice and rating questions about a document in one pass, with a probability for every option. An 8B decision model from Nace.AI tha…

New