Skip to main content

Automations

Automations let you run agent workflows on a schedule, in response to webhooks, or when vault/agent lifecycle events fire — without writing any orchestration code.

Trigger types

TypeDescriptionExample
scheduleCron expression (UTC)0 */6 * * * — every 6 hours
webhookAuto-generated URL, fires on POSTExternal CI/CD callback
eventVault or agent lifecycle eventsecret.rotated, agent.created
manualAPI call or dashboard buttonOne-off test runs

Quickstart

Create via CLI

# Cron automation — rotate a secret every day at midnight UTC
1claw automation create \
--name "nightly-rotate" \
--trigger schedule \
--cron "0 0 * * *" \
--action rotate_secret \
--action-params '{"vault_id":"...","path":"integrations/stripe-key"}'

# Webhook trigger — fires when your CI posts to the URL
1claw automation create \
--name "deploy-notify" \
--trigger webhook

# Event trigger — fires when any secret is rotated
1claw automation create \
--name "post-rotate-hook" \
--trigger event \
--event "secret.rotated" \
--action execute_http \
--action-params '{"binding":"slack-webhook","method":"POST","path":"/","body":"{\"text\":\"Secret rotated\"}"}'

# Manual trigger
1claw automation trigger <automation-id>

# List runs
1claw automation runs <automation-id>

Create via SDK

import { createClient } from "@1claw/sdk";

const client = createClient({
baseUrl: "https://api.1claw.xyz",
apiKey: process.env.ONECLAW_API_KEY,
});

const { data: automation } = await client.automations.create({
name: "nightly-rotate",
trigger_type: "schedule",
cron_expression: "0 0 * * *",
action: "rotate_secret",
action_params: {
vault_id: "550e8400-...",
path: "integrations/stripe-key",
},
});
console.log(automation.id, automation.webhook_url);

API endpoints

MethodPathDescription
POST/v1/automationsCreate automation
GET/v1/automationsList automations
GET/v1/automations/{id}Get automation detail
PATCH/v1/automations/{id}Update automation
DELETE/v1/automations/{id}Delete automation
POST/v1/automations/{id}/triggerManual trigger
GET/v1/automations/{id}/runsList run history

Webhook triggers

When you create a webhook automation, 1Claw generates a unique URL:

https://api.1claw.xyz/v1/automations/{id}/hook/{secret}

Any POST to this URL triggers the automation. The request body is passed as event_payload to the action.

Event triggers

Supported lifecycle events:

EventFires when
secret.createdA new secret is stored
secret.rotatedA secret is rotated (version incremented)
secret.deletedA secret is deleted
agent.createdA new agent is registered
agent.deactivatedAn agent is deactivated
policy.createdA new access policy is created
policy.deletedA policy is removed

Actions

Automations support multiple action types:

ActionDescription
rotate_secretServer-side secret rotation (random value)
execute_httpHTTP request through an Execution Intent binding
run_workflowMulti-step LLM-driven workflow
notifySend a notification (email, webhook)

Run history

Every trigger produces a run with status, duration, and output:

1claw automation runs <automation-id>
StatusMeaning
pendingQueued, not yet started
runningCurrently executing
successCompleted without error
errorFailed (see error field)

MCP tools

ToolDescription
list_automationsList automations for the current agent
trigger_automationManually fire an automation

Dashboard

Navigate to Automations in the sidebar to:

  • Create automations with a guided wizard
  • View run history with status and timing
  • Edit trigger configuration inline
  • Toggle automations active/inactive

Tier limits

TierMax automationsRuns / month
Free2100
Pro105,000
Team5050,000
Business200500,000
EnterpriseUnlimitedUnlimited

Next steps