deploy_application
Publish the workspace to its bots — the API equivalent of the dashboard's Deploy button. This is the step that makes edits live. apply_actions writes to the DRAFT graph. Until this runs the connected bots keep serving the previously published version, so a change that looks applied has no effect for real users. Deploy after a batch of edits (and after run_flow_autotest passes), not after every single action. Publishes the ACTIVE version to every active bot of the application; pass botIds to publish to a subset. Rolling back to an older version is a dashboard action and is deliberately not available here. Delivery is asynchronous: a bot listed as "queued" was handed to the deploy queue, not confirmed restarted. Returns { deployed, versionId, bots[], queuedCount, failedCount, error } — check error and each bot's status, because a version can be marked published while no runtime received it. Safe to repeat: deploying twice republishes the same version rather than duplicating anything. It does change what real users see, so confirm with the user before publishing edits they have not reviewed. Requires the manage_automation permission.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| botIds | No | Publish only to these bots. Omit to publish to every active bot of the application (the dashboard default). Ids that are not active, non-preview bots of this application are reported back in unknownBotIds and otherwise ignored. | |
| applicationId | No | Application (workspace) id. Optional: an application-scoped key (app_...) defaults to its own application, but a personal key (usr_...) has no default and omitting it fails with MCP_APPLICATION_REQUIRED. Call list_applications to get the id. |