Proposal Generator
Module 24 · business · intermediate
learner-form.json
In n8n, copy this file and paste it onto the canvas, or use Import from File.
{
"name": "24 · Proposal Intake Form",
"nodes": [
{
"parameters": {
"formTitle": "Tell us about your project",
"formDescription": "Takes 2 minutes. You'll get a tailored proposal by email.",
"formFields": {
"values": [
{
"fieldLabel": "Your name",
"requiredField": true
},
{
"fieldLabel": "Company"
},
{
"fieldLabel": "Email",
"fieldType": "email",
"requiredField": true
},
{
"fieldLabel": "Services",
"fieldType": "dropdown",
"multiselect": true,
"requiredField": true,
"fieldOptions": {
"values": [
{
"option": "Website design & build"
},
{
"option": "SEO foundation"
},
{
"option": "Workflow automation"
},
{
"option": "Brand identity"
}
]
}
},
{
"fieldLabel": "Budget",
"fieldType": "dropdown",
"fieldOptions": {
"values": [
{
"option": "Under $5k"
},
{
"option": "$5k-$10k"
},
{
"option": "$10k-$20k"
},
{
"option": "$20k-$40k"
}
]
}
},
{
"fieldLabel": "Timeline (weeks)",
"fieldType": "number"
},
{
"fieldLabel": "Goals",
"fieldType": "textarea",
"requiredField": true
},
{
"fieldLabel": "Anything else?",
"fieldType": "textarea"
}
]
},
"responseMode": "onReceived",
"options": {
"path": "proposal-intake",
"respondWithOptions": {
"values": {
"formSubmittedText": "Thanks! Your proposal is on its way to your inbox."
}
}
}
},
"id": "m24-discovery-form",
"name": "Discovery Form",
"type": "n8n-nodes-base.formTrigger",
"typeVersion": 2.2,
"position": [
0,
0
],
"webhookId": "course-24-form"
},
{
"parameters": {
"jsCode": "// Map the form's labels to the proposal API's fields.\nconst f = $input.first().json;\nreturn [{ json: {\n client: f['Your name'], company: f['Company'] ?? '', email: f['Email'],\n services: f['Services'] ?? [], budget: f['Budget'] ?? '', timeline_weeks: f['Timeline (weeks)'] ?? null,\n goals: f['Goals'] ?? '', notes: f['Anything else?'] ?? '',\n} }];\n"
},
"id": "m24-to-api-body",
"name": "To API Body",
"type": "n8n-nodes-base.code",
"typeVersion": 2,
"position": [
220,
0
]
},
{
"parameters": {
"method": "POST",
"url": "http://localhost:5678/webhook/prop/create",
"sendBody": true,
"specifyBody": "json",
"jsonBody": "={{ JSON.stringify($json) }}",
"options": {}
},
"id": "m24-create-proposal",
"name": "Create Proposal",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [
440,
0
],
"onError": "continueRegularOutput"
}
],
"connections": {
"Discovery Form": {
"main": [
[
{
"node": "To API Body",
"type": "main",
"index": 0
}
]
]
},
"To API Body": {
"main": [
[
{
"node": "Create Proposal",
"type": "main",
"index": 0
}
]
]
}
},
"settings": {
"executionOrder": "v1"
},
"pinData": {}
}