Skip to main content
Use the quickstart client. Replace uppercase IDs with your plan and conversation IDs. The SAVED_*_KEY values represent persisted keys for those commands. A plan is a fal.block with kind: "plan" inside an assistant message. Use its ID with agent.plans. Pass the owning conversation ID with every plan request.

Methods

update and run accept an idempotencyKey through their options. Persist one key for each logical command before sending it.

Update the editable steps

An update replaces the complete editable step list. Keep existing IDs to preserve steps. Omit an ID to add a step. Remove a step by omitting it from the array. Change execution order by reordering the array. This example replaces the plan with one new step.
A stale revision or an edit during execution returns 409. Retrieve the latest plan and apply your changes to that version before retrying.

Run a plan

Send the revision you want to run. In this example, that revision is 3.
The returned response can pause at an approval checkpoint. Use the approval flow to continue that response.