Linea Docs

Schedules & Webhooks

Trigger workflows automatically on a schedule or from an external HTTP event.

Schedules & Webhooks

Schedules and Webhooks let workflows run automatically without manual intervention. Both are configured per-workflow and live in the Deploy panel.


Schedules

A Schedule fires a workflow on a recurring cron expression.

Creating a schedule

POST /workspaces/:wId/pods/:pId/schedules
 
{
  "workflowId": "wf_abc123",
  "name": "Daily digest",
  "cronExpression": "0 9 * * 1-5",
  "timezone": "America/New_York",
  "enabled": true
}

Linea fires the workflow at each scheduled time and passes an empty input. Add a Start node to your workflow to handle the trigger.

Cron syntax

Standard 5-field cron: minute hour day-of-month month day-of-week

ExampleWhen it fires
0 9 * * 1-59 AM every weekday
*/15 * * * *Every 15 minutes
0 0 1 * *First day of every month at midnight

API Endpoints

MethodPathDescription
GET/workspaces/:wId/pods/:pId/schedulesList schedules
POST/workspaces/:wId/pods/:pId/schedulesCreate schedule
PATCH/workspaces/:wId/pods/:pId/schedules/:idUpdate
PATCH/workspaces/:wId/pods/:pId/schedules/:id/toggleEnable or disable
DELETE/workspaces/:wId/pods/:pId/schedules/:idDelete

Webhooks

A Webhook fires a workflow when an HTTP POST request is received at its unique URL.

How it works

  1. Create a webhook for a workflow — Linea generates a unique trigger URL
  2. Configure your external service (GitHub, Stripe, Zapier, etc.) to POST to that URL
  3. Linea forwards the request body as the workflow's input

Trigger URL

POST https://api.getlinea.ai/v1/webhooks/:webhookId/trigger

The request body is passed directly as the workflow input — your nodes can access it via {{input.field}}.

Securing a webhook

Set a secret when creating the webhook. Linea will verify an X-Webhook-Signature HMAC header on each incoming request and reject requests that don't match.

POST /workspaces/:wId/pods/:pId/webhooks
 
{
  "workflowId": "wf_abc123",
  "name": "GitHub push events",
  "secret": "your-signing-secret",
  "enabled": true
}

API Endpoints

MethodPathDescription
GET/workspaces/:wId/pods/:pId/webhooksList webhooks
POST/workspaces/:wId/pods/:pId/webhooksCreate webhook
PATCH/workspaces/:wId/pods/:pId/webhooks/:idUpdate
DELETE/workspaces/:wId/pods/:pId/webhooks/:idDelete
POST/v1/webhooks/:id/triggerPublic trigger endpoint (no auth required)

The trigger endpoint is public — protect it with a signing secret if your workflow processes sensitive data.

Testing without a live URL

Use the Chat Preview panel in the workflow builder to simulate any trigger payload locally. Switch to JSON mode, paste your payload, and the workflow runs immediately — no webhook URL or signing needed.

On this page