n8n

Use the verified Cavuno community node on n8n Cloud or self-hosted n8n, 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 verified Cavuno community node for the shortest path. It is available on n8n Cloud and self-hosted n8n. 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 on n8n Cloud

n8n-nodes-cavuno is verified for n8n Cloud. An n8n instance owner or admin can install it directly from the workflow canvas:

  1. Open a workflow and select + to open the nodes panel.
  2. Search for Cavuno.
  3. Under More from the community, select Cavuno.
  4. Review the supported actions, then select Install.
  5. Add Cavuno or Cavuno Trigger to your workflow.

If Cavuno does not appear, make sure Verified Community Nodes is enabled in the n8n Cloud Admin Panel, then restart your instance if needed. Only instance owners and admins can install the node; once installed, every member of the instance can use it.

See n8n’s verified community node installation guide for the current n8n steps.

Install on self-hosted n8n

You can install the verified node from the canvas as described above when verified community nodes are enabled, or install the npm package through the community nodes settings:

  1. Open Settings → Community nodes.
  2. Select Install a community node.
  3. Enter the package name n8n-nodes-cavuno and accept the risk prompt.
  4. Select Install, then confirm the package appears in the list.

If your instance blocks community packages, see n8n’s community node installation and management guide for the available installation methods and configuration options.

Create a Cavuno API credential

  1. In Cavuno, open Settings → Developer → API keys and create an API key with only the scopes you need.
  2. In n8n, create a Cavuno API credential and enter the cavuno_live_… key.

The node always connects to Cavuno’s canonical Operator API at https://api.cavuno.com/v1. You do not need a board-specific API URL. Credentials saved by an older node version may still contain a base URL internally; the current node safely ignores it.

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, delete, Find by Website, or Find or Create
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, 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.

When an action needs a company, choose From List to search by company name or By ID to paste an ID or use an expression. Company → Find accepts a Cavuno company ID, website, or exact name and never creates a missing company.

Action errors show Cavuno’s explanation. A paid-plan 402 also tells you to upgrade the board before retrying, and 401 identifies an invalid, expired, or revoked API key.

Start workflows from events (Cavuno Trigger)

Cavuno Trigger registers a webhook endpoint when you publish the workflow and removes it when you unpublish. Older n8n versions call these actions Activate and 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. Select Publish and confirm the workflow version. On older n8n versions, select Activate.

Cavuno delivers only to a public HTTPS URL. On n8n Cloud that is set for you. On current self-hosted n8n, set N8N_WEBHOOK_URL to your instance’s public HTTPS base (for example https://n8n.example.com/) before you publish. Older n8n versions use WEBHOOK_URL. 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.

The output includes mapping-friendly occurredAt, boardId, changedFields, and resource fields. It also preserves the original object: "event", occurred_at, board_id, and data envelope so existing workflows keep working.

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 publish the workflow so n8n shows a production HTTPS URL. Older n8n versions call this Activate.
  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 publish and unpublish to manage that for you.

Common problems

SymptomWhat to do
Cavuno does not appear in n8n Cloud searchAsk an instance owner or admin to enable Verified Community Nodes in the Cloud Admin Panel, then restart the instance if needed.
Self-hosted package does not installAllow community nodes on the instance. Use the exact package name n8n-nodes-cavuno.
Credential test failsUse a current API key on a paid board. Match scopes to the operation. A narrow-scope key can still pass the connection test and then fail only on operations it cannot access.
Trigger is published but no events arriveSet N8N_WEBHOOK_URL to an HTTPS base the internet can reach (WEBHOOK_URL on older n8n versions). Keep the workflow published. Confirm the endpoint under Settings → Developer → Webhooks, then check the workflow’s Executions tab.
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.