AI Canvas Builder

Describe what you want in plain English and the AI Canvas Builder generates a complete node structure with connections — ready to review and deploy to your canvas.

Overview

The AI Canvas Builder uses Claude to translate natural language descriptions into webhook flow configurations. Instead of manually creating nodes and wiring them together, you describe the desired behavior and the AI generates a node plan with all the connections, configurations, and transform templates.

The AI Canvas Builder creates a plan that you review before applying. No nodes are created until you click Build Flow.

How to use

1

Open the AI Canvas Builder

In the canvas view (/dashboard/flows), click the AI Builder button in the toolbar.

2

Describe your flow

Enter a natural language prompt describing the webhook flow you want. Be specific about sources, targets, validation rules, and transformations.

3

Review the generated plan

The AI returns a node plan showing each node type, its configuration, and how nodes connect. Review the plan to ensure it matches your intent.

4

Build the flow

Click Build Flow to auto-create all nodes and wire them together on the canvas. Nodes are positioned automatically.


Writing effective prompts

The more specific your prompt, the better the result. Include:

  • The webhook source (Stripe, GitHub, custom)
  • What validation or filtering to apply
  • Target destinations (your API, Slack, Discord, email)
  • Any payload transformations needed
  • Error handling preferences (alerts, retries)

Example prompts

textSimple flow
Create a webhook that receives Stripe payment webhooks,
validates the payload with a schema, then delivers to my API
at https://api.example.com/payments.
textComplex flow
Create a webhook that validates with a schema requiring
type, data.object.id, and data.object.amount fields. Transform
the payload to extract just the amount and customer ID. Send to
both a Slack channel (with a formatted message) and an
analytics webhook. Add an alert that emails [email protected]
after 3 consecutive failures.

Enhance Prompt

Not sure how to phrase your request? Use the Enhance Prompt feature to refine your description before generating the flow.

POST /api/agent/enhance-prompt

jsonRequest body
{
  "prompt": "stripe payments to slack"
}
jsonResponse
{
  "enhanced": "Create a webhook that receives Stripe payment_intent.succeeded webhooks. Validate the payload with a schema requiring type, data.object.id, data.object.amount, and data.object.currency fields. Transform the payload into a Slack message with the payment amount, currency, and customer ID. Deliver to a Slack webhook URL. Add an alert for 5 consecutive failures."
}
Use Enhance Prompt when you have a rough idea but want the AI to fill in best practices and common patterns. You can edit the enhanced prompt before generating.

Canvas Builder API

POST /api/agent/canvas-builder

Request

jsonRequest body
{
  "prompt": "Create a webhook that validates with a schema, transforms the payload, then sends to Slack and email"
}

Response

jsonResponse
{
  "plan": {
    "nodes": [
      {
        "type": "webhook",
        "name": "Webhook Ingress",
        "config": {
          "targetUrl": "https://your-api.example.com/webhooks"
        }
      },
      {
        "type": "schemaValidator",
        "name": "Payload Validator",
        "config": {
          "fields": [
            { "path": "type", "type": "string", "required": true },
            { "path": "data.id", "type": "string", "required": true },
            { "path": "data.amount", "type": "number", "required": true }
          ]
        }
      },
      {
        "type": "httpAction",
        "name": "Slack Notification",
        "config": {
          "url": "https://hooks.slack.com/services/...",
          "method": "POST",
          "body": "{ "text": "New event: {{payload.type}} — Amount: {{payload.data.amount}}" }"
        }
      },
      {
        "type": "httpAction",
        "name": "Email Notification",
        "config": {
          "url": "https://your-api.example.com/email-webhook",
          "method": "POST"
        }
      }
    ],
    "connections": [
      { "from": "Webhook Ingress", "to": "Payload Validator" },
      { "from": "Payload Validator", "to": "Slack Notification" },
      { "from": "Payload Validator", "to": "Email Notification" }
    ]
  }
}

Limitations

  • The AI generates a plan based on its understanding of your prompt. Always review before building.
  • Placeholder URLs (like https://hooks.slack.com/services/...) need to be replaced with your actual URLs before the flow works.
  • Complex conditional logic (multi-branch routers with many rules) may need manual adjustment after generation.
  • The builder creates new nodes — it does not modify existing ones on the canvas.
The AI Canvas Builder requires an active session. API key authentication is not supported for this endpoint — use cookie-based auth from the dashboard.