PipelineAI Cloud

Webhook Templates

Copy-paste these snippets into your Zapier or Make workflows. Replace YOUR_TOKEN_HERE with your workspace's ingest token.

Updates all snippets below

Zapier — Webhooks by Zapier (POST)

In your Zap, add a final step: Webhooks by Zapier → POST. For failure paths, use the error handler in Zapier's “Paths” and add the failure webhook there.

Success webhook

URL: https://api.pipelineai.cloud/v1/ingest/YOUR_TOKEN_HERE
Method: POST
Content-Type: application/json
Body:
{
  "workflow": "{{zap_name}}",
  "status":   "success",
  "timestamp": "{{zap_meta_human_now}}"
}

Failure webhook

URL: https://api.pipelineai.cloud/v1/ingest/YOUR_TOKEN_HERE
Method: POST
Content-Type: application/json
Body:
{
  "workflow": "{{zap_name}}",
  "status":   "failed",
  "timestamp": "{{zap_meta_human_now}}",
  "error":    "{{error_message}}"
}

Make (Integromat) — HTTP module

Add an HTTP → Make a request module at the end of your scenario route. For error handling, use Make's error handler route and add the failure snippet there.

Success request

URL: https://api.pipelineai.cloud/v1/ingest/YOUR_TOKEN_HERE
Method: POST
Body type: Raw (JSON)
Body:
{
  "workflow": "{{scenario.name}}",
  "status":   "success",
  "timestamp": "{{now}}"
}

Failure request

URL: https://api.pipelineai.cloud/v1/ingest/YOUR_TOKEN_HERE
Method: POST
Body type: Raw (JSON)
Body:
{
  "workflow": "{{scenario.name}}",
  "status":   "failed",
  "timestamp": "{{now}}",
  "error":    "{{error.message}}"
}

Test from terminal / scripts

cURL

curl -X POST https://api.pipelineai.cloud/v1/ingest/YOUR_TOKEN_HERE \
  -H "Content-Type: application/json" \
  -d '{
    "workflow": "Lead Routing",
    "status":   "failed",
    "timestamp": "'$(date -u +"%Y-%m-%dT%H:%M:%SZ")'",
    "error":    "HubSpot auth expired"
  }'

Python

import requests, datetime

requests.post(
    "https://api.pipelineai.cloud/v1/ingest/YOUR_TOKEN_HERE",
    json={
        "workflow": "Lead Routing",
        "status":   "failed",
        "timestamp": datetime.datetime.utcnow().isoformat(),
        "error":    "HubSpot auth expired",
    },
    timeout=10,
)

Node.js / TypeScript

const res = await fetch("https://api.pipelineai.cloud/v1/ingest/YOUR_TOKEN_HERE", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    workflow: "Lead Routing",
    status:   "failed",
    timestamp: new Date().toISOString(),
    error:    "HubSpot auth expired",
  }),
});
console.log(await res.json());

Payload reference

FieldTypeRequiredDescription
workflowstringYesName of the automation workflow or Zap
statusstringYes"failed" | "success" | "started"
timestampISO 8601 stringNoEvent time UTC; defaults to server receive time
errorstringNoError message for failed events
metadataobjectNoAny extra key/values you want to track
What to tell clients:
“This takes about 15–30 minutes per workflow. It's just adding one step to your existing automations — no rebuilds needed. We don't need access to your systems, only event signals.”