n8n

Use Cavuno with self-hosted n8n: install the community node, or receive signed webhooks without it.

Use n8n to react when something changes on your board, or to create and update jobs, companies, candidates, and marketing permissions through the Cavuno API.

Install the community package n8n-nodes-cavuno for the shortest path. If you cannot install community nodes, receive events with n8n’s built-in Webhook node and verify the signature yourself.

You need a paid Cavuno plan (Starter or higher). Free boards cannot use the API or webhooks.

Install the community node

This path is for self-hosted n8n. A verified install on n8n Cloud is not available yet.

  1. In n8n, open Settings → Community nodes.
  2. Select Install a community node.
  3. Package name: n8n-nodes-cavuno. Accept the risk prompt.
  4. Install, then confirm the package appears in the list.

If your instance blocks community packages, see n8n’s community nodes installation guide for the flags and version requirements.

Create a Cavuno API credential

  1. In Cavuno, open Settings → API and create an API key with only the scopes you need.
  2. In n8n, create a Cavuno API credential:
    • API Base URL: your board’s API base ending in /api/v1 (for example https://your-board.com/api/v1).
    • API Key: the cavuno_live_… key.

Scopes

What you do in n8nScopes to grant
Read or write jobsjobs.read, plus jobs.manage / jobs.publish if you create, update, publish, or expire
Companiescompanies.read, plus companies.manage for create, update, or delete
Candidatescandidates.read, plus candidates.manage only if you delete
Marketing permissionsmarketing_permissions.read, plus marketing_permissions.manage to withdraw
Cavuno Trigger (webhooks)webhooks.read, webhooks.manage, plus the read scope for each event family you subscribe to

Existing API keys do not pick up new scopes. If the credential test fails, read the message on the credential: missing scopes and Free-plan boards are the usual causes.

Run actions (Cavuno node)

Add a Cavuno node and choose a resource and operation.

ResourceOperations
JobCreate, Get, Get Many, Update, Delete, Publish, Expire
CompanyCreate, Find or Create, Get, Get Many, Update, Delete
CandidateGet, Get Many, Delete
Marketing PermissionGet Many (exact email lookup), Withdraw

Withdrawing marketing consent is safe to run more than once. Only the person on your board can grant consent, so this node cannot grant it.

For a first check, run Job → Get Many with a small limit and Execute step. Correct credentials return rows from your board.

Start workflows from events (Cavuno Trigger)

Cavuno Trigger registers a webhook endpoint when you activate the workflow and removes it when you deactivate.

  1. Add Cavuno Trigger as the first step.
  2. Select the events you want (jobs, companies, candidates, marketing permission granted or withdrawn).
  3. Attach the same Cavuno API credential (with webhook scopes).
  4. Activate the workflow.

Cavuno delivers only to a public HTTPS URL. On n8n Cloud that is set for you. On self-hosted n8n, set WEBHOOK_URL to your instance’s public HTTPS base (for example https://n8n.example.com/) before you activate. Local and private network URLs are rejected.

The node verifies every delivery before the workflow runs. It checks the Standard Webhooks headers (webhook-id, webhook-timestamp, webhook-signature) against the endpoint secret. Forged or stale requests never enter the workflow.

The same event can arrive more than once. If that is a problem, deduplicate on the top-level event id. Each snapshot also has a revision: ignore events that are not newer than the last revision you applied for that resource.

Payload details: Events. Retries: Delivery and retries.

Without the community node

You can still receive Cavuno webhooks with stock n8n:

  1. In n8n, add a Webhook node (POST) and activate the workflow so n8n shows a production HTTPS URL.
  2. In Cavuno, open Settings → Developer → Webhooks, add that URL, select events, and save.
  3. Copy the signing secret (whsec_…) when Cavuno shows it. It appears only once.
  4. In n8n, verify the signature before you act on the payload. Keep the raw body (do not parse and re-serialise JSON first). Steps and code: Verifying signatures.

Use Send test on the endpoint in Cavuno to confirm the path. Test deliveries use synthetic data and do not appear in the delivery log.

Without the community node, subscribe and unsubscribe yourself via the Operator API (/webhook-endpoints) with webhooks.read and webhooks.manage. Prefer the community node if you want activate and deactivate to manage that for you.

Common problems

SymptomWhat to do
Package does not installAllow community nodes on the instance. Use the exact name n8n-nodes-cavuno.
Credential test failsEnd the base URL with /api/v1. Use a current key on a paid board. Match scopes to the operation.
Trigger is active but no events arriveSet WEBHOOK_URL (or your host public URL) to HTTPS that the internet can reach. Keep the workflow active. Confirm the endpoint under Settings → Developer → Webhooks.
Signature fails on a custom WebhookSign the raw body, not re-serialised JSON. Use the full whsec_… secret from endpoint creation.
Workflow runs twice for one changeExpected. Cavuno delivers at least once. Deduplicate on event id.