Skip to main content
idapt
HomeCodeAI ModelsPricing
Sign inStart free trial
  • Home
  • Pricing
  • AI Models
  • Image models
  • Voice models
  • Video models
  • Rankings
  • New models
  • Model status
  • Multi-Model Chat
  • Agents
  • Computers
  • Drive
  • Automations
  • AI Gateway
  • All features →
  • LLM cost calculator
  • Token counter
  • All free tools →
  • Blog
  • Use cases
  • Comparisons
  • Best of
  • Benchmarks
  • Changelog
  • Help center
  • FAQ
  • Privacy
  • Compare all models
  • Support
  • idapt Code
  • Developers
  • Quickstarts
  • API reference
  • API pricing
  • CLI
  • MCP
  • Downloads
  • Desktop
  • Badges and embeds
© idapt[email protected]TermsPrivacy PolicyLegal noticeReport content
X (Twitter)
Help Center
⏰

Automations and webhooks

Found this helpful? Share it:

An automation runs an agent without you in the loop: on a schedule you set, or the moment an external system calls its webhook. Both are managed over the /automations family of the API ⏰

Two kinds of automation

Scheduled runs

Create an automation with a cron schedule and idapt starts the agent run for you at each tick. The run behaves like any agent run: it can use tools, write files, and send notifications.

Signed webhooks

Create a webhook automation and idapt gives it a bearer token. Any system that can make an HTTP request fires the run by calling the fire endpoint with that token, so a deploy, a form submission, or a cron job elsewhere can kick off an agent.

curl -X POST \
  https://idapt.app/api/v1/automations/AUTOMATION_ID/fire \
  -H "Authorization: Bearer AUTOMATION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "payload": { "ref": "main", "status": "passed" } }'

The fire token is the automation's own token, not your API key. Rotate it with rotate-secret if it leaks. Webhook fires are limited to 60 per hour per automation.

Endpoints

Manage automations, inspect their runs, and test one before you wire it up:

EndpointWhat it does
GET /automationsList automations.
GET /automations/cost-statsGet automation cost stats keyed by automation id.
GET /automations/:idGet an automation by id.
POST /automationsCreate an automation (cron / webhook).
PATCH /automations/:idUpdate an automation.
DELETE /automations/:idDelete an automation.
POST /automations/:id/archiveArchive an automation.
POST /automations/:id/unarchiveUnarchive an automation.
POST /automations/:id/fireFire a webhook automation using its bearer token.
POST /automations/:id/test-fireTest-fire an automation now.
GET /automations/:id/cost-statsGet one automation's cost stats.
GET /automations/:id/runsList an automation's runs.
GET /automations/runsList automation runs in a workspace.
POST /automations/:id/runs/:runId/cancelCancel a queued or cancellable automation run.
POST /automations/:id/runs/:runId/retryAdmit a new attempt for a retryable terminal run.
POST /automations/:id/rotate-secretRotate a webhook automation's secret.

Use test-fire to run an automation once from your own session while you build it, then hand the fire endpoint its token for the real integration.

Wire in notifications

An automation run can notify your team when it finishes or when something needs a human. See the Notifications API. To build the agent an automation runs, see Agents.

Related articles

🤖

Agents

Create AI personas with custom instructions, their own memory, and their own default model.

🔔

Notifications API

Send notifications to workspace members and manage your inbox programmatically.

🚦

Rate limits and errors

Every error shape the API returns, what each rate limit is, and how to handle a wall in code.

Up next

Realtime updates

Subscribe to a live event stream over SSE, resume after a disconnect, and broadcast to your own channels.

Was this helpful?