{
  "name": "AI Outbound Revenue Engine",
  "nodes": [
    {
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "days",
              "triggerAtHour": 8
            }
          ]
        }
      },
      "id": "schedule-daily-800",
      "name": "Schedule: Daily 8:00",
      "type": "n8n-nodes-base.scheduleTrigger",
      "typeVersion": 1.2,
      "position": [
        -820,
        320
      ]
    },
    {
      "parameters": {
        "operation": "read",
        "documentId": {
          "__rl": true,
          "value": "REPLACE_SHEET_ID",
          "mode": "id"
        },
        "sheetName": {
          "__rl": true,
          "value": "Outreach",
          "mode": "name"
        },
        "options": {}
      },
      "id": "sheets-read-outreach-list",
      "name": "Sheets: Read Outreach List",
      "type": "n8n-nodes-base.googleSheets",
      "typeVersion": 4.4,
      "position": [
        -600,
        320
      ],
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "REPLACE_SHEETS",
          "name": "Google Sheets account"
        }
      }
    },
    {
      "parameters": {
        "batchSize": 15,
        "options": {}
      },
      "id": "loop-over-leads",
      "name": "Loop Over Leads",
      "type": "n8n-nodes-base.splitInBatches",
      "typeVersion": 3,
      "position": [
        -380,
        320
      ]
    },
    {
      "parameters": {
        "rules": {
          "values": [
            {
              "conditions": {
                "options": {
                  "caseSensitive": true,
                  "typeValidation": "loose"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "leftValue": "={{ $json.status }}",
                    "rightValue": "new",
                    "operator": {
                      "type": "string",
                      "operation": "equals"
                    }
                  }
                ]
              },
              "renameOutput": true,
              "outputKey": "new"
            },
            {
              "conditions": {
                "options": {
                  "caseSensitive": true,
                  "typeValidation": "loose"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "leftValue": "={{ $json.status }}",
                    "rightValue": "active",
                    "operator": {
                      "type": "string",
                      "operation": "equals"
                    }
                  }
                ]
              },
              "renameOutput": true,
              "outputKey": "active"
            }
          ]
        },
        "options": {
          "fallbackOutput": "extra",
          "renameFallbackOutput": "other"
        }
      },
      "id": "switch-lead-status",
      "name": "Switch: Lead Status",
      "type": "n8n-nodes-base.switch",
      "typeVersion": 3,
      "position": [
        -140,
        320
      ]
    },
    {
      "parameters": {
        "method": "GET",
        "url": "=https://api.your-enrichment-provider.com/v1/company?domain={{ $json.domain }}",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "options": {}
      },
      "id": "enrich-account-http",
      "name": "Enrich Account (HTTP)",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        120,
        60
      ],
      "onError": "continueRegularOutput",
      "credentials": {
        "httpHeaderAuth": {
          "id": "REPLACE_ENRICH",
          "name": "Enrichment API key"
        }
      }
    },
    {
      "parameters": {
        "method": "POST",
        "url": "https://api.anthropic.com/v1/messages",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "anthropic-version",
              "value": "2023-06-01"
            },
            {
              "name": "content-type",
              "value": "application/json"
            }
          ]
        },
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "={{ JSON.stringify({ model:\"claude-sonnet-4-6\", max_tokens:700, system:\"Du bist SDR-Analyst. Bewerte den ICP-Fit fuer eine KI-Automatisierungs-Agentur. Antworte NUR mit JSON: {\\\"icp_fit\\\": number (0-100), \\\"pains\\\": string[], \\\"hook\\\": string, \\\"channel\\\": \\\"email\\\"|\\\"linkedin\\\"}.\", messages:[{role:\"user\", content: \"Firma: \" + $('Loop Over Leads').item.json.company + \" | Branche: \" + ($json.industry||'?') + \" | Groesse: \" + ($json.employees||'?') }] }) }}",
        "options": {
          "timeout": 30000
        }
      },
      "id": "claude-icp-score",
      "name": "Claude: ICP Score",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        340,
        60
      ],
      "credentials": {
        "httpHeaderAuth": {
          "id": "REPLACE_ANTHRO",
          "name": "Anthropic API key (x-api-key)"
        }
      }
    },
    {
      "parameters": {
        "mode": "runOnceForEachItem",
        "jsCode": "let d; try{d=JSON.parse($json.content[0].text);}catch(e){const m=($json.content?.[0]?.text||'').match(/\\{[\\s\\S]*\\}/);d=m?JSON.parse(m[0]):{icp_fit:0,pains:[],hook:'',channel:'email'};}\nconst r=$('Loop Over Leads').item.json; return { ...r, icp_fit:Number(d.icp_fit)||0, pains:d.pains||[], hook:d.hook||'', channel:d.channel||'email' };"
      },
      "id": "parse-icp",
      "name": "Parse ICP",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        560,
        60
      ]
    },
    {
      "parameters": {
        "conditions": {
          "options": {
            "caseSensitive": true,
            "typeValidation": "loose"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "f1",
              "leftValue": "={{ $json.icp_fit }}",
              "rightValue": 60,
              "operator": {
                "type": "number",
                "operation": "gte"
              }
            }
          ]
        },
        "options": {}
      },
      "id": "if-good-fit?",
      "name": "IF: Good Fit?",
      "type": "n8n-nodes-base.if",
      "typeVersion": 2,
      "position": [
        780,
        60
      ]
    },
    {
      "parameters": {
        "method": "POST",
        "url": "https://api.anthropic.com/v1/messages",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "anthropic-version",
              "value": "2023-06-01"
            },
            {
              "name": "content-type",
              "value": "application/json"
            }
          ]
        },
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "={{ JSON.stringify({ model:\"claude-sonnet-4-6\", max_tokens:1200, system:\"Schreibe eine 3-stufige, personalisierte Outbound-Sequenz (kurz, kein Spam, klarer CTA). Antworte NUR mit JSON: {\\\"s1_subject\\\": string, \\\"s1_body\\\": string, \\\"s2_body\\\": string, \\\"s3_body\\\": string}.\", messages:[{role:\"user\", content: \"Firma: \" + $json.company + \" | Kontakt: \" + $json.contact + \" | Pains: \" + ($json.pains||[]).join(', ') + \" | Hook: \" + $json.hook }] }) }}",
        "options": {
          "timeout": 40000
        }
      },
      "id": "claude-write-sequence",
      "name": "Claude: Write Sequence",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        1000,
        20
      ],
      "credentials": {
        "httpHeaderAuth": {
          "id": "REPLACE_ANTHRO",
          "name": "Anthropic API key (x-api-key)"
        }
      }
    },
    {
      "parameters": {
        "mode": "runOnceForEachItem",
        "jsCode": "let d; try{d=JSON.parse($json.content[0].text);}catch(e){const m=($json.content?.[0]?.text||'').match(/\\{[\\s\\S]*\\}/);d=m?JSON.parse(m[0]):{s1_subject:'',s1_body:'',s2_body:'',s3_body:''};}\nreturn { ...$('Parse ICP').item.json, ...d };"
      },
      "id": "parse-sequence",
      "name": "Parse Sequence",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        1220,
        20
      ]
    },
    {
      "parameters": {
        "resource": "message",
        "operation": "send",
        "sendTo": "={{ $json.email }}",
        "subject": "={{ $json.s1_subject }}",
        "message": "={{ $json.s1_body }}",
        "options": {}
      },
      "id": "gmail-send-touch-1",
      "name": "Gmail: Send Touch 1",
      "type": "n8n-nodes-base.gmail",
      "typeVersion": 2.1,
      "position": [
        1440,
        20
      ],
      "credentials": {
        "gmailOAuth2": {
          "id": "REPLACE_GMAIL",
          "name": "Gmail (Outbound)"
        }
      }
    },
    {
      "parameters": {
        "resource": "contact",
        "operation": "upsert",
        "email": "={{ $json.email }}",
        "additionalFields": {
          "companyName": "={{ $json.company }}"
        }
      },
      "id": "hubspot-create-contact",
      "name": "HubSpot: Create Contact",
      "type": "n8n-nodes-base.hubspot",
      "typeVersion": 2.1,
      "position": [
        1660,
        20
      ],
      "credentials": {
        "hubspotOAuth2Api": {
          "id": "REPLACE_HUBSPOT",
          "name": "HubSpot account"
        }
      }
    },
    {
      "parameters": {
        "operation": "update",
        "documentId": {
          "__rl": true,
          "value": "REPLACE_SHEET_ID",
          "mode": "id"
        },
        "sheetName": {
          "__rl": true,
          "value": "Outreach",
          "mode": "name"
        },
        "columns": {
          "mappingMode": "defineBelow",
          "value": {
            "row_id": "={{ $json.row_id }}",
            "status": "active",
            "stage": 1,
            "last_sent": "={{ $now.toISO() }}",
            "seq": "={{ JSON.stringify({ s2:$json.s2_body, s3:$json.s3_body }) }}"
          },
          "matchingColumns": [
            "row_id"
          ],
          "schema": []
        },
        "options": {}
      },
      "id": "sheets-set-active-stage-1",
      "name": "Sheets: Set Active (stage 1)",
      "type": "n8n-nodes-base.googleSheets",
      "typeVersion": 4.4,
      "position": [
        1880,
        20
      ],
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "REPLACE_SHEETS",
          "name": "Google Sheets account"
        }
      }
    },
    {
      "parameters": {
        "operation": "update",
        "documentId": {
          "__rl": true,
          "value": "REPLACE_SHEET_ID",
          "mode": "id"
        },
        "sheetName": {
          "__rl": true,
          "value": "Outreach",
          "mode": "name"
        },
        "columns": {
          "mappingMode": "defineBelow",
          "value": {
            "row_id": "={{ $json.row_id }}",
            "status": "disqualified",
            "stage": 0
          },
          "matchingColumns": [
            "row_id"
          ],
          "schema": []
        },
        "options": {}
      },
      "id": "sheets-mark-disqualified",
      "name": "Sheets: Mark Disqualified",
      "type": "n8n-nodes-base.googleSheets",
      "typeVersion": 4.4,
      "position": [
        1000,
        200
      ],
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "REPLACE_SHEETS",
          "name": "Google Sheets account"
        }
      }
    },
    {
      "parameters": {
        "mode": "runOnceForEachItem",
        "jsCode": "const r=$json; const days=(Date.now()-new Date(r.last_sent||0).getTime())/86400000;\nconst replied = String(r.replied).toLowerCase()==='true' || r.replied===true;\nconst due = !replied && days>=3 && Number(r.stage)<3;\nreturn { ...r, _days:Math.round(days), _replied:replied, _due:due };"
      },
      "id": "compute-due---replied",
      "name": "Compute Due / Replied",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        120,
        460
      ]
    },
    {
      "parameters": {
        "rules": {
          "values": [
            {
              "conditions": {
                "options": {
                  "caseSensitive": true,
                  "typeValidation": "loose"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "leftValue": "={{ $json._replied }}",
                    "rightValue": "",
                    "operator": {
                      "type": "boolean",
                      "operation": "true",
                      "singleValue": true
                    }
                  }
                ]
              },
              "renameOutput": true,
              "outputKey": "replied"
            },
            {
              "conditions": {
                "options": {
                  "caseSensitive": true,
                  "typeValidation": "loose"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "leftValue": "={{ $json._due }}",
                    "rightValue": "",
                    "operator": {
                      "type": "boolean",
                      "operation": "true",
                      "singleValue": true
                    }
                  }
                ]
              },
              "renameOutput": true,
              "outputKey": "due"
            }
          ]
        },
        "options": {
          "fallbackOutput": "extra",
          "renameFallbackOutput": "skip"
        }
      },
      "id": "switch-active-state",
      "name": "Switch: Active State",
      "type": "n8n-nodes-base.switch",
      "typeVersion": 3,
      "position": [
        340,
        460
      ]
    },
    {
      "parameters": {
        "resource": "message",
        "operation": "post",
        "select": "channel",
        "channelId": {
          "__rl": true,
          "value": "sales-replies",
          "mode": "name"
        },
        "text": "=:tada: Antwort von *{{ $json.contact }}* @ {{ $json.company }} - bitte uebernehmen!",
        "otherOptions": {}
      },
      "id": "slack-reply-->-sales",
      "name": "Slack: Reply -> Sales",
      "type": "n8n-nodes-base.slack",
      "typeVersion": 2.2,
      "position": [
        560,
        320
      ],
      "credentials": {
        "slackOAuth2Api": {
          "id": "REPLACE_SLACK",
          "name": "Slack account"
        }
      }
    },
    {
      "parameters": {
        "operation": "update",
        "documentId": {
          "__rl": true,
          "value": "REPLACE_SHEET_ID",
          "mode": "id"
        },
        "sheetName": {
          "__rl": true,
          "value": "Outreach",
          "mode": "name"
        },
        "columns": {
          "mappingMode": "defineBelow",
          "value": {
            "row_id": "={{ $json.row_id }}",
            "status": "replied"
          },
          "matchingColumns": [
            "row_id"
          ],
          "schema": []
        },
        "options": {}
      },
      "id": "sheets-mark-replied",
      "name": "Sheets: Mark Replied",
      "type": "n8n-nodes-base.googleSheets",
      "typeVersion": 4.4,
      "position": [
        780,
        320
      ],
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "REPLACE_SHEETS",
          "name": "Google Sheets account"
        }
      }
    },
    {
      "parameters": {
        "resource": "message",
        "operation": "send",
        "sendTo": "={{ $json.email }}",
        "subject": "=Re: {{ $json.company }}",
        "message": "={{ (JSON.parse($json.seq||'{}'))['s' + (Number($json.stage)+1)] || '' }}",
        "options": {}
      },
      "id": "gmail-send-next-touch",
      "name": "Gmail: Send Next Touch",
      "type": "n8n-nodes-base.gmail",
      "typeVersion": 2.1,
      "position": [
        560,
        500
      ],
      "credentials": {
        "gmailOAuth2": {
          "id": "REPLACE_GMAIL",
          "name": "Gmail (Outbound)"
        }
      }
    },
    {
      "parameters": {
        "operation": "update",
        "documentId": {
          "__rl": true,
          "value": "REPLACE_SHEET_ID",
          "mode": "id"
        },
        "sheetName": {
          "__rl": true,
          "value": "Outreach",
          "mode": "name"
        },
        "columns": {
          "mappingMode": "defineBelow",
          "value": {
            "row_id": "={{ $json.row_id }}",
            "stage": "={{ Number($json.stage)+1 }}",
            "last_sent": "={{ $now.toISO() }}",
            "status": "={{ Number($json.stage)+1 >= 3 ? 'done' : 'active' }}"
          },
          "matchingColumns": [
            "row_id"
          ],
          "schema": []
        },
        "options": {}
      },
      "id": "sheets-advance-stage",
      "name": "Sheets: Advance Stage",
      "type": "n8n-nodes-base.googleSheets",
      "typeVersion": 4.4,
      "position": [
        780,
        500
      ],
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "REPLACE_SHEETS",
          "name": "Google Sheets account"
        }
      }
    },
    {
      "parameters": {},
      "id": "continue-loop",
      "name": "Continue Loop",
      "type": "n8n-nodes-base.noOp",
      "typeVersion": 1,
      "position": [
        2120,
        320
      ]
    },
    {
      "parameters": {
        "resource": "message",
        "operation": "post",
        "select": "channel",
        "channelId": {
          "__rl": true,
          "value": "outbound-ops",
          "mode": "name"
        },
        "text": "=:white_check_mark: Outbound-Lauf fertig.",
        "otherOptions": {}
      },
      "id": "slack-run-summary",
      "name": "Slack: Run Summary",
      "type": "n8n-nodes-base.slack",
      "typeVersion": 2.2,
      "position": [
        -140,
        120
      ],
      "credentials": {
        "slackOAuth2Api": {
          "id": "REPLACE_SLACK",
          "name": "Slack account"
        }
      }
    },
    {
      "parameters": {},
      "id": "error-trigger-outbound",
      "name": "Error Trigger (Outbound)",
      "type": "n8n-nodes-base.errorTrigger",
      "typeVersion": 1,
      "position": [
        -820,
        640
      ]
    },
    {
      "parameters": {
        "resource": "message",
        "operation": "post",
        "select": "channel",
        "channelId": {
          "__rl": true,
          "value": "automation-alerts",
          "mode": "name"
        },
        "text": "=:rotating_light: Outbound-Workflow Fehler: {{ $json.execution.error.message }}",
        "otherOptions": {}
      },
      "id": "slack-error-outbound",
      "name": "Slack: Error (Outbound)",
      "type": "n8n-nodes-base.slack",
      "typeVersion": 2.2,
      "position": [
        -600,
        640
      ],
      "credentials": {
        "slackOAuth2Api": {
          "id": "REPLACE_SLACK",
          "name": "Slack account"
        }
      }
    },
    {
      "parameters": {
        "content": "## 1) Taeglicher Lauf\\nSchedule -> liest die Outreach-Liste (Sheet) -> Loop pro Lead (Batch = Rate-Control) -> Switch nach Status: new / active.",
        "height": 150,
        "width": 520,
        "color": 5
      },
      "id": "note3-1",
      "name": "note3-1",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -840,
        120
      ]
    },
    {
      "parameters": {
        "content": "## 2) NEW: Recherche + Sequenz\\nEnrich -> Claude ICP-Score -> nur bei gutem Fit (>=60) -> Claude schreibt 3-stufige Sequenz -> Touch 1 senden -> CRM anlegen -> Sheet auf 'active, stage 1'. Schlechter Fit -> 'disqualified'.",
        "height": 150,
        "width": 1080,
        "color": 6
      },
      "id": "note3-2",
      "name": "note3-2",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        100,
        -120
      ]
    },
    {
      "parameters": {
        "content": "## 3) ACTIVE: Follow-up oder Handoff\\nAntwort erkannt -> Slack an Sales + Sequenz stoppen.\\nFaellig (>=3 Tage, stage<3) -> naechsten Touch senden + Stage hoch.\\nSonst: ueberspringen. Alles loopt zurueck.",
        "height": 150,
        "width": 760,
        "color": 3
      },
      "id": "note3-3",
      "name": "note3-3",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        100,
        640
      ]
    }
  ],
  "connections": {
    "Schedule: Daily 8:00": {
      "main": [
        [
          {
            "node": "Sheets: Read Outreach List",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Sheets: Read Outreach List": {
      "main": [
        [
          {
            "node": "Loop Over Leads",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Leads": {
      "main": [
        [
          {
            "node": "Slack: Run Summary",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Switch: Lead Status",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Switch: Lead Status": {
      "main": [
        [
          {
            "node": "Enrich Account (HTTP)",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Compute Due / Replied",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Continue Loop",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Enrich Account (HTTP)": {
      "main": [
        [
          {
            "node": "Claude: ICP Score",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Claude: ICP Score": {
      "main": [
        [
          {
            "node": "Parse ICP",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Parse ICP": {
      "main": [
        [
          {
            "node": "IF: Good Fit?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "IF: Good Fit?": {
      "main": [
        [
          {
            "node": "Claude: Write Sequence",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Sheets: Mark Disqualified",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Claude: Write Sequence": {
      "main": [
        [
          {
            "node": "Parse Sequence",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Parse Sequence": {
      "main": [
        [
          {
            "node": "Gmail: Send Touch 1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Gmail: Send Touch 1": {
      "main": [
        [
          {
            "node": "HubSpot: Create Contact",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HubSpot: Create Contact": {
      "main": [
        [
          {
            "node": "Sheets: Set Active (stage 1)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Sheets: Set Active (stage 1)": {
      "main": [
        [
          {
            "node": "Continue Loop",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Sheets: Mark Disqualified": {
      "main": [
        [
          {
            "node": "Continue Loop",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Compute Due / Replied": {
      "main": [
        [
          {
            "node": "Switch: Active State",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Switch: Active State": {
      "main": [
        [
          {
            "node": "Slack: Reply -> Sales",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Gmail: Send Next Touch",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Continue Loop",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Slack: Reply -> Sales": {
      "main": [
        [
          {
            "node": "Sheets: Mark Replied",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Sheets: Mark Replied": {
      "main": [
        [
          {
            "node": "Continue Loop",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Gmail: Send Next Touch": {
      "main": [
        [
          {
            "node": "Sheets: Advance Stage",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Sheets: Advance Stage": {
      "main": [
        [
          {
            "node": "Continue Loop",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Continue Loop": {
      "main": [
        [
          {
            "node": "Loop Over Leads",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Error Trigger (Outbound)": {
      "main": [
        [
          {
            "node": "Slack: Error (Outbound)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "pinData": {},
  "meta": {},
  "tags": [
    {
      "name": "Outbound"
    },
    {
      "name": "RevOps"
    },
    {
      "name": "AI"
    }
  ]
}