The Objective: This workflow reads incoming lead data from a Webhook, uses AI to analyze their organization, and instantly routes the lead to the correct sales team in Slack.

In this blueprint, the Smart Router checks if the lead belongs to a government or public sector entity (like a city council or university).

  • If True: It pings the Public Sector fund manager.
  • If False: It pings the SME/Startup fund manager.

The Math: Speed to lead determines your close rate. Manual CRM triage wastes hours and lets leads go cold. By the time a human reads the organization name and tags the right rep, the prospect has moved on. This system makes the routing decision and notifies the rep in under 2 seconds.

Customization Steps:

  1. Open your adGPT Studio Console, click the “Manifest (JSON)” tab, and paste the code below. Click “Sync to Canvas.”
  2. Click the Webhook Trigger node. Once you save the workflow, it will generate a unique URL. Paste that URL into your lead source (Typeform, HubSpot, Facebook Lead Ads, etc.).
  3. Click the two Slack nodes. Select your own Slack Connection and choose which channels you want the alerts to go to.

The JSON Manifest:

{
  "nodes": [
    {
      "id": "node_webhook",
      "type": "TRIGGER",
      "x": 100,
      "y": 200,
      "data": {
        "service": "trigger.webhook",
        "description": "Receives Lead Data (e.g., from Typeform/Zapier)"
      }
    },
    {
      "id": "node_smart_router",
      "type": "LOGIC",
      "x": 450,
      "y": 200,
      "data": {
        "service": "logic.smart_router",
        "condition": "Is this organization associated with a local council, London borough, London Fire Brigade, TfL, university, or public sector entity?",
        "input_data": "{{node_webhook.body}}",
        "description": "AI Organization Classifier"
      }
    },
    {
      "id": "node_physical_router",
      "type": "LOGIC",
      "x": 800,
      "y": 200,
      "data": {
        "service": "logic.router",
        "condition": "{{node_smart_router.result}} == True",
        "description": "True = Public Sector, False = SME"
      }
    },
    {
      "id": "node_notify_ltlf",
      "type": "ACTION",
      "x": 1150,
      "y": 100,
      "data": {
        "service": "action.slack.send_message",
        "channel_id": "{{config.slack_channels_channel_id}}",
        "credential": "{{config.slack_credential}}",
        "message": "🏛️ *PUBLIC SECTOR LEAD DETECTED*\n\n*Lead Info:*\nName: {{node_webhook.body.name}}\nOrg: {{node_webhook.body.organization}}\nEmail: {{node_webhook.body.email}}\n\n*AI Reasoning:* {{node_smart_router.reasoning}}\n\n_Routing to Richard Tomlinson (CIO)..._",
        "description": "Alert Public Sector Team"
      }
    },
    {
      "id": "node_notify_lcif",
      "type": "ACTION",
      "x": 1150,
      "y": 350,
      "data": {
        "service": "action.slack.send_message",
        "channel_id": "{{config.slack_channels_channel_id}}",
        "credential": "{{config.slack_credential}}",
        "message": "🚀 *STARTUP / SME LEAD DETECTED*\n\n*Lead Info:*\nName: {{node_webhook.body.name}}\nOrg: {{node_webhook.body.organization}}\nEmail: {{node_webhook.body.email}}\n\n*AI Reasoning:* {{node_smart_router.reasoning}}\n\n_Routing to Puneet Raj Bhatia (SME Funds)..._",
        "description": "Alert SME Team"
      }
    },
    {
      "id": "node_note_real_trigger",
      "type": "VISUAL",
      "x": 100,
      "y": 350,
      "data": {
        "service": "visual.note",
        "text": "🎯 WEBHOOK DEPLOYMENT:\n\nThis workflow is production-ready. \n\n1. Save this workflow to generate your unique Webhook URL.\n2. Paste that URL into your Lead Form (Typeform, Facebook, HubSpot, etc.).\n3. When a lead registers, adGPT parses their organization, routes the data, and alerts the correct fund manager in < 2 seconds.",
        "width": 320,
        "height": 240
      }
    }
  ],
  "edges": [
    {
      "id": "e_webhook_smart",
      "source": "node_webhook",
      "target": "node_smart_router",
      "sourceHandle": "0"
    },
    {
      "id": "e_smart_router",
      "source": "node_smart_router",
      "target": "node_physical_router",
      "sourceHandle": "0"
    },
    {
      "id": "e_router_ltlf",
      "source": "node_physical_router",
      "target": "node_notify_ltlf",
      "sourceHandle": "true"
    },
    {
      "id": "e_router_lcif",
      "source": "node_physical_router",
      "target": "node_notify_lcif",
      "sourceHandle": "false"
    }
  ]
}