{
  "name": "Stripe customer duplicate detection & management with Airtable & Slack notifications",
  "nodes": [
    {
      "id": "38d831a3-05c2-4de0-94db-a1669fa98ec7",
      "name": "Workflow Description",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -928,
        352
      ],
      "parameters": {
        "width": 389,
        "height": 672,
        "content": "## 🎯 Stripe Customer Duplicate Detection & Management\n\nThis workflow automatically scans your Stripe customers daily to identify potential duplicates and helps you maintain a clean customer database.\n"
      }
    },
    {
      "id": "3a339de6-55b4-45ae-82e5-77455a181e74",
      "name": "Schedule Setup",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -512,
        48
      ],
      "parameters": {
        "width": 236,
        "height": 408,
        "content": "## ⏰ Daily Trigger Setup\n\nScheduled to run every day at 2 AM to avoid peak business hours.\n\n**Cron Expression:** `0 2 * * *`\n- 0: minute (0)\n- 2: hour (2 AM)\n- *: any day of month\n- *: any month\n- *: "
      }
    },
    {
      "id": "6994f890-98d7-47fc-9e77-2b25d636ae13",
      "name": "Daily Schedule Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -432,
        480
      ]
    },
    {
      "id": "8cf9c8a7-38fc-47c9-a83c-68537ae947c3",
      "name": "Stripe Setup",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -336,
        656
      ],
      "parameters": {
        "width": 300,
        "height": 444,
        "content": "## 💳 Stripe Customer Fetch\n\nRetrieves all customers from your Stripe account for duplicate analysis.\n\n**Setup Steps:**\n1. Create Stripe API credentials in n8n\n2. Use your Stripe Secret Key (starts wit"
      }
    },
    {
      "id": "8e276971-d826-4307-bd90-547ec767a7bd",
      "name": "Fetch All Stripe Customers",
      "type": "n8n-nodes-base.stripe",
      "position": [
        -208,
        480
      ]
    },
    {
      "id": "5f0f09fd-3d34-4839-8a51-d865eed0bc88",
      "name": "Detection Algorithm",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -80,
        -64
      ],
      "parameters": {
        "width": 300,
        "height": 532,
        "content": "## 🔍 Duplicate Detection Logic\n\nAdvanced algorithm that identifies potential duplicates using:\n\n**Email Matching (99% confidence):**\n- Exact email matches across customers\n- Case-insensitive compariso"
      }
    },
    {
      "id": "3f53c9e4-9a5a-4519-ae46-8e27b60f3890",
      "name": "Analyze Customer Duplicates",
      "type": "n8n-nodes-base.function",
      "position": [
        32,
        480
      ]
    },
    {
      "id": "31ac8a3a-a2ac-4468-96d3-43eefb377823",
      "name": "Airtable Configuration",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        144,
        624
      ],
      "parameters": {
        "width": 320,
        "height": 524,
        "content": "## 📊 Airtable Logging Setup\n\nLogs all duplicate suggestions to Airtable for review and approval workflow.\n\n**Required Table Fields:**\n- Primary Customer ID (Text)\n- Secondary Customer ID (Text)\n- Emai"
      }
    },
    {
      "id": "2a1648e3-4276-45b6-8dd1-37e9cd9f6b70",
      "name": "Log to Airtable Database",
      "type": "n8n-nodes-base.airtable",
      "position": [
        256,
        480
      ]
    },
    {
      "id": "c8a3224a-1da5-4230-9edd-909afa20757a",
      "name": "Message Format",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        368,
        -48
      ],
      "parameters": {
        "width": 300,
        "height": 520,
        "content": "## 📝 Message Formatting\n\nCreates a detailed Slack message with:\n\n**Summary Statistics:**\n- Total duplicate suggestions found\n- Number of customer groups affected\n- Total customers involved\n\n**Match Ty"
      }
    },
    {
      "id": "dfbf1b63-22a0-4d4c-a4e9-07565b5cab82",
      "name": "Format Notification Message",
      "type": "n8n-nodes-base.function",
      "position": [
        464,
        480
      ]
    },
    {
      "id": "b3d6a5cd-e852-4694-a27e-3d5f53b4a81d",
      "name": "Slack Setup",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        640,
        640
      ],
      "parameters": {
        "width": 300,
        "height": 600,
        "content": "## 💬 Slack Notification Setup\n\nSends detailed duplicate reports to your team Slack channel.\n\n**Setup Steps:**\n1. Create Slack App with Bot Token\n2. Add bot to your target channel\n3. Replace hardcoded "
      }
    },
    {
      "id": "228175d2-da58-4ccc-afda-b7f358f6a3d1",
      "name": "Send Slack Notification",
      "type": "n8n-nodes-base.slack",
      "position": [
        672,
        480
      ]
    }
  ],
  "connections": {
    "Daily Schedule Trigger": {
      "main": [
        [
          {
            "node": "Fetch All Stripe Customers",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Log to Airtable Database": {
      "main": [
        [
          {
            "node": "Format Notification Message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Fetch All Stripe Customers": {
      "main": [
        [
          {
            "node": "Analyze Customer Duplicates",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Analyze Customer Duplicates": {
      "main": [
        [
          {
            "node": "Log to Airtable Database",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Format Notification Message": {
      "main": [
        [
          {
            "node": "Send Slack Notification",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}