Workflow
The Workflow module enables automations through webhook receivers and integration rules. Push data into Kanvas from external systems, or trigger actions when events occur inside the platform.
How It Works
| Component | Purpose |
|---|---|
| Receiver | Incoming webhook endpoint — external systems POST data to it |
| Rule | Condition → Action mapping triggered by events |
| Action | Operation to execute (create lead, send email, call webhook) |
| History | Audit log of all webhook calls with payloads and results |
Webhook Receivers
Receivers are incoming webhook endpoints. Create a receiver, get a UUID, and external systems can POST data to it.
# Create a webhook receiver
mutation {
createReceiverWebhook(input: {
name: "Lead Intake"
description: "Receives leads from website forms"
action: "create-lead"
configuration: { pipeline_id: 1 }
}) {
id uuid name
}
}
# The receiver URL becomes:
# POST https://your-kanvas-api-url/v1/receiver/{uuid}Sending Data to a Receiver
POST https://your-kanvas-api-url/v1/receiver/{uuid}
Content-Type: application/json
{
"title": "New lead from website",
"people": {
"firstname": "Jane",
"lastname": "Doe",
"email": "jane@example.com"
}
}Receiver History
# Check webhook call history
query {
workflowReceiverHistory(receiver_uuid: "abc-123", first: 20) {
data {
id status payload result created_at
}
}
}
# Retry a failed webhook call
mutation {
retryWebhookCall(id: 1) { id status }
}Workflow Actions
# List available workflow actions
query {
actions(first: 50) {
data { id name model_name }
}
}