Skip to content

In n8n, copy this file and paste it onto the canvas, or use Import from File.

{
  "name": "05 - Form to CRM Follow-up (starter)",
  "nodes": [
    {
      "parameters": {
        "formTitle": "Work with me",
        "formDescription": "Tell me about your project and I'll get back to you within 24 hours.",
        "formFields": {
          "values": [
            {
              "fieldLabel": "Name",
              "requiredField": true
            },
            {
              "fieldLabel": "Email",
              "fieldType": "email",
              "requiredField": true
            },
            {
              "fieldLabel": "Company"
            },
            {
              "fieldLabel": "What do you need help with?",
              "fieldType": "dropdown",
              "fieldOptions": {
                "values": [
                  {
                    "option": "Automation"
                  },
                  {
                    "option": "AI agent"
                  },
                  {
                    "option": "Integration"
                  },
                  {
                    "option": "Something else"
                  }
                ]
              },
              "requiredField": true
            },
            {
              "fieldLabel": "Budget",
              "fieldType": "dropdown",
              "fieldOptions": {
                "values": [
                  {
                    "option": "Under $1k"
                  },
                  {
                    "option": "$1k-$5k"
                  },
                  {
                    "option": "Over $5k"
                  }
                ]
              },
              "requiredField": true
            },
            {
              "fieldLabel": "Details",
              "fieldType": "textarea"
            }
          ]
        },
        "options": {
          "path": "work-with-me",
          "appendAttribution": false,
          "respondWithOptions": {
            "values": {
              "formSubmittedText": "Thanks! Check your inbox, I've sent you a confirmation."
            }
          }
        }
      },
      "id": "m05-form",
      "name": "Contact Form",
      "type": "n8n-nodes-base.formTrigger",
      "typeVersion": 2.3,
      "position": [
        0,
        100
      ],
      "webhookId": "course-05-form"
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "n1",
              "name": "name",
              "value": "={{ $json['Name'].trim() }}",
              "type": "string"
            },
            {
              "id": "n2",
              "name": "first_name",
              "value": "={{ $json['Name'].trim().split(' ')[0] }}",
              "type": "string"
            },
            {
              "id": "n3",
              "name": "email",
              "value": "={{ $json['Email'].trim().toLowerCase() }}",
              "type": "string"
            },
            {
              "id": "n4",
              "name": "company",
              "value": "={{ ($json['Company'] ?? '').trim() }}",
              "type": "string"
            },
            {
              "id": "n5",
              "name": "need",
              "value": "={{ $json['What do you need help with?'] }}",
              "type": "string"
            },
            {
              "id": "n6",
              "name": "budget",
              "value": "={{ $json['Budget'] }}",
              "type": "string"
            },
            {
              "id": "n7",
              "name": "details",
              "value": "={{ $json['Details'] ?? '' }}",
              "type": "string"
            },
            {
              "id": "n8",
              "name": "priority",
              "value": "={{ $json['Budget'] === 'Over $5k' ? 'high' : 'normal' }}",
              "type": "string"
            },
            {
              "id": "n9",
              "name": "status",
              "value": "new",
              "type": "string"
            },
            {
              "id": "n10",
              "name": "submitted_at",
              "value": "={{ $now.toISO() }}",
              "type": "string"
            }
          ]
        },
        "options": {}
      },
      "id": "m05-normalize",
      "name": "Normalize Lead",
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        220,
        100
      ]
    },
    {
      "parameters": {
        "content": "## Your task\n1. Create a Google Sheet with a **CRM** tab (headers in assets/crm-template.csv).\n2. Save each lead with **Append or Update Row**, matching on `email`.\n3. Send a personalized **welcome email** with Gmail (use `first_name` and `need`).\n4. **Wait** 2 days, then send a follow-up.\n\nOpen the form: http://localhost:5678/form-test/work-with-me (click *Execute workflow* first).",
        "height": 260,
        "width": 420
      },
      "id": "starter-task-note",
      "name": "Your Task",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        0,
        -340
      ]
    }
  ],
  "connections": {
    "Contact Form": {
      "main": [
        [
          {
            "node": "Normalize Lead",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Normalize Lead": {
      "main": [
        []
      ]
    }
  },
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  }
}