Ideon Logo
Ideon

Automation

Ideon supports two block types that execute actions on the canvas automatically: Webhook blocks react to incoming HTTP events, and Cron blocks fire on a schedule. Both run server-side and require no active browser session.

Webhook Block

A Webhook block turns itself into a live HTTP endpoint the moment you drop it on the canvas. Any service capable of sending an HTTP POST request can trigger it: CI pipelines, monitoring tools, form backends, payment providers, internal scripts, or anything else.

Endpoint URL

The endpoint is shown directly on the block:

POST /webhooks/{projectId}/{blockId}

Click the URL row on the block to copy it to the clipboard.

Authenticating requests

Every webhook has a signing secret generated at creation time. Ideon accepts three authentication methods:

MethodHeader
HMAC SHA-256 (GitHub-compatible)x-hub-signature-256: sha256=<hmac>
Plain tokenx-ideon-secret: <secret>
API keyAuthorization: Bearer sk-ideon-<key>

Requests that fail authentication receive a 403 response. Unauthenticated requests are never processed.

Event filtering

Set a trigger event to only react to specific event types. Ideon reads the event name from the x-github-event header (GitHub format) or falls back to * to match everything. You can further narrow down matching using conditions:

OperatorMeaning
isField equals value
is notField does not equal value
hasField contains value
existsField is present
>, <, >=, <=Numeric comparison

Conditions are evaluated against the parsed JSON payload. A request that matches the event but fails a condition is logged as skipped.

Limits

  • Rate limit: 30 requests per minute per webhook block.
  • Payload size: 512 KB maximum.

Cron Block

A Cron block fires an action on a configurable schedule. It uses the same action set as the Webhook block but is driven by time rather than an event.

Schedule configuration

Pick a preset or write a custom cron expression:

PresetExpression
Every minute* * * * *
Every hour0 * * * *
Every day at 9 AM0 9 * * *
Every Monday at 9 AM0 9 * * 1
Customany valid cron expression

Cron jobs run on the server. The schedule is evaluated in UTC.

Actions

Both Webhook and Cron blocks share the same set of actions. The action runs on a target block you select when configuring the rule.

Set state

Updates the visual state badge on the target block.

StateColor
successGreen
errorRed
warningYellow
processingBlue
neutralGrey

You can also set an optional label that appears next to the badge, and a decay time after which the state resets automatically.

Set color

Changes the accent color of the target block. Accepts any hex color value.

Create Kanban task

Creates a new task in the first column (workflow state todo) of the target Kanban block. Set the task title in the action parameters. If no todo column exists, the task is added to the first column.

Update note

Prepends text to the content of the target Note block. The text is inserted at the top of the block.

Template syntax

Action parameters support {{payload.field}} templates. At execution time, Ideon resolves each template against the incoming payload (for webhooks) or the cron trigger payload.

Example: to use the branch name from a GitHub push event as a Kanban task title:

{{payload.ref}}

Nested fields use dot notation: {{payload.repository.full_name}}.

Execution logs

Click the clock icon on a Webhook or Cron block to open the execution log. Each entry shows the status (success, skipped, error, test), the received payload (truncated to 4 KB), and the error message if applicable. Ideon retains the last 100 log entries per block.

Testing a webhook

Add the header x-ideon-test: true to a request to run it through the full evaluation pipeline without executing the action. The log entry will have the status test.