{
  "id": "Viv8fgIQ3YahLz3q",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "Event Participant Management and Automated Follow-up System",
  "tags": [],
  "nodes": [
    {
      "id": "7c944a05-dc18-4966-875e-f101544e3597",
      "name": "Typeform Registration Form",
      "type": "n8n-nodes-base.typeformTrigger",
      "position": [
        0,
        0
      ],
      "parameters": {
        "formId": "<__PLACEHOLDER_VALUE__Typeform Form ID__>"
      },
      "typeVersion": 1.1
    },
    {
      "id": "b4c828ad-aae3-4131-9383-165702e353e4",
      "name": "Workflow Configuration",
      "type": "n8n-nodes-base.set",
      "position": [
        224,
        0
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "id-1",
              "name": "eventName",
              "type": "string",
              "value": "<__PLACEHOLDER_VALUE__Event Name__>"
            },
            {
              "id": "id-2",
              "name": "eventDate",
              "type": "string",
              "value": "<__PLACEHOLDER_VALUE__Event Date (YYYY-MM-DD)__>"
            },
            {
              "id": "id-3",
              "name": "eventTime",
              "type": "string",
              "value": "<__PLACEHOLDER_VALUE__Event Time__>"
            },
            {
              "id": "id-4",
              "name": "eventLocation",
              "type": "string",
              "value": "<__PLACEHOLDER_VALUE__Event Location__>"
            },
            {
              "id": "id-5",
              "name": "participationFee",
              "type": "string",
              "value": "<__PLACEHOLDER_VALUE__Participation Fee Amount__>"
            },
            {
              "id": "id-6",
              "name": "reminderDaysBefore",
              "type": "number",
              "value": 3
            },
            {
              "id": "id-7",
              "name": "followupDaysAfter",
              "type": "number",
              "value": 2
            },
            {
              "id": "id-8",
              "name": "organizerSlackChannel",
              "type": "string",
              "value": "<__PLACEHOLDER_VALUE__Slack Channel ID__>"
            }
          ]
        },
        "includeOtherFields": true
      },
      "typeVersion": 3.4
    },
    {
      "id": "d2e4b2da-73e2-485c-82c7-1f41d6b9a4f4",
      "name": "Add to Participant List",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        448,
        0
      ],
      "parameters": {
        "columns": {
          "value": {
            "Name": "={{ $json.name }}",
            "Email": "={{ $json.email }}",
            "Phone": "={{ $json.phone }}",
            "Event Date": "={{ $('Workflow Configuration').first().json.eventDate }}",
            "Event Name": "={{ $('Workflow Configuration').first().json.eventName }}",
            "Payment Status": "Pending",
            "Registration Date": "={{ $now.toISO() }}"
          },
          "schema": [
            {
              "id": "Name",
              "required": false,
              "displayName": "Name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Email",
              "required": false,
              "displayName": "Email",
              "defaultMatch": true,
              "canBeUsedToMatch": true
            },
            {
              "id": "Phone",
              "required": false,
              "displayName": "Phone",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Registration Date",
              "required": false,
              "displayName": "Registration Date",
              "defaultMatch": false,
              "canBeUsedToMatch": false
            },
            {
              "id": "Event Name",
              "required": false,
              "displayName": "Event Name",
              "defaultMatch": false,
              "canBeUsedToMatch": false
            },
            {
              "id": "Event Date",
              "required": false,
              "displayName": "Event Date",
              "defaultMatch": false,
              "canBeUsedToMatch": false
            },
            {
              "id": "Payment Status",
              "required": false,
              "displayName": "Payment Status",
              "defaultMatch": false,
              "canBeUsedToMatch": false
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "Email"
          ]
        },
        "options": {},
        "operation": "appendOrUpdate",
        "sheetName": {
          "__rl": true,
          "mode": "name",
          "value": "<__PLACEHOLDER_VALUE__Sheet Name (e.g., Participants)__>"
        },
        "documentId": {
          "__rl": true,
          "mode": "id",
          "value": "<__PLACEHOLDER_VALUE__Google Sheets Document ID__>"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "0847f022-be9a-4137-95cb-291f6f1608e9",
      "name": "Process Payment",
      "type": "n8n-nodes-base.stripe",
      "position": [
        672,
        0
      ],
      "parameters": {
        "amount": "={{ $('Workflow Configuration').first().json.participationFee * 100 }}",
        "source": "<__PLACEHOLDER_VALUE__Source ID__>",
        "currency": "jpy",
        "resource": "charge",
        "operation": "create",
        "customerId": "<__PLACEHOLDER_VALUE__Customer ID__>",
        "additionalFields": {
          "metadata": {
            "metadataProperties": [
              {
                "key": "participant_email",
                "value": "={{ $json.email }}"
              },
              {
                "key": "participant_name",
                "value": "={{ $json.name }}"
              },
              {
                "key": "event_name",
                "value": "={{ $('Workflow Configuration').first().json.eventName }}"
              }
            ]
          },
          "description": "={{ 'Event Registration: ' + $('Workflow Configuration').first().json.eventName }}"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "5d2c0d4e-5f4e-4659-9467-575667f47c0b",
      "name": "Check Payment Status",
      "type": "n8n-nodes-base.if",
      "position": [
        896,
        0
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "id-1",
              "operator": {
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.status }}",
              "rightValue": "succeeded"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "e2462463-af2a-445c-b526-efcce51b9b18",
      "name": "Send Confirmation Email",
      "type": "n8n-nodes-base.gmail",
      "position": [
        1136,
        -96
      ],
      "parameters": {
        "sendTo": "={{ $('Typeform Registration Form').first().json.email }}",
        "message": "=<h2>\u3054\u767b\u9332\u3042\u308a\u304c\u3068\u3046\u3054\u3056\u3044\u307e\u3059</h2><p>{{ $('Typeform Registration Form').first().json.name }} \u69d8</p><p>{{ $('Workflow Configuration').first().json.eventName }} \u3078\u306e\u3054\u767b\u9332\u304c\u5b8c\u4e86\u3057\u307e\u3057\u305f\u3002</p><p><strong>\u30a4\u30d9\u30f3\u30c8\u8a73\u7d30:</strong></p><ul><li>\u65e5\u6642: {{ $('Workflow Configuration').first().json.eventDate }} {{ $('Workflow Configuration').first().json.eventTime }}</li><li>\u5834\u6240: {{ $('Workflow Configuration').first().json.eventLocation }}</li></ul><p>\u5f53\u65e5\u304a\u4f1a\u3044\u3067\u304d\u308b\u3053\u3068\u3092\u697d\u3057\u307f\u306b\u3057\u3066\u304a\u308a\u307e\u3059\u3002</p>",
        "options": {},
        "subject": "={{ '\u30a4\u30d9\u30f3\u30c8\u53c2\u52a0\u78ba\u8a8d: ' + $('Workflow Configuration').first().json.eventName }}"
      },
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "e63d3572-bc39-4a7a-aa8c-2840ccc46c18",
      "name": "Add to Calendar",
      "type": "n8n-nodes-base.googleCalendar",
      "position": [
        1360,
        -96
      ],
      "parameters": {
        "end": "={{ DateTime.fromISO($('Workflow Configuration').first().json.eventDate + 'T' + $('Workflow Configuration').first().json.eventTime).plus({ hours: 2 }).toISO() }}",
        "start": "={{ $('Workflow Configuration').first().json.eventDate + 'T' + $('Workflow Configuration').first().json.eventTime }}",
        "calendar": {
          "__rl": true,
          "mode": "id",
          "value": "primary"
        },
        "additionalFields": {
          "summary": "={{ $('Workflow Configuration').first().json.eventName }}",
          "location": "={{ $('Workflow Configuration').first().json.eventLocation }}",
          "description": "={{ 'Participant: ' + $('Typeform Registration Form').first().json.name }}"
        }
      },
      "credentials": {
        "googleCalendarOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "b5c019f2-6e53-4348-adbf-1962574e9568",
      "name": "Notify Organizer",
      "type": "n8n-nodes-base.slack",
      "position": [
        1584,
        -96
      ],
      "parameters": {
        "text": "={{ '\ud83c\udf89 \u65b0\u898f\u53c2\u52a0\u8005\u767b\u9332\n\u540d\u524d: ' + $('Typeform Registration Form').first().json.name + '\n\u30e1\u30fc\u30eb: ' + $('Typeform Registration Form').first().json.email + '\n\u30a4\u30d9\u30f3\u30c8: ' + $('Workflow Configuration').first().json.eventName }}",
        "select": "channel",
        "channelId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $('Workflow Configuration').first().json.organizerSlackChannel }}"
        },
        "otherOptions": {},
        "authentication": "oAuth2"
      },
      "credentials": {
        "slackOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.3
    },
    {
      "id": "657ee013-6bca-4659-be15-1470fccb5b7f",
      "name": "Daily Reminder Check",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        0,
        224
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "triggerAtHour": 9
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "f4f8d33b-3f41-42d5-99f1-3c721bb1af0d",
      "name": "Get Upcoming Events",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        224,
        224
      ],
      "parameters": {
        "options": {
          "returnFirstMatch": false
        },
        "filtersUI": {
          "values": [
            {
              "lookupValue": "succeeded",
              "lookupColumn": "Payment Status"
            }
          ]
        },
        "sheetName": {
          "__rl": true,
          "mode": "name",
          "value": "<__PLACEHOLDER_VALUE__Sheet Name (e.g., Participants)__>"
        },
        "documentId": {
          "__rl": true,
          "mode": "id",
          "value": "<__PLACEHOLDER_VALUE__Google Sheets Document ID (same as registration)__>"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "86f23720-e55e-492e-87ba-3b4a961565d7",
      "name": "Calculate Reminder Date",
      "type": "n8n-nodes-base.dateTime",
      "position": [
        448,
        224
      ],
      "parameters": {
        "options": {},
        "duration": "={{ $('Workflow Configuration').first().json.reminderDaysBefore }}",
        "magnitude": "={{ $json['Event Date'] }}",
        "operation": "subtractFromDate"
      },
      "typeVersion": 2
    },
    {
      "id": "feb98889-9ac8-41cb-bbb1-ef6a26eb3b76",
      "name": "Check If Reminder Needed",
      "type": "n8n-nodes-base.if",
      "position": [
        672,
        224
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "id-1",
              "operator": {
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $now.toFormat('yyyy-MM-dd') }}",
              "rightValue": "={{ $json.output }}"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "07b2d002-cb41-4228-b46f-fada104e2bf1",
      "name": "Send Reminder Email",
      "type": "n8n-nodes-base.gmail",
      "position": [
        1392,
        256
      ],
      "parameters": {
        "sendTo": "={{ $json.Email }}",
        "message": "=<h2>\u30a4\u30d9\u30f3\u30c8\u30ea\u30de\u30a4\u30f3\u30c0\u30fc</h2><p>{{ $json.Name }} \u69d8</p><p>{{ $json['Event Name'] }} \u306e\u958b\u50ac\u304c\u8fd1\u3065\u3044\u3066\u307e\u3044\u308a\u307e\u3057\u305f\u3002</p><p><strong>\u30a4\u30d9\u30f3\u30c8\u8a73\u7d30:</strong></p><ul><li>\u65e5\u6642: {{ $json['Event Date'] }} {{ $('Workflow Configuration').first().json.eventTime }}</li><li>\u5834\u6240: {{ $('Workflow Configuration').first().json.eventLocation }}</li></ul><p>\u304a\u5fd8\u308c\u306a\u304f\u3054\u53c2\u52a0\u304f\u3060\u3055\u3044\u3002</p>",
        "options": {},
        "subject": "={{ '\u30ea\u30de\u30a4\u30f3\u30c0\u30fc: ' + $json['Event Name'] + ' \u304c\u9593\u3082\u306a\u304f\u958b\u50ac\u3055\u308c\u307e\u3059' }}"
      },
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "b71cafb3-d90f-4817-a9b5-6f48bd3110da",
      "name": "Daily Follow-up Check",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        0,
        448
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "triggerAtHour": 10
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "ac113bc3-20d2-455f-b042-de09ad00c333",
      "name": "Get Past Events",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        224,
        448
      ],
      "parameters": {
        "options": {
          "returnFirstMatch": false
        },
        "filtersUI": {
          "values": [
            {
              "lookupValue": "succeeded",
              "lookupColumn": "Payment Status"
            },
            {
              "lookupColumn": "Follow-up Sent"
            }
          ]
        },
        "sheetName": {
          "__rl": true,
          "mode": "name",
          "value": "<__PLACEHOLDER_VALUE__Sheet Name (e.g., Participants)__>"
        },
        "documentId": {
          "__rl": true,
          "mode": "id",
          "value": "<__PLACEHOLDER_VALUE__Google Sheets Document ID (same as registration)__>"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "238e21d8-5ef5-4f41-8c24-969b0db3f66f",
      "name": "Calculate Follow-up Date",
      "type": "n8n-nodes-base.dateTime",
      "position": [
        448,
        448
      ],
      "parameters": {
        "options": {},
        "duration": "={{ $('Workflow Configuration').first().json.followupDaysAfter }}",
        "magnitude": "={{ $json['Event Date'] }}",
        "operation": "addToDate"
      },
      "typeVersion": 2
    },
    {
      "id": "ac0142fc-af2f-4e01-8090-303f02b3fca0",
      "name": "Check If Follow-up Needed",
      "type": "n8n-nodes-base.if",
      "position": [
        672,
        448
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "id-1",
              "operator": {
                "type": "string",
                "operation": "gte"
              },
              "leftValue": "={{ $now.toFormat('yyyy-MM-dd') }}",
              "rightValue": "={{ $json.output }}"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "9f776c37-6551-4f18-a046-c3dc59a53fe9",
      "name": "Send Thank You & Survey",
      "type": "n8n-nodes-base.gmail",
      "position": [
        912,
        624
      ],
      "parameters": {
        "sendTo": "={{ $json.Email }}",
        "message": "=<h2>\u3054\u53c2\u52a0\u3042\u308a\u304c\u3068\u3046\u3054\u3056\u3044\u307e\u3057\u305f</h2><p>{{ $json.Name }} \u69d8</p><p>{{ $json['Event Name'] }} \u3078\u306e\u3054\u53c2\u52a0\u3001\u8aa0\u306b\u3042\u308a\u304c\u3068\u3046\u3054\u3056\u3044\u307e\u3057\u305f\u3002</p><p>\u4eca\u5f8c\u306e\u30a4\u30d9\u30f3\u30c8\u6539\u5584\u306e\u305f\u3081\u3001\u7c21\u5358\u306a\u30a2\u30f3\u30b1\u30fc\u30c8\u306b\u3054\u5354\u529b\u3044\u305f\u3060\u3051\u307e\u3059\u3068\u5e78\u3044\u3067\u3059\u3002</p><p><a href=\"<__PLACEHOLDER_VALUE__Survey URL__>\">\u30a2\u30f3\u30b1\u30fc\u30c8\u306b\u56de\u7b54\u3059\u308b</a></p><p>\u307e\u305f\u306e\u3054\u53c2\u52a0\u3092\u304a\u5f85\u3061\u3057\u3066\u304a\u308a\u307e\u3059\u3002</p>",
        "options": {},
        "subject": "={{ '\u3042\u308a\u304c\u3068\u3046\u3054\u3056\u3044\u307e\u3057\u305f: ' + $json['Event Name'] }}"
      },
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "22af0070-2118-4523-841c-533531700257",
      "name": "Update Follow-up Status",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1120,
        624
      ],
      "parameters": {
        "columns": {
          "value": {
            "Follow-up Date": "={{ $now.toISO() }}",
            "Follow-up Sent": "Yes"
          },
          "schema": [
            {
              "id": "Email",
              "required": false,
              "displayName": "Email",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Follow-up Sent",
              "required": false,
              "displayName": "Follow-up Sent",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Follow-up Date",
              "required": false,
              "displayName": "Follow-up Date",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "Email"
          ]
        },
        "options": {},
        "operation": "update",
        "sheetName": {
          "__rl": true,
          "mode": "name",
          "value": "<__PLACEHOLDER_VALUE__Sheet Name (e.g., Participants)__>"
        },
        "documentId": {
          "__rl": true,
          "mode": "id",
          "value": "<__PLACEHOLDER_VALUE__Google Sheets Document ID (same as registration)__>"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "42f7eaec-aa5a-4ee2-8d79-70bbbf8a73b0",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1744,
        -416
      ],
      "parameters": {
        "width": 944,
        "height": 1504,
        "content": "## Event Participant Management and Automated Follow-up System\n**\n### Who is this for?\n\nThis template is ideal for event organizers, community managers, and businesses that host workshops, webinars, conferences, or any event requiring participant registration and communication.\n\n### How it works\n\nThe workflow is divided into three main parts:\n\n1.  **Registration and Onboarding:**\n    *   When a new participant registers via a Typeform, their details are immediately added to a Google Sheet.\n    *   Payment is processed via Stripe.\n    *   Upon successful payment, a confirmation email is sent to the participant, and the event is added to their Google Calendar.\n    *   The organizer receives a Slack notification about the new registration.\n\n2.  **Event Reminders:**\n    *   A daily scheduled trigger checks the Google Sheet for upcoming events.\n    *   It calculates if an event is within the specified reminder period (e.g., 3 days before).\n    *   If a reminder is needed, an email is automatically sent to the participant.\n\n3.  **Post-Event Follow-up:**\n    *   Another daily scheduled trigger checks for past events.\n    *   It calculates if an event is due for a follow-up (e.g., 2 days after).\n    *   A thank-you email, including a survey link, is sent to participants.\n    *   The participant's status in the Google Sheet is updated to mark the follow-up as sent.\n\n### How to set it up\n\n1.  **Typeform Registration Form:** Replace `<__PLACEHOLDER_VALUE__Typeform Form ID__>` with your actual Typeform ID.\n2.  **Workflow Configuration:** Fill in the placeholder values for `Event Name`, `Event Date`, `Event Time`, `Event Location`, `Participation Fee Amount`, and `Slack Channel ID`.\n3.  **Google Sheets:**\n    *   Replace `<__PLACEHOLDER_VALUE__Google Sheets Document ID__>` and `<__PLACEHOLDER_VALUE__Sheet Name (e.g., Participants)__>` with your Google Sheet details. Ensure your sheet has columns for \"Name\", \"Email\", \"Phone\", \"Registration Date\", \"Event Name\", \"Event Date\", \"Payment Status\", \"Follow-up Sent\", and \"Follow-up Date\".\n    *   You will need to set up Google Sheets OAuth2 API credentials.\n4.  **Stripe (Process Payment):** Replace `<__PLACEHOLDER_VALUE__Customer ID__>` and `<__PLACEHOLDER_VALUE__Source ID__>` with your Stripe customer and source IDs. You will need Stripe API credentials.\n5.  **Gmail (Send Confirmation Email, Send Reminder Email, Send Thank You & Survey):** You will need to set up Gmail OAuth2 credentials.\n6.  **Google Calendar (Add to Calendar):** You will need to set up Google Calendar OAuth2 API credentials.\n7.  **Slack (Notify Organizer):** Replace `<__PLACEHOLDER_VALUE__Slack Channel ID__>` (if not already set in Workflow Configuration) and set up Slack OAuth2 API credentials.\n8.  **Survey URL (Send Thank You & Survey):** Replace `<__PLACEHOLDER_VALUE__Survey URL__>` with the link to your post-event survey.\n\n### Requirements\n\n*   Typeform account and a registration form.\n*   Google Sheet for participant management.\n*   Stripe account for payment processing.\n*   Gmail account for sending emails.\n*   Google Calendar for event scheduling.\n*   Slack account for organizer notifications.\n*   n8n credentials for Google Sheets, Stripe, Gmail, Google Calendar, and Slack.\n\n### How to customize the workflow\n\n*   **Reminder/Follow-up Timing:** Adjust the `reminderDaysBefore` and `followupDaysAfter` values in the \"Workflow Configuration\" node to change when reminder and follow-up emails are sent.\n*   **Email Content:** Modify the HTML content in the \"Send Confirmation Email\", \"Send Reminder Email\", and \"Send Thank You & Survey\" nodes to match your branding and messaging.\n*   **Payment Currency:** Change the `currency` in the \"Process Payment\" node if your event uses a different currency.\n*   **Additional Data:** Extend the Google Sheets nodes to capture more participant information from Typeform if needed.\n*   **Integration:** Easily integrate with other services by adding more nodes, for example, a CRM to add new participants as leads.\n`"
      },
      "typeVersion": 1
    },
    {
      "id": "63c03b4f-0fd4-44e7-b220-f38b1edd266f",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -80,
        -192
      ],
      "parameters": {
        "color": 3,
        "width": 640,
        "height": 784,
        "content": "## Registration and Onboarding\n \u3000*   When a new participant registers via a Typeform, their details are immediately added to a Google Sheet.\n    *   Payment is processed via Stripe.\n    *   Upon successful payment, a confirmation email is sent to the participant, and the event is added to their Google Calendar.\n    *   The organizer receives a Slack notification about the new registration."
      },
      "typeVersion": 1
    },
    {
      "id": "a6e75768-514e-498a-9f45-2ea5f9bfdede",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        864,
        432
      ],
      "parameters": {
        "color": 4,
        "width": 448,
        "height": 368,
        "content": "## Post-Event Follow-up \n \u3000*  Another daily scheduled trigger checks for past events.\n    *   It calculates if an event is due for a follow-up (e.g., 2 days after).\n    *   A thank-you email, including a survey link, is sent to participants.\n    *   The participant's status in the Google Sheet is updated to mark the follow-up as sent.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "4f61bb8e-5bff-4dbd-abbc-0b5ef624bc6f",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1312,
        64
      ],
      "parameters": {
        "color": 6,
        "width": 368,
        "height": 336,
        "content": "## Event Reminders \n**    *   A daily scheduled trigger checks the Google Sheet for upcoming events.\n    *   It calculates if an event is within the specified reminder period (e.g., 3 days before).\n    *   If a reminder is needed, an email is automatically sent to the participant."
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "04d493c7-e7fb-4308-a629-c24c028753d6",
  "connections": {
    "Add to Calendar": {
      "main": [
        [
          {
            "node": "Notify Organizer",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Past Events": {
      "main": [
        [
          {
            "node": "Calculate Follow-up Date",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Process Payment": {
      "main": [
        [
          {
            "node": "Check Payment Status",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Upcoming Events": {
      "main": [
        [
          {
            "node": "Calculate Reminder Date",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check Payment Status": {
      "main": [
        [
          {
            "node": "Send Confirmation Email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Daily Reminder Check": {
      "main": [
        [
          {
            "node": "Get Upcoming Events",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Daily Follow-up Check": {
      "main": [
        [
          {
            "node": "Get Past Events",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Workflow Configuration": {
      "main": [
        [
          {
            "node": "Add to Participant List",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Add to Participant List": {
      "main": [
        [
          {
            "node": "Process Payment",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Calculate Reminder Date": {
      "main": [
        [
          {
            "node": "Check If Reminder Needed",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send Confirmation Email": {
      "main": [
        [
          {
            "node": "Add to Calendar",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send Thank You & Survey": {
      "main": [
        [
          {
            "node": "Update Follow-up Status",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Calculate Follow-up Date": {
      "main": [
        [
          {
            "node": "Check If Follow-up Needed",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check If Reminder Needed": {
      "main": [
        [
          {
            "node": "Send Reminder Email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check If Follow-up Needed": {
      "main": [
        [
          {
            "node": "Send Thank You & Survey",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Typeform Registration Form": {
      "main": [
        [
          {
            "node": "Workflow Configuration",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}