Skip to content

Zapier, Make and n8n

Any automation tool that can receive a webhook and send an HTTP request works with Vercatus: the webhook events are the triggers, the API routes are the actions. The recipes below use Zapier’s names; Make (Webhooks, Custom webhook and HTTP, Make a request) and n8n (Webhook and HTTP Request nodes) have the same two building blocks.

  1. In Zapier, start a Zap with Webhooks by Zapier, Catch Raw Hook and copy its URL. (Catch Raw Hook keeps the body byte for byte, which the signature needs.)
  2. In Vercatus, Settings, API & webhooks, Add endpoint: paste the URL and pick the events. Copy the signing secret.
  3. Send a test in Vercatus; Zapier now knows the fields.
  4. Optionally, a Code by Zapier step verifies the x-vercatus-signature header with the secret (how) and stops the Zap when it does not match.
Event Use it to
run.completed post the run’s numbers to a channel, a sheet or a CRM record; data.change says what changed since the last run
run.failed open a ticket for whoever owns the site’s access
finding.new_severe create a task per critical or high finding (data.findings[]: key, title, severity, category)
fix.verified close the task a finding’s fix came from (data.confirmed[] and data.refuted[])
access.changed alert when an AI crawler is newly refused or served (data.sentences[] are ready to post)
citation.changed tell the content owner the site dropped out of an answer (data.dropped[] with the domains cited instead)
traffic.changed flag a fall in AI-referred sessions or a crawler gone quiet
prompt.changed follow the answers to a question you track word for word, on each engine
engine.drift tell the team an engine changed what it rewards, with the pages it touches
competitor.changed tell sales or marketing a competitor passed the site

Every delivery carries event, deliveryId (the same on a retry: use it to skip duplicates), org, site and run (with a link to the run in the workspace) beside data.

Use Webhooks by Zapier, Custom Request with the header Authorization: Bearer ca_… (an API key: read for lookups, write for changes, limited to the site the Zap is for) and Content-Type: application/json. Base address https://app.vercatus.com/api.

Action Request Scope
Start a change run POST /workflows with { "url": "https://www.example.com", "kind": "light" } write
Start a full run the same with "kind": "full" (counts against the plan’s full runs) write
Answer Share, leaderboard, topics and next plays GET /sites/{id}/standing?days=28 read
A site’s plays GET /sites/{id}/plays?status=planned read
Plan a play, set its owner or due date PATCH /sites/{id}/plays/{playId} with { "status": "planned", "ownerId": "…", "due": "2026-11-01" } write
Hand a play to a tracker POST /sites/{id}/plays/{playId}/handoff with { "tool": "linear" } write
Run a play’s acceptance check now POST /sites/{id}/plays/{playId}/check write
Results: Answer Share since the start, verdicts and wins GET /sites/{id}/results?days=28 read
Add a question to a topic POST /sites/{id}/topics/{topicId}/questions with { "text": "…" } write
Look up a run GET /workflows/{id} read
Change an audit finding’s status PATCH /findings/{id} with { "status": "accepted", "note": "…" } write
Weekly citation rows for a dashboard GET /export/visibility.json?siteId=…&from=…&to=… read or export

The full list with every route’s scope is the API reference; the same as an OpenAPI document for tools that import one: https://app.vercatus.com/api/openapi.json.

  • New critical finding → Jira issue → Slack: trigger finding.new_severe; filter on severity is critical; action POST /findings/{id}/ticket with { "provider": "jira" }; post the returned issue link to Slack.
  • Monday plays to a channel: schedule weekly; action GET /sites/{id}/standing; post next[], the top plays, with their expected gains.
  • Deploy → change run: trigger your deploy tool’s webhook; action POST /workflows with the site’s address and "kind": "light". (Vercatus also takes deploy hooks directly: CMS and deploy webhooks.)
  • Weekly numbers to a sheet: schedule weekly; action GET /sites/{id}/standing; one row with your Answer Share, its range and the leader’s, into Google Sheets.
  • Dropped out of an answer → brief the writer: trigger citation.changed; for each data.dropped[], create a task with the question, the engine and the domains cited instead.

Keys used by automations are listed under Settings, API & webhooks with their last use; rotate one before it expires and the old one keeps working for the grace period you choose.