Webhook notifications are available with Agency plan or as paid add-on.
Step 1: Create a Webhook node in n8n
- Create a new Workflow and add a Webhook node as the trigger.
- Set HTTP Method to
POST. - Copy the Test URL — you’ll switch to the Production URL after testing.
Step 2: Connect it in Vollna
- Go to Dashboard → Notifications, locate Webhook, and click Setup.
- Paste the n8n webhook URL into the Webhook URL field.
- With the n8n Webhook node in Listen for test event mode, click Send test request in Vollna to capture a sample payload.
- 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 aprojects array (one request can carry several new jobs). To handle each job as its own item:
- Add a Split Out node after the Webhook node.
- Set Field to Split Out to
body.projects. - Connect the node that should run once per job — for example an IF node to filter by budget, then Slack or Google Sheets.
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; readbody.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
- 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).
- 404 from n8n: the URL path changes between test and production modes — re-copy the exact URL from the Webhook node.
- Payload fields under
body: n8n nests the JSON payload underbodyby default — reference fields asbody.filter.name,body.projects, etc.