Automate freelance project intake with custom proposals using Jotform & Gemini
$20/month : Unlimited workflows
2500 executions/month
THE #1 IN WEB SCRAPING
Scrape any website without limits
HOSTINGER 🎉 Early Black Friday Deal
DISCOUNT 20% Try free
DISCOUNT 20%
Self-hosted n8n
Unlimited workflows - from $4.99/mo
#1 hub for scraping, AI & automation
6000+ actors - $5 credits/mo
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.
2. 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 DocumentTool: 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.
- Calls the
3. 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.
4. 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.
5. 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.