Automate Freelance Project Intake with Custom Proposals using Jotform & Gemini

Workflow explaination: https://youtu.be/ecafBTFPuvE?si=7csA1yNsaUxUG72F

This workflow is designed to automatically handle new freelance project requests from a JotForm, analyze the requirements using AI, create a custom proposal, log the details in a Google Sheet, and send a personalized response to the client.

  1. JotForm Trigger

Purpose**: This node is the entry point of the entire automation. It waits for a new freelance project submission from your specified JotForm. Action: When a potential client fills out and submits the form, this node instantly triggers the workflow, passing all submitted data (name, email, project requirements, and budget) to the next node. Key Detail: Uses a webhook for real-time activation, ensuring immediate processing of every new project request.

  1. AI Agent

Purpose**: The central brain of your freelance workflow. đź§  It takes the project submission and turns it into a structured, customized proposal. Action**: The agent follows a prompt sequence to perform these tasks:

Calls the My Freelance Document Tool: Fetches your Google Doc containing details about your services, pricing, and project templates — your “source of truth.” Analyzes the Project Request: Reads the client’s requirements and goals from the form. Generates a Custom Proposal: Based on scope, budget, and relevance to your offerings, it prepares a short, tailored proposal or quote that fits the project. Creates a Personalized Email: Builds an HTML email with the proposal embedded, including next steps or a scheduling link for further discussion. Outputs Structured Data: Packages everything (project summary, proposal text, email subject, and body) into a clean JSON object for downstream use.

  1. Append or Update Row in Sheet (Google Sheets)

Purpose**: Serves as your lightweight CRM for all project inquiries. Action**: Logs data from the AI Agent (proposal details, client info, and project summary) into a Google Sheet. Key Detail: Configured to **Append or Update—if an email already exists, it updates that row instead of duplicating. Keeps your client records clean and organized.

  1. If

Purpose**: Acts as a control node to decide whether a proposal email should be sent. Action**: Checks the output from the AI Agent to ensure the proposal text is valid (not empty). Key Detail**: If the proposal generation fails or returns “NAN,” the workflow stops here to avoid sending incomplete responses.

  1. Send a Message (Gmail)

Purpose**: Sends the final personalized proposal email to the client. Action: Pulls the recipient’s email from the sheet and sends the AI-generated subject and HTML proposal email automatically. Key Detail: The email is customized per project, giving the client an instant, professional response with no manual effort.

0
Downloads
33
Views
7.88
Quality Score
beginner
Complexity
Created:10/17/2025
Updated:11/20/2025

đź”’ Please log in to import templates to n8n and favorite templates

Workflow Visualization

Loading...

Preparing workflow renderer

Comments (0)

Login to post comments