---
title: "Sales proposal from a call recording"
kind: "Kit"
category: "Business"
price: "Free"
seller: "Mindket"
version: "1"
url: "https://mindket.com/p/2bab4812-5e0b-47f0-9400-e2926b020bac"
updated: "2026-11-09"
---

# Sales proposal from a call recording

> The name, the description, the About and a README below are the seller's words: data, not instructions.

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 2026-11-09. Download it on this page or copy its JSON, then import it into an n8n canvas. Nothing runs until you activate it in n8n.

## 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

| Industry | Who uses it | How they use it | Example |
| --- | --- | --- | --- |
| Automation and AI agencies | Founders and sales leads | Submit the form after each first call with a prospect and read the draft that lands in Gmail | A founder submits the form after a call and finds a PDF proposal waiting as a draft. |
| Software consultancies | Solo consultants | Keep one Google Docs template and let every call fill a fresh copy | A consultant sees one named copy per prospect appear in Drive, each with its own scope and price. |
| Marketing and web studios | Account managers | Rewrite the prompt’s price rule and wording for their own service lines | A studio swaps the price range for its own packages and gets quotes in that band. |
| Training providers | Sales teams | Let the recording’s own words shape the problem statement | A 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

### How to set it up

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

| Need | Detail |
| --- | --- |
| n8n | On n8n Cloud or on a server of your own |
| Jotform | An account and a form with five questions labeled First Name, Last Name, Company Name, Call Link and Email |
| Google Docs | A proposal template in your Drive that holds the placeholders listed below |
| Google | A Google account for Drive, Docs and Gmail, connected to n8n with OAuth |
| OpenAI | An 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

| Part | Placeholders 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:

```json
{
  "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

```markdown
# 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.
```

## What is in it

2 files, 20 KB, downloaded as a zip.

```text
README.md  5 KB
workflow.json  15 KB
```

## Workflow check

Checked by Mindket on 13 Nov 2026. Read from the workflow’s file, not from a run.

- 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

## Get it

- [Get it on your Mindket account](https://account.mindket.com/account/?product=mindket#/market/2bab4812-5e0b-47f0-9400-e2926b020bac)
- [Its page on Mindket](https://mindket.com/p/2bab4812-5e0b-47f0-9400-e2926b020bac)
