Skip to main content

Unstuck Engine for n8n

n8n excels at workflow automation and API orchestration, but lacks several critical capabilities that B2B teams need for effective lead qualification and prioritization

Ivan Kovpak avatar
Written by Ivan Kovpak
Updated over a month ago

The Workflow Complexity Problem

Building sophisticated lead scoring systems in n8n requires extensive node chains that quickly become unmanageable. A typical multi-ICP scoring setup might require:

  • 15-20 HTTP Request nodes for different data enrichment APIs

  • 25+ Function nodes for complex scoring calculations across different ICP models

  • Multiple IF/Switch nodes for conditional logic flows

  • Additional nodes for data transformation and weighted aggregation

  • Error handling and retry logic for each API call

Multiple ICP scoring with different parameters compounds this complexity:

Consider a B2B SaaS company with three distinct ICP models:

  • Enterprise ICP: 500+ employees, $50M+ revenue, uses Salesforce, has dedicated IT team

  • Growth Stage ICP: 50-200 employees, Series A+ funding, uses HubSpot, technical founder

  • SMB ICP: 10-50 employees, bootstrapped/seed funded, uses basic CRM, founder-led sales

Each ICP requires completely different parameter evaluation:

  • Enterprise: 12 firmographic parameters + 8 technographic signals + 6 behavioral indicators = 26 evaluation nodes per prospect

  • Growth: 10 firmographic parameters + 5 technographic signals + 8 behavioral indicators = 23 evaluation nodes per prospect

  • SMB: 8 firmographic parameters + 3 technographic signals + 5 behavioral indicators = 16 evaluation nodes per prospect

Total complexity: 65+ nodes just for scoring logic, before any workflow actions.

Unstuck Engine consolidates all complex scoring logic into its AI engine, returning simple, pre-calculated scores via a single webhook call.
​

Missing Native Capabilities

Unlike dedicated sales intelligence platforms, n8n cannot:

  • Automatically aggregate intent signals from multiple sources with decay models

  • Apply dynamic engagement staging (A-E levels) based on behavioral combinations

  • Maintain multiple ICP scoring models with different parameter weights

  • Update prospect scores in real-time as new engagement signals arrive

Unstuck Engine provides real-time intent signal aggregation from 20+ sources with automatic ICP and persona scoring, delivered as clean, actionable data to n8n.

Part 1: Receiving Enriched Data from Unstuck Engine in n8n

Setting Up the Webhook in n8n

  1. Create a new workflow in your n8n instance

  2. Add a Webhook node as the starting point of your workflow

  3. In the Webhook node settings:

    • Set HTTP Method to POST

    • Copy the webhook URL provided by n8n

    • Set Response Mode to "When Last Node Finishes"

    • Optionally enable authentication for security

  4. Configure your webhook URL in Unstuck Engine using the Outbound Webhooks setup guide

Processing the Incoming Data

After setting up the webhook, add a Set node to extract and organize the data from Unstuck Engine:

  1. Add a Set node after your Webhook node

  2. In the Set node, create new fields for the key data you want to use:

    • Click "Add Value" and select "Number" for ICP Score

    • Map it to {{ $json.icp_score }}

    • Add "String" values for Company Name, Person Name, etc.

    • Create "Boolean" values for high-intent flags

Key data fields you'll receive:

  • ICP Scoring: icp_score, icp_reason, icp_code, icp_version

  • Persona Data: personas_codes, personas_score, personas_reason

  • Intent Signals: action_intent, signal_action, timestamp

  • Contact Info: person_name_full, person_email_company, company_name

Part 2: Sending Signals from n8n to Unstuck Engine

Setting Up the HTTP Request

  1. Add an HTTP Request node to your workflow where you want to send data to Unstuck Engine

  2. In the HTTP Request node settings:

    • Select POST from the Request Method dropdown

    • Enter your unique Unstuck Engine webhook URL in the URL field

    • In the Headers section, add:

      • Name: Content-Type

      • Value: application/json

  3. Configure the request body:

    • Select JSON as the Body Content Type

    • In the JSON field, structure your data like this:

{
"intent": "1",
"linkedInProfileUrl": "{{ $json.linkedin_profile_url }}",
"source": "n8n_workflow",
"additional_info": "{{ $json.lead_source }}"
}

Common Integration Patterns

For CRM Data Processing:

  1. Add your CRM node (HubSpot, Salesforce, etc.) to pull contact data

  2. Add an HTTP Request node after it

  3. Map the CRM fields to Unstuck Engine format:

    • Use {{ $json.properties.linkedin_url }} for HubSpot

    • Set intent to "1" for first-party CRM data

    • Include lead source in additional_info

For Event Tracking:

  1. Connect your event platform (Typeform, Eventbrite, etc.)

  2. Extract the LinkedIn profile from form responses

  3. Send to Unstuck Engine with intent "1" and event name in additional_info

Creating Smart Workflows with Unstuck Engine Data

Setting Up Lead Qualification Routing

  1. Add an IF node after processing Unstuck Engine webhook data

  2. In the IF node condition field, enter expressions like:

    • For high-priority leads: {{ $json.icp_score >= 80 }}

    • For specific personas: {{ $json.personas_codes.includes("DCSM") }}

    • For engagement levels: {{ $json.action_intent === "1st-party intent" }}

  3. Connect different workflow paths:

    • TRUE path: High-priority lead actions (immediate outreach, Slack alerts)

    • FALSE path: Standard nurturing or qualification workflows

Setting Up Real-time Notifications

  1. Add a Slack node on the high-priority path

  2. Configure the Slack node:

    • Select your Slack workspace

    • Choose the channel for lead alerts

    • In the message field, create dynamic messages:

🚨 Hot Lead Alert!

Name: {{ $json.person_name_full }}
Company: {{ $json.company_name }}
ICP Score: {{ $json.icp_score }}/100
Signal: {{ $json.action_title }}
Reason: {{ $json.icp_reason }}

Updating Your CRM with Enriched Data

  1. Add your CRM node (HubSpot, Salesforce, etc.) after the webhook processing

  2. Configure the CRM node to update or create contacts:

    • Map email field: {{ $json.person_email_company }}

    • Add custom properties for ICP data:

      • ICP Score: {{ $json.icp_score }}

      • Last Signal: {{ $json.action_title }}

      • Intent Level: {{ $json.action_intent }}

      • Personas: {{ $json.personas_codes.join(", ") }}

Best Practices

Workflow Organization

  • Create separate workflows for different ICP scores (80+, 60-79, below 60)

  • Use Switch nodes instead of multiple IF nodes for cleaner routing

  • Add Error Trigger nodes to handle webhook failures gracefully

Testing and Development

  • Use n8n's Test URL while building your workflows

  • Switch to Production URL only when ready for live data

  • Test with sample data before connecting to Unstuck Engine

Security and Reliability

  • Enable webhook authentication in n8n settings

  • Set up retry logic for failed API calls

  • Monitor webhook execution logs for troubleshooting

This integration transforms n8n from a simple automation tool into a sophisticated B2B qualification system, eliminating the need for complex manual scoring workflows while providing AI-powered lead intelligence.

Did this answer your question?