Skip to content

Automation

The Automation App connects the Model Context Protocol (MCP) to the Automation API, enabling AI agents to perceive and interact with a live Webfuse Session — reading the page via optimised DOM snapshots and executing precise actions — including clicking, typing, and scrolling — across iframes and Shadow DOM.

https://session-mcp.HOSTNAME/mcp

Authentication uses the Space Automation API Key, which can be generated under Space Settings → API Keys. Pass it as a Bearer token in the HTTP Authorization header:

Authorization: Bearer <your-space-automation-api-key>

By default the Automation app is loaded on every page. To restrict which pages it loads on, set Space Settings → Apps → Automation → Allowed URLs (option automation_app_allowlist) to one or more Chrome match patterns:

ValueEffect
["<all_urls>"]App is loaded on every page (default)
["https://example.com/*"]App is loaded only on example.com
["https://*.example.com/*", "https://docs.example.com/help/*"]Multiple patterns. Any match loads the app
[]App is never loaded. Disables automation on every page

Tool calls on a page where the app isn’t loaded return immediately with an error listing the configured patterns, so the agent can self-correct instead of retrying into a timeout. Only the allowlist is included in the error so the agent knows which patterns to navigate into. The navigate tool is not gated: it always dispatches the navigation, but returns a heads-up when the destination is outside the allowlist.

For example, with automation_app_allowlist set to ["https://example.com/*"]:

  • Calling act_click while on a non-matching page returns:

    Tool calls aren’t available on this page. It’s not in the allowed URLs (["https://example.com/*"]). Use navigate to go to a URL in the list.

  • Calling navigate to a non-matching URL returns:

    Navigated, but this URL isn’t in the allowed URLs (["https://example.com/*"]). Only navigate works here. Use it again to go to a URL in the list.

The Automation App comes with an Automation Inspector that lets you test MCP tool calls, debug all tool calls made in the current Session, inspect the DOM events invoked on the page, and record tool calls as steps that can be exported, imported, and saved as a custom tool.

The Automation Inspector is enabled by default when the Automation App is installed. You can enable or disable it in the Automation App settings.

The Automation Inspector has three tabs:

  1. MCP
  2. Debug
  3. Playback

The MCP tab allows you to make MCP tool calls in the Session itself. It uses @modelcontextprotocol/inspector under the hood, so you can test tool calls without setting up an external client. You can also test the custom tools that have been set up. The selector button helps you pick elements for a tool call – for example, to find the target for an act_click tool call. For consistent results, make sure to use the most robust selector available.

The Debug tab shows all tool calls made to the Session, either from the MCP tab or from your external client. For each tool call it shows the status, an approximation of the tokens consumed, and the time taken. You can also view the DOM events by checking the DOM events checkbox. This helps you verify whether a tool call generates the same DOM events as a human interaction would. Click Export JSON to export the tool call statistics – the tool calls made, the tokens consumed, and the time taken for each tool – which is helpful for benchmarking.

The Playback tab allows you to gather tool calls and execute them sequentially. This is helpful if you want to automate the steps of a journey and package them into a replayable script, or generate a custom tool out of them.

To get started, generate tool calls from the MCP tab or your external client. The Debug tab then lists these steps, which you can import into the Playback tab – either click Save to Playback in the Debug tab, or Import from Debug in the Playback tab. Once imported, play the steps to make sure everything runs properly. After that, you have two ways to export them: export them to JSON so they can be imported and played again later, or save them as a custom tool. Saving a custom tool creates an Extension that is loaded in the MCP tab, allowing you to test it.

Once you have defined a set of steps in the Playback tab, you can save them as a custom tool. The custom tool is saved as an Extension, which is registered with the MCP server.

You can delete a custom tool from the Automation Inspector. In the MCP tab, click the gear icon next to the tool picker. This opens the Automation App settings with the tools section open, listing the custom tools installed in the Space. Clicking the trash icon deletes the custom tool and the Extension that provides it.