{
  "name": "Sync face-to-face fundraising data from offline Google Sheets to SinergiaCRM",
  "nodes": [
    {
      "id": "70d41235-6145-4c9b-b488-b952dbc3a9ef",
      "name": "Combinar ID del CRM",
      "type": "n8n-nodes-base.merge",
      "position": [
        832,
        -848
      ]
    },
    {
      "id": "ae03448e-f0f8-483f-b47f-20e559a89841",
      "name": "Edit Fields",
      "type": "n8n-nodes-base.set",
      "position": [
        1056,
        -848
      ]
    },
    {
      "id": "b469d896-4340-4870-9289-1a6a8af84789",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -784,
        -1728
      ],
      "parameters": {
        "width": 448,
        "height": 1152,
        "content": "Automate syncing of offline donor data from Google Sheets into SinergiaCRM for fast, error-free face-to-face fundraising tracking.\n\n### Who is this workflow for?\nThis workflow is perfect for nonprofit"
      }
    },
    {
      "id": "25950fcd-ff8c-4d58-bcf3-06e2ba0d5b7f",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -320,
        -1088
      ],
      "parameters": {
        "width": 432,
        "height": 512,
        "content": "## 🟢 Trigger: New Offline Donation Entry\nThis workflow starts when a new row is added in the Google Sheet.\nMake sure your sheet includes columns: First name, Last name, Email, NIF, To CRM, Processed\n"
      }
    },
    {
      "id": "e4f93b11-b9bb-4d10-8ebc-4c8b2052fc05",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        144,
        -1344
      ],
      "parameters": {
        "width": 832,
        "height": 768,
        "content": "## SinergiaCRM Setup Requirements\n\nEnsure these modules are enabled in your SinergiaCRM instance:\n- Contacts\n- stic_Contacts_Relationships\n- stic_Payment_Commitments\n\nAuthentication:\n1) Configure OAut"
      }
    },
    {
      "id": "3a61fc6f-8f82-4bcf-9948-189d4f5146e7",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1024,
        -1344
      ],
      "parameters": {
        "width": 1024,
        "height": 768,
        "content": "## Contact Existence Logic\n\nThis IF node decides the workflow path based on whether the contact exists in SinergiaCRM:\n\n- ✅ If the contact exists (matched by NIF), the workflow creates:\n   • a “member"
      }
    },
    {
      "id": "cc70ad72-3799-4efa-abdc-6e7d1e938eb9",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2080,
        -1072
      ],
      "parameters": {
        "width": 528,
        "height": 496,
        "content": "## 🔵 Mark as Processed\nThis step updates the sheet to prevent duplicate imports.\nIt matches rows using the NIF field.\n"
      }
    },
    {
      "id": "790d5db6-9074-4cd5-bd82-b2b66d11d782",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2640,
        -976
      ],
      "parameters": {
        "width": 448,
        "height": 400,
        "content": "## Troubleshooting Tips\n\n- Ensure your Google Sheet column names match exactly (case and spacing).\n- If no contact is found/created, check the NIF value and confirm the field `stic_identification_numb"
      }
    },
    {
      "id": "65eb5af2-649c-4d06-8f55-748e9fbca656",
      "name": "SinergiaCRM: Create Payment Commitment",
      "type": "n8n-nodes-sinergiacrm.sinergiaCrm",
      "position": [
        1728,
        -944
      ]
    },
    {
      "id": "cc3969df-c615-427f-aee8-6639a5c87311",
      "name": "New Row in Google Sheets (Offline Donations)",
      "type": "n8n-nodes-base.googleSheetsTrigger",
      "position": [
        -96,
        -848
      ]
    },
    {
      "id": "52910480-234b-4387-bd7e-68d7364a0c25",
      "name": "Check if Row Should Go to CRM",
      "type": "n8n-nodes-base.if",
      "position": [
        160,
        -848
      ]
    },
    {
      "id": "c2ef6aa8-d6db-48c0-8a5c-f8a24a917a60",
      "name": "Check if Row Has Not Been Processed",
      "type": "n8n-nodes-base.if",
      "position": [
        384,
        -848
      ]
    },
    {
      "id": "4695eff9-291b-41c5-b1b2-f5617526ca01",
      "name": "Find Existing Contact in CRM by NIF",
      "type": "n8n-nodes-sinergiacrm.sinergiaCrm",
      "position": [
        608,
        -976
      ]
    },
    {
      "id": "2a6633dd-7168-41ee-97ee-3891c295a0f0",
      "name": "Check if Contact Already Exists in CRM",
      "type": "n8n-nodes-base.if",
      "position": [
        1280,
        -848
      ]
    },
    {
      "id": "b0af0e80-951d-4b50-b299-c385d5041fd7",
      "name": "Create New Contact in SinergiaCRM",
      "type": "n8n-nodes-sinergiacrm.sinergiaCrm",
      "position": [
        1504,
        -752
      ]
    },
    {
      "id": "4ebdb785-1e0d-409f-b800-c83360272ec0",
      "name": "Create Member Relationship in SinergiaCRM",
      "type": "n8n-nodes-sinergiacrm.sinergiaCrm",
      "position": [
        1504,
        -944
      ]
    },
    {
      "id": "55708fc4-56cf-4cf6-84ca-808e92fb412c",
      "name": "Create Member Relationship in SinergiaCRM 2",
      "type": "n8n-nodes-sinergiacrm.sinergiaCrm",
      "position": [
        1696,
        -752
      ]
    },
    {
      "id": "c2c53955-96db-475c-91bb-16b8e654af66",
      "name": "SinergiaCRM: Create Payment Commitment 2",
      "type": "n8n-nodes-sinergiacrm.sinergiaCrm",
      "position": [
        1904,
        -752
      ]
    },
    {
      "id": "699157a2-198e-4985-8067-d8f242f2044b",
      "name": "Mark Row as Processed in Google Sheet",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        2176,
        -944
      ]
    }
  ],
  "connections": {
    "Edit Fields": {
      "main": [
        [
          {
            "node": "Check if Contact Already Exists in CRM",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Combinar ID del CRM": {
      "main": [
        [
          {
            "node": "Edit Fields",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check if Row Should Go to CRM": {
      "main": [
        [
          {
            "node": "Check if Row Has Not Been Processed",
            "type": "main",
            "index": 0
          }
        ],
        []
      ]
    },
    "Create New Contact in SinergiaCRM": {
      "main": [
        [
          {
            "node": "Create Member Relationship in SinergiaCRM 2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check if Row Has Not Been Processed": {
      "main": [
        [
          {
            "node": "Find Existing Contact in CRM by NIF",
            "type": "main",
            "index": 0
          },
          {
            "node": "Combinar ID del CRM",
            "type": "main",
            "index": 1
          }
        ],
        []
      ]
    },
    "Find Existing Contact in CRM by NIF": {
      "main": [
        [
          {
            "node": "Combinar ID del CRM",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Mark Row as Processed in Google Sheet": {
      "main": [
        []
      ]
    },
    "Check if Contact Already Exists in CRM": {
      "main": [
        [
          {
            "node": "Create Member Relationship in SinergiaCRM",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Create New Contact in SinergiaCRM",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "SinergiaCRM: Create Payment Commitment": {
      "main": [
        [
          {
            "node": "Mark Row as Processed in Google Sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "SinergiaCRM: Create Payment Commitment 2": {
      "main": [
        [
          {
            "node": "Mark Row as Processed in Google Sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create Member Relationship in SinergiaCRM": {
      "main": [
        [
          {
            "node": "SinergiaCRM: Create Payment Commitment",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create Member Relationship in SinergiaCRM 2": {
      "main": [
        [
          {
            "node": "SinergiaCRM: Create Payment Commitment 2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "New Row in Google Sheets (Offline Donations)": {
      "main": [
        [
          {
            "node": "Check if Row Should Go to CRM",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}