n8n integration
Buyer intent leads in n8n workflows
Needle POSTs one signed JSON event per lead to your n8n webhook, on n8n Cloud or your own server. The starter workflow checks the signature before anything else runs.
7-day free trial - no card. Cancel anytime.
How it works
- Step 1
Save a brand and turn on Auto Search
Add the problem phrases, competitors, and communities you care about. Needle reruns the search on your schedule.
- Step 2
Import the workflow
Create a workflow in n8n and import needle-n8n-workflow.json. Add your Slack and Google Sheets credentials to the two placeholder nodes, then activate it.
- Step 3
Test and enable in Needle
Paste the Webhook node’s Production URL (it ends in /webhook/needle-leads) under Alerts & Integrations → n8n and click Test and enable. Needle shows the signing secret once.
- Step 4
Paste the signing secret
Put the secret in the Verify signature node and save. The test event arrived before the node had the secret, so that one execution fails at verification - expected.
Why teams run Needle leads through n8n
Available on the Growth plan and up.
Verified before it runs
The Code node recomputes the HMAC-SHA256 signature on the raw body and stops anything that is not from Needle or is over 5 minutes old.
Self-host the whole path
Run n8n on your own infrastructure and keep lead data inside it after Needle delivers it.
Branch on intent
The template already splits on lead.tier: hot leads go to Slack, every lead goes to the sheet.
Download the n8n workflow
Webhook (POST, path needle-leads, Raw Body on) → Verify signature (Code) → Hot lead? (IF) → Slack, plus Google Sheets for every lead.
needle-n8n-workflow.json
- Self-hosted n8n: the Code node needs require("crypto"). Set NODE_FUNCTION_ALLOW_BUILTIN=crypto (or add crypto to your existing list) and restart n8n.
- Paste the secret into the Code node, or set NEEDLE_SIGNING_SECRET in the environment if your instance lets Code nodes read env variables.
- The Webhook node answers as soon as a request arrives, so Needle sees success even when a later node fails. Watch the n8n executions list.
- Test events are verified and then dropped, so they never reach Slack or the sheet.
- The Slack and Google Sheets nodes have no credentials, channel, or spreadsheet set. Fill them in or replace them.
What the Verify signature node checks
n8n lower-cases header names, so the node reads x-needle-signature.
| Header | Value |
|---|---|
| Content-Type | application/json |
| X-Needle-Event-Id | Same value as event_id in the body. |
| X-Needle-Signature | t=<unix seconds>,v1=<hex HMAC-SHA256(secret, "<t>.<raw body>")> |
When n8n is the wrong choice
n8n is not reachable from the internet
Needle sends from its servers to a public https URL. An instance on localhost or behind a VPN will not receive events.
You do not already run n8n
For a lead log, Google Sheets, Notion, or Airtable need no workflow host. For chat alerts, use the native Slack or Discord destinations.
You want a CRM record per lead
On Scale, HubSpot and Pipedrive are native destinations that create one record per lead.
Frequently asked questions
Setup, limits, and every platform are covered in the docs.
Which n8n URL do I paste?
Does Needle restrict the n8n host?
Where is the full payload documented?
Does n8n get one request per lead or a digest?
Which plan includes n8n?
Does Needle reply or post for me?
Connect Needle to n8n today
Send ranked buyer threads to n8n on your Auto Search schedule, so the conversations worth replying to land where your team already works.
Cancel anytime