# How to Automate Proposal Creation Using Dumpling AI, ChatGPT, Google Slides in Make.com

**URL:** <https://community.make.com/t/how-to-automate-proposal-creation-using-dumpling-ai-chatgpt-google-slides-in-make-com/67152>\
**Category:** Community Archive\
**Tags:** api\
**Created:** [January 22, 2025, 6:49pm UTC](https://community.make.com/t/how-to-automate-proposal-creation-using-dumpling-ai-chatgpt-google-slides-in-make-com/67152 "2025-01-22T18:49:48Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Maxijay23](https://avatars.discourse-cdn.com/v4/letter/m/35a633/32.png) [@Maxijay23](https://community.make.com/u/Maxijay23)\
**Post date:** [January 22, 2025, 6:49pm UTC](https://community.make.com/t/how-to-automate-proposal-creation-using-dumpling-ai-chatgpt-google-slides-in-make-com/67152/1 "2025-01-22T18:49:48Z")

</div>

This tutorial will walk you through automating the creation of client proposals using [Make.com](http://Make.com), integrating Airtable, Dumpling AI, Google Slides, and Gmail. By following these steps, you’ll set up a system that triggers proposal creation when a record is added to Airtable and sends the proposal to the client via email.

* * *

#### **Step 1: Trigger Automation from Airtable**

1. **Create a new scenario on [Make.com](http://Make.com)** by clicking on the “Create a new scenario” button.

- Add the **Airtable module** by searching for “Airtable” and selecting **“Search Records”**. This module will Search for records in your Airtable base.
  - **Base** : Choose the Airtable base containing your clients’ data.
  - **Table** : Select the table where the client data is stored (e.g., “Clients”).

**View** : Select the appropriate Airtable view (e.g., “Grid view”).

 ![](https://europe1.discourse-cdn.com/flex013/uploads/make/original/3X/e/9/e904f3211ec613cef3d03f2dd22a70040ec1fb72.jpeg)

### **Step 2: Scrape Client Website Data**

After identifying the client, the next step is to gather additional information from their website, such as services offered and testimonials. This will enrich the proposal.

1. **Add Dumpling AI Module** : Choose “Scrape Website.”

- **Why this step?**
  - **Purpose** : The client’s website contains detailed service descriptions and testimonials that aren’t stored in Airtable. Scraping this data allows us to gather more personalized and relevant content for the proposal.
  - **Efficiency** : Instead of manually visiting each client’s website, this automation does it for you, saving time and ensuring you always have the latest information.

- **Setup** :
  - **Insert Dynamic URL** : The website URL will come from the previous Airtable search step. Insert the dynamic field {{5.website}} to target each client’s specific site.
  - **Format** : Set the output to “Markdown” so that the scraped data is easy to read and process.
  - **Cleaned Data** : Enable data cleaning to remove unnecessary elements from the scrape, like HTML format.

 ![](https://europe1.discourse-cdn.com/flex013/uploads/make/original/3X/4/3/43eb945762ee387d0ef9746476a1142979383fc5.jpeg)

/ **Step 3: Extract Specific Data Using OpenAI GPT**

Next, we need to process the scraped website data to extract relevant details such as service names, descriptions, and testimonials. For this, we use GPT to analyze the website content.

1. **Add OpenAI GPT Module** : Choose “Create Completion.”

- **Setup** :
  - **Dynamic Prompt** : Insert the website content fetched from the previous step ({{4.content}}). In the prompt, instruct GPT to extract services and testimonials in a JSON format. Example prompt:

Scrape the following data from [Client’s Website URL]:

1. Service descriptions: Extract the names and detailed descriptions of the services offered on the website.

2. Testimonials: Extract all client testimonials, including the client name (if available) and the testimonial text.

Format the output in JSON as follows:

{

“services”: [

{

“service\_name”: “Name of Service”,

“description”: “Detailed description of the service”

}

],

“testimonials”: [

{

“client\_name”: “Name of Client (if available)”,

“testimonial”: “Text of the testimonial”

}

]

}

 ![](https://europe1.discourse-cdn.com/flex013/uploads/make/original/3X/8/b/8b6602f7739e98cd4c377a1d27edb7c1fcb98f69.jpeg)

### **Step 4: Parse JSON Data**

The result from GPT is in JSON format, but to use it in our proposal, we need to parse it and extract specific fields like service names and descriptions.

1. **Add JSON Parsing Module** : Choose “Parse JSON.”

- **Setup** :

**Input** : Use the dynamic result from the previous ChatGPT step ({{6.result}}).

 ![](https://europe1.discourse-cdn.com/flex013/uploads/make/original/3X/d/1/d196c55269da1662f1ef8fd92158bbbb45f8b300.jpeg)

### **Step 5: Generate a Google Slides Proposal**

#### Once we have the client information, scraped data, and processed service details, it’s time to generate a proposal using Google Slides.

**Add the Google Slides module** by searching for “Google Slides” and selecting **“Create a Presentation”**. First, Create your Template in Google Slide, It could look like this or you can create a more advanced template.

 ![](https://europe1.discourse-cdn.com/flex013/uploads/make/original/3X/1/e/1ea6d8a9d8d924694cc9e8eba0421f919b99717a.jpeg)

1. Configure the module to pull in client data from **parse Json Module** and populate the Google Slides template.

- **Title** : Set the title to the client’s name using {{1.Clients name}}.
- **Template** : Select the ID of the Google Slides template you want to use for proposals.
- **Client Fields** : Map fields from Airtable to the presentation, such as client name, service, and description.

**Folder ID** : Specify the folder where the proposal should be saved on Google Drive.

 ![](https://europe1.discourse-cdn.com/flex013/uploads/make/original/3X/c/f/cf445a0031011830a7e36dcf26c1d0f649240808.jpeg)

**Folder** : Save the generated proposal in a designated folder in Google Drive.

#### **Step 6: Send the Proposal via Email**

1. **Add the Email module** by searching for “Email” and selecting **“Send an Email”**.

- Configure the module to send the newly created proposal to the client’s email address.
  - **To** : Set to the email address of the client using {{1.Email}}.
  - **Subject** : Customize the subject to include the service or client name (e.g., “Proposal for {{1.services}}”).
  - **Body** : Write a friendly, professional email. You can include dynamic data like client name and service.

**Attachment** : Attach the Google Slides proposal you created by using {{2.id}} for the document ID.

 ![](https://europe1.discourse-cdn.com/flex013/uploads/make/original/3X/7/2/726dbcb3c1431f660d3fcd0bcaa2215075fa301a.jpeg)

#### **Step 4: Test and Activate Your Scenario**

1. **Run a test** by adding a new client record in Airtable. Ensure that the scenario watches the Airtable table, creates the proposal in Google Slides, and sends the email.

If everything works correctly, go ahead and **activate the scenario** by clicking the “Activate” button

 ![](https://europe1.discourse-cdn.com/flex013/uploads/make/original/3X/1/c/1cba050bfd8cefb30f237c55363fbc529020dfb8.jpeg)

### **Conclusion**

By setting up this automation, you’ll save time on manual proposal creation. Every time a new client is added to your Airtable, Dumpling AI will scrape the client’s website, [Make.com](http://Make.com) will automatically generate a proposal, format it in Google Slides, and send it to the client via email, all without manual effort!

---

<div class="post-metadata">

**Author:** ![DavidGurr\_Make](https://dub1.discourse-cdn.com/flex013/user_avatar/community.make.com/davidgurr_make/32/4624_2.png) [@DavidGurr\_Make](https://community.make.com/u/DavidGurr_Make)\
**Post date:** [January 23, 2025, 9:43am UTC](https://community.make.com/t/how-to-automate-proposal-creation-using-dumpling-ai-chatgpt-google-slides-in-make-com/67152/2 "2025-01-23T09:43:53Z")

</div>

Hey @Maxijay23 - great example!

A couple of tips you might want to think about:

- If you open up `Show advanced settings` in the OpenAI module, you can specify a `Response Format` of `JSON Object` which removes the need for the `Parse JSON` module and saves an operation
- To help make sure that the generated JSON format is reliable, it may be a good idea to set the `Temperature` parameter in the advanced settings to 0.5 or lower. That reduces the “creativity” of the model.

---

<div class="post-metadata">

**Author:** ![Make\_Bot](https://dub1.discourse-cdn.com/flex013/user_avatar/community.make.com/make_bot/32/14661_2.png) [@Make\_Bot](https://community.make.com/u/Make_Bot)\
**Post date:** [November 20, 2025, 11:36am UTC](https://community.make.com/t/how-to-automate-proposal-creation-using-dumpling-ai-chatgpt-google-slides-in-make-com/67152/3 "2025-11-20T11:36:56Z")

</div>



---

<div class="post-metadata">

**Author:** ![Make\_Bot](https://dub1.discourse-cdn.com/flex013/user_avatar/community.make.com/make_bot/32/14661_2.png) [@Make\_Bot](https://community.make.com/u/Make_Bot)\
**Post date:** [November 20, 2025, 11:36am UTC](https://community.make.com/t/how-to-automate-proposal-creation-using-dumpling-ai-chatgpt-google-slides-in-make-com/67152/4 "2025-11-20T11:36:59Z")

</div>


