AutomationFlowsAI & RAG › Score Product-qualified Leads with Amplitude, Claude & Pdl for Sales Routing

Score Product-qualified Leads with Amplitude, Claude & Pdl for Sales Routing

ByConnor Provines @connorprovines on n8n.io

Automatically score product usage signals from Amplitude cohorts and route hot leads to sales with enriched context.

Webhook trigger★★★★☆ complexityAI-powered21 nodesHTTP RequestPerplexityAgentTool ThinkAnthropic ChatSlackGoogle Docs Tool
AI & RAG Trigger: Webhook Nodes: 21 Complexity: ★★★★☆ AI nodes: yes Added:

This workflow corresponds to n8n.io template #10010 — we link there as the canonical source.

This workflow follows the Agent → Googledocstool recipe pattern — see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "name": "PQL + Amplitude",
  "tags": [],
  "nodes": [
    {
      "id": "66726c2e-0b01-4ea8-8024-a25221b0544d",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -864,
        48
      ],
      "parameters": {
        "color": 4,
        "width": 380,
        "height": 340,
        "content": "## \ud83c\udfaf PQL Scoring Workflow\n\nThis workflow automatically scores Product-Qualified Leads when they enter an Amplitude cohort.\n\n**What you need:**\n- Amplitude cohort webhook configured\n- PDL API key (enrichment)\n- Perplexity API key (company research)\n- Anthropic API key (AI scoring)\n- Google Gemini API key (Slack formatting)\n- Google Doc with your ICP criteria\n- Slack workspace access\n\n**Flow:** Webhook \u2192 Parse \u2192 Filter \u2192 Enrich \u2192 Score \u2192 Alert"
      },
      "typeVersion": 1
    },
    {
      "id": "665675ed-22b2-4bc6-b420-0ad5d7c26826",
      "name": "Amplitude Cohort Webhook",
      "type": "n8n-nodes-base.webhook",
      "notes": "Fires instantly when user enters PQL cohort",
      "position": [
        -784,
        400
      ],
      "parameters": {
        "path": "amplitude-pql-cohort",
        "options": {},
        "httpMethod": "POST"
      },
      "typeVersion": 1
    },
    {
      "id": "99c46018-357d-488e-8a19-9621b79a0167",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -816,
        560
      ],
      "parameters": {
        "color": 5,
        "width": 320,
        "height": 260,
        "content": "## \ud83d\udce1 Amplitude Setup\n\n1. In Amplitude, go to Data \u2192 Destinations\n2. Select \"Cohort Webhooks\"\n3. Add this webhook URL\n4. Choose your PQL cohort to sync\n5. Set cadence (real-time recommended)\n\n**Note:** Webhook path is `amplitude-pql-cohort`"
      },
      "typeVersion": 1
    },
    {
      "id": "aa33ad91-737f-4aeb-af6e-ea803e43e8af",
      "name": "Parse Webhook Data",
      "type": "n8n-nodes-base.code",
      "notes": "Extracts user data + usage metrics from webhook",
      "position": [
        -576,
        400
      ],
      "parameters": {
        "jsCode": "// Parse Amplitude cohort webhook payload\nconst payload = $json;\n\n// Extract first user from the batch (webhooks can send multiple)\nconst users = payload.users || [];\n\nif (users.length === 0) {\n  throw new Error('No users in webhook payload');\n}\n\n// Process each user in the batch\nreturn users.map(user => {\n  const email = user.user_id || user.user_properties?.email;\n  \n  if (!email) {\n    throw new Error('No email found for user');\n  }\n  \n  // Validate email\n  const emailRegex = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/;\n  if (!emailRegex.test(email)) {\n    throw new Error(`Invalid email: ${email}`);\n  }\n  \n  const domain = email.split('@')[1];\n  const isFreeEmail = ['gmail.com', 'yahoo.com', 'hotmail.com', 'outlook.com'].includes(domain);\n  \n  return {\n    json: {\n      // User info\n      email: email,\n      name: user.user_properties?.name || user.user_properties?.full_name,\n      userId: user.user_id,\n      domain: domain,\n      isFreeEmail: isFreeEmail,\n      \n      // Cohort context\n      cohortName: payload.cohort_name,\n      cohortId: payload.cohort_id,\n      inCohort: payload.in_cohort,\n      computedTime: payload.computed_time,\n      \n      // Usage data from Amplitude user properties\n      usageData: {\n        sessionCount: user.user_properties?.session_count || 0,\n        lastSeen: user.user_properties?.last_seen,\n        daysSinceSignup: user.user_properties?.days_since_signup,\n        planType: user.user_properties?.plan_type || 'free',\n        featuresUsed: user.user_properties?.features_used || [],\n        teamSize: user.user_properties?.team_size || 1,\n        apiCalls: user.user_properties?.api_calls_last_7d || 0,\n        pricingPageViews: user.user_properties?.pricing_page_views || 0,\n        teamInvitesSent: user.user_properties?.team_invites_sent || 0\n      },\n      \n      timestamp: new Date().toISOString(),\n      validationPassed: true\n    }\n  };\n});"
      },
      "typeVersion": 2
    },
    {
      "id": "41bd0754-df78-4b46-b5fd-c70a08c21ab7",
      "name": "Filter: Entering Cohort Only",
      "type": "n8n-nodes-base.filter",
      "notes": "Only process users ENTERING cohort, not exiting",
      "position": [
        -384,
        400
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 1,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "191ec8a1-8105-4e08-9b75-a03c6a514c80",
              "operator": {
                "type": "boolean",
                "operation": "true",
                "singleValue": true
              },
              "leftValue": "={{ $json.inCohort }}",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2
    },
    {
      "id": "7a7929ef-e675-4840-977e-f2d5a859e8d0",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -400,
        96
      ],
      "parameters": {
        "color": 6,
        "width": 300,
        "height": 280,
        "content": "## \ud83d\udd0d PDL Enrichment\n\n**Required:** PeoplDataLabs API key\n\n1. Sign up at peopledatalabs.com\n2. Get your API key\n3. Create credential: \"Header Auth\"\n4. Name: `X-Api-Key`\n5. Value: `[YOUR_PDL_API_KEY]`\n6. Attach to this node\n\nEnriches leads with job title, company size, industry, etc."
      },
      "typeVersion": 1
    },
    {
      "id": "64c56856-0127-492d-b455-c109c145b072",
      "name": "PDL Enrich",
      "type": "n8n-nodes-base.httpRequest",
      "notes": "Enriches with company/person data",
      "position": [
        -192,
        400
      ],
      "parameters": {
        "url": "https://api.peopledatalabs.com/v5/person/enrich",
        "options": {},
        "sendQuery": true,
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "queryParameters": {
          "parameters": [
            {
              "name": "email",
              "value": "={{ $json.email }}"
            },
            {
              "name": "pretty",
              "value": "true"
            }
          ]
        }
      },
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.2,
      "continueOnFail": true
    },
    {
      "id": "e87ac8db-48d1-4f05-b0b4-dcca9f848329",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -48,
        -48
      ],
      "parameters": {
        "color": 2,
        "width": 280,
        "height": 304,
        "content": "## \ud83d\udd0e Company Research\n\n**Required:** Perplexity API key\n\n1. Get API key from perplexity.ai\n2. Create \"Perplexity API\" credential\n3. Attach to this node\n\nUses AI to research company stage, funding, tech stack, and budget signals."
      },
      "typeVersion": 1
    },
    {
      "id": "c775f858-6e66-4716-9d86-6b3d6bea7823",
      "name": "Company Research",
      "type": "n8n-nodes-base.perplexity",
      "position": [
        48,
        272
      ],
      "parameters": {
        "options": {},
        "messages": {
          "message": [
            {
              "content": "=Research {{ $json.data.job_company_name }} for product-led growth context.\n\nFocus on:\n1. Company growth stage and funding\n2. Tech stack and product complexity\n3. Team size and structure\n4. Expansion signals (hiring, new offices)\n5. Budget indicators\n\nProvide under 150 words.\n\nFormat:\n**COMPANY STAGE:** [Growth stage, funding, maturity]\n**TECH SOPHISTICATION:** [Tech stack, product complexity]\n**EXPANSION SIGNALS:** [Hiring, growth indicators]\n**BUDGET INDICATORS:** [High/Medium/Low likelihood to pay]"
            }
          ]
        },
        "requestOptions": {}
      },
      "credentials": {
        "perplexityApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1,
      "continueOnFail": true
    },
    {
      "id": "0fca7a25-1940-4643-a699-33482bebd526",
      "name": "Merge All Sources",
      "type": "n8n-nodes-base.merge",
      "position": [
        288,
        384
      ],
      "parameters": {},
      "typeVersion": 3.2
    },
    {
      "id": "dec4ca1e-0f6a-4382-8d3a-85565dc94ce7",
      "name": "Merge PQL Data",
      "type": "n8n-nodes-base.code",
      "position": [
        448,
        384
      ],
      "parameters": {
        "jsCode": "// MERGE USAGE + ENRICHMENT DATA\nconst inputs = $input.all();\n\nconst enrichedPQL = {\n  user: {\n    email: null,\n    name: null,\n    userId: null\n  },\n  usage: {},\n  enrichment: {\n    pdl: {},\n    company: {}\n  },\n  cohort: {\n    name: null,\n    id: null\n  },\n  metadata: {\n    enrichmentTimestamp: new Date().toISOString(),\n    sourcesSuccessful: [],\n    sourcesFailed: []\n  }\n};\n\ninputs.forEach((input, index) => {\n  const data = input.json;\n  \n  // Input 0: Company research\n  if (index === 0 && data.choices?.[0]?.message?.content) {\n    const content = data.choices[0].message.content;\n    enrichedPQL.enrichment.company = {\n      rawResearch: content,\n      companyStage: extractSection(content, 'COMPANY STAGE'),\n      techSophistication: extractSection(content, 'TECH SOPHISTICATION'),\n      expansionSignals: extractSection(content, 'EXPANSION SIGNALS'),\n      budgetIndicators: extractSection(content, 'BUDGET INDICATORS')\n    };\n    enrichedPQL.metadata.sourcesSuccessful.push('Company Research');\n  }\n  \n  // Input 1: PDL data\n  else if (index === 1 && data && !data.error) {\n    const pdl = data.data || data;\n    enrichedPQL.enrichment.pdl = {\n      fullName: pdl.full_name,\n      jobTitle: pdl.job_title,\n      companyName: pdl.job_company_name,\n      companySize: pdl.job_company_size,\n      industry: pdl.job_company_industry,\n      seniorityLevel: pdl.job_title_levels,\n      linkedinUrl: pdl.linkedin_url,\n      location: pdl.location_name\n    };\n    enrichedPQL.user.name = pdl.full_name;\n    enrichedPQL.metadata.sourcesSuccessful.push('PDL');\n  }\n  \n  // Input 2: Amplitude webhook data\n  else if (index === 2 && data.validationPassed) {\n    enrichedPQL.user.email = data.email;\n    enrichedPQL.user.userId = data.userId;\n    enrichedPQL.user.name = enrichedPQL.user.name || data.name;\n    enrichedPQL.usage = data.usageData;\n    enrichedPQL.cohort = {\n      name: data.cohortName,\n      id: data.cohortId\n    };\n    enrichedPQL.metadata.sourcesSuccessful.push('Amplitude');\n  }\n});\n\nconst qualityScore = calculateQuality(enrichedPQL);\nenrichedPQL.metadata.dataQualityScore = qualityScore;\n\nfunction extractSection(text, header) {\n  const regex = new RegExp(`\\\\*\\\\*${header}:\\\\*\\\\*\\\\s*([^\\\\n*]+)`, 'i');\n  const match = text.match(regex);\n  return match ? match[1].trim() : 'N/A';\n}\n\nfunction calculateQuality(data) {\n  let score = 0;\n  if (data.enrichment.pdl.fullName) score += 25;\n  if (data.usage.sessionCount > 0) score += 25;\n  if (data.enrichment.company.companyStage !== 'N/A') score += 25;\n  if (data.enrichment.pdl.companySize) score += 25;\n  return score;\n}\n\nreturn [{ json: enrichedPQL }];"
      },
      "typeVersion": 2
    },
    {
      "id": "1ac94f52-f1db-4cd3-b015-d6170dd10cdb",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        528,
        0
      ],
      "parameters": {
        "color": 3,
        "width": 340,
        "height": 364,
        "content": "## \ud83e\udd16 AI Scoring Agent\n\n**Required:**\n1. Anthropic API key (Claude)\n2. Google Doc with ICP criteria\n3. Google Docs tool connected\n\n**Setup:**\n- Create Google Doc with your PQL scoring rules (company size, industry, usage thresholds)\n- Connect Google Docs tool to agent\n- Agent reads criteria and scores each lead\n\n**Outputs:** PQL score (0-10), routing category, sales guidance"
      },
      "typeVersion": 1
    },
    {
      "id": "07721f11-f4ae-49cb-905c-aa8a876a2d78",
      "name": "PQL Scoring Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        592,
        384
      ],
      "parameters": {
        "text": "=You are a PQL (Product-Qualified Lead) scoring AI with access to usage data and ICP rules.\n\nCRITICAL: Use the Google Docs tool to fetch the PQL criteria document before scoring.\n\nPQL Data:\n{{ JSON.stringify($json, null, 2) }}\n\nSCORING PROCESS:\n1. Fetch PQL criteria from the doc\n2. Score each component:\n   - Usage Intensity (0-3): Based on session count, feature adoption, engagement\n   - ICP Fit (0-3): Company size, industry, seniority match\n   - Intent Signals (0-2): Pricing page views, team invites, integration usage\n   - Timing (0-2): Recent activity spikes, expansion signals\n3. Calculate pqlScore = usageIntensity + icpFit + intentSignals + timing\n4. Determine routing:\n   - 8-10 = \"hot\" (immediate sales handoff)\n   - 5-7 = \"warm\" (SDR nurture sequence)\n   - 0-4 = \"cold\" (automated education drip)\n\nReturn ONLY valid JSON (no markdown):\n{\n  \"email\": \"extract from user.email\",\n  \"name\": \"extract from enrichment.pdl.fullName\",\n  \"title\": \"extract from enrichment.pdl.jobTitle\",\n  \"companyName\": \"extract from enrichment.pdl.companyName\",\n  \"companySize\": \"extract from enrichment.pdl.companySize\",\n  \"industry\": \"extract from enrichment.pdl.industry\",\n  \"usageIntensity\": \"high|medium|low\",\n  \"usageSummary\": \"Brief summary of product usage\",\n  \"pqlScore\": sum of breakdown scores,\n  \"scoreBreakdown\": {\"usageIntensity\": 0-3, \"icpFit\": 0-3, \"intentSignals\": 0-2, \"timing\": 0-2},\n  \"icpMatch\": {\"companySizeMatch\": true/false, \"industryMatch\": true/false},\n  \"keyInsights\": [\"insight1\", \"insight2\"],\n  \"handoffRecommendation\": \"specific sales advice\",\n  \"conversationStarters\": [\"starter1\", \"starter2\"],\n  \"redFlags\": [\"flag1\"] or [],\n  \"nextAction\": \"immediate_sales_call|sdr_nurture|education_drip\",\n  \"confidenceLevel\": \"high|medium|low\",\n  \"routingCategory\": \"hot\" if 8-10, \"warm\" if 5-7, \"cold\" if 0-4\n}",
        "options": {},
        "promptType": "define"
      },
      "typeVersion": 2.2
    },
    {
      "id": "7213fb59-b881-45a8-81ac-d8a230e39487",
      "name": "Think",
      "type": "@n8n/n8n-nodes-langchain.toolThink",
      "position": [
        704,
        608
      ],
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "49a71d70-2f0f-4253-832d-1f57e06e0012",
      "name": "Anthropic Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatAnthropic",
      "position": [
        592,
        592
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "claude-sonnet-4-20250514",
          "cachedResultName": "Claude 4 Sonnet"
        },
        "options": {}
      },
      "typeVersion": 1.3
    },
    {
      "id": "072fa1a8-88fd-4e71-957b-85ee27ac5fdf",
      "name": "Parse & Structure PQL",
      "type": "n8n-nodes-base.set",
      "position": [
        880,
        384
      ],
      "parameters": {
        "mode": "raw",
        "options": {},
        "jsonOutput": "={{ $json.output }}"
      },
      "typeVersion": 3.4
    },
    {
      "id": "ab8e61f7-75ad-4c3f-afef-ea6d015bb897",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        608,
        768
      ],
      "parameters": {
        "width": 496,
        "height": 388,
        "content": "## \ud83d\udccb ICP Criteria Document\n\n**Required:** Google Doc with scoring rules\n\n**Example structure:**\n```\nIDEAL CUSTOMER PROFILE:\n- Company size: 50-500 employees\n- Industries: SaaS, Tech, Finance\n- Job titles: VP, Director, Manager\n\nUSAGE THRESHOLDS:\n- High: 10+ sessions, 5+ features\n- Medium: 5-9 sessions, 3-4 features\n- Low: <5 sessions\n```\n\nUpdate the Google Docs tool with your doc ID."
      },
      "typeVersion": 1
    },
    {
      "id": "27896435-f5a1-4495-959e-1928f0584fc2",
      "name": "Format Hot PQL Slack",
      "type": "n8n-nodes-base.set",
      "position": [
        1072,
        384
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "c1d2e3f4",
              "name": "prompt",
              "type": "string",
              "value": "=Format this PQL alert for Slack:\n\n{{ JSON.stringify($json, null, 2) }}\n\nCreate an engaging alert with:\n- \ud83d\udd25 emoji for hot leads (score 8-10)\n- \u26a1 emoji for warm leads (score 5-7)\n- Lead name, company, title\n- PQL score and key insights\n- Conversation starters for sales\n- Next action recommendation\n\nUse Slack markdown (bold with *text*, bullets with \u2022)"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "8bc7b1ef-3ef2-4bf2-9c67-661a8a56bdda",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1120,
        16
      ],
      "parameters": {
        "color": 7,
        "width": 340,
        "height": 348,
        "content": "## \ud83d\udcac Slack Alert\n\n**Required:** Slack OAuth2 credentials\n\n**Setup:**\n1. Create Slack app at api.slack.com\n2. Add bot token scopes: `chat:write`, `channels:read`\n3. Install app to workspace\n4. Create OAuth2 credential in n8n\n5. **IMPORTANT:** Update channel ID below to your actual Slack channel\n\nReplace `YOUR_SLACK_CHANNEL` with real channel ID (e.g., `C01234ABCDE`)"
      },
      "typeVersion": 1
    },
    {
      "id": "98c21e06-e44d-4298-add2-f8f78892fcc7",
      "name": "Send Hot PQL Alert",
      "type": "n8n-nodes-base.slack",
      "notes": "\u26a0\ufe0f UPDATE CHANNEL ID: Replace YOUR_SLACK_CHANNEL with your actual Slack channel ID",
      "position": [
        1248,
        384
      ],
      "parameters": {
        "text": "={{ $json.content.parts[0].text }}",
        "select": "channel",
        "channelId": {
          "__rl": true,
          "mode": "id",
          "value": "YOUR_SLACK_CHANNEL"
        },
        "otherOptions": {},
        "authentication": "oAuth2"
      },
      "typeVersion": 2.3
    },
    {
      "id": "1f833363-5bea-4023-a403-f09f07c77374",
      "name": "ICP Guidelines",
      "type": "n8n-nodes-base.googleDocsTool",
      "position": [
        816,
        608
      ],
      "parameters": {
        "operation": "get"
      },
      "credentials": {
        "googleDocsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "",
  "connections": {
    "Think": {
      "ai_tool": [
        [
          {
            "node": "PQL Scoring Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "PDL Enrich": {
      "main": [
        [
          {
            "node": "Company Research",
            "type": "main",
            "index": 0
          },
          {
            "node": "Merge All Sources",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "ICP Guidelines": {
      "ai_tool": [
        [
          {
            "node": "PQL Scoring Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Merge PQL Data": {
      "main": [
        [
          {
            "node": "PQL Scoring Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Company Research": {
      "main": [
        [
          {
            "node": "Merge All Sources",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge All Sources": {
      "main": [
        [
          {
            "node": "Merge PQL Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "PQL Scoring Agent": {
      "main": [
        [
          {
            "node": "Parse & Structure PQL",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Parse Webhook Data": {
      "main": [
        [
          {
            "node": "Filter: Entering Cohort Only",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Anthropic Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "PQL Scoring Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Format Hot PQL Slack": {
      "main": [
        [
          {
            "node": "Send Hot PQL Alert",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Parse & Structure PQL": {
      "main": [
        [
          {
            "node": "Format Hot PQL Slack",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Amplitude Cohort Webhook": {
      "main": [
        [
          {
            "node": "Parse Webhook Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filter: Entering Cohort Only": {
      "main": [
        [
          {
            "node": "PDL Enrich",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

Automatically score product usage signals from Amplitude cohorts and route hot leads to sales with enriched context.

Source: https://n8n.io/workflows/10010/ — original creator credit. Request a take-down →

More AI & RAG workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

AI & RAG

This template uses the Apify LinkedIn Profile Scraper, which is a community node only available in self-hosted n8n installations. The LinkedIn scraping step is optional and can be removed for n8n Clou

HTTP Request, Perplexity, Slack +8
AI & RAG

Lead Pipeline v3.0. Uses httpRequest, agent, lmChatAnthropic, toolThink. Webhook trigger; 77 nodes.

HTTP Request, Agent, Anthropic Chat +4
AI & RAG

Fully automates your service order pipeline from incoming booking to supplier confirmation — with built-in SLA enforcement and automatic escalation if a supplier goes silent. 📥 Receives orders via web

HTTP Request, Google Sheets, Agent +4
AI & RAG

Build your own Klue/Crayon alternative: Auto-generate comprehensive competitive battlecards with AI research agents for ~$50/month instead of $1,500+

Slack Trigger, Agent, Slack +11
AI & RAG

This workflow automates comprehensive data validation and regulatory compliance reporting through intelligent AI-driven analysis. Designed for compliance officers, data governance teams, and regulator

Agent, Agent Tool, Anthropic Chat +5