Skip to main content
Connect Vollna to n8n — cloud or self-hosted — using Vollna’s Webhook Notifications. Every new batch of matching jobs triggers an n8n workflow.
Webhook notifications are available with Agency plan or as paid add-on.

Step 1: Create a Webhook node in n8n

  1. Create a new Workflow and add a Webhook node as the trigger.
  2. Set HTTP Method to POST.
  3. Copy the Test URL — you’ll switch to the Production URL after testing.
Self-hosted n8n must be reachable from the public internet over HTTPS — Vollna cannot deliver to localhost or private network addresses.

Step 2: Connect it in Vollna

  1. Go to Dashboard → Notifications, locate Webhook, and click Setup.
  2. Paste the n8n webhook URL into the Webhook URL field.
  3. With the n8n Webhook node in Listen for test event mode, click Send test request in Vollna to capture a sample payload.
  4. Click Save settings. After the test succeeds, publish the workflow (the Active toggle on n8n 1.x) and replace the Vollna webhook URL with the node’s Production URL.

Step 3: Process each job

The payload contains a projects array (one request can carry several new jobs). To handle each job as its own item:
  1. Add a Split Out node after the Webhook node.
  2. Set Field to Split Out to body.projects.
  3. Connect the node that should run once per job — for example an IF node to filter by budget, then Slack or Google Sheets.
See the webhook field reference for the full field list.

Example workflow

Webhook → Split Out (body.projects) → IF (client_details.total_spent > 10000) → Slack (Send Message) — posts jobs from clients who have spent more than $10,000 on Upwork to your Slack channel; the IF node drops the rest.

Proposals & invitations

Proposal and invitation events use a separate endpoint with a different payload: add a second Webhook node, register its URL under Dashboard → Settings → Developers → Webhooks, and select the events you need. Team Webhooks send one event per request — no Split Out needed; read body.event, body.timestamp, and body.data directly. Log X-Vollna-Event-Id (or body.id) to trace repeated deliveries; for record-level idempotency, use a stable field inside body.data such as application_uid.

Troubleshooting

  1. Webhook fires in test but not in production: make sure the workflow is published (Active on n8n 1.x) and Vollna is pointed at the Production URL (test URLs only work while the editor is listening).
  2. 404 from n8n: the URL path changes between test and production modes — re-copy the exact URL from the Webhook node.
  3. Payload fields under body: n8n nests the JSON payload under body by default — reference fields as body.filter.name, body.projects, etc.