Changelog
Read below for more information on each version of Esca Automations.
v1.9.0
New features
- The Run button is now disabled while an automation has unsaved changes, with a tooltip explaining why and a prompt pointing to Save, so an automation can no longer be run against something other than what is on screen.
- Schedule triggers can now be run by hand from the editor instead of only when their schedule comes due. The run delivers the payload configured on the trigger and leaves the schedule untouched, and run history names the person who started it so a hand-started run is distinguishable from a scheduled one.
- Input and Output Mapping field names now default to a name implied by the mapping's source, such as the last segment of a path or reference, instead of requiring every field to be named manually.
Bug fixes
- Content changes made by an automation, including publishing, archiving, restoring, deleting, transitioning, and commenting, are now announced to the CMS, so triggers, editor subscriptions, and other listeners react to them as expected.
- Fixed an issue where a node inside a loop that referenced an earlier node in the same loop body could resolve to the wrong iteration's value instead of the current one.
- The Transition field on a workflow node now displays the transition that was actually selected, instead of an encoded value.
- Editing a node now clears its selection and highlight once the edit is saved, returning the builder to its automation-level controls.
- A trigger's fire condition and fields can now reference values from the data the trigger actually received, including fields not declared up front, registered variables, and secrets.
- An archived automation's editor now shows that it is archived and read-only, instead of continuing to display it as Live.
v1.8.0
New features
- Added a bundled recipe for sending a text message through Twilio.
- Added an option to notify a human-in-the-loop channel only when an AI agent has a question, instead of also sending its running progress.
- Added bulk automation export and import, letting a set of automations be exported together and reimported as a group, with references between them preserved.
- Added search to the automations list, filtering by name and description.
- Added a dedicated Executions page listing every automation's runs across the current site, alongside the existing per-automation run history.
- Slack messages can now be composed as Block Kit blocks, markdown, or raw JSON, in addition to formatted rich text, reaching many more of Slack's block types than before.
- Automation templates now carry tags and can be filtered by node type in the template catalog and recipe picker.
- Added per-site limits on enabled automations and daily automation and node executions, with a warning as a site approaches its limit and a block once it's reached.
- Added bulk Enable, Disable, Archive, and Restore actions to the automations list, applied across a checkbox selection.
Improvements
- The fired trigger now shows a starting indicator while a run is being picked up, instead of a blank canvas.
- On Demand triggers with a simple custom payload now show a plain form with one field per property, instead of a JSON editor.
- Automation settings now open in the builder's own pane instead of a dialog that covers the canvas, and sticky note text can now be selected and copied.
- The recipe picker is now a full-screen dialog sharing the same card layout as the template catalog.
- Adding a second branch off a node that already has one no longer requires a manual drag and connect.
- Polished the automations list toolbar, including a hover preview of which rows a bulk action will affect.
- Redesigned the automations list into a more compact set of columns, with author avatars and a clearer run-status indicator.
- Multi-line variable values, such as a script's output or an AI agent's answer, now keep their line breaks and formatting when they reach Slack, Jira, or other destinations, instead of collapsing to a single line.
- The AI iteration cap for the Create with AI tool is now a configurable setting instead of fixed.
- Blank automation names are now auto-numbered instead of colliding.
v1.7.0
New features
- Added canvas annotations to the automation builder, letting notes be attached directly to nodes with rope-style tethers, editable text, and color coding. Also added categories for automation templates, making it easier to find a starting point for a new automation.
- Added a diagnostic that flags when a connected CMS is running a version that doesn't match, replacing the scattered, hard-to-diagnose symptoms that previously resulted from a version mismatch.
- Made outbound HTTP behavior during Dry Run an explicit, configurable setting instead of an implicit one.
- Added the ability to rename nodes on the automation builder canvas.
- Redesigned variable binding to combine a free-text field that accepts direct typing with pickers that preview the resolved value, replacing the previous picker-only interface.
Improvements
- Automation runs shown on the Activity card now open the run's workflow and display details on hover.
- Restyled the automation History pane with status badges, author avatars, and a page navigator.
- The automations list now indicates which automations are archived.
- Moved Esca Automations' CMS chrome into an opt-in module rather than applying it by default.
- Stopping a run now records what the run actually completed before it stopped, and the stop action is acknowledged immediately instead of waiting on the next poll.
- Added configurable limits on script sandbox memory, CPU, and value sizes to prevent a single script from degrading performance for other runs.
- Improved node-editor pane resizing performance when the pane contains embedded objects, eliminating lag.
v1.6.0
New features
- Added opt-in resilience policies for nodes, allowing retry and circuit-breaker behavior to be configured per node instead of relying on default behavior.
- Added automation run notifications.
- Added a cross-automation AI approvals inbox, giving human-in-the-loop reviewers a single place to approve or reject actions the local AI agent wants to take across all automations.
- Automations now retain version history and a change audit log.
- Added automation export and import, with soft validation that warns about issues instead of blocking the import outright.
- Added Query Driven Execution, which runs an automation against the set of content matched by a query.
- Added a live activity strip to the automation pane showing recent runs.
- Added an on-demand trigger widget with a cooldown indicator, showing when a manually fired trigger becomes available again.
- Node output can now be referenced as a whole payload, rather than requiring individual fields to be selected.
Improvements
- Browser tab titles are now consistently formatted as "[page] | Esca Automations."
- Added a toggle to show full timestamps in the runs list.
- The AI response in chat now renders as formatted text instead of raw markdown.
- Enlarged the connection dots in the flow builder for easier clicking.
- Enlarged the Esca chatbot avatar.
- Refreshed AI icons with an animated brand sparkle.
- Automations created from a template now get distinct default names instead of duplicate ones.
v1.5.0
New features
- Added an AI Condition node, letting a condition's branch be decided by an AI evaluation instead of a fixed expression.
- Added trigger fire conditions, which gate whether an automation fires at the moment a webhook is received, rather than always starting a run for every webhook.
- Added a Log action node for writing custom messages to a run's execution log.
Improvements
- The node edit pane can now be resized larger.
- Restored the site switcher in the CMS header.
- Restyled the Last Run tab's empty states and the affordance for viewing a run.
- Styled and componentized the in-tool human-in-the-loop response surface.
- Made several small refinements to the Email node's label, the cost savings override form, and navigation ordering.
v1.4.0
New features
- Added default-site scoping to CMS connections, so a connection can be limited to a specific site.
- Added Estimated Cost Savings, showing an estimate of the time or cost an automation has saved.
- Added Work In Progress snapshots to the automation flow editor, so in-progress edits are preserved.
Improvements
- Added icons to the CMS navigation and flattened single-tool sections in the nav.
- The chat empty state now shows the Esca avatar with a greeting popover.
- Folded the CMS header into the nav column on all tool pages.
v1.3.0
New features
- Added AI agents as a node type, along with a library of automation templates, expanded run observability, and usage tracking across automations.
- Added an automation-specific delegated permission for content types.
Improvements
- Agent lists now use the shared Brightspot UI pagination component in the sticky footer.
- Restyled Agent cards using shared Brightspot UI components, including card shadows and status badges.
- Added the Esca logo to the CMS tool header.
v1.2.0
Improvements
- Moved automation list pagination into a sticky footer.
- Improved the AI builder.
- Improved automation graph performance.
- The node view model now syncs to the canvas without a full page reload.
- Made the workflow run pane resizable.
- Renamed the product from Otto to Esca throughout the UI and AI prompts.
- Restyled run-mode buttons using the shared Brightspot UI button group.
v1.1.0
New features
- Added run-time inspection tabs to the automation builder pane.
Improvements
- Made the automation pane resizable.
v1.0.0
The initial release introduced the automation builder and its core building blocks.
New features
- Added a service account OAuth installation flow for CMS connections.
- Added Dry Run, which previews an automation's execution without side effects.
- Added the payload structure and variable system for passing data between nodes, along with an OpenAPI action node.
- Added node output mapping, error handles, and a redesigned data transformer for reshaping data between nodes.
- Added a Script node, powered by GraalVM, for running custom logic during an automation.
- Added an execution log viewer for inspecting what happened during a run.
- Added a fan-out execution model, allowing a single node to spawn parallel branches of execution.
- Added the ability to manually resume a run mid-workflow using execution-context actions.
- Added the initial set of triggers and content actions, with trigger names phrased in the past tense (for example, "Content Published") to describe the event that already occurred.
- Added an AI Agent action and a Script condition node.
- Added an HTTP Request action, a variable resolver for embedded fields, and an execution output viewer.
- Added variables and secrets, for storing and reusing values — including sensitive credentials — across an automation.
- Added a Jira integration and initial resilience infrastructure (retries and circuit breakers) for node execution.
- Added a human-in-the-loop framework for AI agents, a Slack provider for approvals, and streaming AI agent responses.
- Added an Email action that doesn't require a saved connection, along with a direct-send Slack action.
- Added Loops, for repeating a set of actions over a list of items.
- Added an Automation action and a completion trigger, letting one automation call another and react when it finishes.
- Added an Expression condition node with a shared set of comparison operators.
- Added OAuth support for generic connections, not just the built-in integrations.
- Added a Remote AI Agent action that runs on a connected CMS instead of locally.
- Added site-scoped access boundaries, per-page permissions, and a dedicated view for managing content types.
- Added a Stop button for canceling an automation mid-run.
- AI Agent nodes can now be constrained to return output matching a defined schema.
Improvements
- Automation run history is automatically archived to keep run queries fast over time.
- Removed the iframe used for node editing, improving reliability of the node editor.
- Restructured the automation builder's layout for a clearer editing experience.
- Added distinct icons for each node type, sourced automatically from a brand-icon service where applicable.
- Automation runs now show who or what triggered them.
- A single Jira connection can now back multiple webhook triggers.
- Added a daily snapshot of active automations to usage metrics.
- Hardened the automation engine's resilience and scaling behavior.
- AI Create's activity log can now be shared, and its agent instructions adapt to the active connection.
- Added summary fields to AI agent output.
- The navigation rail and sub-navigation are expanded by default on first visit.