Workflows that finish, even when a server doesn't.

Open-source workflow automation. Connect your apps, AI agents and people, and see exactly where every execution stands. Self-host every feature, or let us run it for you.

  • Apache-2.0No enterprise edition
  • Self-host every featureOn your own servers, with your data
  • Or let us host it in the EUEvery Cloud tier has every feature

It finishes

When a server fails mid-execution, another one picks up where it stopped. Latchyard saves progress after every node run, which is one step of your workflow running once, so nothing that finished runs again.

How executions run
Journal · New order to invoice Example
  1. 0.00s INFO T-01 Order webhook received. Execution started on worker 1.
  2. 0.31s OK A-02 Customer looked up. Node run saved.
  3. 0.34s INFO A-03 Create invoice, attempt 1 on worker 1.
  4. 2.40s WAIT A-03 No heartbeat from worker 1. Waiting for its lease to expire, so it can't save a stale result.
  5. 30.40s ERR A-03 Worker 1 lost. Attempt 1 is kept as an attempt record.
  6. 30.62s INFO A-03 Worker 2 continues from the last saved node run. T-01 and A-02 don't run again.
  7. 30.63s INFO A-03 Create invoice, attempt 2, with attempt 1's idempotency key.
  8. 31.18s OK A-03 Invoice created. Node run saved.
  9. 31.44s OK A-04 Receipt sent. Node run saved.
  10. 31.44s OK Execution succeeded.
An example execution with illustrative timings. Worker 1 is lost while it creates the invoice. Worker 2 continues from the last saved node run, and the retried call carries the same idempotency key.
  • Finished steps don't run again Each node run is saved in its own database transaction, together with the step that schedules the next node.
  • One execution per event, even when the sender retries A sender that delivers the same trigger event twice within a set window gets the first execution back, not a second one.
  • Retries that other services can recognise Each call to another service carries an idempotency key, a label that stays the same when the call is retried. A service that honours it acts only once.
  • On Cloud, losing a host loses nothing confirmed Latchyard confirms a write only once it is stored on two hosts.

People and AI agents in one workflow

An execution can wait days for a person, ask a chat user to confirm, and let an agent call tools, all on one canvas with one journal.

  • Approvals that can wait for days Approvals go to named users, a project role or an email address. A wait is stored in the database, not held in memory, and a timeout approves, denies or escalates.
  • Start from a form or a chat message A form or a chat message starts an execution, or resumes one that is waiting for it.
  • AI spend you can cap Budgets cap tokens, cost and time per agent node, workflow, execution or chat session. Every model call and tool call is saved as its own step.
  • Works with other AI agents Agents call tools on MCP servers, MCP being the open protocol AI agents use to reach tools. External agents build, validate and run workflows through Latchyard's own MCP server.
AI and agents

Open source, with no closed edition

No feature in the open codebase moves behind a commercial licence, and there is no proprietary edition of the product.

That is Latchyard's written pledge. The code is Apache-2.0, contributors sign off their commits under the DCO, and nobody signs a CLA. Hosted-only services such as billing are operations, not product features.

The licence and the pledge

Get notified when the first release ships

Leave your address and we email you when the first release is out.